郭立俊 楊志謙
(中國電子科技集團公司第38研究所 合肥 230088)
1553B總線是MIL-STD-1553總線的簡稱,是一種集中式時分串行總線方式,主要功能特點有分布處理、集中控制和實時響應等,其可靠性機制包括防錯、容錯及錯誤的檢測與定位、錯誤的隔離、錯誤的校正、系統(tǒng)監(jiān)控、系統(tǒng)功能恢復、系統(tǒng)冗余設計等,保證了指令傳輸?shù)目煽啃裕?]。綜合起來分為以下幾個特點:一是實時性好,數(shù)據(jù)傳輸率為1Mbps,每個消息最多有32個bytes;二是有效的差錯控制和命令方式,為了確保數(shù)據(jù)傳輸?shù)耐暾?,?shù)據(jù)總線采取了合理的差錯控制措施——反饋重傳糾錯方法;三是總線效率高,總線形式的拓撲結(jié)構(gòu)對總線效率要求高,為此1553B總線對涉及總線效率指標的某些強制性要求如消息間隔時間、響應時間及每次消息傳輸最大和最小數(shù)據(jù)塊的長度都有嚴格限制;四是有命令/響應及“廣播”通訊方式。
需要傳輸?shù)男畔⑶对谟上?gòu)成的信息幀中。每個消息包含數(shù)目不同的字,有控制字、狀態(tài)字和數(shù)據(jù)字等,每個字占用20個時鐘周期,其中前3個時鐘周期為標志位,用于區(qū)分字的類型,最后一個時鐘周期為奇偶校驗位,其余16個時鐘周期為有效信息位。
PowerPC是嵌入式系統(tǒng)設計的發(fā)展趨勢,不僅具備了一般嵌入式系統(tǒng)的高可靠性的優(yōu)點,而且絕大部分的功能都是在一個芯片中完成設計,集成度高、穩(wěn)定性好,可以滿足軍事設備的研制及批量生產(chǎn)要求。可以廣泛地應用于數(shù)據(jù)采集系統(tǒng)和復雜的多CPU的分布式控制系統(tǒng)中,并且通過在線重構(gòu)FPGA內(nèi)部的邏輯設計,方便實現(xiàn)系統(tǒng)功能升級[2]。
根據(jù)系統(tǒng)功能模塊劃分可以得出功能模塊示意圖如圖1所示,PC機主要作為控制和顯示終端,通過網(wǎng)絡接口連接功能插件。功能插件主要包括電源輸入模塊、SDRAM、存儲器、內(nèi)嵌 PowerPC硬核的FPGA、匹配接口電路以及程序加載電路等,通過調(diào)用FPGA內(nèi)對應的IP核,能夠快速方便的實現(xiàn)接口功能,達到深嵌入式的系統(tǒng)設計,符合功耗低、體積小、功能強的航空設計理念??偩€轉(zhuǎn)換器又稱模擬收發(fā)器,是1553B接口總線的關(guān)鍵部件,采用雙向碼的曼徹斯特碼,本身包含了自定時信息,它能與變壓器耦合相協(xié)調(diào),作為模擬發(fā)送器時,主要是接受曼徹斯特II型單相TTL數(shù)據(jù)并將其轉(zhuǎn)化為差分的相位調(diào)制的雙相1553B總線數(shù)據(jù);作為模擬接收器時主要是將總線上的1553B類型的雙相差分數(shù)據(jù)轉(zhuǎn)變?yōu)閱蜗嗟腡TL電平數(shù)據(jù)。
系統(tǒng)的硬件設計圍繞FPGA芯片以及外圍接口電路器件展開,F(xiàn)PGA一方面完成控制系統(tǒng)的指令處理和反饋,另一方面解決1153B通信協(xié)議的開發(fā)。在硬件設計中,1553B協(xié)議模塊掛接在Power-PC的OPB總線上,為了方便與PC機通訊,還掛接了一個UART和LAN的IP核,連接OPB總線到外部芯片的數(shù)據(jù)、地址和控制信號產(chǎn)生滿足1553B接口芯片讀寫時序要求的接口信號,從而使PPC硬核能夠控制接口片,實現(xiàn)對其內(nèi)部寄存器和RAM的讀寫操作。
圖1 系統(tǒng)模塊示意圖
在本系統(tǒng)設計中,硬件設備主要包括一片Xilinx公司的XC5VFX30T FPGA芯片和1553B總線的協(xié)議芯片DDC公司的BU-61580,設計的主要思想是充分利用FPGA芯片的片上資源,構(gòu)建一個以PowerPC440處理器硬核為核心的嵌入式計算機系統(tǒng),在FPGA芯片內(nèi)部實現(xiàn)此系統(tǒng)的應用軟件程序存儲、總線架構(gòu)、地址譯碼和系統(tǒng)調(diào)試等功能,設計的重點工作是FPGA的用戶接口對61580控制時序生成,系統(tǒng)結(jié)構(gòu)框圖見2所示。
其中JTAG調(diào)試連接PowerPC微處理器核和JTAG鏈;reset核控制FPGA內(nèi)各功能模塊的reset復位信號;PowerPC有PLB和OPB兩種總線,與各外設IP核相連,用戶自定義的IP核mycore連接到OPB總線上,用于產(chǎn)生協(xié)議芯片的控制時序,實現(xiàn)對其讀寫等操作,另外,協(xié)議芯片的中斷信號直接接到PowerPC核的中斷輸入管腿。
FPGA芯片選用Xilinx公司的XC5VFX30T型號,內(nèi)嵌PowerPC 440處理器硬核,包括36K bit的塊RAM,運行頻率高達550MHz,內(nèi)核性能高于1000DMIPS,7級流水線,每個工作周期可執(zhí)行多條指令,32KB64路組關(guān)聯(lián)一級指令或數(shù)據(jù)高速緩存;128位處理器局部總線結(jié)構(gòu),用于連接DDR2存儲器控制器的專用接口;PPC440嵌入式模塊與基于FPGA的協(xié)處理器的直接連接。
除了以下資源和結(jié)構(gòu)上優(yōu)點以外,作為FPGA片上系統(tǒng)的解決方案,具有FPGA現(xiàn)場邏輯可編程調(diào)試、IP核重復利用、硬件集成度高等特點;同時,Xilinx公司提供專用的軟件開發(fā)工具和調(diào)試工具,也使得系統(tǒng)應用程序編程、調(diào)試和下載靈活方便,所有的這些優(yōu)勢,決定了深嵌入式設計方式成為未來的發(fā)展趨勢。
圖2 系統(tǒng)結(jié)構(gòu)框圖
1553B總線接口電路協(xié)議芯片采用DDC公司的BU-61580系列,具有可編程功能,用戶只需配置相應的寄存器和芯片內(nèi)部的RAM即可完成對通信初始化配置,所有通信協(xié)議的實現(xiàn)全部由芯片內(nèi)部硬件邏輯自動實現(xiàn)。器件可以選擇在12MHz和16MHz兩種時鐘頻率下工作,內(nèi)部具有雙收發(fā)器、編解碼器、內(nèi)存管理和中斷控制邏輯等功能,此外,還提供了一個4K Bytes的內(nèi)部共享靜態(tài)RAM和與PowerPC微處理器總線之間的緩沖接口,軟件接口包括17個內(nèi)部操作寄存器、8個測試寄存器和64K Bytes的共享存儲器地址空間。
圖3 接口電路原理圖
1553B總線接口硬件電路如圖3所示,協(xié)議芯片的數(shù)據(jù)線、地址線和控制線連接到帶有處理器硬核的FPGA芯片,完成與FPGA芯片連接,也即作為FPGA芯片的一個外設器件,硬件構(gòu)建結(jié)束后,通過軟件工具調(diào)用相對應的IP程序包,解決硬件設備驅(qū)動,形成可構(gòu)建的處理器系統(tǒng)。
BU-61580所有控制信號由FPGA的譯碼電路產(chǎn)生,通過中斷方式與PowerPC處理器核通信,輸出端通過兩個耦合變壓器與外部的1553B總線連接,用6位的開關(guān)電路設置終端地址。可以設置微處理器核的等待方式受READY信號控制,BU-61580選擇非零等待方式,在微處理器對協(xié)議芯片進行并行總線讀寫操作時,BU-61580內(nèi)部邏輯電路若有操作時,微處理器需要等待 BU-61580 準備好[3]。
完成硬件構(gòu)架后,根據(jù)系統(tǒng)任務需求配置相應軟件驅(qū)動和應用程序,系統(tǒng)就可以進行工作。通過PowerPC硬核來初始化芯片內(nèi)部RAM,然后配置RT(遠程終端)的一組狀態(tài)寄存器,用來控制RT的工作狀態(tài)。數(shù)據(jù)傳輸后,RT對總線上接收到的命令字和數(shù)據(jù)字進行譯碼,并存放到接收緩沖單元中,硬核處理器將緩沖單元中的數(shù)據(jù)存放到RAM中,并根據(jù)接收到的命令字將所需要的數(shù)據(jù)字存放到發(fā)送緩沖單元中,遠程終端控制器組織狀態(tài)字,將其和緩沖單元中的數(shù)據(jù)字重新編碼,最后發(fā)送到OPB總線上。在整個系統(tǒng)設計上,從IP核的選擇,BSP包驅(qū)動的生成,到1553B協(xié)議程序的編寫是一個緊密的過程,具體參見軟件系統(tǒng)框圖4所示。Xilinx提供了一種總線和用戶邏輯的接口IPIF(IP Interface),利用它解決接口信號和總線協(xié)議,在用戶邏輯看來,IPIF表現(xiàn)為一系列對應的接口信號,兩者共同構(gòu)成了用戶 IP 核[4]。
在總線接口模塊設計中,曼徹斯特編解碼是實現(xiàn)系統(tǒng)功能的核心內(nèi)容,所以系統(tǒng)研究的重點是驗證編碼數(shù)據(jù)和解碼數(shù)據(jù)的正確性。為了觀察曼徹斯特編解碼是否正確,擬采用Xilinx系列的ChipScope邏輯分析儀工具觀察系統(tǒng)仿真波形[5],serial-data是發(fā)模塊經(jīng)過編碼處理后的串行數(shù)據(jù),rx-word是接收模塊經(jīng)過解碼得到的16bit并行數(shù)據(jù),通過對比圖5所示的數(shù)據(jù)波形,判斷這兩個數(shù)據(jù)是否滿足曼徹斯特編碼標準要求。
從仿真波形圖5看出,busy信號在編碼過程中始終為高電平,在編碼結(jié)束后的一個時鐘周期內(nèi)變?yōu)榈碗娖?。rx-dval信號在解碼結(jié)束后的一個解碼時鐘周期內(nèi)為高電平,說明此時完成解碼,接收到數(shù)據(jù)rx-word為5678,對比發(fā)送的數(shù)據(jù)和編碼數(shù)據(jù)serial-data,表明編解碼正確[6]。
圖4 軟件系統(tǒng)框圖
圖5 仿真波形圖
PowerPC微處理器和1553B協(xié)議處理單元的無縫連接,既能滿足大規(guī)模系統(tǒng)設計,又降低了系統(tǒng)功耗,在硬件上能夠很好地符合大系統(tǒng)設計要求。將該系統(tǒng)設計的總線協(xié)議接口IP核固化到FPGA中,通過仿真效果示意圖可以看出,對總線接口的時序讀寫符合總體要求,在具體的實際應用中能夠滿足功能指標。
[1]DDC.ACE/Mini-ACE series BC/RT/MT advanced communication engine integrated 1553 terminal BU-61570,BU-61580,BU-61585,BU-61590,BU-65178,BU-61588,BU-65179,BU-61688,BU-616889,BU-61582,BU-61583,BU-65620 and BU -65621 User’sGuide.JUNE 1999.
[2]馬榮彪.PowerPC RISC微處理器[J].電光與控制,1995,(4):41-45.
[3]葉詠辰.基于PowerPC處理器硬核的1553B總線遠置終端的實現(xiàn)[J].中國科學院研究生學報,2006,(3):407-411.
[4]李娟.基于 FGPA的1553B總線接口設計[J].微型機與應用,2011,(12):96-98.
[5]石紅梅.用FPGA實現(xiàn)1553B總線接口中的曼碼編解碼器[J].單片機與嵌入式系統(tǒng)應用,2004,(4):18-22.
[6]劉曙蓉,張偉功,段青亞,宋陽.預測校正型曼Ⅱ碼譯碼器技術(shù)研究與實現(xiàn)[J].微電子學與計算機,2005,(9):38-41.