張玉福,劉鵬,王曉曼
(長(zhǎng)春理工大學(xué) 電子信息工程學(xué)院,長(zhǎng)春 130022)
基于ARM和FPGA高速1553B總線測(cè)試系統(tǒng)的設(shè)計(jì)
張玉福,劉鵬,王曉曼
(長(zhǎng)春理工大學(xué) 電子信息工程學(xué)院,長(zhǎng)春 130022)
鑒于傳統(tǒng)的1553B總線設(shè)備傳輸速率低、接口單一化等不能滿足實(shí)際應(yīng)用需求的問題,利用Zynq-7000芯片設(shè)計(jì)一套基于嵌入式ARM控制器和FPGA的高速1553B總線測(cè)試系統(tǒng)。采用自頂向下的設(shè)計(jì)方法,對(duì)ARM(PS部分)、FPGA(PL部分)分別進(jìn)行設(shè)計(jì)。PS部分采取USB和以太網(wǎng)雙接口完成跟PC機(jī)的數(shù)據(jù)通信;設(shè)計(jì)IP核實(shí)現(xiàn)符合1553B總線協(xié)議的編解碼處理功能。通過Xilinx自帶仿真工具ISE Simulator對(duì)各個(gè)模式下消息傳輸進(jìn)行時(shí)序仿真,表明系統(tǒng)提高了1553B總線接口傳輸速度,使得總線設(shè)備與PC機(jī)通信更加方便滿足實(shí)際應(yīng)用。
1553B總線;Zynq-7000;IP核;嵌入式
1553B(MIL-STD-1553B)總線是一種時(shí)分制命令/響應(yīng)型串行多路復(fù)用的航空數(shù)據(jù)總線標(biāo)準(zhǔn)[1],鑒于其優(yōu)異的性能被廣泛應(yīng)用在各種武器裝備上。隨著我國(guó)航空、航天、坦克以及艦船等技術(shù)的發(fā)展,1553B總線需要傳輸大量的數(shù)據(jù),對(duì)其傳輸數(shù)據(jù)速率要求及高,而且數(shù)據(jù)結(jié)構(gòu)更加復(fù)雜,1Mbp/s的總線帶寬已達(dá)不到航空、航天及地面裝甲車輛系統(tǒng)中數(shù)據(jù)的高速傳輸、大容量存儲(chǔ)等基本要求。現(xiàn)在市場(chǎng)上可用的芯片多從國(guó)外進(jìn)口,價(jià)格高昂,而國(guó)內(nèi)生產(chǎn)的性能相對(duì)落后。本文應(yīng)用Zynq-7000芯片設(shè)計(jì)基于嵌入式ARM控制器和FPGA的1553B總線測(cè)試系統(tǒng),提高了1553B總線的傳輸速度,滿足系統(tǒng)對(duì)1553B總線高速應(yīng)用的需求。
1553B總線包括三種終端類型:總線控制器(BC)、遠(yuǎn)端終端(RT)、總線監(jiān)控器(BM),1553B總線接口的構(gòu)造必須能夠具備向雙絞線發(fā)送消息、接收消息、信息處理以及傳輸數(shù)據(jù)給子系統(tǒng)的全部功能,即完成子系統(tǒng)與1553B數(shù)據(jù)總線的通信接口功能[2]。在接口設(shè)計(jì)上,ARM通過USB或以太網(wǎng)跟PC機(jī)通訊,設(shè)計(jì)IP核實(shí)現(xiàn)符合1553B總線協(xié)議的處理和編解碼功能,提高總線接口的傳輸速率。

