牛茜
(山西機(jī)電職業(yè)技術(shù)學(xué)院,山西長(zhǎng)治 046011)
基于FPGA的航空總線錯(cuò)誤編碼發(fā)生器設(shè)計(jì)
牛茜
(山西機(jī)電職業(yè)技術(shù)學(xué)院,山西長(zhǎng)治 046011)
本文介紹了一款基于FPGA技術(shù),針對(duì)于自主研發(fā)航空總線設(shè)備測(cè)試的曼徹斯特II型碼錯(cuò)誤編碼發(fā)生器的設(shè)計(jì)。該編碼發(fā)生器具備特定的終端號(hào),以終端形式存在于總線系統(tǒng)中,它可以產(chǎn)生三種不同類型的錯(cuò)誤編碼,按總線控制器的要求向總線系統(tǒng)上的特定終端發(fā)送相應(yīng)錯(cuò)誤編碼,以測(cè)試由不同設(shè)計(jì)者設(shè)計(jì)制作的終端設(shè)備在發(fā)送信息有誤時(shí)的反應(yīng);便于整個(gè)航空總線系統(tǒng)功能的統(tǒng)一,具有很強(qiáng)的實(shí)踐價(jià)值。
曼徹斯特II型碼 1553B總線 FPGA
1553B總線是一種非常成熟且應(yīng)用廣泛的航空總線,隨著電子技術(shù)的飛速發(fā)展,越來(lái)越多的設(shè)計(jì)者已經(jīng)可以依托更新的科學(xué)技術(shù),比如FPGA技術(shù),掙脫少數(shù)國(guó)家的技術(shù)壟斷,以航空總線協(xié)議為標(biāo)準(zhǔn),自行設(shè)計(jì)功能多樣的終端設(shè)備,以滿足更多更高的要求[1]。但是更多的設(shè)計(jì)者的參與也意味著對(duì)總線系統(tǒng)測(cè)試的更高要求。本文介紹一款錯(cuò)誤編碼發(fā)生器的設(shè)計(jì)方法,該發(fā)生器可以生成完全符合1553B總線通信協(xié)議的三種不同類型的錯(cuò)誤編碼,應(yīng)用于總線系統(tǒng)中,以測(cè)試自行研發(fā)的航空總線終端的標(biāo)準(zhǔn)性與實(shí)用性。
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ì)
圖3 同步頭錯(cuò)誤數(shù)據(jù)仿真圖
圖4 奇偶位錯(cuò)誤數(shù)據(jù)示波器圖
該設(shè)計(jì)在FPGA中的實(shí)現(xiàn)主要通過(guò)以下三部分,如圖2所示:譯碼器、錯(cuò)誤數(shù)據(jù)發(fā)生器和協(xié)議處理功能控制部分。當(dāng)該設(shè)計(jì)以一終端形式接入待測(cè)試總線網(wǎng)絡(luò)時(shí),我們來(lái)分析一下數(shù)據(jù)的流向及處理情況[3]:該錯(cuò)誤編碼發(fā)生器以遠(yuǎn)程終端的形式存在于數(shù)據(jù)總線中,并且其具備特定的終端號(hào)碼。當(dāng)總線控制器發(fā)出命令,要求該終端發(fā)出某種類型的錯(cuò)誤編碼時(shí),命令通過(guò)收發(fā)器進(jìn)入FPGA中的譯碼器模塊進(jìn)行譯碼,并將命令字中的有效信息送至協(xié)議處理功能控制模塊,在這一模塊里分析命令字的有效數(shù)據(jù),明了總線控制器要求終端發(fā)送一個(gè)什么類型的錯(cuò)誤編碼,我們把將要發(fā)送的錯(cuò)誤編碼的信息送入錯(cuò)誤數(shù)據(jù)發(fā)生器,生成符合要求的曼徹斯特II型碼,再經(jīng)過(guò)收發(fā)器,最終發(fā)送至數(shù)據(jù)總線上。
設(shè)計(jì)者采用VHDL語(yǔ)言完成了FPGA中的邏輯設(shè)計(jì),在相關(guān)軟件中,對(duì)錯(cuò)誤數(shù)據(jù)發(fā)生器模塊進(jìn)行了仿真,如圖3所示,為產(chǎn)生同步頭錯(cuò)誤編碼的仿真結(jié)果圖。
在仿真之后,設(shè)計(jì)者使用Altium Designer6.0軟件繪制了系統(tǒng)PCB板圖,制作了該設(shè)計(jì)的電路板,進(jìn)行了實(shí)驗(yàn)驗(yàn)證,示波器觀測(cè)了發(fā)送至總線上的錯(cuò)誤編碼,如圖4、圖5所示。
本設(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ì)越來(lái)越完善。
[1]廖文彬.MIL-STD-1553B多功能總線測(cè)試卡的實(shí)現(xiàn)[D].成都:電子科技大學(xué),2006.
[2]陜西恒立電子有限責(zé)任公司.美國(guó)軍用1553B協(xié)議中文翻譯資料.2000.
[3]牛茜.基于FPGA的1553B總線監(jiān)測(cè)系統(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 User’s Guide.2005.
圖5 數(shù)據(jù)位錯(cuò)誤數(shù)據(jù)示波器圖
牛茜(1986—),女,山西長(zhǎng)治人,碩士,助講,主要從事電子電氣教學(xué)與研究。