首页> 中国专利> 基于FPGA中IP核的EPCS与EPCQ存储器在线升级方法

基于FPGA中IP核的EPCS与EPCQ存储器在线升级方法

摘要

本发明公开了一种基于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的在线升级,无需拆卸系统,实用性强。

著录项

  • 公开/公告号CN104077166A

    专利类型发明专利

  • 公开/公告日2014-10-01

    原文格式PDF

  • 申请/专利权人 西北工业大学;

    申请/专利号CN201410328099.8

  • 申请日2014-07-10

  • 分类号G06F9/445;G06F3/06;

  • 代理机构西北工业大学专利中心;

  • 代理人王鲜凯

  • 地址 710072 陕西省西安市友谊西路127号

  • 入库时间 2023-12-17 01:44:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-06-16

    授权

    授权

  • 2014-10-29

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20140710

    实质审查的生效

  • 2014-10-01

    公开

    公开

说明书

技术领域

本发明涉及一种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核介绍:编程环境采用的是Quartus II8.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 Memory  Interface(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存储器进行了远程在线升级,结果良好。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号