利用CPLD的USB下载电缆设计
讨论如何设计、制作一种在QuartusII programer环境下使用的低成本的USB数据下载电缆——USBblaster。根据IEEE1149.1标准、USB协议以及JTAG边界扫描原理,通过解析QuartusII内部通信机制,使用USB芯片和CPLD结合,提出一种USB接口电路设计与实现方法。与传统的并口、串口下载电缆相比,其在下载速度和灵活性上都有很大优势。
关键词 下载电缆 USB CPLD FPGA ISP JTAG
引言
随着片上系统(SoC,System on Chip)时代的到来,包括复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)和现场可编程门阵列(FPGA,Field Programmable Gate Array)的可编程逻辑器件(具有在系统可再编程的独特优点),应用越来越广泛。这给用于可编程逻辑器件编程的下载电缆提出了更高的要求。
本文研究基于IEEE1149.1标准的USB下载接口电路的设计及实现。针对Altera公司的FPGA器件Cyclone,通过分析它的边界扫描测试结构和各种JTAG指令,研究它的编程过程和编程特点,并提出设计方案。在接口电路硬件设计中,选用FTDI公司的USB控制芯片FT245BM,实现USB物理层和链路层协议的解析;Altera公司的可编程逻辑器件EPM7064实现接口逻辑。与传统的基于PC并口的下载电缆相比,本设计的USB下载接口电路具有支持热插拔、体积小、便于携带、降低对PC硬件伤害、编程速度快等明显优点。
目前已开发的USB下载线一般需要在主机端另行设计软件来控制与下载线及目标器件之间的通信和数据传送;但是这样不仅繁琐,而且可能由于PC机 *** 作系统的不同而影响兼容性。本文讨论的USB下载线能在Altera公司的QuartusII开发环境下直接使用,无须在主机端另行设计通信软件。
1 系统结构及工作原理
图1 接口电路整体结构框图
从主机传来的USB数据,由USB控制芯片转换为8位并行数据,经数据总线送到CPLD的可编程I/O引脚。CPLD的数据也可以通过数据总线送回USB控制芯片,然后转换为USB的数据格式传回主机。CPLD收到USB控制芯片传送来的数据后,对数据进行解析,然后转换为符合IEEE1149.1标准的编程数据和指令,从TCK、TMS和TDI串行输出到要编程的可编程逻辑器件。从可编程逻辑器件返回的符合IEEE1149.1标准的校验数据从TDO串行输入到CPLD,转换为8位并行数据传送给USB控制芯片,最后返回主机进行校验。
USB控制芯片FT245BM负责解释USB协议,完成双方数据通信。其内部有USB协议引擎,并且集成的电平转换器使FIFO和控制信号能与电压为5 V、3.3 V的逻辑器件接口。USB接口电路原理如图2所示。
图2 USB接口电路原理
2 对目标器件的配置过程
对目标器件的配置流程如图3所示。
图3 对目标器件配置流程
(1) 识别USB下载接口
QuartusII编程器通过PC的USB接口向FT245BM依次发7e、7f、7e三个数据。FT245BM经PC的USB接口向编程器依次返回3个数据03。在编程器收到返回的3个03以后,编程器就识别此USB下载接口电路为它的下载硬件平台。
(2) 测试BST电路
测试包括以下几个方面:
◇ 复位测试;
◇ 指令寄存器移位测试;
◇ 标志寄存器移位测试。
(3) 下载编程数据
这个步骤把所有的编程数据从PC下载进可编程逻辑器件的配置存储器。因为这一步骤下载的编程数据庞大,所以下载时采用特快模式,并且不进行校验,避免影响下载速度。下载选用的指令是Altera公司自己定义的DOWNLOAD指令(00 0000 0010)。
(4) 内建自测试
内建自测试是在电路内部建立测试生成、施加、分析和测试控制结构,使得电路能够测试自己。
(5) 校验器件的IDCODE
在整个编程流程结束以前,再一次校验器件的IDCODE,确认器件的BST电路在下载编程数据后是否工作正常。这一步的过程和标志寄存器移位测试完全相同。
(6) 返回测试逻辑复位状态
保持TMS为高6个TCK周期,使TAP控制器进入测试逻辑复位状态,并且让TMS保持为高电平,以保持测试逻辑复位状态。这样器件的测试逻辑失效,器件的核心逻辑开始正常工作。
结语
本文所讨论的USB数据下载线能在Altera公司的QuartusII开发环境下直接使用,无须另行开发主机端通信程序。与传统并口的编程方式相比,优势十分明显:支持热插拔,使用更方便;体积更小,携带方便;编程速度更快,节约时间。为国际数字系统设计领域内正蓬勃兴起的在线编程(ISP)技术的推广与发展提供了有力的支持。
参考文献
[1] 萧世文. USB2.0 硬件设计[M]. 北京:清华大学出版社,2002.
[2] CiletTI Michael D.Advanced Digital Design with the Verilog HDL[M]. 北京: 电子工业出版社,2005.
[3] 夏宇闻. 从算法设计到硬线逻辑的实现[M]. 北京: 北京航空航天大学出版社,2000.
[4] 宋万杰,罗丰,吴顺君. CPLD技术及其应用[M].西安: 西安电子科技大学出版社,2000.
[5] 张弘. USB接口设计[M]. 西安:西安电子科技大学出版社,2002.
[6] De Micheli G.Synthesis and OpTImizaTIon of Digital Circuits[M].北京: 电子工业出版社,1994.
[7] Wakerly J F.Digital Design Principles and PracTIces[M].北京: 电子工业出版社,2000.
[8] Tinder R F. Engineering Digital Design[M]. 2nd ed. San DiegAcademic Press,2000.
[9] Smith Michael J S.Application-Specific Integrated Circuits[M]. 北京: 电子工业出版社,2005.
[10] Raey Jan M. Digital Intergrated Circuits: A Design Perspective,2E[M]. 北京: 电子工业出版社,2000.
[11] Altera Corp.ByteBlaster Parallel Port Download Cable Data Sheet.
[12] FTDI Corp.FT245BM Designers Guide.
向俊(硕士研究生),主要研究方向为信号与信息处理。
(收稿日期:2007-01-22)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)