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
编程要点 /////坐标转换///////////// CClientDCdc(this);//定义设备对象 OnPrepareDC(&dc);//初始化设备对象 CPointlocal=point;//定义CPoint类实体,并初始化为设备坐标dc.DPtoLP(&local);//将设备坐标转为逻辑坐标//将该段程序放入OnLButtonDown(UINTnFlags,CPointpoint)//和OnMouseMove(UINTnFlags,CPointpoint)中 //////////////////////////显示光标位置 CStringmsg; msg.Format("X=%4d,Y=%4d", local.x,local.y); CMainFrame*pAppFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd; pAppFrame->m_wndStatusBar.SetPaneText(0,msg); pAppFrame->m_wndStatusBar.UpdateWindow();/////改变光标///////////// CSizeScrollSize=GetTotalSize(); CRectScrollRect(0,0,ScrollSize.cx,ScrollSize.cy); if(m_SelectFunction!=13) { if(!ScrollRect.PtInRect(local)) ::SetCursor(m_HCross); else ::SetCursor(m_HArrow);//将该段程序放入OnMouseMove(UINTnFlags,CPointpoint)中,并放在坐标转换的后面//在视图类的头文件的public:后面加上两个光标句柄HCURSORm_HArrow; HCURSORm_HCross;//在视图类的CCP文件的类构造器中加入以下两句 m_HArrow=AfxGetApp()->LoadStandardCursor(IDC_ARROW); m_HCross=AfxGetApp()->LoadStandardCursor(IDC_CROSS);
2025/7/23 5:48:18 1.13MB 内定向
1
实现C-语言的所有语法分析,词法分析,并且课生成汇编代码,程序界面友好,使用了CJ60Lib进行设计,关键字等彩色区别
1
emeu8086+proteus音乐发声器
1
该程序是基于51单片机的温度报警系统,通过温度传感器ds18b20检测当前温度,通过蜂鸣器来进行报警。
2025/7/22 19:09:42 55KB 温度传感器 ds8b20 报警
1
1、支持KMS激活MicrosoftWindows、Office;


2、支持数字许可永久激活、KMS38激活至2038年;


3、支持OEM激活WindowsVista,Windows7,WindwosServer;


4、支持MicrosoftOffice零售版转换为VL批量许可版;


5、支持备份和还原激活信息。


6、支持自定义搭建KMS服务器激活;


7、激活成功率高、执行速度快、支持几乎所有版本;


8、在Windows7上无需依赖安装.NETFramework;


9、可以自行安装或搭建KMS服务器;


10、自动识别三种语言(简/繁/英);


11、带参数可静默运行且参数可根据需要自选;


12、可以一键自动激活、也可以根据需要自选;


13、包含KMS相关的功能(安装密钥、激活状态查询等)

14、完全可离线激活,也可以连接网络服务器进行激活;
2025/7/22 17:41:18 4.21MB digimat 操作教程
1
Redis从入门到精通高清,迅雷播放器组件可顺利播放
2025/7/22 15:21:23 86.78MB redis
1
CakePHP应用程序框架使用4.x创建应用程序的框架。
框架源代码可以在这里找到:。
安装下载或更新composerself-update。
运行phpcomposer.pharcreate-project--prefer-distcakephp/app[app_name]。
如果Composer已全局安装,请运行composercreate-project--prefer-distcakephp/app如果您想使用自定义应用程序目录名称(例如/myapp/):composercreate-project--prefer-distcakephp/appmyapp现在,您可以使用计算机的Web服务器查看默认主页,也可以使用以下命令启动内置Web服务器:bin/cakeserver-p8765然后访问http://
2025/7/22 12:37:39 667KB PHP
1
window照片查看器无法显示(提示内存不足)的图像修复,支持批量图像修复JPGPNGJPEG
2025/7/22 12:33:15 9KB 图像修复 jpg png jpeg
1
请网友们采用骏龙科技这个13.1新版本破解器,取代老版本破解器----因为13.1版本增加了一些新功能,例如动态重新配置FPGA功能、和高速收发器有关的新功能、免费的IP等等,老的13.1版本破解器没有破解这些新功能。
因为Altera为了反破解,把一部分新功能对应的加密点扩散到另外的一个dll文件里面了。

2025/7/22 10:32:56 105KB Quartus_II 破解器
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