圖1 系統(tǒng)總體方案設(shè)計(jì)框圖
1.1 Zynq-7000 SoPC芯片
以Zynq-7000可擴(kuò)展處理平臺(tái)作為整個(gè)實(shí)時(shí)處理系統(tǒng)的核心,包括ARM(PS)、FPGA(PL)兩部分。其中PS部分集成了最高可運(yùn)行在1GHz的雙核ARM Cortex-A9;PL部分包含了傳統(tǒng)意義的FPGA邏輯單元,能夠靈活地用于各種目標(biāo)應(yīng)用[3]。
ARM處理器內(nèi)核有兩個(gè)Cortex-A9處理器子系統(tǒng),每個(gè)處理器包含獨(dú)立的32KICASH和DCASH,運(yùn)行速率高達(dá)800MHz,二者間共享有512K的L2 CASH。兩個(gè)子系統(tǒng)工作模式可分為對(duì)稱和非對(duì)稱兩種,也可以選擇只用一個(gè)或者在它們之間建立調(diào)度關(guān)系,采用傳統(tǒng)的ARM調(diào)試方法對(duì)處理器調(diào)試[4]。該芯片具備100-Gbps的峰值帶寬,可以使ARM處理器和FPGA架構(gòu)的硬件加速器高效的共享資源數(shù)據(jù)。PL部分有3000多個(gè)內(nèi)部連接,利用其豐富的擴(kuò)展能力擴(kuò)展子系統(tǒng),將FPGA緊密地與ARM的處理單元相結(jié)合,實(shí)現(xiàn)了無縫連接。
1.1.1 FPGA(PL部分)IP核
FPGA處理部分如圖2所示,編解碼部分主要實(shí)現(xiàn)FPGA內(nèi)部的TTL信號(hào)與雙極性曼徹斯特碼之間的轉(zhuǎn)換,協(xié)議處理實(shí)現(xiàn)命令字的分析,1553B總線接口的核心控制單元是數(shù)據(jù)的正確讀寫與發(fā)送等基本通訊功能,可被配置成BC、RT或BM控制器存儲(chǔ)收發(fā)數(shù)據(jù)[6]。

圖2 FPGA處理部分結(jié)構(gòu)框圖
本系統(tǒng)設(shè)計(jì)的重點(diǎn)和難點(diǎn)是利用Zynq-7000芯片的PL部分如何設(shè)計(jì)1553B總線的IP核協(xié)議。用FPGA(PL)部分實(shí)現(xiàn)總線協(xié)議的編碼、解碼的功能,具體過程:設(shè)計(jì)IP核構(gòu)建協(xié)議處理器,解析1553B總線上傳輸?shù)穆鼜厮固卮a得到16位并行數(shù)據(jù)、各種校驗(yàn)信息等,通過內(nèi)部的AXI總線輸出至ARM接口,然后通過USB口或網(wǎng)口跟PC機(jī)完成上行通訊;上位機(jī)傳送消息到ARM接口,再由FPGA協(xié)議處理、編碼,將16位并行二進(jìn)制數(shù)據(jù)轉(zhuǎn)化為符合協(xié)議標(biāo)準(zhǔn)的20位消息,從而完成下行通訊。
1.1.2 雙核ARM Cortex-A9(PS部分)
雙核ARM Cortex-A9主要是用于整個(gè)系統(tǒng)的控制管理及跟PC機(jī)的通訊。雙核ARM Cortex-A9內(nèi)置USB 2.0全速器件/主機(jī)/OTG控制器并帶有片上物理層接口(PHY),則不需額外使用專門的USB協(xié)議芯片;以太網(wǎng)部分配有功能齊全的10Mbps的MAC,只需配置PHY芯片即可[5]。ARM與FPGA通過內(nèi)部AXI_HP、AXI_GP、AXI_ACP三種接口實(shí)現(xiàn)無縫通信,實(shí)現(xiàn)系統(tǒng)控制和數(shù)據(jù)交換功能;雙核ARM Cortex-A9通過外設(shè)與上位機(jī)連接,根據(jù)相應(yīng)的功能需求,通過控制以太網(wǎng)接口、USB接口完成相應(yīng)信息的處理、傳輸和存儲(chǔ)。
1.2 隔離變壓器和耦合變壓器
1553B總線是主從結(jié)構(gòu),采用的編碼格式是曼徹斯特碼,最多可以掛載31個(gè)終端。總線控制器到遠(yuǎn)程終端使用雙絞屏蔽線傳輸,假若終端離總線很近(大約小于0.3米),那么終端與總線間就可以通過隔離變壓器及串入的隔離電阻相接;反之假若終端離總線比較遠(yuǎn)則需要插入一個(gè)耦合變壓器。總線系統(tǒng)與終端之間,無論是直接耦合還是通過變壓器耦合,為了解決實(shí)現(xiàn)短路保護(hù)、直流隔離和阻抗匹配等問題,設(shè)計(jì)時(shí)必須接隔離變壓器。
軟件設(shè)計(jì)主要由應(yīng)用層程序、USB和網(wǎng)絡(luò)接口的驅(qū)動(dòng)程序移植等構(gòu)成。各部分關(guān)系如圖3所示:

