ZYNQ程序上传下载上位机软件设计与实现
摘要:针对某型弹载计算机提出弹上工作软件可即时维护更新需求,设计了基于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)上传失败命令,收到监控反馈状态后关闭串口,显示上传流程失败,结束上传流程。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论