CN105573800B - 一种基于zynq的单板或多板系统及在线更新方法 - Google Patents

一种基于zynq的单板或多板系统及在线更新方法 Download PDF

Info

Publication number
CN105573800B
CN105573800B CN201510975159.XA CN201510975159A CN105573800B CN 105573800 B CN105573800 B CN 105573800B CN 201510975159 A CN201510975159 A CN 201510975159A CN 105573800 B CN105573800 B CN 105573800B
Authority
CN
China
Prior art keywords
zynq
plates
ddr3
flash
controllers
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.)
Active
Application number
CN201510975159.XA
Other languages
English (en)
Other versions
CN105573800A (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.)
CSIC (WUHAN) LINCOM ELECTRONICS Co Ltd
Original Assignee
CSIC (WUHAN) LINCOM ELECTRONICS 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 CSIC (WUHAN) LINCOM ELECTRONICS Co Ltd filed Critical CSIC (WUHAN) LINCOM ELECTRONICS Co Ltd
Priority to CN201510975159.XA priority Critical patent/CN105573800B/zh
Publication of CN105573800A publication Critical patent/CN105573800A/zh
Application granted granted Critical
Publication of CN105573800B publication Critical patent/CN105573800B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Abstract

本发明公开了一种基于ZYNQ的单板或多板系统及在线更新方法,包括1个或多个ZYNQ板;ZYNQ板上包括了至少一片ZYNQ,ZYNQ上配置了以太网控制器、DDR3控制器和QSPI FLASH控制器;以太网控制器通过PHY芯片或网络交换机向外至少扩展一个千兆网口;DDR3控制器上外挂1GB DDR3存储器;QSPI FLASH控制器上外挂了两片128Mb QSPI FLASH;上位机生成好配置ZYNQ用的程序文件,通过网络传送至DDR3存储器进行缓存,然后该ZYNQ执行上位机发送的擦除、写入等命令,将DDR3里存储的数据固化在FLASH里。本方法使用以太网接口实现了ZYNQ在线升级,使用简单,通用性强;同时当系统中有多块ZYNQ板时,它们由网络交换机互联,实现一个以太网接口更新所有ZYNQ板程序;本方法更新ZYNQ的速度比传统的JTAG烧写方法快6~7倍。

Description

