收稿日期:2023-08-19
DOI:10.19850/j.cnki.2096-4706.2024.05.028
摘" 要:文章基于离线型并行软件加载技术的研究,从功能、性能架构,硬件需求,硬件设计方案,软件设计方案等方面为切入点,介绍了离线型并行软件加载技术的实现方案。通过多端口适配技术、多路路由技术、上位机软件开发,实现3种模块、7个接口、19个通道、20余种程序的并行加载。该研究对于其他集成化电子装备在大规模的软件加载环节建立适合自身产品特点的软件加载提供了一定借鉴。
关键词:离线加载;并行加载;多路路由技术;软件流程设计;状态指示监控
中图分类号:TP311" " " 文献标识码:A" " " " " 文章编号:2096-4706(2024)05-0129-05
Research on Offline Parallel Software loading Technology
LUO Yong
(The 10th Research Institute of CETC, Chengdu" 610036, China)
Abstract: Based on the research of offline parallel software loading technology, this paper introduces the implementation scheme of offline parallel software loading technology from the perspectives of function, performance architecture, hardware requirements, hardware design scheme, and software design scheme. Through multi-port adaptation technology, multi-route routing technology, and host software development, the parallel loading of three modules, seven interfaces, 19 channels, and more than 20 programs is realized. This research provides certain references for establishing software loading suitable for the characteristics of their own products in large-scale software loading processes for other integrated electronic equipment.
Keywords: offline loading; parallel loading; multi-route routing technology; software process design; status indication monitoring
0" 引" 言
先进的武器装备是决定战争胜负的重要因素,如何在现代化战争中先发制人、赢得先机,取决于武器装备作战准备的时间,准备时间越少,对战场的主动权的掌握就越大。然而,随着我军电子装备向高度集成化发展,软件配置项日益增多,规模越来越大,加上电子装备性能的不断扩展、指标的优化,软件的更新迭代日趋频繁。如何提高大规模软件加载的效率,缩短作战准备时间,离线并行软件加载技术是最有效的途径。另外,在现代电子装备制造行业,大规模软件加载也同样存在,提高软件加载效率是降低生产成本的因素之一,离线型并行加载技术的研究也是思考的方向。
1" 技术概述
离线型并行软件加载技术的研究,是基于诸多工程现阶段软件加载环境的现状,研究一种具有通用型、便携式、串行、并行可选,在线和离线兼容的加载模式。既适用于内场生产软件加载环节、又适用于外场大规模软件升级。
通用型:主要体现在适配当前某综合系统的信处模块、核心模块的离线大规模升级。
便携式:体积小、重量轻,方便携带。
高速率:完成一套系统的升级时间由原来的3小时以上缩短到20分钟左右。
同时通过扩展相关软件,即可具备数据下载及分析功能。通过适配相应的接口控制线和数据线,可完成设备的在线升级功能。
2" 设计思路
本方案设计思路满足3种类型(信号处理模块、核心模块、数据记录模块)、7个模块(4个信号处理、2个核心模块、1个数据记录模块)、19个通道(每个信号处理模块4个通道,通道总数4×4 = 16个通道,外加核心模块和数据记录模块)的并行加载。
根据离线并行软件加载的功能实现,所需硬件由4部分组成,即主控设备、系统载板、接口载板、供电系统。
主控设备即计算机是整个离线并行软件加载的人机交互接口和控制核心。用于读取加载文件数据,并对其进行打包和组帧,将组帧后的数据按相应的地址分配下发至加载母板相应的存贮位置,等待相应的加载指令,控制完成接口板与被加载设备之间的数据传输,加载过程监视、加载结果反馈,执行电子标签查询指令,并实时监视被测模块的电压及电流信息。
加载母板承担与被测设备的交互功能,其主要组成功能包括数据处理功能、接口转换、电源功能和电源监测功能。
接口板的主要功能是与被测设备进行连接,是执行软件并行加载的中枢枢纽,其中LRM连接器部署在接口载板上,提供与加载母板的连接接口。
供电系统完成整个加载环境提供稳定可靠的电源支撑。由220 V交流电输入后,分成两路,一路供电计算机,一路经AC/DC模块转换后,得到两路稳定的12 V电源,一路电源(DC-12 V-1-60 W)供电接口板,一路电源(DC-12 V-1-140 W)供电被加载模块。
3种类型模块的加载方式的确立:信号处理模块的加载由FPGA扩展的16组I/0口,利用多路路由技术实现16通道并行加载,核心模块的加载由两路RS232串口实现,数据记录模块的加载由网口实现。
根据思路,各部分的主要交联关系如图1所示。
3" 硬件设计
3.1" 主控计算机设计
主控计算机采用COMe模块加系统载板的方式,安装在加固计算机机箱中,机箱右侧为计算机的通用外围接口(LAN、RS232、USB等)。加载母版与主控计算机之间通过网络连接。COMe模块作为主控计算机的核心计算处理单元,主要用于软件运行和数据存储等功能。COMe模块的功能特点如下:1)英特尔I5系列系统芯片处理器。2)提供1路自适应千兆LAN接口,可扩展2路自适应LAN接口。3)支持外接显示功能,可提供VGA/HDMI接口。4)提供USB2.0×8,USB3.0×2;5)提供2路RS232串口。
3.2" 加载母版的设计
加载母版主要完成于各个模块的连接,并将各模块的升级控制接口转接至数据处理单元,通过数据处理单元完成对各模块的离线升级。底板的硬件原理框图如图2所示,主要包含电源处理单元、数据处理单元、核心模块接口处理单元、数据记录模块接口处理单元和信号处理模块接口处理单元五大部分。
3.3" 数据处理单元的设计
数据处理单元是离线并行加载的核心部分,主要采用XILINX公司的ZYNQ-7000®全可编程SoC(APSoC)系列芯片XC7Z045-2FFG900I,该芯片集成ARM处理器的软件可编程性与FPGA的硬件可编程性,不仅可实现重要分析与硬件加速,同时还在单个器件上高度集成CPU、DSP、ASSP以及混合信号功能。
ARM主要完成网络数据传输和目标文件存储功能,FPGA主要完成对应模块通信协议转换和并行加载功能。ZYNQ-7000单元外围辅助电路设计如下:
1)ZYNQ-7000单元时钟设计。将33.333 MHz时钟引入到ZYNQ-7000的PS部分专用时钟引脚上。
2)ZYNQ-7000复位设计。复位芯片选用MAXIM公司生产的MAX706TESA+,复位芯片的复位输出信号接入到Zynq-7000的FLASH、PHY的复位管脚。
3)ZYNQ-7000单元调试口设计。为方便调试和测试需要,数字底板在前面板设计调试接口,调试接口包括以下内容:1个复位输入按钮、1个RS232接口、1个调试网络接口、ZYNQ-7000 JTAG接口。
JTAG调试信号由于是引出到外部连接器作为调试使用,为保证其工作的可靠性,在JTAG对外接口部分设计了Buffer电路,避免外部信号错接或者ESD造成Zynq-7000器件损伤,同时也提高信号的驱动能力,保证在调试线缆过长时也能正常连接设备。
4)ZYNQ-7000单元配置FLASH设计。采用ZYNQ-7000专用FLASH引脚(MIO0~MIO6, MIO9~MIO13),挂载2片MICRON公司的MT25QL256ABA1EW9-OSIT分别作为ZYNQ-7000单元配置FLASH和存储FLASH,用来存放ZYNQ-7000的配置程序和数据。ZYNQ-7000上电完成后即自动从QSPI FLASH加载程序并执行。
5)Zynq-7000单元DDR3L控制器设计。通过XC7Z045的PS实现DDR3接口,选用1片ISSI公司推出的DDR3芯片IS43TR16256A-125KBLI实现,按照PS的接口标准连接到XC7Z045的32位DDR3接口总线。
6)网口设计。ZYNQ-7000的PS端口包含两路10/100/1 000 Mb/s网络接口。数字底板使用其中一路,外围设计由PHY芯片和网络变压器组成。以太网变压器选择PCA公司的EPG4014SE-RC,其供电电压为2.5 V,经过磁珠和去耦电容进行滤波处理。以太网收发PHY芯片选择Marvell公司的88E1111-B2-BAB1I000。
7)核心模块接口单元设计。采用串口通信模块用于与核心模块进行串口通信,通信协议为RS-232,选用Maxim公司的MAX3232EUT+,该芯片具有两路接收器和两路驱动器,提供1 μA关断模式。
8)信号处理模块接口单元设计。数据处理单元与信号处理模块的数据交换采用LVTTL电平实现,其串口选用SN74LVC16T245DGGR实现。SN74LVC16T245DGGR是一款16位同向总线收发器,该器件采用A、B端口供电电源分开VCCA、VCCB,VCCA、VCCB可以提供1.65 V到5.5 V任意电源,适合任意低电压系统间的信号传输;该芯片具有使能端和方向控制端(DIR),16通道分为两组,两组通道分别有自己的控制端口,支持高速数据传输。对于3.3 V到5 V的转换,最大传输速率可以达到200 MHz。
3.4" 电源单元设计
母板电源处理单元分为两部分:数字电源处理和模块电源处理。
3.4.1" 数字电源处理
数字电源处理部分主要包含ZYNQ-7000电源和接口电源两部分。
ZYNQ-7000电源采用LTM4644IY#PBF作为ZYNQ-7000的主电源,TPS51200DRCT作为DDR参考电源。
LTM4644为美国凌特公司生产的一款四通道、每通道4 A输出、开关模式DC/DC电源稳压器系统。封装中内置了开关控制器、功率 FET、电感器和所有的支持元件。其工作输入电压范围为4~14 V,可支持两个位于0.6~5.5 V电压范围之内的输出。为每个通道提供了高达4 A的连续电流(峰值为5 A)。且LTM4644具有过压过流和过热保护功能。
接口部分电源采用LTM4622IY#PBF作为LVTTL、TTL部分电源,采用TPS74401RGWT作为网口电源。
LTM4622为美国凌特公司生产的一款两通道、每通道2.5 A输出、开关模式DC/DC电源稳压器系统,封装中内置了开关控制器、功率 FET、电感器和所有的支持元件。LTM4622的工作输入电压范围为3.6~20 V,可支持两个位于0.6~5.5 V电压范围之内的输出 。
TPS74401RGWT为TI公司生产的具有可编程的3.0 A超低压降稳压器,软启动(SS)引脚提供一个由外部电容器设定的线性启动。该器件具有超低压降:3.0 V时为115 mV,不需要外围电容仍可保持稳定输出。具有启动使能和开关电源正常输出引脚,便于整个系统的电源管理。
3.4.2" 模块电源处理
使用AC/DC电源模块为模块直接供电,母板完成对模块电源的开关控制和电流检测功能。电源开关控制选用Vishay公司生产的P-MOSFET SI4435DDY-T1-E3,其最大导通电压为3 V,负载电流6.5 A。开关控制信号使用光耦PS2703-1进行隔离。电流监控选用Linear公司的LTC2991IMS#PBF,具有电压、电流和温度监控功能,可同时进行4通道电流监控。
4" 软件流程设计
上位机软件运行在主控计算机上,实现人机交互接口,其主要功能如下:加载模块管理、加载文件读入、文件下发、加载过程反馈、加载日志生成存储及电子标签查询等。软件流程设计图如图3所示。
图3" 软件流程
5" 工作原理
离线并行软件加载的核心处理单元在于数据处理单元,其跟主控计算机交联的主要框图如图4所示。
上位机将待升级软件读入后,进行求和校验,通过千兆以太网,将升级文件发给离线并行软件加载平台。该平台的主处理器为ZYNQ-7000,包含PS和PL两部分,PS是一个Cortex-A9 CPU,PL是一个K7FPGA。PS完成与上位机的数据交互,PL完成多模块的并行烧写。
图4" 数据处理单元与主控计算机交联框图
详细处理流程如下:ZYNQ-7000的PS端将从上位机收到的数据按照一个端口对应一个地址区域,将数据放入对应的地址。然后BRAM内部接口发送给PL端,PL端再根据地址,将地址内的数据全部取出,再按照串口协议格式送被加载模块。离线加载流程如下:
第一步,上位机通过指令将各模块所需升级的通道信息下发给ZYNQ-7000的PS端,PS端将收到的开关信息去控制升级数据的下发通道。
第二步,上位机首先发送模块管理模式切换命令。PS端与PL端通过芯片内部BRAM接口通信,PS端将命令放置于固定地址后,PL端读取相应地址中的数据即可完成数据传输。PS端将模块管理模式切换命令根据第一步中开关命令放置不同地址。
第三步,PL端收到命令后将利用一个地址对应一个TX或者RX串口将命令转换为速率3.125 MHz的串口格式发送出去,其间各个串口独立存在,不存在干扰,并且各个串口所发命令一样。
第四步,PL端收到串口回传数据后,将对应数据缓存后,放置于对应地址中,并触发中断提醒PL端收数据,PL端在对应地址收到数据后将数据发送给上位机,由上位机解析数据内容。
离线升级过程中,各个串口发送的数据相同,且相互间不干扰,根据最先发送的地址在回传的数据中,PL端在数据的前端加上通道号,告知上位机回传数据来自哪个通道。
6" 结" 论
本文基于离线并行软件加载的背景、意义需求出发,结合相应模块的接口定义和软件加载的原理,运用Xilinx ZYNQ-7000芯片相关功能及其外围辅助电路设计,开发多路路由技术,实现3种类7个模块19通道离线并行、高速率软件加载。
目前基于该技术针对某集成化电子装备开发出离线型、通用性、多通道、大规模、并行式软件加载测试平台,并应用于某集成化电子装备的科研生产及售后升级环节,其通用离线加载模式及其高效的软件加载效率,促进了数字化转型及科研生效率的提高,同时在集成化电子装备售后大规模升级方面,满足用户使用需求。
该方法对于其他集成化电子装备在大规模的软件加载环节建立适合自身产品特点的软件加载提供了一定借鉴。
参考文献:
[1] 孟宪元. FPGA现代数字系统设计教程 [M].北京:清华大学出版社,2020.
[2] 杜勇. Xilinx FPGA数字信号处理设计 [M].北京:电子工业出版社,2021.
[3] 何宾. Xilinx Zynq-7000嵌入式设计与实现 [M].北京:电子工业出版社,2019.
[4] 里诚. PWM DC-DC电源设计 [M].蒋萌,译.北京:科学出版社,2023.
[5] 黄智伟.电子系统电源电路设计 [M].北京:电子工业出版社,2014.
[6] 任艳频. DC/DC变换电路原理设计 [M].北京:清华大学出版社,2015.
[7] 马俊昌. Java编程逻辑 [M].北京:机械工业出版社,2018.
[8] 刘玉梅. XinLinxZynq-7000嵌入式系统和设计实验教程 [M].北京:科学出版社,2021.
[9] 杜勇. XinlinxFPGA数字信号处理设计 [M].北京:电子工业出版社,2021.
[10] 符意德.嵌入式系统软硬件协同设计教程 基于Xilinx Zynq-7000 [M].北京:清华大学出版社,2020.
作者简介:罗勇(1980—),男,汉族,四川成都人,工程师,本科,研究方向:军工电子装备数字化自动调测技术。