DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 685|回复: 0
打印 上一主题 下一主题

[接口电路] 基于CPLD的USB下载电缆设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 14:55:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要 讨论如何设计、制作一种在QHattusII programer环境下使用的低成本的usb数据下栽电缆——USb—blaster。根据IEEEll49.1标准、USb协议以及JTAG边界扫描原理,通过解析QuartusII内部通信机制,使用USb芯片和CPLD结合,提出一种USb接口电路设计与实现方法。与传统的并口、串口下载电缆相比,其在下载速度和灵活性上部有很大优势。
关键词 下栽电缆 USb CPLD FPGA ISP JTAG

引 言
???
随着片上系统(SoC,System on Chip)时代的到来,包括复杂可编程逻辑器件(CPLD,Complex ProgrammableLogic Devi(e)和现场可编程门阵列(FPGA,Field Programmable Gate Array)的可编程逻辑器件(具有在系统可再编程的独特优点),应用越来越广泛。这给用于可编程逻辑器件编程的下载电缆提出了更高的要求。
??? 本文研究基于IEEEll49.1标准的USb下载接口电路的设计及实现。针对Altera公司的FPGA器件Cy-ckone,通过分析它的边界扫描测试结构和各种JTAG指令,研究它的编程过程和编程特点,并提出设计方案。在接口电路硬件设计中,选用FTDI公司的USb控制芯片FT2蛎bM,实现USb物理层和链路层协议的解析;Altera公司的可编程逻辑器件EPM7064实现接口逻辑。与传统的基于PC并口的下载电缆相比,本设计的USb下载接口电路具有支持热插拔、体积小、便于携带、降低对PC硬件伤害、编程速度快等明显优点。
??? 目前已开发的USb下载线一般需要在主机端另行设计软件来控制与下载线及目标器件之间的通信和数据传送;但是这样不仅繁琐,而且可能由于PC机操作系统的不同而影响兼容性。本文讨论的USb下载线能在A1tera公司的QuartusII开发环境下直接使用,无须在主机端另行设计通信软件。

1 系统结构及工作原理
???
接口电路的整体结构框图如图l所示。由于USb下载电路涉及了IEEEll49.1标准和USb协议,所以接口电路主要包含两大部分。一部分是USb接口,它连接主机和可编程逻辑器件,主要功能是进行USb和并行I/O口之间的数据格式转换,用USb控制芯片实现。另一部分是JTAG接口,它连接USb控制芯片和需要编程的逻辑器件,主要功能是进行并行I/O口和JTAG之间数据的转换,转换逻辑通过对可编程逻辑器件进行设计来实现。其他还包括一些必要的时钟电路和电压转换电路。



??? 从主机传来的USb数据,由USb控制芯片转换为8位并行数据,经数据总线送到CPLD的可编程I/O引脚。CPLD的数据也可以通过数据总线送回USb控制芯片,然后转换为USb的数据格式传回主机。CPLD收到USb控制芯片传送来的数据后,对数据进行解析,然后转换为符合IEEEll49.1标准的编程数据和指令,从TCK、TMS和TDI串行输出到要编程的可编程逻辑器件。从可编程逻辑器件返回的符合IEEEll49.1标准的校验数据从TDO串行输入到CPLD,转换为8位并行数据传送给USb控制芯片,最后返回主机进行校验。
??? USb控制芯片FT245bM负责解释USb协议,完成双方数据通信。其内部有USb协议引擎,并且集成的电平转换器使FIFO和控制信号能与电压为5 V、3.3 V的逻辑器件接口。USb接口电路原理如图2所示。



2 对目标器件的配置过程
???
对目标器件的配置流程如图3所示。



(1)识别USb下载接口
??? Quanus II编程器通过PC的USb接口向FT245bM依次发7e、7f、7c三个数据。FT245bM经PC的USb接口向编程器依次返回3个数据03。在编程器收到返回的3个03以后,编程器就识别此USb下载接口电路为它的下载硬件平台。
(2)测试bST电路
??? 测试包括以下几个方面:
??? ◇复位测试;
??? ◇指令寄存器移位测试;
??? ◇标志寄存器移位测试。
(3)下载编程数据
???
这个步骤把所有的编程数据从PC下载进可编程逻辑器件的配置存储器。因为这一步骤下载的编程数据庞大,所以下载时采用特快模式,并且不进行校验,避免影响下载速度。下载选用的指令是Ahcra公司自己定义的DOWNLOAD指令(00 0000 0010)。
(4)内建自测试
??? 内建自测试是在电路内部建立测试生成、施加、分析和测试控制结构,使得电路能够测试自己。
(5)校验器件的IDCODE
??? 在整个编程流程结束以前,再一次校验器件的ID—CODE,确认器件的bST电路在下载编程数据后足否工作正常。这一步的过程和标志寄存器移位测试完全相同。
(6)返回测试逻辑复位状态
??? 保持TMS为高6个TCK周期,使TAP控制器进入测试逻辑复位状态,并且让TMS保持为高电平,以保持测试逻辑复位状态。这样器件的测试逻辑失效,器件的核心逻辑开始正常工作。

结语
???
本文所讨论的USb数据下载线能在Altera公司的QuartusII开发环境下直接使用,无须另行开发主机端通信程序。与传统并几的编程方式相比,优势十分明显:支持热插拔,使用更方便;体积更小,携带方便;编程速度更快,节约时间。为国际数字系统设计领域内正蓬勃兴起的在线编程(ISP)技术的推广与发展提供了有力的支持。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-10 23:38 , 耗时 0.091228 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表