CN104077166A - 基于fpga中ip核的epcs与epcq存储器在线升级方法 - Google Patents

基于fpga中ip核的epcs与epcq存储器在线升级方法 Download PDF

Info

Publication number
CN104077166A
CN104077166A CN201410328099.8A CN201410328099A CN104077166A CN 104077166 A CN104077166 A CN 104077166A CN 201410328099 A CN201410328099 A CN 201410328099A CN 104077166 A CN104077166 A CN 104077166A
Authority
CN
China
Prior art keywords
fpga
epcs
frame
epcq
programming
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.)
Granted
Application number
CN201410328099.8A
Other languages
English (en)
Other versions
CN104077166B (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.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
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 Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201410328099.8A priority Critical patent/CN104077166B/zh
Publication of CN104077166A publication Critical patent/CN104077166A/zh
Application granted granted Critical
Publication of CN104077166B publication Critical patent/CN104077166B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于FPGA中IP核的EPCS与EPCQ存储器在线升级方法,用于解决现有EPCS与EPCQ存储器在线升级方法实用性差的技术问题。技术方案是通过上位机向FPGA发送EPCS/EPCQ擦除命令帧,读取FPGA烧写文件并按232串口协议一帧一帧下发给FPGA,上位机向FPGA发送Reconfig命令帧;FPGA中固化的EPCS/EPCQ远程在线升级模块负责解析上位机发送的命令帧,并根据命令将擦除指令按格式写入IP核中;FPGA中IP核接收命令后按照命令对连接FPGA的EPCS/EPCQ进行相应操作。本方法针对单片FPGA一次完成EPCS/EPCQ的在线升级,无需拆卸系统,实用性强。

Description

基于FPGA中IP核的EPCS与EPCQ存储器在线升级方法
技术领域
本发明涉及一种EPCS与EPCQ存储器在线升级方法,特别是涉及一种基于FPGA中IP核的EPCS与EPCQ存储器在线升级方法。
背景技术
在系统设计中,对逻辑时序的控制性要求越来越高。因此,现场可编程门阵列FPGA(Field Program Gates Array)在实际的设计中得到越来越多的应用。EPCS/EPCQ存储器具有引脚少,可在线多次擦写,断电不丢失数据的优点,通常作为FPGA的程序存储器使用。
在线升级又称在线编程,即可以在线更新EPCS/EPCQ存储器中的内容。一般来说,将FPGA的程序代码烧写入EPCS/EPCQ存储器的方法有三种:1.通过USB-Blaster等仿真器直接连接到电路板进行在线编程,但其不能脱离软件仿真环境、编程时需要打开设备外壳等因素也很难适应远程在线编程的要求,而且仿真器也额外增加了成本;2.采用专用的编程器进行离线编程,但这种方法操作复杂,且不能对EPCS/EPCQ存储器的内容进行任意的在线编程;3.采用其他FPGA或者DSP等作为CPU来对EPCS/EPCQ存储器进行在线编程。这种方法虽然可以对EPCS/EPCQ存储器远程在线升级,但是也有它本身的弊端,随着设计专用性,在很多的电路板卡上越来越多的只有一片FPGA,而没有其他的可编程器件,这样这种远程升级的方法就不再适用。
发明内容
为了克服现有EPCS与EPCQ存储器在线升级方法实用性差的不足,本发明提供一种基于FPGA中IP核的EPCS与EPCQ存储器在线升级方法。该方法将EPCS/EPCQ远程在线升级模块固化在FPGA中,通过上位机向FPGA发送EPCS/EPCQ的擦除命令帧,读取FPGA的烧写文件并按232串口协议一帧一帧下发给FPGA,上位机向FPGA发送Reconfig命令帧;FPGA中固化的EPCS/EPCQ远程在线升级模块,负责解析上位机发送的命令帧,并根据命令将擦除指令按格式写入IP核中,或者接收到的串行的有效数据进行串并转换后按格式写入IP核中,或者根据命令将Reconfig命令按格式写入IP核中;FPGA中IP核接收写入其中的命令,按照命令对连接本片FPGA的EPCS/EPCQ进行相应的操作。本发明方法只使用单独的一片FPGA,就可以完成自身EPCS/EPCQ的在线升级,用户无需进入现场拆卸系统,实用性强。
本发明解决其技术问题所采用的技术方案是:一种基于FPGA中IP核的EPCS与EPCQ存储器在线升级方法,其特点是包括以下步骤:
步骤一、将EPCS/EPCQ远程在线升级模块固化在FPGA中,FPGA利用编程环境生成烧写文件。
步骤二、运行上位机,上位机读取步骤一中的烧写文件,向FPGA发送EPCS/EPCQ擦除命令,并等待FPGA反馈擦除成功应答帧。
步骤三、FPGA收到EPCS/EPCQ的擦除命令后,将FPGA烧写文件长度信息寄存下来,之后开始将擦除命令按相应的格式写入ALTASMI_PARALLEL中,然后开始检查ALTASMI_PARALLEL的BUSY信号的输出,当BUSY信号变为低电平时,说明擦除成功。擦除成功后,向上位机反馈擦除成功的应答帧。
步骤四、上位机收到擦除成功应答帧后,将烧写文件中的数据按232串口协议发送一帧串行数据给FPGA,等待FPGA反馈升级完毕应答帧或下帧数据的请求帧。
步骤五、FPGA接收上位机发送的串行数据,进行串并转换,将转换后完整的本帧数据和相应的首地址全部按格式写入ALTASMI_PARALLEL中,然后ALTASMI_PARALLEL将数据写入EPCS/EPCQ中相应的地址中,完成后将BUSY信号拉低,然后FPGA将烧写的数据进行校验,校验的方法为将此帧的首地址写入ALTASMI_PARALLEL中,并给出读操作,将读出的数据与烧写的数据进行比较,一致说明烧写正确。本帧数据烧写完毕后,判断整个文件是否烧写完毕,判断方法为比较烧入EPCS/EPCQ存储器的文件长度与整个烧写文件长度是否相等,若相等则说明烧写完毕,若不相等则说明烧写未完毕。如果烧写没有完毕,则向上位机反馈下帧数据请求帧;若烧写完毕,则向上位机反馈升级完毕应答帧。
步骤六、上位机若收到下帧数据请求帧,则发送下一帧串行数据,并返回步骤五;上位机若收到升级完毕应答帧,则向FPGA发送Reconfig命令帧,FPGA接收到Reconfig命令后,将从新配置命令按格式写入ALTREMOTE_UPDATE中,然后FPGA将按照Active Serial模式从EPCS/EPCQ中加载程序。加载成功后,新版的程序会将新的版本号反馈给上位机。
步骤七、上位机接收到新程序的版本,确认无误后,远程在线升级过程完毕。
本发明的有益效果是:该方法将EPCS/EPCQ远程在线升级模块固化在FPGA中,通过上位机向FPGA发送EPCS/EPCQ的擦除命令帧,读取FPGA的烧写文件并按232串口协议一帧一帧下发给FPGA,上位机向FPGA发送Reconfig命令帧;FPGA中固化的EPCS/EPCQ远程在线升级模块,负责解析上位机发送的命令帧,并根据命令将擦除指令按格式写入IP核中,或者接收到的串行的有效数据进行串并转换后按格式写入IP核中,或者根据命令将Reconfig命令按格式写入IP核中;FPGA中IP核接收写入其中的命令,按照命令对连接本片FPGA的EPCS/EPCQ进行相应的操作。本发明方法只使用单独的一片FPGA,就可以完成自身EPCS/EPCQ的在线升级,用户无需进入现场拆卸系统,实用性强。对电路板卡来说,仅需要设计FPGA中的代码,不会影响硬件设计。即使电路板卡上仅有一片FPGA可编程芯片,也可以完全实现远程在线升级的操作,无需任何其他可编程芯片的帮助,大大减少了设计电路板卡的面积。
下面结合附图和实施例对本发明作详细说明。
附图说明
图1是本发明基于FPGA中IP核的EPCS与EPCQ存储器在线升级方法的示意图。
图2是本发明基于FPGA中IP核的EPCS与EPCQ存储器在线升级方法的硬件连接图。
图3是本发明基于FPGA中IP核的EPCS与EPCQ存储器在线升级方法的流程图。
具体实施方式
参照图1-3。本发明基于FPGA中IP核的EPCS与EPCQ存储器在线升级方法的具体步骤如下:
首先对本实施例中的芯片型号进行介绍:FPGA芯片选用的是Altera公司的EP3C120;存储器选用的是Altera公司的串行配置芯片EPCS64。
下面对远程在线升级中使用的编程环境以及IP核介绍:编程环境采用的是QuartusII8.1;ALTASMI_PARALLEL为可以直接连接访问EPCS的DATA、DCLK、nCS、ASDI连接,并且按照EPCS的访问时序进行操作控制的IP核;ALTREMOTE_UPDATE为可以进行配置FPGA加载的方式、加载时序、加载程序的地址以及加载程序时的看门狗的IP核。
步骤一:FPGA利用编程环境生成烧写文件。本实施案例中是将烧写文件生成原始配置数据Raw Programming Data(.rpd)文件。
步骤二:运行上位机,上位机读取步骤一中的烧写文件,向FPGA发送EPCS擦除命令,其中包含FPGA烧写文件长度信息,随后等待FPGA反馈擦除成功应答帧。
步骤三:FPGA收到EPCS的擦除命令后,将FPGA烧写文件长度信息寄存下来,步骤五中将利用该信息,开始将擦除命令按格式写入Active Serial MemoryInterface(ALTASMI_PARALLEL)Megafunction中,本实例中是直接给出全区擦除(Bulk_erase)命令,然后开始检查ALTASMI_PARALLEL的BUSY信号的输出,如果BUSY信号为高电平时,则继续等待直至其变为低电平,当BUSY信号变为低电平时,说明擦除成功。擦除成功后,向上位机反馈擦除成功的应答帧。
步骤四:上位机收到擦除成功应答帧后,开始发送有效数据。本实例中是将烧写文件中的数据按232串口协议发送一帧串行数据给FPGA,一帧有效的数据为256个字节,该数据刚好为EPCS一页的大小,最后一帧数据不满256个字节按实际长度发送。数据帧中还包括该帧数据在存储器中的首地址。随后等待FPGA反馈升级完毕应答帧或下帧数据的请求帧。
步骤五:FPGA接收上位机发送的串行数据,进行串并转换,将转换后完整的本帧数据(帧的实际数据长度)和相应的首地址全部按格式写入ALTASMI_PARALLEL中,然后ALTASMI_PARALLEL将数据写入EPCS中相应的地址中,随后等待BUSY信号拉低。BUSY信号拉低后说明此帧数据已经烧写完成。然后FPGA将烧写的数据进行校验,校验的方法为将此帧的首地址写入ALTASMI_PARALLEL中,并给出读操作,将读出的数据与烧写的数据进行比较,一致说明烧写正确,本实例中烧写校正错误会重新烧写此帧,烧写正确后计数器会加上当前帧的长度。本帧数据烧写完毕后,判断整个文件是否烧写完毕,本实例中是比较计数器与整个烧写文件长度是否相等,若相等则说明烧写完毕,若不相等则说明烧写未完毕。如果烧写没有完毕,则向上位机反馈下帧数据请求帧;若烧写完毕,则向上位机反馈升级完毕应答帧。
步骤六:上位机若收到下帧数据请求帧,则发送下一帧串行数据,并返回步骤五;上位机若收到升级完毕应答帧,则向FPGA发送Reconfig命令帧,此实例中,FPGA接收到Reconfig命令后,将从新配置命令按格式写入Remote System Upgrade(ALTREMOTE_UPDATE)Megafunction中,其他寄存器的设置为默认值,FPGA加载程序的地址为0地址。然后FPGA将按照Active Serial(AS)模式从EPCS中加载程序。加载成功后,新版的程序会将新的版本号反馈给上位机。本实例中新升级的程序的版本号与旧程序的版本号是不相同的。
步骤七:上位机接收到新程序的版本,确认无误后,则在上位机界面上显示“在线升级成功完成”,远程在线升级过程完毕。
研究人员采用本发明方法还对EPCS1、EPCS4、EPCS16、EPCS128、EPCQ128、EPCQ256存储器进行了远程在线升级,结果良好。

Claims (1)

1.一种基于FPGA中IP核的EPCS与EPCQ存储器在线升级方法,其特征在于包括以下步骤:
步骤一、将EPCS/EPCQ远程在线升级模块固化在FPGA中,FPGA利用编程环境生成烧写文件;
步骤二、运行上位机,上位机读取步骤一中的烧写文件,向FPGA发送EPCS/EPCQ擦除命令,并等待FPGA反馈擦除成功应答帧;
步骤三、FPGA收到EPCS/EPCQ的擦除命令后,将FPGA烧写文件长度信息寄存下来,之后开始将擦除命令按相应的格式写入ALTASMI_PARALLEL中,然后开始检查ALTASMI_PARALLEL的BUSY信号的输出,当BUSY信号变为低电平时,说明擦除成功;擦除成功后,向上位机反馈擦除成功的应答帧;
步骤四、上位机收到擦除成功应答帧后,将烧写文件中的数据按232串口协议发送一帧串行数据给FPGA,等待FPGA反馈升级完毕应答帧或下帧数据的请求帧;
步骤五、FPGA接收上位机发送的串行数据,进行串并转换,将转换后完整的本帧数据和相应的首地址全部按格式写入ALTASMI_PARALLEL中,然后ALTASMI_PARALLEL将数据写入EPCS/EPCQ中相应的地址中,完成后将BUSY信号拉低,然后FPGA将烧写的数据进行校验,校验的方法为将此帧的首地址写入ALTASMI_PARALLEL中,并给出读操作,将读出的数据与烧写的数据进行比较,一致说明烧写正确;本帧数据烧写完毕后,判断整个文件是否烧写完毕,判断方法为比较烧入EPCS/EPCQ存储器的文件长度与整个烧写文件长度是否相等,若相等则说明烧写完毕,若不相等则说明烧写未完毕;如果烧写没有完毕,则向上位机反馈下帧数据请求帧;若烧写完毕,则向上位机反馈升级完毕应答帧;
步骤六、上位机若收到下帧数据请求帧,则发送下一帧串行数据,并返回步骤五;上位机若收到升级完毕应答帧,则向FPGA发送Reconfig命令帧,FPGA接收到Reconfig命令后,将从新配置命令按格式写入ALTREMOTE_UPDATE中,然后FPGA将按照Active Serial模式从EPCS/EPCQ中加载程序;加载成功后,新版的程序会将新的版本号反馈给上位机;
步骤七、上位机接收到新程序的版本,确认无误后,远程在线升级过程完毕。
CN201410328099.8A 2014-07-10 2014-07-10 基于fpga中ip核的epcs与epcq存储器在线升级方法 Active CN104077166B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410328099.8A CN104077166B (zh) 2014-07-10 2014-07-10 基于fpga中ip核的epcs与epcq存储器在线升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410328099.8A CN104077166B (zh) 2014-07-10 2014-07-10 基于fpga中ip核的epcs与epcq存储器在线升级方法

Publications (2)

Publication Number Publication Date
CN104077166A true CN104077166A (zh) 2014-10-01
CN104077166B CN104077166B (zh) 2017-06-16

Family

ID=51598437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410328099.8A Active CN104077166B (zh) 2014-07-10 2014-07-10 基于fpga中ip核的epcs与epcq存储器在线升级方法

Country Status (1)

Country Link
CN (1) CN104077166B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933632A (zh) * 2017-03-13 2017-07-07 山东网聪信息科技有限公司 基于以太网的fpga功能在线升级方法
CN106990983A (zh) * 2017-03-21 2017-07-28 北京新能源汽车股份有限公司 单片机烧写方法、装置、系统及单片机
CN109388413A (zh) * 2017-08-03 2019-02-26 中车株洲电力机车研究所有限公司 一种fpga程序更新方法及系统
CN110737452A (zh) * 2019-09-30 2020-01-31 清能德创电气技术(北京)有限公司 一种fpga固件在线升级方法及系统
CN112486515A (zh) * 2020-11-29 2021-03-12 中国航空工业集团公司洛阳电光设备研究所 一种基于1K-XModem协议的FPGA软件在线升级方法
CN115934139A (zh) * 2023-03-13 2023-04-07 东方电子股份有限公司 一种fpga在线升级方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897558A (zh) * 2018-06-21 2018-11-27 大唐电信(成都)信息技术有限公司 基于以太网协议的安全的fpga远程在线升级方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040233994A1 (en) * 2003-05-22 2004-11-25 Lsi Logic Corporation Reconfigurable computing based multi-standard video codec
CN201527452U (zh) * 2009-04-28 2010-07-14 国网电力科学研究院 用于雷电探测的远程智能升级装置
CN103034515A (zh) * 2012-12-11 2013-04-10 北京遥测技术研究所 一种卫星导航接收机fpga快速加载方法
CN103136028A (zh) * 2013-03-11 2013-06-05 西北工业大学 一种基于fpga的flash存储器远程在线升级方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040233994A1 (en) * 2003-05-22 2004-11-25 Lsi Logic Corporation Reconfigurable computing based multi-standard video codec
CN201527452U (zh) * 2009-04-28 2010-07-14 国网电力科学研究院 用于雷电探测的远程智能升级装置
CN103034515A (zh) * 2012-12-11 2013-04-10 北京遥测技术研究所 一种卫星导航接收机fpga快速加载方法
CN103136028A (zh) * 2013-03-11 2013-06-05 西北工业大学 一种基于fpga的flash存储器远程在线升级方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933632A (zh) * 2017-03-13 2017-07-07 山东网聪信息科技有限公司 基于以太网的fpga功能在线升级方法
CN106990983A (zh) * 2017-03-21 2017-07-28 北京新能源汽车股份有限公司 单片机烧写方法、装置、系统及单片机
CN106990983B (zh) * 2017-03-21 2021-09-24 北京新能源汽车股份有限公司 单片机烧写方法、装置、系统及单片机
CN109388413A (zh) * 2017-08-03 2019-02-26 中车株洲电力机车研究所有限公司 一种fpga程序更新方法及系统
CN110737452A (zh) * 2019-09-30 2020-01-31 清能德创电气技术(北京)有限公司 一种fpga固件在线升级方法及系统
CN112486515A (zh) * 2020-11-29 2021-03-12 中国航空工业集团公司洛阳电光设备研究所 一种基于1K-XModem协议的FPGA软件在线升级方法
CN112486515B (zh) * 2020-11-29 2022-09-30 中国航空工业集团公司洛阳电光设备研究所 一种基于1K-XModem协议的FPGA软件在线升级方法
CN115934139A (zh) * 2023-03-13 2023-04-07 东方电子股份有限公司 一种fpga在线升级方法及系统

Also Published As

Publication number Publication date
CN104077166B (zh) 2017-06-16

Similar Documents

Publication Publication Date Title
CN104077166A (zh) 基于fpga中ip核的epcs与epcq存储器在线升级方法
CN105573800B (zh) 一种基于zynq的单板或多板系统及在线更新方法
CN102609286B (zh) 一种基于处理器控制的fpga配置程序远程更新系统及其方法
CN102999350B (zh) 一种数字信号处理平台中fpga程序升级在线下载方法
CN103136028A (zh) 一种基于fpga的flash存储器远程在线升级方法
CN200976140Y (zh) 一种用于现场可编程门阵列位文件升级的系统
CN102033770B (zh) 移动终端的触摸屏固件升级方法及装置
CN105373407A (zh) 嵌入式系统dsp和fpga在线升级方法
US20090198770A1 (en) System and method of updating codes in controller
CN113434162B (zh) 远程在线更新fpga多版本程序的方法
CN111008033A (zh) 一种基于串口的通用dsp在线升级系统及升级方法
CN105224480A (zh) 一种用于响应于读取要求的存取存储器装置的方法和装置
CN102917242A (zh) 一种多格式视频解码器的测试系统和测试方法
CN100498708C (zh) 一种通过个人计算机进行固件下载的方法及装置
CN104679559A (zh) 单片机在线编程的方法
CN105955764A (zh) 一种stm32单片机iap串口程序烧录的改进方法
CN105159731A (zh) 一种fpga配置文件远程升级的装置
CN105718281A (zh) 一种触摸屏固件升级方法及装置
CN108664264A (zh) 一种基于cpu通过jtag方式远程更新fpga的装置和方法
CN100530146C (zh) Bios在线烧录方法
CN102520961A (zh) 片外在线可编程的soc系统及其控制方法
CN106776399A (zh) 基于基板管理控制器的bios闪存数据读写系统及方法
CN110196726A (zh) 一种基于cpu+cpld实现fpga程序远程升级加载的方法
CN105468390A (zh) Boot在线升级装置及方法
CN112231005A (zh) 一种基于uboot管理fpga版本的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant