



收稿日期: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—),男,漢族,四川成都人,工程師,本科,研究方向:軍工電子裝備數字化自動調測技術。