买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】FPGA开发板的通信方法_苏州思得普信息科技有限公司_201710765787.4 

申请/专利权人:苏州思得普信息科技有限公司

申请日:2017-08-30

公开(公告)日:2020-07-03

公开(公告)号:CN107526614B

主分类号:G06F8/654(20180101)

分类号:G06F8/654(20180101);G06F13/10(20060101);G06F13/38(20060101)

优先权:

专利状态码:有效-授权

法律状态:2020.07.03#授权;2018.01.26#实质审查的生效;2017.12.29#公开

摘要:本发明涉及一种FPGA开发板,包括:MicroUSB接口、电源模块、FPGA核心芯片和外设模块,还包括:与所述FPGA核心芯片连接的下载调试模块;所述下载调试模块包括:通信模块、主控制器和外围电路;所述主控制器分别连接所述通信模块和外围电路;所述通信模块具有USB2.0接口。上述FPGA开发板,降低用户的学习难度,提升用户的学习效率,减少了FPGA开发板的体积,提升了用户体验与易用性。还涉及一种FPGA开发板的通信方法。

主权项:1.一种FPGA开发板的通信方法,其特征在于,其中,所述FPGA开发板,包括:MicroUSB接口、电源模块、FPGA核心芯片、外设模块和与所述FPGA核心芯片连接的下载调试模块;所述下载调试模块包括:通信模块、微控制器和外围电路;所述微控制器分别连接所述通信模块和外围电路;所述通信模块具有USB2.0接口;所述FPGA核心芯片是LatticeMXO2或MXO3系列芯片;所述微控制器采用STM32F0微控制器;所述外设模块包括36个可扩展GPIO、4个轻触按键、4个拨码开关、2个三色灯、8个LED和2个7段数码管;所述36个可扩展GPIO、4个轻触按键、4个拨码开关、2个三色灯、8个LED和2个7段数码管均与所述FPGA核心芯片连接;本开发板采用MicroUSB接口作为整个板卡的供电接口和USB通信接口;USB电源输入给电源模块,经过低压差线性稳压输出+3.3V的电压,给板卡的所有模块供电;芯片采取JTAG配置模式,微控制器与MXO2MXO3FPGA芯片相连,利用JTAG接口对其进行配置,而在微控制器的另一端,通过MicroUSB接口与上位PC端进行通讯,实现下载调试;微控制器采用带有USB控制器的STM32F0微控制器,通过USB2.0接口与电脑实现USB通信,接收FPGA配置文件,对配置文件进行解码,提取出有效的配置数据,同时模拟JTAG接口将配置数据以JTAG时序写入到FPGA外配的非易失性存储块Flash中;微控制器除了下载FPGA配置文件以外还可以升级自身程序也就是IAP功能,根据外围电路的设置来决定微控制器的工作模式是下载配置文件模式还是IAP模式;其中,所述通信方法包括:把所述微控制器在通过USB数据线连接电脑,微控制器上电复位,USB初始化配置之后,在主机的中断控制下,将自身枚举成一个大容量存储设备,以可移动磁盘的形式,显示在电脑的资源管理器中;微控制器与PC主机建立连接完成大容量存储设备的枚举过程后,即通过批量传输端点实现对可移动磁盘的文件系统管理;PC主机根据枚举过程中返回的配置描述符信息,计算逻辑块大小和数据包长度,然后将FAT文件系统数据写入相应的逻辑地址,微控制器作为从机需要配合主机的SCSI命令完成可移动磁盘的格式化;操作系统完成对可移动磁盘的文件系统管理后,会在文件管理器中显示盘符和磁盘属性,将JED格式的FPGA配置文件存入可移动磁盘后,主机通过批量传输端点将文件数据以逻辑块大小为包,发送数据包到微控制器的USB控制器缓冲区,微控制器接收到数据后判断发送的逻辑块地址是否是数据地址,确定为数据地址后,将数据暂存在RAM中由FPGAFlash烧写模块通过JTAG时序烧写到FPGA外部Flash中;微控制器上电初始化时就需要配置用于JTAG通信的GPIO,对接收的文件数据进行解码,首先判断是否是合法的FPGA配置文件,然后解码出有效的配置数据;烧写时先通过JTAG接口读取FPGA的ID号,确定ID正确后,使能Flash程序配置功能,擦除需要烧写的Flash页,然后以16个字节为一行,对FPGA内部的程序配置Flash开始烧写;烧写完成后读取并校验数据,校验正确后,关闭Flash程序配置功能,完成烧写。

