一种基于UART的逻辑在线升级测试方法技术

技术编号:36073998 阅读:12 留言:0更新日期:2022-12-24 10:45
本发明专利技术公开了一种基于UART的逻辑在线升级测试方法,采用UART通信方式,将程序升级文件通过Zmodem文件传输协议传输到待升级的测试系统。测试系统内部采用MicroBlaze软核作为处理器,采用FIFO存储结构,接收升级文件进行缓存,并同时将已缓存的文件数据通过Multiboot方法烧录到FPGA的配置Flash,实现待升级测试系统的逻辑在线升级功能。本发明专利技术较低的资源开销和简单的接口需求,实现板卡逻辑的在线升级功能,尤其适用于复杂机箱结构的设备、仪器进行逻辑升级的应用场景。仪器进行逻辑升级的应用场景。仪器进行逻辑升级的应用场景。

【技术实现步骤摘要】
一种基于UART的逻辑在线升级测试方法


[0001]本专利技术属于电子产品测试
,具体涉及一种基于UART的逻辑在线升级测试方法。

技术介绍

[0002]随着检测设备集成的功能越来越多和复杂,尤其是非标准机箱、适配器和测试仪器等难以拆装的模块,其拆装也越来越困难。另外,有些场合功能升级人员无法到现场升级。上述应用场景无法通过传统的JTAG接口进行程序的烧录更新,严重影响了检测验收设备中电子模块板卡的故障排除、功能升级等工作。
[0003]逻辑在线升级技术可以通过文件传输技术和逻辑在线烧录技术实现电子模块功能的在线升级,避免了对复杂设备、仪器的拆装操作。

技术实现思路

[0004]为了克服现有技术的不足,本专利技术提供了一种基于UART的逻辑在线升级测试方法,采用UART通信方式,将程序升级文件通过Zmodem文件传输协议传输到待升级的测试系统。测试系统内部采用MicroBlaze软核作为处理器,采用FIFO存储结构,接收升级文件进行缓存,并同时将已缓存的文件数据通过Multiboot方法烧录到FPGA的配置Flash,实现待升级测试系统的逻辑在线升级功能。本专利技术较低的资源开销和简单的接口需求,实现板卡逻辑的在线升级功能,尤其适用于复杂机箱结构的设备、仪器进行逻辑升级的应用场景。
[0005]本专利技术解决其技术问题所采用的技术方案包括如下步骤:
[0006]步骤1:搭建基于UART的逻辑在线升级测试系统;
[0007]所述基于UART的逻辑在线升级测试系统装配在板卡上,包括FPGA、Flash和RS485接口芯片;通过在FPGA内部例化MicroBlaze软核、UART核、SPI控制器核的方式搭建嵌入式单片机系统;
[0008]步骤2:设定文件传输方式;
[0009]1)UART通信方式;
[0010]基于异步串行通信协议的RS485总线方式,异步串行通信协议由FPGA内部的UART核实现,发送、接收双方为不同的时钟域系统,发送、接收两者通过起始位和停止位实现通信的握手和数据帧的传输;
[0011]2)Zmodem文件传输协议;
[0012]Zmodem是基于串行通讯的文件传输协议;
[0013]步骤3:设定文件缓存方法;
[0014]待升级模块内部RAM资源不足时,利用FPGA内部的BRAM资源,采用FIFO存储结构进行文件的缓存,将FPGA的UART核接收中断的数据缓存写入到FIFO中,Zmodem协议驱动底层函数从FIFO中读取缓存的文件数据;在zmodem协议调用文件存储函数File_SaveToMemory时,将File_SaveToMemory所传递的数据编程写入flash指令的连续地址中;
[0015]步骤4:在线烧录技术;
[0016]步骤4

1:上位机通过RS485总线,经Zmodem文件传输协议将待升级的格式为.bin文件传输到板卡的FIFO缓存后,再将FIFO中的数据连续写入到以0x00800000为起始地址的flash中,避免FIFO缓存的溢出;
[0017]步骤4

