ZYNQ程序上传下载上位机软件设计与实现

(整期优先)网络出版时间:2022-07-18
/ 2

ZYNQ程序上传下载上位机软件设计与实现

陈相材,李长洪

贵州航天控制技术有限公司, 贵阳 550025

摘要针对某型弹载计算机提出弹上工作软件可即时维护更新需求,设计了基于ZYNQ平台的程序上传下载上位机软件。通过跳转、上传、下载功能的模块化设计,建立起上位机软件与ZYNQ处理器监控程序的可靠通信机制,保证了程序上传下载的准确性,实现了有效上传下载功能。详细介绍了上位机软件各模块的设计思路及工作流程。通过实际应用,验证了上位机软件上传下载功能正常,满足系统使用需求。

关键词ZYNQ;上位机;上传下载                                          

引言

ZYNQ系列处理器内部集成了基于ARM公司双核ARM Cortex-A9多核处理器的处理系统(processing system,PS)和基于Xilinx可编程逻辑资源的可编程逻辑系统(programmable logic,PL)。在ZYNQ中,PL部分相当于Xilinx FPGA,可以将其看成是受PS部分控制的可灵活配置外设。某型号武器系统弹载计算机使用了ZYNQ-7000处理器,针对其系统设计提出的可对弹上软件维护更新需求,开展了基于ZYNQ平台的程序上传下载上位机软件开发,成功通过系统验证,功能覆盖系统使用需求,可靠性强。

1系统设计

系统架构如图1所示,上位机程序通过RS422串口与ZYNQ处理器中的监控软件进行通信。

图1 系统示意图

上位机程序通过VC++6.0编写完成。多核程序/IP核程序在线上传下载功能通过上位机软件与监控软件进行信息交互实现,监控程序通过仿真器烧写的方式写入FLASH。当监控软件工作时,运行在外部DDR内存中,FSBL运行在片上存储器OCM。ZYNQ上电复位后,BootRom加载FSBL到OCM,FSBL加载接口IP到PL,FSBL加载监控程序到DDR,CPU0执行监控程序。

2程序设计

根据系统任务需求,对上位机上传下载软件进行了模块化设计,软件组成结构如图2所示。跳转模块对测控、上传及下载功能分支进行跳转,上传及下载模块完成相关软件的上传下载。

图2 软件组成框图

2.1跳转模块

跳转程序先对上位机通信串口、波特率、校验进行设置,完成系统初始化后,上位机向监控发送10字节测控、上传、下载跳转指令,执行框图3如所示。

图3 跳转模块执行流程图

监控程序收到相应跳转指令后完成功能跳转并向上位机反馈跳转成功状态字,上位机执行跳转程序显示跳转成功。其中,跳转测控分支为进行系统测试功能;跳转上传成功后监控等待执行上传模块相关指令;跳转下载成功后监控等待执行下载模块相关指令。

2.2上传模块

根据软件上传需求,上传模块分为上传飞控部分与上传测控部分。

(1) 上传飞控

执行上传飞控程序流程如图4所示。

图4上传飞控程序执行流程图

系统初始化完成后,打开需上传的飞控软件BIN文件,获取文件长度字节,按每帧128字节数据格式计算文件帧数并将文件数据存储到待发送数据文件夹,等待执行上传。上传飞控程序向监控发送4字节上传指令(0x55 0xaa 0x02 0xdd),监控收到指令后向上位机已反馈收到上传指令,并完成FLASH飞控文件存储地址空间(0xA00000-0xFFFFFF)分配。当上位机收到监控擦除完成反馈后,开始执行文件数据上传(0x55 0xaa 0x03 0xdd)。待发送文件数据组帧后通过RS422串口写入FLASH相应地址空间(每帧131字节,帧头2字节0xeb 0x90,数据128字节,校验1字节),每帧数据发送完后进行帧计数。监控收到数据后将该帧数据发回到上位机并将其与上传的该帧数据进行逐字节比对,正确后向监控发送(0x55 0xaa 0x03 0xdd)指令继续下一帧数据上传。当程序判定发送数据帧计数等于或大于飞控BIN文件帧数时,向监控发送(0x55 0xaa 0x04 0xdd)上传完成指令,显示程序上传成功,结束流程。若上传与返回的帧字节比对错误,则向监控发送(0x55 0xaa 0x05 0xdd)上传失败命令,收到监控反馈状态后关闭串口,显示上传流程失败,结束上传流程。

(2) 上传测控

上传测控软件时,程序执行流程与上传飞控软件一致,区别在于监控程序为存储测控软件分配了不同的FLASH地址空间(0x500000-0x9FFFFF)。

2.3下载模块

下载模块分为FSBL下载、FPGA下载、飞控下载和舵控下载,完成系统初始化后,工作软件创建“.txt”文件用于接收存储下载的程序数据,并向监控发送下载相关程序指令。下载程序收到监控发回的下载文件字节长度后在界面进行显示,将接收到的数据放入创建的“.txt”文件,同时对接收的程序数据进行计数,当计数值等于文件长度时表明软件下载完成,下载流程结束。下载程序工作流程如图5所示。

5 下载模块执行流程图

3结论

基于ZYNQ平台的程序上传下载技术,已在原理样机上完成了试验验证。上位机软件与监控软件通信正常,程序上传下载功能正常,性能指标满足系统任务需求,能在该武器系统中可靠应用。