全文数据:FPGA开发板及其通信方法技术领域[0001]本发明涉及FPGA,特别是涉及FPGA开发板及其通信方法。背景技术[0002]可编程逻辑技术:FPGAField-ProgrammableGateArray,现场可编程逻辑门阵列),是在数字逻辑领域由PAL,GAL,CPLD等技术的基础上进一步发展的产物,与ASICApplication-specificintegratedcircuit,专用集成电路相辅相成,克服了ASIC作为定制电路不够灵活的问题,也解决了GAL、CPLD等器件在逻辑资源上的不足,同时,更重要的一点,FPGA是芯片验证流程中的重要工具。正因为如此,FPGA自进入国内以来,就被高度重视,国家对于该行业投资的力度也是逐年上升。FPGA生产商为开拓市场,扩大FPGA的市场份额,也纷纷加大与高校和相关公司的合作,进行技术培训并且研发开发板,在推广其产品的同时也让用户掌握FPGA技术。[0003]FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与IO间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。[0004]FPGA使用硬件描述语言或是原理图设计输入到各厂商提供的EDA工具中,通过EDA软件的综合仿真布局布线等操作后生成编程数据文件,通过下载器将数据写入片内的编程RAM中,继而配置进入工作模式。[0005]FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。加电时,FPGA芯片将非易失性存储块中的数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。[0006]FPGA编程时,可以将配置数据直接下载到片内RAM中,或是外部的非易失性存储块中,如Flash。下载到内部RAM中的数据掉电会丢失,再次上电需要重新下载。下载到Hash中的数据掉电不会丢失,下次上电时配置到FPGA中。[0007]下载与调试技术多种无线下载方式):目前的FPGA开发板多采用下载器与开发板分离的方式,开发板上预留下载调试接口,下载调试器作为中间桥梁,通过USB数据线和排线分别连接电脑和开发板。[0008]三家主流的FPGA厂商Xilinx,Altera和Lattice都有各自的下载调试器:XilinxPlatformUSBCable,AlteraUSB-Blaster和LatticeUSBispDownloadCable。这三家的下载调试方案大体类似,都是采用各自的下载调试器配合PC端FPGA开发软件的方式。FPGA开发软件生成FPGA配置文件后,下载时对配置文件进行解读后,将配置数据和配置算法发送给下载调试器,下载调试器通过USB与电脑连接,在USB驱动程序配合下,接收数据后按照JTAG协议转换接口,以JTAG方式下载到FPGA外配的非易失性存储块或是直接下载到RAM中。下载调试器内部硬件结构多采用USB协议转换模块加一片CPLD的方案,USB协议转换模块使用专用的USB芯片,实现下载器与PC端软件的通信、数据的传输,CPLD完成数据接口的转换和时序的配置。[0009]传统技术存在以下技术问题:[0010]由于目前的下载调试器硬件体积较大,与开发板分开使用,每次使用时需要使用USB连接线和排线连接电脑和开发板,使用不便。[0011]下载调试器使用USB接口通信,USB模块须配合FPGA各大厂商的FPGA开发软件使用,必须要安装厂商的驱动程序,由于操作系统的兼容性不同,经常会出现驱动不兼容的情况,导致下载调试器无法使用。[0012]在下载的过程中FPGA软件会对FPGA芯片的ID信息等做校验,然后对文件解码、下载、校验,整个过程冗长复杂,导致下载速度变慢,用户体验较差。下载调试器内部一般使用昂贵的专用USB转换芯片,另外还需要一片CPLD芯片,导致整个下载器硬件成本很高。发明内容[0013]基于此,有必要针对上述技术问题,提供一种FPGA开发板,降低用户的学习难度,提升用户的学习效率,减少了FPGA开发板的体积,提升了用户体验与易用性。[0014]一种FPGA开发板,包括:MicroUSB接口、电源模块、FPGA核心芯片和外设模块,还包括:与所述FPGA核心芯片连接的下载调试模块;所述下载调试模块包括:通信模块、主控制器和外围电路;所述主控制器分别连接所述通信模块和外围电路;所述通信模块具有USB2.0接口。[0015]上述FPGA开发板,降低用户的学习难度,提升用户的学习效率,减少了FPGA开发板的体积,提升了用户体验与易用性。[0016]在另外的一个实施例中,所述FPGA核心芯片是LatticeMX02或MX03系列芯片。[0017]在另外的一个实施例中,所述主控制器采用STM32F0微控制器。[0018]在另外的一个实施例中,所述外设模块包括36个可扩展GPI0、4个轻触按键、4个拨码开关、2个三色灯、8个LED和2个7段数码管;所述36个可扩展GPI0、4个轻触按键、4个拨码开关、2个三色灯、8个LED和2个7段数码管均与所述FPGA核心芯片连接。[0019]在另外的一个实施例中,所述下载调试模块具有IAP功能。[0020]一种FPGA开发板的通信方法,利用上述的FPGA开发板,包括:[0021]把所述微控制器在通过USB数据线连接电脑,微控制器上电复位,USB初始化配置之后,在主机的中断控制下,将自身枚举成一个大容量存储设备,以可移动磁盘的形式,显示在电脑的资源管理器中;[0022]微控制器与PC主机建立连接完成大容量存储设备的枚举过程后,即通过批量传输端点实现对可移动磁盘的文件系统管理;[0023]PC主机根据枚举过程中返回的配置描述符信息,计算逻辑块大小和数据包长度,然后将FAT文件系统数据写入相应的逻辑地址,微控制器作为从机需要配合主机的SCSI命令完成可移动磁盘的格式化;[0024]操作系统完成对可移动磁盘的文件系统管理后,会在文件管理器中显示盘符和磁盘属性,将JED格式的FPGA配置文件存入可移动磁盘后,主机通过批量传输端点将文件数据以逻辑块大小为包,发送数据包到微控制器的USB控制器缓冲区,微控制器接收到数据后判断发送的逻辑块地址是否是数据地址,确定为数据地址后,将数据暂存在RAM中由FPGAFlash烧写模块通过jTAG时序烧写到FPGA内部Flash中。附图说明[0025]图1为本申请实施例提供的一种FPGA开发板的结构布局图。[0026]图2为本申请实施例提供的一种FPGA开发板中下载调试模块的结构布局图。[0027]图3为本申请实施例提供的一种FPGA开发板中下载外设模块的结构布局图。[0028]图4为本申请实施例提供的一种FPGA开发板的通信方法的流程图之一。[0029]图5为本申请实施例提供的一种FPGA开发板的通信方法的流程图之二。[0030]图6为本申请实施例提供的一种FPGA开发板的通信方法的流程图之三。[0031]图7为本申请实施例提供的一种FPGA开发板的通信方法的流程图之四。具体实施方式[0032]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0033]参阅图1,一种FPGA开发板,包括:MicroUSB接口、电源模块、FPGA核心芯片、外设模块和与所述FPGA核心芯片连接的下载调试模块。[0034]本开发板采用MicroUSB接口作为整个板卡的供电接口和USB通信接口。USB电源输入给电源模块,经过低压差线性稳压输出+3.3V的电压,给板卡的所有模块供电。[0035]在另外的一个实施例中,FPGA核心芯片采用Lattice公司的MX02MX03系列芯片,该系列芯片主要特点如下:[0036]1上电瞬时启动,无需等待上电配置时间;[0037]2最高达256Kbit的用户闪存和240Kbit嵌入式块RAM;[0038]⑶可通过7^、12:、8?1多种方式编程;[0039]⑷TransFR功能现场升级功能支持现场设计升级,无需中断设备运行。[0040]芯片采取JTAG配置模式,MCU与MX02MX03FPGA芯片相连,利用JTAG接口对其进行配置,而在MCU的另一端,通过MicroUSB接口与上位PC端进行通讯,实现下载调试。[0041]在另外的一个实施例中,所述主控制器采用STM32F0微控制器。[0042]在另外的一个实施例中,所述下载调试模块具有IAP功能。(inApplicationProgramming,在应用编程)[0043]主控制器采用带有USB控制器的STM32F0微控制器(简称MCU,通过USB2.0接口与电脑实现USB通信,接收FPGA配置文件,对配置文件进行解码,提取出有用的配置数据,同时模拟JTAG接口将配置数据以JTAG时序写入到FPGA外配的非易失性存储块Flash中。另外,控制器除了下载FPGA配置文件以外还可以升级自身程序也就是IAP功能,根据外围电路的设置来决定控制器的工作模式是下载配置文件模式还是IAP模式。[0044]参阅图3,在另外的一个实施例中,所述外设模块包括36个可扩展GPI0、4个轻触按键5、4个拨码开关4、2个三色灯2、S个LED3和2个7段数码管1;所述36个可扩展GPI0、4个轻触按键、4个拨码开关5、2个三色灯、8个LED和2个7段数码管均与所述FPGA核心芯片连接。这样的话,便于用户进行代码调试。[0045]用户可根据这些外设完成诸多FPGA与EDA的实验,让其快速掌握这门技术。[0046]参阅图2,所述下载调试模块包括:通信模块、主控制器和外围电路;所述主控制器分别连接所述通信模块和外围电路;所述通信模块具有USB2•0接口。[0047]下载调试模块是连接PC端FPGA开发软件与FPGA芯片的桥梁,主要完成接收FPGA配置文件、对文件解码并转换JTAG时序、下载配置数据到FPGA等工作。[0048]上述FPGA开发板,降低用户的学习难度,提升用户的学习效率,减少了FPGA开发板的体积,提升了用户体验与易用性。[0049]一种FPGA开发板的通信方法,利用上述的FPGA开发板,包括:[0050]带有USB模块的微控制器在通过USB数据线连接电脑时,微控制器上电复位,USB初始化配置之后,在主机的中断控制下,将自身枚举成一个大容量存储设备,以可移动磁盘的形式,显示在电脑的资源管理器中,其枚举过程如下参阅图4。[0051]参阅图5,M⑶与PC主机建立连接完成大容量存储设备的枚举过程后,即通过批量传输端点实现对可移动磁盘的文件系统管理。PC主机根据枚举过程中返回的配置描述符信息,计算逻辑块大小和数据包长度,然后将FAT文件系统数据写入相应的逻辑地址,MCU作为从机需要配合主机的SCSI命令完成可移动磁盘的格式化。[0052]参阅图6,操作系统完成对可移动磁盘的文件系统管理后,会在文件管理器中显示盘符和磁盘属性,将JH格式的FPGA配置文件存入可移动磁盘后,主机通过批量传输端点将文件数据以逻辑块大小为包,发送数据包到MCU的USB控制器缓冲区,MCU接收到数据后判断发送的逻辑块地址是否是数据地址,确定为数据地址后,不是将数据存入MCU内部Flash而是暂存在RAM中由FPGAFlash烧写模块通过JTAG时序烧写到FPGA内部Hash中。[0053]参阅图7,MCU上电初始化时就需要配置用于JTAG通信的GPI0,在本功能模块中,需要对接收的文件数据进行解码,首先判断是否是合法的FPGA配置文件,然后解码出有效的配置数据。烧写时先通过JTAG口读取FPGA的ID号,确定ID正确后,使能Flash程序配置功能,擦除需要烧写的Flash页,然后以16个字节为一行,对FPGA内部的程序配置Flash开始烧写。烧写完成后读取并校验数据,校验正确后,关闭Flash程序配置功能,完成烧写。[0054]具体工作原理简介:[0055]在LatticeDiamond软件中,建立一个FPGA工程,综合编译生成配置FPGA的JEDEC文件。[0056]将开发板通过MicroUSB数据线连接电脑之后,如果提示格式化磁盘则点击格式化磁盘,格式化参数为容量1M,文件系统为FAT默认),分配单元大小为2048字节,点击开始格式化,格式化完毕后会生成一个1M大小的可移动磁盘,将之前生成的JED文件复制到该磁盘中。开发板的下载调试模块接收并解码该文件后,转换成JTAG时序烧写到FPGA的Flash中。FPGA从Flash中读取配置数据,运行逻辑电路,实现FPGA板卡外设的驱动。[0057]本发明设计的USB通信方法采用了USB大容量存储设备模式,因为操作系统有对大容量存储设备的驱动支持,所以无需用户安装驱动,这一设计解决了USB通信时繁琐的驱动问题,同时还可以有较高的数据传输速率。[0058]更加便利与高速的下载方法,通过对利用STM32微控制器实现的大容量存储设备进行存储操作所实现对FPGA的配置,既减少了B0M面积,又减少了用户成本。[0059]利用MOT对JED文件进行解码,并对FPGA进行配置,加速了flash的擦除、烧写、校验^木特征可以进订任思的组合,为使描述简洁,未对上述实施例中的各个技木特征所有可能的组合雛行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。[0061]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