一种基于ZYNQ的单板或多板系统及在线更新方法
技术领域
本发明属于计算机技术领域,涉及一种ZYNQ系统及在线更新方法,尤其涉及一种基于ZYNQ的单板或多板系统及远程在线升级方法。
背景技术
ZYNQ-7000是基于Xilinx全可编程的可扩展处理平台结构,该结构在单芯片内集成了具有丰富特点的双核ARM Cortex-A9多核处理器的处理系统(Processing System,PS)和Xilinx可编程逻辑(Programmable Logic,PL)。双核ARM Cortex-A9包含片上存储器、外部存储器接口和一套丰富的I/O外设。ZYNQ-7000中的PL采用了Xilinx 7系列的FPGA技术,用于扩展功能,以满足特定的功能需求。
ZYNQ在完成上电复位后,ARM Cortex-A9处理器系统需要初始化相应的外设资源,如网络、DDR3等,有些应用还需要配置操作系统,如Linux等;ZYNQ的可编程逻辑部分还需要相应的bit stream来配置。这些初始化和配置程序通常是固化在FLASH或SD卡等存储器里的。在线更新又称在线编程,即是在不需要断电的情况下,更改这些存储器里的程序,完成ZYNQ的重新配置。
目前,主要有两种方法对ZYNQ的程序进行更新,一种是使用USB-Blaster等仿真器通过JTAG(Joint Test Action Group联合测试行动小组)方式将程序写入到FLASH里,常用的有SPI FLASH、NORFALSH和NANDFLASH,如图1所示,当系统中包含多块ZYNQ板时,则需要分别通过仿真器进行程序更新;另一种方法是当用SD卡来存储程序时,可取下SD卡,利用读卡器等设备将更新程序拷贝至SD卡,重新安装SD卡即可完成程序的更新。
受限于JTAG的时钟速率,使用JTAG烧写FLASH速度较慢,当配置数据较大时,需要14~18分钟才能完成ZYNQ程序更新;由于仿真器连接的距离限制,不能实现远程更新;当系统中有多块ZYNQ板时,使用仿真器通过JTAG烧写的方式显然十分不便。使用SD卡更新程序,则需要反复拆装SD卡,自动化程度低,费时费力,十分不便。
发明内容
本发明的要解决的技术问题在于针对现有JTAG烧写方式速度慢,不能远程更新,烧写多块ZYNQ板时需要反复插拔、使用不便的问题,提出了一种新的基于ZYNQ的单板或多板系统及远程在线更新的方法。
本发明的系统所采用的技术方案是:一种基于ZYNQ的单板或多板系统,包括1个或多个ZYNQ板;其特征在于:所述ZYNQ板上包括了至少一片ZYNQ,ZYNQ上配置了以太网控制器、DDR3控制器和QSPI FLASH控制器;所述以太网控制器通过PHY芯片或网络交换机向外至少扩展一个千兆网口;所述DDR3控制器上外挂1GB DDR3存储器;所述QSPI FLASH控制器上外挂了两片128Mb QSPI FLASH;
当所述系统中只有一个ZYNQ板时,所述以太网控制器通过PHY芯片或网络交换机向外至少扩展一个千兆网口,与上位机相连;
当所述系统中有多个ZYNQ板时,包括一个ZYNQ主板和多个ZYNQ从板;所述ZYNQ主板的以太网控制器通过网络交换机向外扩展多个千兆网口,分别与PC机和ZYNQ从板连接;所述ZYNQ从板的以太网控制器通过PHY芯片或网络交换机向外至少扩展一个千兆网口,与所述ZYNQ主板连接。
本发明的方法所采用的技术方案是:一种基于ZYNQ的单板或多板系统在线更新方法,其特征在于,包括以下步骤:
步骤1:上位机生成需要更新的ZYNQ系统镜像文件;
步骤2:将ZYNQ板的BOOT MODE设置成QSPI FLASH方式并上电启动;;
步骤3:等待ZYNQ板上电启动完成;
步骤4:上位机将ZYNQ系统镜像文件传输至下位机;
步骤5:上位机利用文件校验算法,生成ZYNQ系统镜像文件的校验码;
步骤6:下位机将ZYNQ系统镜像文件缓存至DDR3存储器映射文件系统中;
步骤7:下位机使用步骤5中所述文件校验算法生成其存储在DDR3存储器映射文件系统中的ZYNQ系统镜像文件的校验码,并获取步骤5中上位生成的校验码,将两份校验码进行匹配比较;
若校验码不匹配,则回转执行所述步骤4:
若校验码匹配,则顺序执行下述步骤8:
步骤8:下位机执行FLASH擦除命令,将外挂在ZYNQ板上的QSPI FLASH数据进行擦除;
步骤9:执行FLASH写入命令,将缓存在DDR3存储器映射文件系统中的ZYNQ系统镜像将被写入QSPI FLASH中,完成ZYNQ系统在线更新过程。
作为优选,当系统中包括多个ZYNQ板时,通过不同的IP地址来选择相应的ZYNQ板进行在线更新。
作为优选,步骤1中所述ZYNQ系统镜像文件包括The First Stage Boot loader(FSBL)、配置Programmable Logic(PL)的bit stream、U-boot和Linux系统相关文件。
作为优选,首次实施在线更新前,需要使用传统的更新方法,即将ZYNQ的BOOTMODE设置为JTAG方式,连接仿真器,将生成的ZYNQ系统镜像文件烧写至QSPI FLASH中。
采用本发明提出的方法后,相较于传统的更新方法,程序更新的速度提高了6~7倍,实现了ZYNQ程序的远程更新,该方法尤其适用于多块ZYNQ板组成的系统,使用十分方便。
附图说明
图1是现有技术中多块ZYNQ板系统的调试结构示意图;
图2是本发明实施例的系统结构示意图;
图3是本发明实施例中的ZYNQ板结构示意图;
图4是本发明实施的方法流程图;
图5是现有技术的更新方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例提供的一种基于ZYNQ的单板或多板系统,如图2所示,包括A板、B板和C板。单板在线更新程序时,A板、B板或C板通过以太网接口与上位机连接即可;系统中多个单板需要在线更新程序时,B板和C板通过以太网接口与A板相连,A板则通过以太网接口和上位机连接。
图3为本发明实施例的A板原理框图。该板包括一片ZYNQ XC7Z030FFG676,ZYNQ上含DDR3控制器,外部配置了两片DDR3芯片MT41K256M16HA-125IT作为ZYNQ的外存,每片DDR3宽度为16位,大小512MB。ZYNQ的QSPI FLASH控制器采用了Dual x8-bit parallel I/O的方式,即两片QSPI FLASH并联的方式,总位宽为8,本实施例中QSPI FLASH选用了S25FL128S,单片大小为16MB。ZYNQ的以太网控制器采用了RGMII的方式,与网络交换机88E6176的RGMII接口连接,该交换机内部包含了PHY,可与其他ZYNQ板或上位机的以太网接口连接。
ZYNQ的BOOT方式是通过设置BOOT MODE引脚的电平来实现的。BOOT MODE由拨码开关设置高低电平,当设置为“000”时为JTAG方式,当设置为“100”时为QSPI FLASH方式。
本实施例提供的一种基于ZYNQ的单板或多板系统在线更新方法,流程图如图4。在线更新的具体步骤如下:
步骤1.首先需要在上位机生成需要更新的系统镜像文件(下文简称为ZYNQ系统镜像),该文件包括了The First Stage Boot loader(FSBL)、配置Programmable Logic(PL)的bit stream、U-boot和Linux系统相关文件信息。这可通过Xilinx提供的SDK工具实现,在此不赘述。
步骤2.上位机管理程序通过网络与ZYNQ板上Linux系统上运行的下载服务程序(下文简称为下位机下载服务程序)建立连接。上位机管理程序通过网络将步骤一中生成的ZYNQ系统镜像传输到下位机下载服务程序,下位机下载服务程序将接收到的ZYNQ系统镜像存储在ZYNQ板DDR3映射的文件系统目录(下文简称为DDR映射文件系统)中。
步骤3.上位机管理程序运行文件校验算法,生成ZYNQ系统镜像文件的校验码。下位机下载服务程序使用相同的算法计算其存储在DDR映射文件系统中的ZYNQ系统镜像文件的校验码,并获取上位机管理程序计算的校验码,将两份校验码进行比较。当校验码不匹配时,则ZYNQ系统镜像传输存在错误,应回退之步骤2重新传输。若校验码匹配,则ZYNQ系统镜像传输正确,可继续以下更新步骤。
步骤4.下位机下载服务程序执行FLASH擦除命令,将外挂在ZYNQ上的QSPI FLASH数据进行擦除,然后执行FLASH写入命令,此时缓存在DDR3映射文件系统中的ZYNQ系统镜像将被写入QSPI FLASH中,完成ZYNQ系统在线更新过程。
首次实施程序在线更新前,需要使用传统的更新方法,即借助于仿真器更新(下文简称为JTAG更新方法),流程图如图5所示。其步骤为:将ZYNQ的BOOT MODE设置为JTAG方式,连接仿真器,将生成的ZYNQ系统镜像烧写至QSPI FLASH中。这和目前普遍使用的程序更新方法是一样的,可以通过Xilinx公司提供的SDK或其他工具实现。值得注意的是,系统中的每块ZYNQ板需要设置不同的IP地址,如A板设置为172.18.2.100,B板和C板分别设置为172.18.2.101和172.18.2.102。
烧写完成后,将系统断电,设置BOOT方式为QSPI FLASH方式。重新上电,待ZYNQ完成启动后,即可使用前文所述的在线更新方法进行更新。在上位机管理程序中,设置需要更新程序的ZYNQ板,如A板则连接172.18.2.100,按照“在线更新方法”所述的步骤更新即可。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (4)

