USBBlaster是一款由Altera公司开发的用于JTAG(JointTestActionGroup)编程和调试FPGA(Field-ProgrammableGateArray)芯片的设备。
它通过USB接口与计算机连接,为用户提供了方便快捷的FPGA编程方案。
USBBlaster的工作原理是利用USB通信协议将数据传输到一个内置的CPLD(ComplexProgrammableLogicDevice),然后CPLD通过JTAG接口与FPGA进行交互。
在"USBBlaster制作资料"中,我们可能会接触到以下几个关键知识点:1.**USB通信协议**:USB(UniversalSerialBus)是一种标准的接口,用于连接各种外部设备到计算机。
USBBlaster利用USB协议传输数据,它遵循USB规范中的设备类定义,例如CDC(CommunicationDeviceClass)或HID(HumanInterfaceDevice)类,以实现数据的高速、稳定传输。
2.**JTAG协议**:JTAG是一种国际标准测试协议,用于电路板级的硬件测试和调试。
在FPGA应用中,JTAG被用来编程、测试和诊断FPGA内部逻辑。
JTAG接口通常包括TMS(TestModeSelect)、TDI(TestDataIn)、TDO(TestDataOut)和TCK(TestClock)信号线,这些信号线在USBBlaster中由CPLD管理。
3.**CPLD**:CPLD是一种可编程逻辑器件,可以配置为实现用户自定义的逻辑功能。
在USBBlaster中,CPLD扮演了关键角色,它接收来自USB接口的数据,处理后通过JTAG接口发送到FPGA,同时也接收FPGA的反馈信息,从而实现FPGA的编程和调试。
4.**原理图**:提供的原理图会详细展示USBBlaster的硬件设计,包括USB接口电路、CPLD配置、JTAG接口以及电源管理等部分。
通过分析原理图,我们可以理解各个组件如何协同工作,以及如何根据需要进行硬件修改或定制。
5.**固件程序**:固件是运行在硬件设备上的软件,对于USBBlaster,这可能包括USB控制器的驱动程序和CPLD的配置文件。
固件程序确保USB接口正确地与主机通信,并控制CPLD执行JTAG操作。
6.**烧写软件**:为了将固件程序和CPLD配置加载到硬件上,我们需要特定的烧写工具。
这类软件通常支持图形界面,方便用户选择要加载的文件,监测编程过程,并提供错误检查和诊断功能。
7.**CPLD程序**:CPLD程序是指配置CPLD的逻辑代码,它定义了CPLD如何处理USB数据并控制JTAG接口。
这种代码通常使用硬件描述语言(如VHDL或Verilog)编写,并通过专用的编译工具转换成配置文件。
通过这个压缩包,学习者不仅可以了解USBBlaster的工作原理,还可以动手制作自己的USBBlaster,这对于FPGA开发者来说是一项宝贵的实践经验。
同时,这也涉及到电子工程、计算机硬件和嵌入式系统等多个领域的知识,有助于提升综合技能。
2025/7/23 6:41:06 2.14MB USB Blaster
1
一个模仿系统画图的画图程序源码,涉及到的知识点有:CDC双缓冲、画笔、画刷、线条风格、橡皮条效果,多工具栏的窗口界面。
是学习MFC图像处理的好例子。
2025/5/31 22:57:37 56KB 画刷 画笔 CDC 画图
1
使用USB虚拟串口与PC通讯的DEMO(USB——CDC/VCP)工程模板开发平台:keil5硬件要求:STM32F407VG具有usart1,以及使用PA11和PA12的USB接口,外部晶振8M本人硬件调试通过,使用方法见文档注意:本DEMOusb串口不是使用回显的方法,无论你发什么到usb串口,他都会回你helloworld,另一个硬件的usart1串口可以看到你在usb串口上发送的字符
2025/5/26 5:16:10 11.77MB USB_CDC USB_VCP
1
KEIL4.73版本编译STM32F407ZG的USB,HOST支持HID,CDC,MTP,MSC等设备补上自己的应用就可以使用
2025/4/18 11:56:57 12.53MB STM32 STM32F407 STM32HOST HOST
1
win10,FET430-VCP的驱动装不了(虽然是IAR自带驱动),但是FET430-CDC的驱动是可以的。
亲测有用
2025/2/22 12:12:16 58KB win10 msp430驱动
1
Invalidate(); UpdateWindow(); CDC*pdc=GetDC(); if(iFillSolidRect(x,y,50,50,RGB(255,255,255));else { if(a%2==0) x=(x+a)%(rc.Width()-50); else x=(x-a)%(rc.Width()-50);if(b%2==0) y=(y+b)%(rc.Height()-50); else y=(y-b)%(rc.Height()-50); if(xFillSolidRect(x,y,50,50,RGB(255,0,0)); } } else {KillTimer(1); record[t]=5000-i*50; MessageBox("游戏超时"); CStringstr;str.Format("%d",record[t]); MessageBox(str); } i++; }
2025/1/20 4:54:04 493B c++
1
用于IC开发设计中,进行spyglas对硬件代码检查错误,包含cdc和lint错误,特别是cdc跨时钟的语法检测,极为有用
2024/11/11 2:21:43 1.14MB spyglass cdc ic
1
High-PerformanceLinear/InterfaceABT,ABTE,AHC,ALVT,BTL,CAN(ISO-11898),CDC,CompactPCI,FB+,Firewire,FlatLink,GigabitEthernet/10GEthernet,GTL,GTLP,HSTL,IEEE1284,IEEE1394,LVDM,LVDS,LVT,M-LVDS,PCI,TIA/EIA-232,RS-232,TIA/EIA-422,RS-422,TIA/EIA-485,RS-485,TIA/EIA-644,T
2024/6/19 16:28:45 1.04MB ABT ABTE AHC
1
特别有用的PostgreSQL数据库复制与CDC实施方案详细手册特别有用的PostgreSQL数据库复制与CDC实施方案详细手册
2024/4/1 19:13:53 820KB PostgreSQL 数据库复制 CDC实施
1
在使用TI的BLEDeviceMonitor的时候usbdongle需要cdc驱动,折腾了一上午,最后还是更新了附件中的usbser.sys之后才解决问题。
如果你的电脑安装cdc驱动有问题,那就将我附件中的usbser.sys复制到你的电脑的c:\windows\system32\drivers目录下,最好将之前的文件备份一下。
然后再试试
2023/12/22 2:16:27 24KB CDC Serial 驱动
1
共 28 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