CN105573800B - 一种基于zynq的单板或多板系统及在线更新方法 - Google Patents
一种基于zynq的单板或多板系统及在线更新方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates 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-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系统相关文件。
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)
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)
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的程序加载方法 |
-
2015
- 2015-12-22 CN CN201510975159.XA patent/CN105573800B/zh active Active
Patent Citations (3)
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 |