郭立俊 楊志謙
(中國電子科技集團公司第38研究所 合肥 230088)
1553B總線是MIL-STD-1553總線的簡稱,是一種集中式時分串行總線方式,主要功能特點有分布處理、集中控制和實時響應等,其可靠性機制包括防錯、容錯及錯誤的檢測與定位、錯誤的隔離、錯誤的校正、系統監控、系統功能恢復、系統冗余設計等,保證了指令傳輸的可靠性[1]。綜合起來分為以下幾個特點:一是實時性好,數據傳輸率為1Mbps,每個消息最多有32個bytes;二是有效的差錯控制和命令方式,為了確保數據傳輸的完整性,數據總線采取了合理的差錯控制措施——反饋重傳糾錯方法;三是總線效率高,總線形式的拓撲結構對總線效率要求高,為此1553B總線對涉及總線效率指標的某些強制性要求如消息間隔時間、響應時間及每次消息傳輸最大和最小數據塊的長度都有嚴格限制;四是有命令/響應及“廣播”通訊方式。
需要傳輸的信息嵌在由消息構成的信息幀中。每個消息包含數目不同的字,有控制字、狀態字和數據字等,每個字占用20個時鐘周期,其中前3個時鐘周期為標志位,用于區分字的類型,最后一個時鐘周期為奇偶校驗位,其余16個時鐘周期為有效信息位。
PowerPC是嵌入式系統設計的發展趨勢,不僅具備了一般嵌入式系統的高可靠性的優點,而且絕大部分的功能都是在一個芯片中完成設計,集成度高、穩定性好,可以滿足軍事設備的研制及批量生產要求。可以廣泛地應用于數據采集系統和復雜的多CPU的分布式控制系統中,并且通過在線重構FPGA內部的邏輯設計,方便實現系統功能升級[2]。
根據系統功能模塊劃分可以得出功能模塊示意圖如圖1所示,PC機主要作為控制和顯示終端,通過網絡接口連接功能插件。功能插件主要包括電源輸入模塊、SDRAM、存儲器、內嵌 PowerPC硬核的FPGA、匹配接口電路以及程序加載電路等,通過調用FPGA內對應的IP核,能夠快速方便的實現接口功能,達到深嵌入式的系統設計,符合功耗低、體積小、功能強的航空設計理念。總線轉換器又稱模擬收發器,是1553B接口總線的關鍵部件,采用雙向碼的曼徹斯特碼,本身包含了自定時信息,它能與變壓器耦合相協調,作為模擬發送器時,主要是接受曼徹斯特II型單相TTL數據并將其轉化為差分的相位調制的雙相1553B總線數據;作為模擬接收器時主要是將總線上的1553B類型的雙相差分數據轉變為單相的TTL電平數據。
系統的硬件設計圍繞FPGA芯片以及外圍接口電路器件展開,FPGA一方面完成控制系統的指令處理和反饋,另一方面解決1153B通信協議的開發。在硬件設計中,1553B協議模塊掛接在Power-PC的OPB總線上,為了方便與PC機通訊,還掛接了一個UART和LAN的IP核,連接OPB總線到外部芯片的數據、地址和控制信號產生滿足1553B接口芯片讀寫時序要求的接口信號,從而使PPC硬核能夠控制接口片,實現對其內部寄存器和RAM的讀寫操作。

圖1 系統模塊示意圖
在本系統設計中,硬件設備主要包括一片Xilinx公司的XC5VFX30T FPGA芯片和1553B總線的協議芯片DDC公司的BU-61580,設計的主要思想是充分利用FPGA芯片的片上資源,構建一個以PowerPC440處理器硬核為核心的嵌入式計算機系統,在FPGA芯片內部實現此系統的應用軟件程序存儲、總線架構、地址譯碼和系統調試等功能,設計的重點工作是FPGA的用戶接口對61580控制時序生成,系統結構框圖見2所示。
其中JTAG調試連接PowerPC微處理器核和JTAG鏈;reset核控制FPGA內各功能模塊的reset復位信號;PowerPC有PLB和OPB兩種總線,與各外設IP核相連,用戶自定義的IP核mycore連接到OPB總線上,用于產生協議芯片的控制時序,實現對其讀寫等操作,另外,協議芯片的中斷信號直接接到PowerPC核的中斷輸入管腿。
FPGA芯片選用Xilinx公司的XC5VFX30T型號,內嵌PowerPC 440處理器硬核,包括36K bit的塊RAM,運行頻率高達550MHz,內核性能高于1000DMIPS,7級流水線,每個工作周期可執行多條指令,32KB64路組關聯一級指令或數據高速緩存;128位處理器局部總線結構,用于連接DDR2存儲器控制器的專用接口;PPC440嵌入式模塊與基于FPGA的協處理器的直接連接。
除了以下資源和結構上優點以外,作為FPGA片上系統的解決方案,具有FPGA現場邏輯可編程調試、IP核重復利用、硬件集成度高等特點;同時,Xilinx公司提供專用的軟件開發工具和調試工具,也使得系統應用程序編程、調試和下載靈活方便,所有的這些優勢,決定了深嵌入式設計方式成為未來的發展趨勢。

