一种基于fpga/cpld的程序下载器的制作方法

文档序号:6364753阅读:152来源:国知局
专利名称:一种基于fpga/cpld的程序下载器的制作方法
技术领域
本发明涉及一种可编程逻辑器件的编程工具,尤其是一种基于FPGA/CPLD的程序下载器。
背景技术
FPGA和CPLD均为可编程逻辑器件,其逻辑功能按照用户对器件编程来确定,因此集成度很高,足以满足设计一般的数字系统的需要,可以由设计人员自行编程而把一个数字系统集成在一片器件上,而不必去请芯片制造厂商设计和制作专用集成电路芯片,从而降低了设计研发成本推动了数字系统的发展。对FPGA/CPLD器件进行编程需要使用专用的程序下载器,现有FPGA/CPLD程序下载器的硬件电路一般由USB控制芯片和器件本身共同完成USB协议到IEEE1149. I协议的转换,硬件电路固化,并且必须在线下载,实际应用对同时下载多个FPGA/CPLD器件以及下载不同型号FPGA/CPLD器件存在限制。此外FPGA/CPLD器件的特性使其在数字电路系统广泛使用,在一块电路板或者一个阵列系统中常常集成了多个FPGA/CPLD器件,在此情势下使用现有的程序下载器会非常麻烦,需要对每个FPGA/CPLD器件进行单独编程。虽然针对这种情况推出了支持多器件的程序下载器,如“ JTAG下载方式下FPGA逻辑代码的下载方法”(中国专利公开号CN102043747)公开的发明方案,其在FPGA/CPLD程序下载器后续增加了 CPLD芯片,用来支持多FPGA的程序下载,但只支持在JTAG下载方式下FPGA逻辑代码的下载,这样会造成硬件电路复杂,成本高,体积大,不便于携带且应用单一。

发明内容
针对现有的FPGA/CPLD程序下载器所存在的上述问题,本发明提供一种支持多器件同时下载的基于FPGA/CPLD的程序下载器。本发明解决技术问题所采用的技术手段为
一种基于FPGA/CPLD的程序下载器,包括主机、传输装置和通过编程方式构造硬件结构的可配置器件,所述传输装置与所述主机以及所述通过编程方式构造硬件结构的可配置器件分别连接,其中,所述传输装置包括USB控制模块、协议转换模块、缓冲器模块和输出端口 ;
所述USB控制模块与所述主机的USB接口连接,所述协议转换模块与所述USB控制模块连接,所述缓冲器模块与所述协议转换模块连接,所述协议转换模块与所述输出端口连接,所述输出端口与所述通过编程方式构造硬件结构的可配置器件的输入端口连接;
所述USB控制模块用于与所述主机之间进行数据传输;
所述协议转转换模块用于在所述USB控制模块和所述输出端口之间进行协议转换; 所述缓冲器模块用于在所述USB控制模块与所述输出端口之间进行数据缓冲。上述基于FPGA/CPLD的程序下载器,其中,所述传输装置的协议转换模块主要由可编成逻辑器件以编程方式形成。
上述基于FPGA/CPLD的程序下载器,其中,所述输出端口有多个,多个所述输出端口与多个通过编程方式构造硬件结构的可配置器件连接,所述缓冲器模块包括数据隔离与协调部件,所述缓冲器模块的数据隔离与协调部件用于在对多个通过编程方式构造硬件结构的可配置器件进行数据传输时隔离与协调各个端口的数据信号。上述基于FPGA/CPLD的程序下载器,其中,还包括储存模块,所述储存模块与所述协议转换模块连接,所述储存模块用于储存经所述协议转换模块转换后的数据并于所述 USB控制模块与所述主机的USB接口断开连接时将储存的数据发送至所述输出端口。上述基于FPGA/CPLD的程序下载器,其中,所述主机为PC机。
上述基于FPGA/CPLD的程序下载器,其中,所述USB控制模块主要由CYC768013A芯片形成。
上述基于FPGA/CPLD的程序下载器,其中,所述通过编程方式构造硬件结构的可配置器件为FPGA器件或者CPLD器件。
上述基于FPGA/CPLD的程序下载器,其中,所述协议转换模块为IEEE1149. I协议转换器件。
上述基于FPGA/CPLD的程序下载器,其中,所述缓冲器模块主要由MAX3378芯片形成。
上述基于FPGA/CPLD的程序下载器,其中,所述输出端口主要为符合JTAG标准的端口。
上述基于FPGA/CPLD的程序下载器,其中,所述储存模块主要由FLASH储存器件形成。
本发明的有益效果是
支持多种电压的FPGA/CPLD器件;支持器件种类多;支持NIOS调试,支持NIOS下的 FLASH烧写;支持AS、PS和JTAG等下载模式;与传统的FPGA/CPLD程序下载器相比,硬件电路简化,稳定性增强,且小巧灵活,支持多FPGA或CPLD的同时下载;可充分利用FPGA的并行处理能力使得USB时序到JTAG时序的转换速率可以完全满足USB高速端口的480M/S的通信速率;支持FPGA/CPLD器件的离线程序下载。