权利要求:1.一种FPGA开发板,包括:MicroUSB接口、电源模块、FPGA核心芯片和外设模块,其特征在于,还包括:与所述FPGA核心芯片连接的下载调试模块;所述下载调试模块包括:通信模块、主控制器和外围电路;所述主控制器分别连接所述通信模块和外围电路;所述通信模块具有USB2.0接口。2.根据权利要求1所述的FPGA开发板,其特征在于,所述FPGA核心芯片是LatticeMX02或MX03系列芯片。3.根据权利要求1所述的FPGA开发板,其特征在于,所述主控制器采用STM32R微控制器。4.根据权利要求1所述的FPGA开发板,其特征在于,所述外设模块包括36个可扩展GPI0、4个轻触按键、4个拨码开关、2个三色灯、8个LED和2个7段数码管;所述36个可扩展GPI0、4个轻触按键、4个拨码开关、2个三色灯、8个LED和2个7段数码管均与所述FPGA核心芯片连接。5.根据权利要求1所述的FPGA开发板,其特征在于,所述下载调试模块具有IAP功能。6.—种FPGA开发板的通信方法,其特征在于,利用权利要求1至5任一种所述的FPGA开发板,包括:把所述微控制器在通过USB数据线连接电脑,微控制器上电复位,USB初始化配置之后,在主机的中断控制下,将自身枚举成一个大容量存储设备,以可移动磁盘的形式,显示在电脑的资源管理器中;微控制器与PC主机建立连接完成大容量存储设备的枚举过程后,即通过批量传输端点实现对可移动磁盘的文件系统管理;PC主机根据枚举过程中返回的配置描述符信息,计算逻辑块大小和数据包长度,然后将FAT文件系统数据写入相应的逻辑地址,微控制器作为从机需要配合主机的SCSI命令完成可移动磁盘的格式化;操作系统完成对可移动磁盘的文件系统管理后,会在文件管理器中显示盘符和磁盘属性,将JK格式的FPGA配置文件存入可移动磁盘后,主机通过批量传输端点将文件数据以逻辑块大小为包,发送数据包到微控制器的USB控制器缓冲区,微控制器接收到数据后判断发送的逻辑块地址是否是数据地址,确定为数据地址后,将数据暂存在RAM中由FPGAFlash烧写模块通过JTAG时序烧写到FPGA内部Flash中。

百度查询: 苏州思得普信息科技有限公司 FPGA开发板的通信方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。