【摘 要】本文介紹了一款基于FPGA技術(shù),針對(duì)于自主研發(fā)航空總線設(shè)備測試的曼徹斯特II型碼錯(cuò)誤編碼發(fā)生器的設(shè)計(jì)。該編碼發(fā)生器具備特定的終端號(hào),以終端形式存在于總線系統(tǒng)中,它可以產(chǎn)生三種不同類型的錯(cuò)誤編碼,按總線控制器的要求向總線系統(tǒng)上的特定終端發(fā)送相應(yīng)錯(cuò)誤編碼,以測試由不同設(shè)計(jì)者設(shè)計(jì)制作的終端設(shè)備在發(fā)送信息有誤時(shí)的反應(yīng);便于整個(gè)航空總線系統(tǒng)功能的統(tǒng)一,具有很強(qiáng)的實(shí)踐價(jià)值。
【關(guān)鍵詞】曼徹斯特II型碼 1553B總線 FPGA
【Abstract】This paper introduces a kind of design method of the error code generator for the avionics bus。The code generator terminals equipped with a number of specific,and the generator as a terminal in the avionics bus,It can produce three different types of error code and sends the error code in order to test the terminal receives the error code of the reaction by different designers making,It has a strong practical。
【Key words】 Manchester II code;Avionics Bus;FPGA
1553B總線是一種非常成熟且應(yīng)用廣泛的航空總線,隨著電子技術(shù)的飛速發(fā)展,越來越多的設(shè)計(jì)者已經(jīng)可以依托更新的科學(xué)技術(shù),比如FPGA技術(shù),掙脫少數(shù)國家的技術(shù)壟斷,以航空總線協(xié)議為標(biāo)準(zhǔn),自行設(shè)計(jì)功能多樣的終端設(shè)備,以滿足更多更高的要求[1]。但是更多的設(shè)計(jì)者的參與也意味著對(duì)總線系統(tǒng)測試的更高要求。本文介紹一款錯(cuò)誤編碼發(fā)生器的設(shè)計(jì)方法,該發(fā)生器可以生成完全符合1553B總線通信協(xié)議的三種不同類型的錯(cuò)誤編碼,應(yīng)用于總線系統(tǒng)中,以測試自行研發(fā)的航空總線終端的標(biāo)準(zhǔn)性與實(shí)用性。
1 航空總線協(xié)議簡介
1553B總線上數(shù)據(jù)的傳輸主要是依靠曼徹斯特II型碼,每二十個(gè)比特位組成一個(gè)字,有命令、數(shù)據(jù)、狀態(tài)三種不同類型。根據(jù)協(xié)議要求若干數(shù)量和種類的字組成不同類型的消息,消息發(fā)送至總線上,相應(yīng)終端執(zhí)行命令或是控制器得到終端回信,完成數(shù)據(jù)交流。該總線上數(shù)據(jù)傳輸速率是1Mbit/s,曼II型碼用“01”表示邏輯0,用“10”表示邏輯1,如圖1所示為曼II型碼表示的“1000”。三種不同類型的的字雖然都是20個(gè)比特位的曼II型碼,但是又各有不同,在這里不多加詳述,詳情可參照1553B總線通信協(xié)議[2]。
圖1 Manchester II編碼方式圖
2 錯(cuò)誤編碼發(fā)生器FPGA設(shè)計(jì)
該設(shè)計(jì)在FPGA中的實(shí)現(xiàn)主要通過以下三部分,如圖2所示:譯碼器、錯(cuò)誤數(shù)據(jù)發(fā)生器和協(xié)議處理功能控制部分。當(dāng)該設(shè)計(jì)以一終端形式接入待測試總線網(wǎng)絡(luò)時(shí),我們來分析一下數(shù)據(jù)的流向及處理情況[3]:該錯(cuò)誤編碼發(fā)生器以遠(yuǎn)程終端的形式存在于數(shù)據(jù)總線中,并且其具備特定的終端號(hào)碼。當(dāng)總線控制器發(fā)出命令,要求該終端發(fā)出某種類型的錯(cuò)誤編碼時(shí),命令通過收發(fā)器進(jìn)入FPGA中的譯碼器模塊進(jìn)行譯碼,并將命令字中的有效信息送至協(xié)議處理功能控制模塊,在這一模塊里分析命令字的有效數(shù)據(jù),明了總線控制器要求終端發(fā)送一個(gè)什么類型的錯(cuò)誤編碼,我們把將要發(fā)送的錯(cuò)誤編碼的信息送入錯(cuò)誤數(shù)據(jù)發(fā)生器,生成符合要求的曼徹斯特II型碼,再經(jīng)過收發(fā)器,最終發(fā)送至數(shù)據(jù)總線上。
圖2 錯(cuò)誤編碼發(fā)生器FPGA設(shè)計(jì)
3 實(shí)驗(yàn)仿真結(jié)果
設(shè)計(jì)者采用VHDL語言完成了FPGA中的邏輯設(shè)計(jì),在相關(guān)軟件中,對(duì)錯(cuò)誤數(shù)據(jù)發(fā)生器模塊進(jìn)行了仿真,如圖3所示,為產(chǎn)生同步頭錯(cuò)誤編碼的仿真結(jié)果圖。
圖3 同步頭錯(cuò)誤數(shù)據(jù)仿真圖
在仿真之后,設(shè)計(jì)者使用Altium Designer6.0軟件繪制了系統(tǒng)PCB板圖,制作了該設(shè)計(jì)的電路板,進(jìn)行了實(shí)驗(yàn)驗(yàn)證,示波器觀測了發(fā)送至總線上的錯(cuò)誤編碼,如圖4、圖5所示。
圖4 奇偶位錯(cuò)誤數(shù)據(jù)示波器圖 圖5 數(shù)據(jù)位錯(cuò)誤數(shù)據(jù)示波器圖
4 結(jié)語
本設(shè)計(jì)采用FPGA技術(shù),首次制作了可以產(chǎn)生錯(cuò)誤曼徹斯特II型碼的編碼器,設(shè)計(jì)靈活,同時(shí)也有許多不足,如產(chǎn)生的錯(cuò)誤編碼類型少,不能產(chǎn)生錯(cuò)誤的消息等。隨著1553B總線的更廣泛應(yīng)用,更多的自主研發(fā)產(chǎn)品的出現(xiàn),該款編碼器將會(huì)得到廣泛的應(yīng)用,其功能也將會(huì)越來越完善。
參考文獻(xiàn):
[1]廖文彬. MIL-STD-1553B多功能總線測試卡的實(shí)現(xiàn)[D].成都:電子科技大學(xué),2006.
[2]陜西恒立電子有限責(zé)任公司.美國軍用1553B協(xié)議中文翻譯資料.2000.
[3]牛茜.基于FPGA的1553B總線監(jiān)測系統(tǒng)設(shè)計(jì)[D].太原:中北大學(xué),2011.
[4]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[第二版][M].北京:北京航空航天大學(xué)出版社,2008.
[5]DDC.Inc.ACE/Mini-ACE Series BC/RT/MT Inegrated 1553 Terminal Users Guide.2005.
作者簡介:牛茜(1986—),女,山西長治人,碩士,助講,主要從事電子電氣教學(xué)與研究。