2:使用Multiboot方法实现在线升级;
[0018]步骤4
‑2‑
1:将flash分成两块,用来存储两个启动文件,一块区域为golden image,另一块区域为update image;所述golden image用来保存备份逻辑,在远程更新操作过程中不会对此flash区域进行操作,以防止远程更新失败后不能启动;正常情况下启动update image,当update image镜像文件在远程更新过程中被损坏或更新失败时,就从备份启动文件golden image镜像文件启动;
[0019]备份文件golden bitstream存储在地址0x00000000处,更新文件update bitstream存储在WBSTAR寄存器指定的地址;
[0020]步骤4
‑2‑
2:对Flash中updata image区域进行在线操作;
[0021]步骤4
‑2‑2‑
1:擦除;
[0022]先对从0x00800000地址开始的后半片flash进行整体擦除操作,当擦除完成之后,再利用Zmodem协议进行文件传输和flash的编程操作;
[0023]步骤4
‑2‑2‑
2:编程;
[0024]Zmodem开源协议提供的文件保存函数为File_SaveToMemory(char*ptrdat,u16lenth),通过调用该函数实现对传输文件数据的保存;在一边传输缓存的同时,该函数一边将接收到的文件缓存数据从FIFO中连续编程写入到Flash中的以0x00800000地址开头的内存区域,即update image区域;
[0025]步骤5:当整个文件传输并烧录成功时,待板卡跳出文件传输线程,并通过RS485总线向上位机反馈烧录成功信息;当板卡重新下电并上电后,运行升级后的板卡程序。
[0026]优选地,所述FPGA为Xilinx公司的7系列。
[0027]优选地,所述Flash的型号为MT25QL128。
[0028]本专利技术的有益效果如下:
[0029]本专利技术提供一种基于UART的逻辑在线升级测试方法,升级测试系统以较低的资源开销和简单的接口需求,实现板卡逻辑的在线升级功能,尤其适用于复杂机箱结构的设备、仪器进行逻辑升级的应用场景。
附图说明
[0030]图1为本专利技术基于UART的逻辑在线升级测试系统组成框图。
[0031]图2为本专利技术在线升级过程数据流向图。
[0032]图3为本专利技术测试系统逻辑在线升级程序框图。
具体实施方式
[0033]下面结合附图和实施例对本专利技术进一步说明。
[0034]本专利技术测试系统主要解决测试板卡逻辑升级中需要机箱拆装、板卡拆卸、仿真器/下载器连接、升级烧录、环境恢复等过程复杂、效率低下的问题,可以极大地提高板卡逻辑
升级的效率。利用RS485总线占用资源少特点,解决了结构复杂设备的板卡升级难以操作和板卡资源不足的问题。
[0035]本专利技术采用异步串行通信方式和Zmodem文件传输协议进行升级文件的传输,具有通信接口简单的特点。本专利技术测试系统采用FIFO存储结构的文件缓存方法,实现程序升级文件的缓存,缓存传输的同时进行逻辑烧录,具有对缓存内容空间要求不高的特点,适用于RAM资源少的测试板卡的在线升级。采用Xilinx公司的7系列FPGA,利用Multiboot方式将待升级文件在线写入FPGA的配置Flash中。
[0036]一种基于UART的逻辑在线升级测试方法,包括如下步骤:
[0037]步骤1:搭建基于UART的逻辑在线升级测试系统;
[0038]所述基于UART的逻辑在线升级测试系统装配在板卡上,包括FPGA、Flash和RS4本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于UART的逻辑在线升级测试方法,其特征在于,包括如下步骤:步骤1:搭建基于UART的逻辑在线升级测试系统;所述基于UART的逻辑在线升级测试系统装配在板卡上,包括FPGA、Flash和RS485接口芯片;通过在FPGA内部例化MicroBlaze软核、UART核、SPI控制器核的方式搭建嵌入式单片机系统;步骤2:设定文件传输方式;1)UART通信方式;基于异步串行通信协议的RS485总线方式,异步串行通信协议由FPGA内部的UART核实现,发送、接收双方为不同的时钟域系统,发送、接收两者通过起始位和停止位实现通信的握手和数据帧的传输;2)Zmodem文件传输协议;Zmodem是基于串行通讯的文件传输协议;步骤3:设定文件缓存方法;待升级模块内部RAM资源不足时,利用FPGA内部的BRAM资源,采用FIFO存储结构进行文件的缓存,将FPGA的UART核接收中断的数据缓存写入到FIFO中,Zmodem协议驱动底层函数从FIFO中读取缓存的文件数据;在zmodem协议调用文件存储函数File_SaveToMemory时,将File_SaveToMemory所传递的数据编程写入flash指令的连续地址中;步骤4:在线烧录技术;步骤4

1:上位机通过RS485总线,经Zmodem文件传输协议将待升级的格式为.bin文件传输到板卡的FIFO缓存后,再将FIFO中的数据连续写入到以0x00800000为起始地址的flash中,避免FIFO缓存的溢出;步骤4

2:使用Multiboot方法实现在线升级;步骤4
‑2‑
1:将flash分成两块,用来存储两个启动文件,一块区域为golden image,另一块区域为update image...

【专利技术属性】
技术研发人员:何礼封思远吕涛涛张凯旋张鹏毕思明
申请(专利权)人:中国航空工业集团公司洛阳电光设备研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1