1.一种基于ZYNQ的单板或多板系统,包括1个或多个ZYNQ板;其特征在于:所述ZYNQ板上包括了至少一片ZYNQ,ZYNQ上配置了以太网控制器、DDR3控制器和QSPI FLASH控制器;所述以太网控制器通过PHY芯片或网络交换机向外至少扩展一个千兆网口;所述DDR3控制器上外挂1GB DDR3存储器;所述QSPI FLASH控制器上外挂了两片128Mb QSPI FLASH;
当所述系统中只有一个ZYNQ板时,所述以太网控制器通过PHY芯片或网络交换机向外至少扩展一个千兆网口,与上位机相连;
当所述系统中有多个ZYNQ板时,包括一个ZYNQ主板和多个ZYNQ从板;所述ZYNQ主板的以太网控制器通过网络交换机向外扩展多个千兆网口,分别与PC机和ZYNQ从板连接;所述ZYNQ从板的以太网控制器通过PHY芯片或网络交换机向外至少扩展一个千兆网口,与所述ZYNQ主板连接。
2.一种基于ZYNQ的单板或多板系统在线更新方法,其特征在于,包括以下步骤:
步骤1:上位机生成需要更新的ZYNQ系统镜像文件;
步骤2:将ZYNQ板的BOOT MODE设置成QSPI FLASH方式并上电启动;
步骤3:等待ZYNQ板上电启动完成;
步骤4:上位机将ZYNQ系统镜像文件传输至下位机;
步骤5:上位机利用文件校验算法,生成ZYNQ系统镜像文件的校验码;
步骤6:下位机将ZYNQ系统镜像文件缓存至DDR3存储器映射文件系统中;
步骤7:下位机使用步骤5中所述文件校验算法生成其存储在DDR3存储器映射文件系统中的ZYNQ系统镜像文件的校验码,并获取步骤5中上位生成的校验码,将两份校验码进行匹配比较;
若校验码不匹配,则回转执行所述步骤4:
若校验码匹配,则顺序执行下述步骤8:
步骤8:下位机执行FLASH擦除命令,将外挂在ZYNQ板上的QSPI FLASH数据进行擦除;
步骤9:执行FLASH写入命令,将缓存在DDR3存储器映射文件系统中的ZYNQ系统镜像将被写入QSPI FLASH中,完成ZYNQ系统在线更新过程。
3.根据权利要求2所述的方法,其特征在于:当系统中包括多个ZYNQ板时,通过不同的IP地址来选择相应的ZYNQ板进行在线更新。
4.根据权利要求2所述的方法,其特征在于:步骤1中所述ZYNQ系统镜像文件包括TheFirst Stage Boot loader(FSBL)、配置Programmable Logic(PL)的bit stream、U-boot和Linux系统相关文件。
CN201510975159.XA 2015-12-22 2015-12-22 一种基于zynq的单板或多板系统及在线更新方法 Active CN105573800B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510975159.XA CN105573800B (zh) 2015-12-22 2015-12-22 一种基于zynq的单板或多板系统及在线更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510975159.XA CN105573800B (zh) 2015-12-22 2015-12-22 一种基于zynq的单板或多板系统及在线更新方法

Publications (2)

Publication Number Publication Date
CN105573800A CN105573800A (zh) 2016-05-11
CN105573800B true CN105573800B (zh) 2018-09-18

Family

ID=55883973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510975159.XA Active CN105573800B (zh) 2015-12-22 2015-12-22 一种基于zynq的单板或多板系统及在线更新方法

Country Status (1)

Country Link
CN (1) CN105573800B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107196695A (zh) * 2017-04-07 2017-09-22 西安电子科技大学 基于Zynq的卫星星间链路测试系统
CN107463377A (zh) * 2017-07-27 2017-12-12 重庆秦嵩科技有限公司 一种基于PCIE的多Powerpc快速加载方法
CN107918545A (zh) * 2017-12-13 2018-04-17 天津光电通信技术有限公司 一种基于zynq的远程升级系统及其实现方法
CN108255511B (zh) * 2017-12-20 2021-11-16 北京华航无线电测量研究所 一种光电吊舱系统Zynq芯片分级打包快速升级方法
CN108333566B (zh) * 2018-02-07 2021-07-16 哈尔滨工业大学 一种基于zynq的便携式雷达测试系统及测试方法
CN108427651A (zh) * 2018-03-15 2018-08-21 天津光电丰泰科技有限公司 一种基于Zynq Qspi-Flash的双功能复用方法
CN108415717B (zh) * 2018-03-22 2021-03-23 南京尤尼泰信息科技有限公司 一种zynq soc固件升级方法及升级装置
CN109656604A (zh) * 2018-11-06 2019-04-19 电子科技大学 一种基于以太网的远程硬件升级方法
CN109710295B (zh) * 2018-11-23 2022-05-27 北京计算机技术及应用研究所 一种安全可靠的fpga远程升级方法
CN109656598A (zh) * 2018-12-24 2019-04-19 天津凯发电气股份有限公司 一种基于mqx实时操作系统的应用程序在线升级方法
CN109828287A (zh) * 2019-03-04 2019-05-31 上海华测导航技术股份有限公司 一种导航定位装置、固件维护方法及计算机可读存储介质
CN110806889B (zh) * 2019-11-01 2023-05-26 中电凯杰科技有限公司 一种基于5g的zynq程序远程升级系统及升级方法
CN110837390B (zh) * 2019-11-05 2023-04-07 易思维(杭州)科技有限公司 一种Zynq平台远程升级方法
CN111142909B (zh) * 2019-12-26 2022-01-25 中国电子科技集团公司第五十八研究所 基于xc7z045芯片实现can网络远程升级的终端、方法和系统
CN111273936A (zh) * 2020-01-16 2020-06-12 湖北三江航天红峰控制有限公司 基于usb的zynq程序固化方法
CN112631678B (zh) * 2020-12-25 2022-12-02 理工雷科电子(西安)有限公司 一种基于zynq的动态加载方法
CN114398107B (zh) * 2022-01-25 2023-07-28 中国电子科技集团公司第十研究所 一种跨领域多方式加载dsp程序的设计方法及通用平台
CN114780449B (zh) * 2022-04-01 2022-11-25 扬州宇安电子科技有限公司 一种基于zynq芯片的数据存储及传输系统
CN115051881B (zh) * 2022-06-07 2023-10-31 北京计算机技术及应用研究所 一种基于dsp28346和zynq双主芯片的千兆以太网实现方法
CN114706607B (zh) * 2022-06-07 2022-09-02 成都航天通信设备有限责任公司 一种用于全可编程片上系统的软件在线升级方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968086A (zh) * 2012-12-10 2013-03-13 东南大学 一种远程实验室控制器
CN104572569A (zh) * 2015-01-21 2015-04-29 江苏微锐超算科技有限公司 基于arm和fpga的高性能计算节点及计算方法
CN104951334A (zh) * 2015-05-22 2015-09-30 中国电子科技集团公司第十研究所 FPGA双片QSPI flash的程序加载方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968086A (zh) * 2012-12-10 2013-03-13 东南大学 一种远程实验室控制器
CN104572569A (zh) * 2015-01-21 2015-04-29 江苏微锐超算科技有限公司 基于arm和fpga的高性能计算节点及计算方法
CN104951334A (zh) * 2015-05-22 2015-09-30 中国电子科技集团公司第十研究所 FPGA双片QSPI flash的程序加载方法