圖3 系統(tǒng)軟件設(shè)計(jì)總體框圖
該系統(tǒng)應(yīng)用層程序主要由消息接收機(jī)、發(fā)送、存儲(chǔ)等部分組成,是系統(tǒng)軟件的主要組成部分。根據(jù)相關(guān)功能的需求,應(yīng)用Xilinx公司專用的開發(fā)工具搭建開發(fā)環(huán)境,編寫相應(yīng)的收發(fā)、存儲(chǔ)、處理等程序,滿足用戶的要求。
開發(fā)USB客戶端驅(qū)動(dòng)并編些接口固件程序,基于FPGA的IP核設(shè)計(jì)時(shí),固件程序是將ARM接口傳輸過來的16位數(shù)據(jù)進(jìn)行協(xié)議編碼處理,繼而輸出20位的雙極性曼徹斯特碼[7],接收和發(fā)送數(shù)據(jù)是互逆的過程。
基于FPGA的IP核設(shè)計(jì)使用了Verilog HDL硬件描述語言,通過Xilinx自帶仿真工具ISE Simulator對(duì)各個(gè)模式下消息傳輸進(jìn)行時(shí)序仿真。
BC是總線上啟動(dòng)信息傳輸任務(wù)的終端,所數(shù)的信息傳輸都是由BC發(fā)出指令,其主要負(fù)責(zé)總線上數(shù)據(jù)流的調(diào)度,如圖4所示1號(hào)為BC向RT發(fā)出發(fā)送指令時(shí)的時(shí)序仿真;RT是用戶子系統(tǒng)跟數(shù)據(jù)總線間的接口,它在BC的控制下收發(fā)數(shù)據(jù),通信中RT檢測(cè)總線上的命令字,2號(hào)為RT響應(yīng)BC接收指令的時(shí)序仿真;MT(總線監(jiān)視器)是被指派接收總線通訊任務(wù)并繼而提取將要使用信息的終端,它負(fù)責(zé)監(jiān)控總線上的信息傳輸,從而完成數(shù)據(jù)的記錄分析,但是它本身并不參與總線通信過程[8],3號(hào)為工作在MT模式下的時(shí)序仿真圖。

圖4 時(shí)序仿真
利用JTAG接口下載ARM和FPGA兩部分的程序到Zynq-7000芯片中調(diào)試硬件[9]。將設(shè)計(jì)的測(cè)試系統(tǒng)和1553B總線信號(hào)源對(duì)接,進(jìn)行總線設(shè)備之間的收發(fā)通訊。BC向RT發(fā)送各種不同格式的信息,使用數(shù)字示波器來捕獲總線上的信號(hào)波形,觀察總線上的波形驗(yàn)證消息傳輸?shù)恼_性[10]。
硬件測(cè)試時(shí)調(diào)試好硬件電路,測(cè)試設(shè)計(jì)的系統(tǒng)是否檢測(cè)到1553B總線設(shè)備。ARM處理器啟動(dòng)消息的傳輸,RT在收到命令字和數(shù)據(jù)字后返回正確的狀態(tài)字,數(shù)字示波器測(cè)得總線上的數(shù)據(jù)波形如圖5上;RT向BC傳輸數(shù)據(jù),數(shù)字示波器測(cè)得總線上的波形如圖5下。

