CN102609288B - 一种基于fpga/cpld的程序下载器 - Google Patents

一种基于fpga/cpld的程序下载器 Download PDF

Info

Publication number
CN102609288B
CN102609288B CN201210032356.4A CN201210032356A CN102609288B CN 102609288 B CN102609288 B CN 102609288B CN 201210032356 A CN201210032356 A CN 201210032356A CN 102609288 B CN102609288 B CN 102609288B
Authority
CN
China
Prior art keywords
module
fpga
cpld
output port
protocol conversion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210032356.4A
Other languages
English (en)
Other versions
CN102609288A (zh
Inventor
胡金平
贺姗姗
叶华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Sany Precision Machinery Co Ltd
Original Assignee
Shanghai Sany Precision Machinery Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Sany Precision Machinery Co Ltd filed Critical Shanghai Sany Precision Machinery Co Ltd
Priority to CN201210032356.4A priority Critical patent/CN102609288B/zh
Publication of CN102609288A publication Critical patent/CN102609288A/zh
Application granted granted Critical
Publication of CN102609288B publication Critical patent/CN102609288B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Logic Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于FPGA/CPLD的程序下载器,包括主机、传输装置和通过编程方式构造硬件结构的可配置器件,所述传输装置与所述主机以及所述通过编程方式构造硬件结构的可配置器件分别连接,其中,所述传输装置包括USB控制模块、协议转换模块、缓冲器模块和输出端口;所述USB控制模块与所述主机的USB接口连接,所述协议转换模块与所述USB控制模块连接,所述缓冲器模块与所述协议转换模块连接,所述协议转换模块与所述输出端口连接,所述输出端口与所述通过编程方式构造硬件结构的可配置器件的输入端口连接。

Description

一种基于FPGA/CPLD的程序下载器
技术领域
本发明涉及一种可编程逻辑器件的编程工具,尤其是一种基于FPGA/CPLD的程序下载器。
背景技术
FPGA和CPLD均为可编程逻辑器件,其逻辑功能按照用户对器件编程来确定,因此集成度很高,足以满足设计一般的数字系统的需要,可以由设计人员自行编程而把一个数字系统集成在一片器件上,而不必去请芯片制造厂商设计和制作专用集成电路芯片,从而降低了设计研发成本推动了数字系统的发展。
对FPGA/CPLD器件进行编程需要使用专用的程序下载器,现有FPGA/CPLD程序下载器的硬件电路一般由USB控制芯片和器件本身共同完成USB协议到IEEE1149.1协议的转换,硬件电路固化,并且必须在线下载,实际应用对同时下载多个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.1协议转换器件。
上述基于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器件的离线程序下载。
附图说明
图1是本发明一种基于FPGA/CPLD的程序下载器的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
如图1所示,本发明一种基于FPGA/CPLD的程序下载器,包括主机、传输装置和通过编程方式构造硬件结构的可配置器件,传输装置与主机以及通过编程方式构造硬件结构的可配置器件分别连接,其中,传输装置包括USB控制模块、协议转换模块、缓冲器模块和输出端口;USB控制模块与主机的USB接口连接,协议转换模块与USB控制模块连接,缓冲器模块与协议转换模块连接,协议转换模块与输出端口连接,输出端口与通过编程方式构造硬件结构的可配置器件的输入端口连接;USB控制模块用于与主机之间进行数据传输;协议转转换模块用于在USB控制模块和输出端口之间进行协议转换;缓冲器模块用于在USB控制模块与输出端口之间进行数据缓冲。主机可以是PC机、笔记本电脑或其他嵌入式设备,可配置器件为FPGA/CPLD器件;USB控制模块接收主机的USB接口输出USB数据,USB控制模块用于将USB数据转换为8位并行数据随之输出;协议转换模块接收USB控制模块输出的8位并行数据,将其转换为符合IEEE1149.1标准的编程的数据和指令同时输出,至此FPGA模块就完成了对程序固化文件的USB时序到JTAG时序的转换,传输装置的协议转换模块主要由可编成逻辑器件以编程方式形成,较优的选择是以ALTERA公司的CycloneⅣ系列的EP4CE6E22I7L芯片形成协议转换模块,EP4CE6E22I7L芯片具有低供电、低功耗和高性能,它的并行处理能力使得USB时序到JTAG时序的转换速率可以完全满足USB高速端口的480M/S的通信速率的要求。缓冲器模块接收FPGA模块输出的符合IEEE1149.1标准的编程的数据和指令,对其进行缓冲,使其能够支持1.8V,2.5V,3.3V和5.0V的不同供电电压的FPGA/CPLD器件下载,输出端口可以有多个,多个输出端口与多个FPGA/CPLD器件连接,缓冲器模块包括数据隔离与协调部件,缓冲器模块的数据隔离与协调部件用于在对多个FPGA/CPLD器件进行数据传输时隔离与协调各个端口的数据信号。缓冲器模块较优的可选用MAX3378芯片,MAX3378芯片在系统中的选用数量可根据待下载程序的FPGA/CPLD器件数量的不同而灵活选用;最后FPGA1(CPLD1)、FPGA2(CPLD2)、……、FPGAn(CPLDn)接收缓冲器输出至输出端口的相应的TMS_1、TCK_1、TDI_1、TMS_2、TCK_2、TDI_2、……TMS_n、TCK_n、TDI_n、TDO_n信号,完成程序在线下载。这里可根据不同的需求软件配置AS、PS和JTAG三种下载模式或NIOS调试状态。在反馈回路中,FPGA1(CPLD1)、FPGA2(CPLD2)、……、FPGAn(CPLDn)通过相应的TDO_1、TDO_2、……TDO_n端口输出符合IEEE1149.1标准的校验数据至输出端口,缓冲器模块接收校验数据并对其进行缓冲、隔离和协调处理后输出,协议转换模块接收缓冲器处理后的校验数据,并将校验数据转换为8位并行数据随之输出;USB控制模块接收协议转换模块输出的8位并行数据,将其转换为USB数据随之输出;主机模块的USB接口接收USB控制模块输出的USB数据,并由主机对USB数据进行实施校验。
进一步的,其中,还包括储存模块,储存模块与协议转换模块连接,储存模块用于储存经协议转换模块转换后的数据并于USB控制模块与主机的USB接口断开连接时将储存的数据发送至输出端口。在离线下载程序状态下,首先将主机中的USB数据下载到传输装置中,传输装置中的USB控制模块接收主机输出的USB数据并将其转化为8位并行数据随之暂存到储存模块中,当为FPGA1(CPLD1)、FPGA2(CPLD2)、……、FPGAn(CPLDn)需离线下载程序时,传输装置通过软件启动程序将储存模块中的8位并行数据上载到协议转换模块当中,协议转换模块将其转换为符合IEEE1149.1标准的编程的数据和指令,再经缓冲器缓冲、隔离和协调处理,最后将此数据和指令通过输出端口输出到要编程的相应的FPGA1(CPLD1)、FPGA2(CPLD2)、……、FPGAn(CPLDn),这样即可实现在离线情况下对FPGA/CPLD器件反复下载预先存于储存模块中的程序。若想更新储存模块中的程序,只需连接主机重新下载新程序即可。其中,储存模块可以由FLASH储存器件形成。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的申请专利范围,所以凡运用本发明说明书及图示内容所作出的等效结构变化以及本领域技术人员惯用的技术手段替换,均包含在本发明的保护范围内。

Claims (8)

1.一种基于FPGA/CPLD的程序下载器,包括主机、传输装置和通过编程方式构造硬件结构的可配置器件,所述传输装置与所述主机以及所述通过编程方式构造硬件结构的可配置器件分别连接,其特征在于,所述传输装置包括USB控制模块、协议转换模块、缓冲器模块和输出端口;
所述USB控制模块与所述主机的USB接口连接,所述协议转换模块与所述USB控制模块连接,所述缓冲器模块与所述协议转换模块连接,所述协议转换模块与所述输出端口连接,所述输出端口与所述通过编程方式构造硬件结构的可配置器件的输入端口连接;
所述USB控制模块用于与所述主机之间进行数据传输;
所述协议转转换模块用于在所述USB控制模块和所述输出端口之间进行协议转换;
所述缓冲器模块用于在所述USB控制模块与所述输出端口之间进行数据缓冲,所述缓冲器模块为MAX3378芯片;
所述传输装置还包括储存模块,所述储存模块与所述协议转换模块连接,所述储存模块用于储存经所述协议转换模块转换后的数据并于所述USB控制模块与所述主机的USB接口断开连接时将储存的数据发送至所述输出端口。
2.如权利要求1所述基于FPGA/CPLD的程序下载器,其特征在于,所述传输装置的协议转换模块主要由可编程逻辑器件以编程方式形成。
3.如权利要求1所述基于FPGA/CPLD的程序下载器,其特征在于,所述输出端口有多个,多个所述输出端口与多个通过编程方式构造硬件结构的可配置器件连接,所述缓冲器模块包括数据隔离与协调部件,所述缓冲器模块的数据隔离与协调部件用于在对多个通过编程方式构造硬件结构的可配置器件进行数据传输时隔离与协调各个端口的数据信号。
4.如权利要求1-3中任一所述基于FPGA/CPLD的程序下载器,其特征在于,所述主机为PC机。
5.如权利要求1-3中任一所述基于FPGA/CPLD的程序下载器,其特征在于,所述USB控制模块为CYC768013A芯片。
6.如权利要求1-3中任一所述基于FPGA/CPLD的程序下载器,其特征在于,所述通过编程方式构造硬件结构的可配置器件为FPGA器件或者CPLD器件。
7.如权利要求1-3中任一所述基于FPGA/CPLD的程序下载器,其特征在于,所述输出端口为符合JTAG标准的端口。
8.如权利要求1-3中任一所述基于FPGA/CPLD的程序下载器,其特征在于,所述储存模块为FLASH储存器件。
CN201210032356.4A 2012-02-14 2012-02-14 一种基于fpga/cpld的程序下载器 Expired - Fee Related CN102609288B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210032356.4A CN102609288B (zh) 2012-02-14 2012-02-14 一种基于fpga/cpld的程序下载器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210032356.4A CN102609288B (zh) 2012-02-14 2012-02-14 一种基于fpga/cpld的程序下载器

Publications (2)

Publication Number Publication Date
CN102609288A CN102609288A (zh) 2012-07-25
CN102609288B true CN102609288B (zh) 2015-12-16

Family

ID=46526686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210032356.4A Expired - Fee Related CN102609288B (zh) 2012-02-14 2012-02-14 一种基于fpga/cpld的程序下载器

Country Status (1)

Country Link
CN (1) CN102609288B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929651B (zh) * 2012-09-21 2015-04-08 中国航空无线电电子研究所 基于芯片阵列的在线加载系统及其方法
CN103226506B (zh) * 2013-04-28 2015-04-22 杭州士兰微电子股份有限公司 内嵌于芯片的usb转jtag调试装置及其调试方法
CN103293992B (zh) * 2013-05-30 2015-08-05 徐渊 U盘式fpga开发板
CN103823781B (zh) * 2014-03-03 2017-05-24 中国科学院电子学研究所 一种现场可编程门阵列逻辑代码的下载装置
CN104657178A (zh) * 2015-02-26 2015-05-27 江苏影速光电技术有限公司 一种采用接口技术进行fpga配置的方法
CN108400899A (zh) * 2018-06-08 2018-08-14 山东超越数控电子股份有限公司 一种fpga的远程升级系统及方法
CN109977042A (zh) * 2019-02-28 2019-07-05 珠海海奇半导体有限公司 一种usb在线调试系统及方法
CN111339544B (zh) * 2019-04-24 2023-03-14 上海安路信息科技股份有限公司 离线下载装置及离线下载方法
CN110445831A (zh) * 2019-06-28 2019-11-12 深圳市紫光同创电子有限公司 一种与fpga通信的主机、fpga接口芯片
CN112463675A (zh) * 2020-11-25 2021-03-09 上海磐启微电子有限公司 一种程序离线下载方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1760599A1 (en) * 2005-08-15 2007-03-07 Research In Motion Limited Universal Peripheral Connector
CN101184310A (zh) * 2007-09-21 2008-05-21 北京天碁科技有限公司 手机测试装置
CN101741593A (zh) * 2008-11-19 2010-06-16 华为技术有限公司 一种动态加载业务板的方法和动态加载系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1760599A1 (en) * 2005-08-15 2007-03-07 Research In Motion Limited Universal Peripheral Connector
CN101184310A (zh) * 2007-09-21 2008-05-21 北京天碁科技有限公司 手机测试装置
CN101741593A (zh) * 2008-11-19 2010-06-16 华为技术有限公司 一种动态加载业务板的方法和动态加载系统

Also Published As

Publication number Publication date
CN102609288A (zh) 2012-07-25

Similar Documents

Publication Publication Date Title
CN102609288B (zh) 一种基于fpga/cpld的程序下载器
CN102087606B (zh) 一种fpga配置文件更新装置
CN103885919B (zh) 一种多dsp和fpga并行处理系统及实现方法
CN100578240C (zh) 一种实现芯片测试的方法
US9912337B2 (en) Systems and methods for configuring an SOPC without a need to use an external memory
CN103763549B (zh) 一种基于FPGA的Camera Link接口实验与开发系统
CN204537117U (zh) 一种基于微处理器的fpga远程在线升级系统
CN103620431A (zh) 用于使用高速输入/输出接口进行测试的集成电路
CN107704285A (zh) 现场可编程门阵列多版本配置芯片、系统和方法
CN104915303A (zh) 基于PXIe总线的高速数字I/O系统
CN104155630A (zh) 高速数据录取存储与回放系统
CN101666651A (zh) 一种激光陀螺捷联系统的导航计算机
CN103477561A (zh) 可配置逻辑单元
CN107256200A (zh) 一种多种edid数据选择性输出的系统及方法
CN114964243B (zh) 一体化惯性导航数据采集及处理系统
CN204462781U (zh) 一种基于ep1c6的plc协同控制装置
CN102882623B (zh) 基于fpga的可配置的时钟频率合成装置
CN203520396U (zh) 一种优化寄存器控制信号的集成电路
CN204230559U (zh) 一种usb接口转串口装置
CN204808307U (zh) 基于usb单片机的fpga/cpld程序下载器
CN206162492U (zh) 一种fpga下载器
CN110456980A (zh) 一种用于读取数据的电路、系统及其方法
CN104156336A (zh) 一种usb2.0接口芯片的控制方法
CN104021103A (zh) 一种嵌入式微处理器的串口扩展装置
US8954622B1 (en) Embedded programmable logic for logic stacking on application processor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151216

Termination date: 20170214

CF01 Termination of patent right due to non-payment of annual fee