图I是本发明一种基于FPGA/CPLD的程序下载器的结构示意图。
具体实施例方式下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。如图I所示,本发明一种基于FPGA/CPLD的程序下载器,包括主机、传输装置和通过编程方式构造硬件结构的可配置器件,传输装置与主机以及通过编程方式构造硬件结构的可配置器件分别连接,其中,传输装置包括USB控制模块、协议转换模块、缓冲器模块和输出端口 ;USB控制模块与主机的USB接口连接,协议转换模块与USB控制模块连接,缓冲器模块与协议转换模块连接,协议转换模块与输出端口连接,输出端口与通过编程方式构造硬件结构的可配置器件的输入端口连接;USB控制模块用于与主机之间进行数据传输; 协议转转换模块用于在USB控制模块和输出端口之间进行协议转换;缓冲器模块用于在USB控制模块与输出端口之间进行数据缓冲。主机可以是PC机、笔记本电脑或其他嵌入式设备,可配置器件为FPGA/CPLD器件;USB控制模块接收主机的USB接口输出USB数据,USB 控制模块用于将USB数据转换为8位并行数据随之输出;协议转换模块接收USB控制模块输出的8位并行数据,将其转换为符合IEEE1149. I标准的编程的数据和指令同时输出,至此FPGA模块就完成了对程序固化文件的USB时序到JTAG时序的转换,传输装置的协议转换模块主要由可编成逻辑器件以编程方式形成,较优的选择是以ALTERA公司的Cyclone IV系列的EP4CE6E22I7L芯片形成协议转换模块,EP4CE6E22I7L芯片具有低供电、低功耗和高性能,它的并行处理能力使得USB时序到JTAG时序的转换速率可以完全满足USB高速端口的480M/S的通信速率的要求。缓冲器模块接收FPGA模块输出的符合IEEEl 149. I标准的编程的数据和指令,对其进行缓冲,使其能够支持I. 8V,2. 5V,3. 3V和5. OV的不同供电电压的FPGA/CPLD器件下载,输出端口可以有多个,多个输出端口与多个FPGA/CPLD器件连接, 缓冲器模块包括数据隔离与协调部件,缓冲器模块的数据隔离与协调部件用于在对多个 FPGA/CPLD器件进行数据传输时隔离与协调各个端口的数据信号。缓冲器模块较优的可选用MAX3378芯片,MAX3378芯片在系统中的选用数量可根据待下载程序的FPGA/CPLD器件数量的不同而灵活选用;最后FPGAl (CPLD1)、FPGA2 (CPLD2)、……,FPGAn (CPLDn)接收缓
冲器输出至输出端口的相应的 TMS_1、TCK_1、TDI_1、TMS_2、TCK_2、TDI_2、......TMS_n、TCK_
n、TDI_n、TD0_n信号,完成程序在线下载。这里可根据不同的需求软件配置AS、PS和JTAG 三种下载模式或NIOS调试状态。在反馈回路中,FPGAl (CPLD1)、FPGA2 (CPLD2)、……、
FPGAn (CPLDn)通过相应的TD0_1、TD0_2、......TD0_n端口输出符合IEEEl 149. I标准的校
验数据至输出端口,缓冲器模块接收校验数据并对其进行缓冲、隔离和协调处理后输出,协议转换模块接收缓冲器处理后的校验数据,并将校验数据转换为8位并行数据随之输出; USB控制模块接收协议转换模块输出的8位并行数据,将其转换为USB数据随之输出;主机模块的USB接口接收USB控制模块输出的USB数据,并由主机对USB数据进行实施校验。进一步的,其中,还包括储存模块,储存模块与协议转换模块连接,储存模块用于储存经协议转换模块转换后的数据并于USB控制模块与主机的USB接口断开连接时将储存的数据发送至输出端口。在离线下载程序状态下,首先将主机中的USB数据下载到传输装置中,传输装置中的USB控制模块接收主机输出的USB数据并将其转化为8位并行数据随之暂存到储存模块中,当为FPGAl (CPLD1)、FPGA2 (CPLD2)、……、FPGAn (CPLDn)需离线下载程序时,传输装置通过软件启动程序将储存模块中的8位并行数据上载到协议转换模块当中,协议转换模块将其转换为符合IEEE1149. I标准的编程的数据和指令,再经缓冲器缓冲、隔离和协调处理,最后将此数据和指令通过输出端口输出到要编程的相应的FPGAl
(CPLDl )、FPGA2 (CPLD2)、......、FPGAn (CPLDn),这样即可实现在离线情况下对 FPGA/CPLD
器件反复下载预先存于储存模块中的程序。若想更新储存模块中的程序,只需连接主机重新下载新程序即可。其中,储存模块可以由FLASH储存器件形成。以上所述仅为本发明较佳的实施例,并非因此限制本发明的申请专利范围,所以凡运用本发明说明书及图示内容所作出的等效结构变化以及本领域技术人员惯用的技术手段替换,均包含在本发明的保护范围内。
权利要求
1.一种基于FPGA/CPLD的程序下载器,包括主机、传输装置和通过编程方式构造硬件结构的可配置器件,所述传输装置与所述主机以及所述通过编程方式构造硬件结构的可配置器件分别连接,其特征在于,所述传输装置包括USB控制模块、协议转换模块、缓冲器模块和输出端口;所述USB控制模块与所述主机的USB接口连接,所述协议转换模块与所述USB控制模块连接,所述缓冲器模块与所述协议转换模块连接,所述协议转换模块与所述输出端口连接,所述输出端口与所述通过编程方式构造硬件结构的可配置器件的输入端口连接;所述USB控制模块用于与所述主机之间进行数据传输;所述协议转转换模块用于在所述USB控制模块和所述输出端口之间进行协议转换;所述缓冲器模块用于在所述USB控制模块与所述输出端口之间进行数据缓冲。
2.如权利要求I所述基于FPGA/CPLD的程序下载器,其特征在于,所述传输装置的协议转换模块主要由可编成逻辑器件以编程方式形成。
3.如权利要求I所述基于FPGA/CPLD的程序下载器,其特征在于,所述输出端口有多个,多个所述输出端口与多个通过编程方式构造硬件结构的可配置器件连接,所述缓冲器模块包括数据隔离与协调部件,所述缓冲器模块的数据隔离与协调部件用于在对多个通过编程方式构造硬件结构的可配置器件进行数据传输时隔离与协调各个端口的数据信号。
4.如权利要求I所述基于FPGA/CPLD的程序下载器,其特征在于,还包括储存模块,所述储存模块与所述协议转换模块连接,所述储存模块用于储存经所述协议转换模块转换后的数据并于所述USB控制模块与所述主机的USB接口断开连接时将储存的数据发送至所述输出端口。
5.如权利要求1-4中任一所述基于FPGA/CPLD的程序下载器,其特征在于,所述主机为 PC机。
6.如权利要求1-4中任一所述基于FPGA/CPLD的程序下载器,其特征在于,所述USB控制模块主要由CYC768013A芯片形成。
7.如权利要求1-4中任一所述基于FPGA/CPLD的程序下载器,其特征在于,所述通过编程方式构造硬件结构的可配置器件为FPGA器件或者CPLD器件。
8.如权利要求1-4中任一所述基于FPGA/CPLD的程序下载器,其特征在于,所述缓冲器模块主要由MAX3378芯片形成。
9.如权利要求1-4中任一所述基于FPGA/CPLD的程序下载器,其特征在于,所述输出端口主要为符合JTAG标准的端口。
10.如权利要求1-4中任一所述基于FPGA/CPLD的程序下载器,其特征在于,所述储存模块主要由FLASH储存器件形成。
全文摘要
本发明公开了一种基于FPGA/CPLD的程序下载器,包括主机、传输装置和通过编程方式构造硬件结构的可配置器件,所述传输装置与所述主机以及所述通过编程方式构造硬件结构的可配置器件分别连接,其中,所述传输装置包括USB控制模块、协议转换模块、缓冲器模块和输出端口;所述USB控制模块与所述主机的USB接口连接,所述协议转换模块与所述USB控制模块连接,所述缓冲器模块与所述协议转换模块连接,所述协议转换模块与所述输出端口连接,所述输出端口与所述通过编程方式构造硬件结构的可配置器件的输入端口连接。
文档编号G06F9/445GK102609288SQ20121003235
公开日2012年7月25日 申请日期2012年2月14日 优先权日2012年2月14日
发明者叶华, 胡金平, 贺姗姗 申请人:上海三一精机有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1