CN112015449A - 基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法 - Google Patents
基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法 Download PDFInfo
- Publication number
- CN112015449A CN112015449A CN202010857532.2A CN202010857532A CN112015449A CN 112015449 A CN112015449 A CN 112015449A CN 202010857532 A CN202010857532 A CN 202010857532A CN 112015449 A CN112015449 A CN 112015449A
- Authority
- CN
- China
- Prior art keywords
- data
- zynq
- fpga
- upper computer
- zlib
- 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
Links
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Abstract
本发明公开基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法,应用于ADC通用化测试平台,如图1所示。包含硬件和软件两部分,硬件采用SOC+FPGA架构的采集控制板,由ZYNQ、FPGA、ADC子板、可调电源构成;软件采用Labview+Matlab架构,由上位机、FPGA程序、ZYNQ程序、zlib库、Matlab(.dll)等组成,能够解决ADC自动测试平台通过接收来自上位机以太网UDP升级比特流数据传输过程丢包以及在线升级时间过长的问题。
Description
技术领域
本发明涉及FPGA技术领域,具体为基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法。
背景技术
Zynq7000是xilinx公司推出的一款具备可重构功能的嵌入式异构多核处理器,在通用处理器和可重构之间,芯片采用的高级扩展接口(Advanced Extensible Interface,AXI)互联。能够以较低的功耗支持ARM双核Corte-A9 MPCore通用处理器系统与可编程逻辑之间的高带宽数据传输,进而消除了控制、数据、和内存所面临的性能瓶颈。处理系统开机时进入运行在通用处理器上的操作系统,并可以在上面进行各种编程处理,根据需求来配置可编程逻辑。利用ARM 完成与上位机通讯协议与升级比特流数据的解压缩任务,逻辑部分则完成数据的远程升级工作,两者之间通过高速AXI总线互通,利用了arm完成擅长的上位机命令交互与压缩算法处理,利用逻辑完成selcetmap接口的数据在线升级工作,充分体现了异构平台处理的优越性。
为了解决ADC通用化测试平台通过接收来自上位机以太网UDP升级比特流数据传输过程丢包以及在线升级时间过长的问题,本专利提出基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级方法的方法,很好的解决了在ADC芯片测试中更换测试ADC芯片,需要频繁下载FPGA测试比特流文件,导致的丢包和长延时问题,为ADC测试平台自动化测试提供更好更便捷的使用改进。
发明内容
本发明的目的在于提供基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法,包括如下步骤:
步骤A、 在VS开发环境下,通过调用zlib库文件,将其封装为可供上位机调用的dll文件;
步骤B、 上位机通过库函数节点,对dll文件进行调用并通过UDP将压缩后BIT文件传递至ZYNQ中;
步骤C、 ZYNQ在接收到数据后进行解压数据操作,并将解压数据下载至K7;
步骤D、 FPGA在线下载完成后,配置ADC子板电源;
步骤E、 上位机下发采集指令后,FPGA完成数据采集并通过UDP将数据发送至上位机,上位机调用Matlab算法完成ADC芯片静态、动态指标测试。
在进一步的实施例中,所述步骤A中,使用lzma、zlib、lzo分别对FPGA的BIT文件进行解压缩活动,通过压缩率、压缩时间、解压时间进行综合比对,发现zlib效果最好。
在进一步的实施例中,所述步骤B中,上位机需要将原始bit文件、大小以及需要开辟内存、大小通过接口参数传递给dll文件。
在进一步的实施例中,所述步骤C中,ZYNQ在接收到数据后,通过调用zlib库文件进行数据解压操作,并判断解压后数据完整性,如无异常,将数据下发至K7。
在进一步的实施例中,所述步骤D中,FPGA在线下载完成后,配置ADC子板电源,监测电压及电流是否正常。
在进一步的实施例中,所述步骤E中,上位机下发采集指令后,FPGA完成数据采集并通过UDP将数据发送至上位机,上位机调用Matlab算法完成ADC芯片静态、动态指标测试。
与现有技术相比,本发明的有益效果是:
1.本发明中,通过labview调用zlib库文件进行BIT文件压缩,由以太网下发压缩文件至ZYNQ,ZYNQ接收到压缩文件后在调用zlib库文件进行解压,最终将原始FPGA程序下载到K7中,很好的解决了在ADC芯片测试中更换测试AD芯片,需要频繁下载FPGA测试比特流文件,导致的丢包和长延时问题,为ADC通用化测试平台自动化测试提供更好更便捷的使用改进。
附图说明
图1为本发明实施例 ADC通用化测试平台框图;
图2为本发明实施例ADC通用化测试平台流程图;
图3为本发明实施例系统硬件结构图;
图4为本发明实施例上位机Zlib压缩下载流程图;
图5为本发明实施例ZYNQ调用zlib进行解压框图。
具体实施方式
在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
实施例1
请参阅图1-5,本实施例提供了基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法,包括如下步骤:
步骤A、 在VS开发环境下,通过调用zlib库文件,将其封装为可供上位机调用的dll文件;
步骤B、 上位机通过库函数节点,对dll文件进行调用并通过UDP将压缩后BIT文件传递至ZYNQ中;
步骤C、 ZYNQ在接收到数据后进行解压数据操作,并将解压数据下载至K7;
步骤D、 FPGA在线下载完成后,配置ADC子板电源;
步骤E、 上位机下发采集指令后,FPGA完成数据采集并通过UDP将数据发送至上位机,上位机调用Matlab算法完成ADC芯片静态、动态指标测试。
步骤A中,使用lzma、zlib、lzo分别对FPGA的BIT文件进行解压缩活动,通过压缩率、压缩时间、解压时间进行综合比对,发现zlib效果最好。
步骤B中,上位机需要将原始bit文件、大小以及需要开辟内存、大小通过接口参数传递给dll文件。
步骤C中,ZYNQ在接收到数据后,通过调用zlib库文件进行数据解压操作,并判断解压后数据完整性,如无异常,将数据下发至K7。
步骤D中,FPGA在线下载完成后,配置ADC子板电源,监测电压及电流是否正常。
步骤E中,上位机下发采集指令后,FPGA完成数据采集并通过UDP将数据发送至上位机,上位机调用Matlab算法完成ADC芯片静态、动态指标测试。
本实施例中,ADC通用化测试平台结构框图中,信号源时钟、输入信号通过端子接入ADC通用测试平台,上位机与ADC通用测试平台通过以太网进行数据交互。
ADC通用化测试平台所用硬件,采用SOC+FPGA架构的采集控制板,由ZYNQ、FPGA、ADC子板、可调电源组成。
硬件电路中SOC采用XILINX的ZYNQ,FPGA采用K7,该板子对外支持COMS、LVDS以及JESD204B接口,同时接口电压支持1.8V、2.5V、3.3V范围内可选。FPGA用来控制待测ADC采集数据,并通过LVDS接口把数据上传到ZYNQ,之后ZYNQ通过千兆网口把数据上传到上位机;可调电源采用LDO加DAC的设计思路,来实现电源的连续可调。
为了能够实现利用selectMAP进行FPGA程序的更新,本系统的控制芯片采用ZYNQ,该芯片集成了ARM与FPGA,支持千兆网口,除了可以满足高速率采样数据的上传,还能利用内部的FPGA实现selectMAP接口时序来对K7160T进行程序的更新。
在VS开发环境下,通过调用zlib库文件,将其封装为可供上位机调用的dll文件;上位机通过库函数节点,对dll文件进行调用。
ADC自动测试平台通过接收来自上位机以太网UDP协议的控制命令,首先完成相关协议交互与初始化准备工作,利用ZYNQ PS 的UDP指定端口监听来自上位机的升级比特流更新指令,当接收到更新协议指令以后,PS开始接收比特流升级文件,并存入DDR指定位置,数据传授采用累加和的校验算法,确保数据传输过程中的完整性和正确性。当接收完所有的比特流文件以后,系统调用基于zlib的解压缩算法,将从上位机接收到的经过压缩后的升级比特流文件开始解压缩,通过解压缩之后的比特流文件,采用中断的方式反馈告知ZYNQ的PL,PL再通过AXI-HP接口完成对调用解压缩算法之后的升级比特流文件读取,再利用ZYNQ PL 逻辑实现selectmap功能,完成对ADC自动测试平台的K7 FPGA比特流文件的升级工作,使其适配当前所需的测试AD芯片。
PS到PL的数据流分为两种:
(1)批量数据传输使用PS的HP接口,PS端将数据写入DDR,PL直接访问PS的DDR读取要下发的BIT流数据;PL将ADC转换的数字量存入PS端的DDR,完成后发出中断通知PS。
(2)命令数据传输使用PS的GP接口,PS端将数据写入约定地址,PL从AXI-LITE总线获取命令,响应后反馈或握手发出中断通知PS。
从ZYNQ PS获取到上位机以太网UDP协议的升级请求命令后,ZYNQ主要实现的流程如下:
利用UDP指定端口监听上位机UDP数据报文,当ZYNQ PS获取到上位机以太网UDP协议的升级请求命令(规定命令报文每包数据长度为20字节)PS解析上位机命令,首先因UDP传输为不可靠数据传输方式,要进行累加和校验判断,调用累加和校验函数,判断本次升级请求包数据是否正确,如校验和错误,则丢弃本次数据,继续监听下次数据请求。
如果数据报文头累加和校验通过,下一步按照通信协议判断报文头、尾数据数据是为规定数据,如果为协议规定数据报文,则进行下一步判断。
当累加和校验通过,进一步解析请求报文协议,获取本次升级比特流文件大小,因为DDR数据的数据传输约定为1024字节为一包,根据升级比特流规定每包大小换算本次升级代码接收轮询次数,并上传比特流升级请求应答报文。zynq系统进入升级比特流数据下发等待状态。
上位机获取zynq系统进入升级比特流数据下发等待状态,按照规定协议解析以后,校验和判断以后,确认无误,上位机开始按照约定数据大小以及间隔发送升级比率流文件。
当上位机按照指定协议与速率下发升级比特流文件时,每发一包,ZYNQ进行一次判断累加和校验判断,如果正确,则将接收到的升级数据缓存到指定DDR地址上,同时监听下一次数据传输请求。如果校验和错误,则请求上位机重新发送本次数据报文。
当本次升级比特流文件数据发送数据结束以后,系统退出升级比特流数据接收状态,开始进行基于zlib的升级比特流解压缩状态,调用zlib解压缩函数,完成对升级比特流数据的解压缩处理。
当升级比特流数据通过zlib解压缩函数处理之后,zynq通过AXI接口通知PL解压缩后的文件数据总大小,并按照通信协议填充解压缩数据总大小,发送给PL。
当zynq pl获取到PS通过AXI接口发送过来的数据后,依据协议解析,获取到升级文件大小,完成将解压缩之后的升级比特流文件通过selectMAP接口完成对k7 FPGA的在线升级程序更新任务。
FPGA在线下载完成后,通过配置可调电源对ADC子板供电,通过调用Matlab(.dll)文件对采集数据进行算法分析,完成ADC动态、静态指标计算。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法,其特征在于,包括如下步骤:
步骤A、 在VS开发环境下,通过调用zlib库文件,将其封装为可供上位机调用的dll文件;
步骤B、 上位机通过库函数节点,对dll文件进行调用并通过UDP将压缩后BIT文件传递至ZYNQ中;
步骤C、 ZYNQ在接收到数据后进行解压数据操作,并将解压数据下载至K7;
步骤D、 FPGA在线下载完成后,配置ADC子板电源;
步骤E、 上位机下发采集指令后,FPGA完成数据采集并通过UDP将数据发送至上位机,上位机调用Matlab算法完成ADC芯片静态、动态指标测试。
2.根据权利要求1所述的基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法,其特征在于:所述步骤A中,使用lzma、zlib、lzo分别对FPGA的BIT文件进行解压缩活动,通过压缩率、压缩时间、解压时间进行综合比对,发现zlib效果最好。
3.根据权利要求1所述的基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法,其特征在于:所述步骤B中,上位机需要将原始bit文件、大小以及需要开辟内存、大小通过接口参数传递给dll文件。
4.根据权利要求1所述的基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法,其特征在于:所述步骤C中,ZYNQ在接收到数据后,通过调用zlib库文件进行数据解压操作,并判断解压后数据完整性,如无异常,将数据下发至K7。
5.根据权利要求1所述的基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法,其特征在于:所述步骤D中,FPGA在线下载完成后,配置ADC子板电源,监测电压及电流是否正常。
6.根据权利要求1所述的基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法,其特征在于:所述步骤E中,上位机下发采集指令后,FPGA完成数据采集并通过UDP将数据发送至上位机,上位机调用Matlab算法完成ADC芯片静态、动态指标测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010857532.2A CN112015449B (zh) | 2020-08-24 | 2020-08-24 | 基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010857532.2A CN112015449B (zh) | 2020-08-24 | 2020-08-24 | 基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112015449A true CN112015449A (zh) | 2020-12-01 |
CN112015449B CN112015449B (zh) | 2022-08-02 |
Family
ID=73505688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010857532.2A Active CN112015449B (zh) | 2020-08-24 | 2020-08-24 | 基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112015449B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115857998A (zh) * | 2023-02-10 | 2023-03-28 | 国仪量子(合肥)技术有限公司 | 基于zynq和fpga架构的升级方法、装置和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510409A (zh) * | 2011-12-19 | 2012-06-20 | 厦门雅迅网络股份有限公司 | 一种利用无线网络对移动终端程序快速远程更新的方法及系统 |
CN105373407A (zh) * | 2015-12-07 | 2016-03-02 | 中国船舶重工集团公司第七〇五研究所 | 嵌入式系统dsp和fpga在线升级方法 |
CN106598650A (zh) * | 2016-11-25 | 2017-04-26 | 积成电子股份有限公司 | 基于光纤通信的fpga程序在线升级的装置及方法 |
CN107918545A (zh) * | 2017-12-13 | 2018-04-17 | 天津光电通信技术有限公司 | 一种基于zynq的远程升级系统及其实现方法 |
CN109656593A (zh) * | 2018-12-07 | 2019-04-19 | 天津光电通信技术有限公司 | 基于zynq芯片实现fpga程序远程升级的方法 |
-
2020
- 2020-08-24 CN CN202010857532.2A patent/CN112015449B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510409A (zh) * | 2011-12-19 | 2012-06-20 | 厦门雅迅网络股份有限公司 | 一种利用无线网络对移动终端程序快速远程更新的方法及系统 |
CN105373407A (zh) * | 2015-12-07 | 2016-03-02 | 中国船舶重工集团公司第七〇五研究所 | 嵌入式系统dsp和fpga在线升级方法 |
CN106598650A (zh) * | 2016-11-25 | 2017-04-26 | 积成电子股份有限公司 | 基于光纤通信的fpga程序在线升级的装置及方法 |
CN107918545A (zh) * | 2017-12-13 | 2018-04-17 | 天津光电通信技术有限公司 | 一种基于zynq的远程升级系统及其实现方法 |
CN109656593A (zh) * | 2018-12-07 | 2019-04-19 | 天津光电通信技术有限公司 | 基于zynq芯片实现fpga程序远程升级的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115857998A (zh) * | 2023-02-10 | 2023-03-28 | 国仪量子(合肥)技术有限公司 | 基于zynq和fpga架构的升级方法、装置和介质 |
CN115857998B (zh) * | 2023-02-10 | 2023-05-23 | 国仪量子(合肥)技术有限公司 | 基于zynq和fpga架构的升级方法、装置和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112015449B (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107203484B (zh) | 一种基于FPGA的PCIe与SRIO总线桥接系统 | |
US11709202B2 (en) | Interfaces for wireless debugging | |
US20180329857A1 (en) | Hardware event priority sensitive programmable transmit wait-window for virtual gpio finite state machine | |
CN112015449B (zh) | 基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法 | |
CN210573744U (zh) | 一种多颗fpga芯片的bmc在线升级装置 | |
CN103714029A (zh) | 新型二线同步通信协议及应用 | |
CN109660391B (zh) | 一种池化服务器系统固件升级方法、系统及相关装置 | |
CN111736867A (zh) | 一种fpga更新设备、方法以及存储介质 | |
CN110737452A (zh) | 一种fpga固件在线升级方法及系统 | |
CN111309667A (zh) | 基于实时总线的异构多处理器平台的动态可重配置方法 | |
CN110888836A (zh) | 一种在飞腾平台使用bmc实现中断响应的方法 | |
CN109525276B (zh) | 一种具备外部下载功能的多模数据链系统及方法 | |
CN112631968B (zh) | 一种动态可演化智能处理芯片结构 | |
KR20200062594A (ko) | 차량용 디버깅 시스템의 동작 방법 | |
CN112866191A (zh) | 基于5g dtu系统的ot和it综合系统 | |
CN111741057A (zh) | 一种用于对多源物联数据的归一采集系统及方法 | |
CN107844438A (zh) | 用于地震仪主控站cpu与外设数据传输的桥接器及方法 | |
CN110287141A (zh) | 一种基于多种接口的fpga重构方法和系统 | |
CN207764789U (zh) | 用于地震仪主控站cpu与外设数据传输的桥接器 | |
JPH10185634A (ja) | 計測システム | |
CN112783724B (zh) | 一种日志抓取调试方法、系统、智能设备及存储介质 | |
CN114442590A (zh) | 车辆诊断方法、设备、诊断通信装置、服务器及存储介质 | |
CN111193557B (zh) | 一种用于超高速无线局域网的校准测试仪 | |
KR101470168B1 (ko) | 제어기 내 cpu의 리프로그래밍 방법 | |
CN110794731A (zh) | 一种支持以太网的嵌入式软plc控制系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |