基于单片机的多功能USB‑JTAG接口FPGA下载线的制作方法

文档序号:11153267阅读:1103来源:国知局
基于单片机的多功能USB‑JTAG接口FPGA下载线的制造方法与工艺

本发明涉及现场可编程逻辑门阵列FPGA下载线的技术领域,具体涉及一种基于单片机的多功能USB-JTAG接口FPGA下载线。



背景技术:

业内主流的两大FPGA生产厂商为xilinx和altera,两家的FPGA均支持JTAG接口的下载线进行烧写,但两家的下载线都只支持对自家的芯片进行配置,而无法混用,这不但给用户带来了使用上的不便,而且增加的成本。



技术实现要素:

本发明提出一种基于单片机(本发明采用的单片机型号为CY7C68013A)的USB-JTAG下载线,可支持对Xilinx、Altera的FPGA以及其它支持JTAG接口烧写的芯片进行配置。

本发明采用的技术方案为:一种基于单片机的多功能USB-JTAG接口FPGA下载线,其核心功能均通过单片机实现,首先上位机程序通过USB接口加载单片机固件,单片机执行固件程序,通过JTAG接口读取FPGA芯片的ID号,并返回给上位机程序,上位机获得IDCODE后,按需转换烧写文件,发送给单片机,并烧写到FPGA中。

所述基于单片机的多功能USB-JTAG接口FPGA下载线,首先通过单片机读取IDCODE,使状态机恢复到TEST-LOGIC-RESET。控制TMS和clock,使状态机经过Run-Test/Idle、Select-DR-Scan、Select-IR-Scan、Capture-IR跳转到SHIFT-IR状态。给状态机发送读IDCODE的指令。

然后控制TMS和clock,使状态机经过Exit1-IR、Updata-IR、Select-DR-Scan、Capture-IR来到Shift-DR状态,读取IDCODE,返回给上位机。上位机获得IDCODE后,按需转换烧写文件,发送给单片机(CY7C68013A),单片机(CY7C68013A)控制JTAG TAG把数据烧写进FPGA中即可。

本发明的原理在于:

本发明解决思路就是使用单片机模拟JTAG协议,实现相应下载线的功能,同时上位机需要根据通过单片机获取的FPGA的型号,转换烧写文件,通过USB发送给单片机,再由单片机发送给FPGA开发板。单片机的固件程序,模拟JTAG TAP状态机,读取IDCODE,得到FPGA的型号,返回给上位机,上位机查询程序数据,得到更多信息,并作出选择,转换烧写文件,发送给单片机,继续模拟JTAG协议烧写文件。

本发明优点和积极效果为:

(1)本发明优势是通用性,实现了一根线一个程序适应多家FPGA开发板。

(2)本发明优势是低成本,本发明所采用单片机价格远远低于专用下载线所采用的芯片价格,可以大大降低下载线的总体价格。

(3)本发明优势是扩展性,固件存放在PC端,上位机软件在启动时将固件加载到单片机,因此只需更新PC端的固件文件便可以实现下载线功能的升级或扩展。

附图说明

图1为现有技术中JTAG TAG状态机;

图2为本发明下载线使用场景;

图3为本发明工作流程;

图4为本发明工作流程原理图。

具体实施方式

下面结合附图以及具体实施方式进一步说明本发明。

如图1所示,JTAG的核心为TAG状态机,在SHIFT-IR状态写入指令,然后再SHIFT-DR状态读取或者写入数据。本发明中通过单片机控制JTAG接口时序,按照状态跳转图,首先进入SHIFT-IR状态,写入控制指令(如读取ID指令、写入配置数据指令等),然后控制状态机进入SHIFT-DR状态,读取或者写入与控制指令对应的数据(如芯片ID、配置数据等)。

如图2所示,下载线一端通过USB接口连接到PC机,另一端通过JTAG接口连接到FPGA的下载口,PC通过该下载线将配置文件烧写到FPGA中。

如图3与图4所示,首先通过单片机读取IDCODE,JTAG接口中的TMS信号置一,保持5个clock(实际操作为了确保复位,保持了10个clock),使状态机恢复到TEST-LOGIC-RESET。

控制TMS和clock,使状态机经过Run-Test/Idle、Select-DR-Scan、Select-IR-Scan、Capture-IR跳转到SHIFT-IR状态。

设定TMS为0,控制TDI和clock,给状态机发送读IDCODE的指令,从最低位开始发送数据。

上述过程的最后一个周期读入指令的最后一位0的同时跳转状态机状态,然后控制TMS和clock,使状态机经过Exit1-IR、Updata-IR、Select-DR-Scan、Capture-IR来到Shift-DR状态。

设定TMS为0,控制clock,从TDO中读取32位数据,返回给上位机,得到IDCODE。

上位机获得IDCODE后,按需转换烧写文件,发送给单片机控制JTAG TAG把数据烧写进FPGA中即可。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1