圖2 系統結構框圖
1553B總線接口電路協議芯片采用DDC公司的BU-61580系列,具有可編程功能,用戶只需配置相應的寄存器和芯片內部的RAM即可完成對通信初始化配置,所有通信協議的實現全部由芯片內部硬件邏輯自動實現。器件可以選擇在12MHz和16MHz兩種時鐘頻率下工作,內部具有雙收發器、編解碼器、內存管理和中斷控制邏輯等功能,此外,還提供了一個4K Bytes的內部共享靜態RAM和與PowerPC微處理器總線之間的緩沖接口,軟件接口包括17個內部操作寄存器、8個測試寄存器和64K Bytes的共享存儲器地址空間。

圖3 接口電路原理圖
1553B總線接口硬件電路如圖3所示,協議芯片的數據線、地址線和控制線連接到帶有處理器硬核的FPGA芯片,完成與FPGA芯片連接,也即作為FPGA芯片的一個外設器件,硬件構建結束后,通過軟件工具調用相對應的IP程序包,解決硬件設備驅動,形成可構建的處理器系統。
BU-61580所有控制信號由FPGA的譯碼電路產生,通過中斷方式與PowerPC處理器核通信,輸出端通過兩個耦合變壓器與外部的1553B總線連接,用6位的開關電路設置終端地址。可以設置微處理器核的等待方式受READY信號控制,BU-61580選擇非零等待方式,在微處理器對協議芯片進行并行總線讀寫操作時,BU-61580內部邏輯電路若有操作時,微處理器需要等待 BU-61580 準備好[3]。
完成硬件構架后,根據系統任務需求配置相應軟件驅動和應用程序,系統就可以進行工作。通過PowerPC硬核來初始化芯片內部RAM,然后配置RT(遠程終端)的一組狀態寄存器,用來控制RT的工作狀態。數據傳輸后,RT對總線上接收到的命令字和數據字進行譯碼,并存放到接收緩沖單元中,硬核處理器將緩沖單元中的數據存放到RAM中,并根據接收到的命令字將所需要的數據字存放到發送緩沖單元中,遠程終端控制器組織狀態字,將其和緩沖單元中的數據字重新編碼,最后發送到OPB總線上。在整個系統設計上,從IP核的選擇,BSP包驅動的生成,到1553B協議程序的編寫是一個緊密的過程,具體參見軟件系統框圖4所示。Xilinx提供了一種總線和用戶邏輯的接口IPIF(IP Interface),利用它解決接口信號和總線協議,在用戶邏輯看來,IPIF表現為一系列對應的接口信號,兩者共同構成了用戶 IP 核[4]。
在總線接口模塊設計中,曼徹斯特編解碼是實現系統功能的核心內容,所以系統研究的重點是驗證編碼數據和解碼數據的正確性。為了觀察曼徹斯特編解碼是否正確,擬采用Xilinx系列的ChipScope邏輯分析儀工具觀察系統仿真波形[5],serial-data是發模塊經過編碼處理后的串行數據,rx-word是接收模塊經過解碼得到的16bit并行數據,通過對比圖5所示的數據波形,判斷這兩個數據是否滿足曼徹斯特編碼標準要求。
從仿真波形圖5看出,busy信號在編碼過程中始終為高電平,在編碼結束后的一個時鐘周期內變為低電平。rx-dval信號在解碼結束后的一個解碼時鐘周期內為高電平,說明此時完成解碼,接收到數據rx-word為5678,對比發送的數據和編碼數據serial-data,表明編解碼正確[6]。

圖4 軟件系統框圖

圖5 仿真波形圖
PowerPC微處理器和1553B協議處理單元的無縫連接,既能滿足大規模系統設計,又降低了系統功耗,在硬件上能夠很好地符合大系統設計要求。將該系統設計的總線協議接口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總線遠置終端的實現[J].中國科學院研究生學報,2006,(3):407-411.
[4]李娟.基于 FGPA的1553B總線接口設計[J].微型機與應用,2011,(12):96-98.
[5]石紅梅.用FPGA實現1553B總線接口中的曼碼編解碼器[J].單片機與嵌入式系統應用,2004,(4):18-22.
[6]劉曙蓉,張偉功,段青亞,宋陽.預測校正型曼Ⅱ碼譯碼器技術研究與實現[J].微電子學與計算機,2005,(9):38-41.