牛茜
(山西機電職業技術學院,山西長治 046011)
基于FPGA的航空總線錯誤編碼發生器設計
牛茜
(山西機電職業技術學院,山西長治 046011)
本文介紹了一款基于FPGA技術,針對于自主研發航空總線設備測試的曼徹斯特II型碼錯誤編碼發生器的設計。該編碼發生器具備特定的終端號,以終端形式存在于總線系統中,它可以產生三種不同類型的錯誤編碼,按總線控制器的要求向總線系統上的特定終端發送相應錯誤編碼,以測試由不同設計者設計制作的終端設備在發送信息有誤時的反應;便于整個航空總線系統功能的統一,具有很強的實踐價值。
曼徹斯特II型碼 1553B總線 FPGA
1553B總線是一種非常成熟且應用廣泛的航空總線,隨著電子技術的飛速發展,越來越多的設計者已經可以依托更新的科學技術,比如FPGA技術,掙脫少數國家的技術壟斷,以航空總線協議為標準,自行設計功能多樣的終端設備,以滿足更多更高的要求[1]。但是更多的設計者的參與也意味著對總線系統測試的更高要求。本文介紹一款錯誤編碼發生器的設計方法,該發生器可以生成完全符合1553B總線通信協議的三種不同類型的錯誤編碼,應用于總線系統中,以測試自行研發的航空總線終端的標準性與實用性。
1553B總線上數據的傳輸主要是依靠曼徹斯特II型碼,每二十個比特位組成一個字,有命令、數據、狀態三種不同類型。根據協議要求若干數量和種類的字組成不同類型的消息,消息發送至總線上,相應終端執行命令或是控制器得到終端回信,完成數據交流。該總線上數據傳輸速率是1Mbit/s,曼II型碼用“01”表示邏輯0,用“10”表示邏輯1,如圖1所示為曼II型碼表示的“1000”。三種不同類型的的字雖然都是20個比特位的曼II型碼,但是又各有不同,在這里不多加詳述,詳情可參照1553B總線通信協議[2]。

圖1 Manchester II編碼方式圖

圖2 錯誤編碼發生器FPGA設計

圖3 同步頭錯誤數據仿真圖

圖4 奇偶位錯誤數據示波器圖
該設計在FPGA中的實現主要通過以下三部分,如圖2所示:譯碼器、錯誤數據發生器和協議處理功能控制部分。當該設計以一終端形式接入待測試總線網絡時,我們來分析一下數據的流向及處理情況[3]:該錯誤編碼發生器以遠程終端的形式存在于數據總線中,并且其具備特定的終端號碼。當總線控制器發出命令,要求該終端發出某種類型的錯誤編碼時,命令通過收發器進入FPGA中的譯碼器模塊進行譯碼,并將命令字中的有效信息送至協議處理功能控制模塊,在這一模塊里分析命令字的有效數據,明了總線控制器要求終端發送一個什么類型的錯誤編碼,我們把將要發送的錯誤編碼的信息送入錯誤數據發生器,生成符合要求的曼徹斯特II型碼,再經過收發器,最終發送至數據總線上。
設計者采用VHDL語言完成了FPGA中的邏輯設計,在相關軟件中,對錯誤數據發生器模塊進行了仿真,如圖3所示,為產生同步頭錯誤編碼的仿真結果圖。
在仿真之后,設計者使用Altium Designer6.0軟件繪制了系統PCB板圖,制作了該設計的電路板,進行了實驗驗證,示波器觀測了發送至總線上的錯誤編碼,如圖4、圖5所示。
本設計采用FPGA技術,首次制作了可以產生錯誤曼徹斯特II型碼的編碼器,設計靈活,同時也有許多不足,如產生的錯誤編碼類型少,不能產生錯誤的消息等。隨著1553B總線的更廣泛應用,更多的自主研發產品的出現,該款編碼器將會得到廣泛的應用,其功能也將會越來越完善。
[1]廖文彬.MIL-STD-1553B多功能總線測試卡的實現[D].成都:電子科技大學,2006.
[2]陜西恒立電子有限責任公司.美國軍用1553B協議中文翻譯資料.2000.
[3]牛茜.基于FPGA的1553B總線監測系統設計[D].太原:中北大學, 2011.
[4]夏宇聞.Verilog數字系統設計教程[第二版][M].北京:北京航空航天大學出版社,2008.
[5]DDC.Inc.ACE/Mini-ACE Series BC/RT/MT Inegrated 1553 Terminal User’s Guide.2005.

圖5 數據位錯誤數據示波器圖
牛茜(1986—),女,山西長治人,碩士,助講,主要從事電子電氣教學與研究。