Also Published As

Publication number Publication date
CN105573800A (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
CN105573800B (zh) 一种基于zynq的单板或多板系统及在线更新方法
US8386764B2 (en) BIOS architecture
US8521929B2 (en) Virtual serial port management system and method
KR101035832B1 (ko) 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템
CN109656593A (zh) 基于zynq芯片实现fpga程序远程升级的方法
CN106030526B (zh) 装置、更新器、控制装置的方法、及控制更新器的方法
CN100476837C (zh) 一种支持随机指令测试的微处理器fpga验证装置
CN100422953C (zh) 利用HDL扩展串口的SoC系统在线调试方法
CN107977217A (zh) 在线加载xilinx-fpga多版本更新程序的方法
WO2018018978A1 (zh) 一种通用串行总线控制器验证方法、系统及设备
WO2018064885A1 (zh) 一种对可编程逻辑器件进行配置或更新的装置和方法
TWI588837B (zh) 具除錯控制器的系統單晶片及其操作方法
CN102681959A (zh) 一种服务器带内带外信息交互的方法
CN104077204B (zh) 可重构的8位rsic单片机仿真器
CN103198042A (zh) Pci航空串行总线板卡及实现动态加载数据处理方法
CN109002310A (zh) 固件升级方法
US20100095044A1 (en) Motherboard system, storage device for booting up thereof and connector
CN104077166A (zh) 基于fpga中ip核的epcs与epcq存储器在线升级方法
CN107690630B (zh) 计算设备中的桥配置
CN103324583A (zh) 一种光纤陀螺离线高速数据采集方法
CN102253845B (zh) 服务器系统
CN114201360B (zh) 一种aer功能管理方法、装置、服务器和存储介质
CN102081526B (zh) 基本输入/输出系统架构
CN104156229A (zh) 计算机系统
CN202030403U (zh) 电梯快速调试装置

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
GR01 Patent grant