圖5 示波器波形圖
分析示波器捕捉到的波形,可以看到其頻率及波形升降均達(dá)到1553B總線的協(xié)議標(biāo)準(zhǔn),從而驗(yàn)證了信息傳輸?shù)臏?zhǔn)確性。通過分析波形可以得出結(jié)論,硬件測(cè)試結(jié)果與軟件仿真一致且傳輸速率支持1Mbps和10Mbps兩種模式。
通過研究1553B總線的協(xié)議,設(shè)計(jì)基于ARM和FPGA的高速1553B總線測(cè)試系統(tǒng),分別從硬件和軟件兩方面論述本系統(tǒng),并通過軟件和硬件的仿真驗(yàn)證,實(shí)現(xiàn)其功能。在跟PC機(jī)通訊中,采用USB和網(wǎng)口,解決接口單一問題。另外,本系統(tǒng)體積小,便于攜帶,應(yīng)用FPGA設(shè)計(jì)的IP核,降低了成本,增強(qiáng)了系統(tǒng)的性能,在未來電子設(shè)備中發(fā)揮了重要的作用。
[1] 國(guó)防科學(xué)技術(shù)工業(yè)委員會(huì).GJB289A-97數(shù)字式時(shí)分制指令/響應(yīng)型多路傳輸數(shù)據(jù)總線[S].中國(guó)標(biāo)準(zhǔn)出版社,1998.[2] 虞希清.專用集成電路設(shè)計(jì)實(shí)用教程[M].杭州:浙江大學(xué)出版社,2007:13-26.
[3] 代霜,王槐,徐抒巖.1553B總線通訊的可靠性設(shè)計(jì)[J].光機(jī)電信息,2010(9):52-58.
[4] 田耘,徐文波.Xilinx FPGA開發(fā)實(shí)用教程[M].北京:清華大學(xué)出版社,2008.
[5]林豐成,竺紅衛(wèi),李立.數(shù)字集成電路設(shè)計(jì)與技術(shù)[M].北京:科學(xué)出版社,2008.
[6] 徐麗清,姬勞,1553B總線接口技術(shù)研究及FPGA實(shí)現(xiàn).[D].西安:西北工業(yè)大學(xué),2006(3):10-32.
[7] Diao Lifeng,Dai Ming,Lei Jianming.Application of IP Core Technology to the 1553B Bus Data Traffic[C].Conference on Postgraduate Research in Microelectronics and Electronics,IEEE,2010:338-342.
[8] Zhang Yongxiang,Zhang Weigong,Zhou Quan,et al. The Design of 1553B Communication Bus Based ofBU-61580[C].2010the5thIEEE Conference on IndustrialElectronics and Applications,2010: 1920-1923.
[9] Xilinx,Inc.XC18V00 Series In-System-Programmable Configuration PROMS[OL].DS026 January,2008.
[10] Xilinx Inc.DS190,Zynq-7000 Extensible Processing Platform Overview[DB/OL].2012.
Design of High Speed 1553B Bus Test System Based on ARM and FPGA
ZHANG Yufu,LIU Peng,WANG Xiaoman
(School of Electronics and Information Engineering,Changchun University of Science and Technology,Changchun 130022)
In consideration of the problem that the traditional 1553B bus device can not meet the requirements of practical application,such as low transmission rate,single interface and so on.A high speed 1553B bus test system based on embedded ARM controller and FPGA is designed by using Zynq-7000 chip.Using top-down design method,the ARM(PS part)and FPGA(PL part)were designed.The PS part adopts the USB and Ethernet dual interface to complete the data communication with the PC machine.Design the IP core to achieve the 1553B bus protocol coding and decoding processing function.Through the Xilinx comes with simulation tool ISE simulator for each mode message transmission timing simulation,show that the system improves the 1553B bus interface transmission speed,making bus devices and PC communication more convenient to meet the practical application.
1553B bus;Zynq-7000;IP core;embedded
TP332
A
1672-9870(2016)05-0088-03
2016-04-20
張玉福(1990-),男,碩士研究生,E-mail:1451406579@qq.com
王曉曼(1956-),女,教授,E-mail:wmftys@126.com