一種基于FPGA的接口電路設(shè)計(jì)
摘 要:在航空電子系統(tǒng)中,經(jīng)常需要對(duì)1553B總線和ARINC429總線進(jìn)行雙向數(shù)據(jù)轉(zhuǎn)換以適應(yīng)不同電子設(shè)備的接口要求。由于兩種總線標(biāo)準(zhǔn)傳輸協(xié)議不同,傳輸速率和數(shù)據(jù)格式有較大差異,常規(guī)系統(tǒng)需要多種專業(yè)數(shù)據(jù)轉(zhuǎn)換芯片以滿足數(shù)據(jù)轉(zhuǎn)換要求。本文介紹一種基于FPGA的通用數(shù)據(jù)轉(zhuǎn)換模塊設(shè)計(jì)。
本文引用地址:http://www.ex-cimer.com/article/148033.htm引言
在航空領(lǐng)域,1553B總線和ARINC429總線是應(yīng)用較為廣泛的兩種總線標(biāo)準(zhǔn),載機(jī)航電系統(tǒng)較多應(yīng)用1553B總線,而機(jī)載武器系統(tǒng)則較多應(yīng)用ARINC429總線,作為武器系統(tǒng)和航電系統(tǒng)通信控制中介的發(fā)射裝置則需對(duì)兩種總線標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)轉(zhuǎn)換。現(xiàn)將兩種總線數(shù)據(jù)格式進(jìn)行簡單介紹。
1)GJB1553B總線簡介
GJB1553B數(shù)據(jù)總線采用Manchester編碼解碼協(xié)議,以異步、命令/響應(yīng)方式執(zhí)行數(shù)據(jù)傳輸,通常采用半雙工方式,其傳輸速率為1Mbit/s.Manchester碼與常用的不歸零碼(NRZ)的編碼不同,在電路中,NRZ碼的“0”用低電平表示;Manchester碼的“0”用由低到高的電平跳變表示。同理,NRZ碼的“1”用高電平表示;Manchester碼的“1”用由高到低的電平跳變表示。在實(shí)際應(yīng)用中采用差分Manchester碼。差分Manchester碼與不歸零(NRZ)的波形對(duì)照如圖1所示。
2)ARINC 429 簡介
ARINC429總線是目前應(yīng)用較多的機(jī)載航空總線之一,它是一種單向是一種單向廣播式總線,其信息傳輸速率為12.5~100kbit/s[2].ARINC429規(guī)定數(shù)據(jù)傳輸采用雙極性歸零碼(如圖2所示),即調(diào)制信號(hào)有“高”、“零”、“低”狀態(tài)組成,傳輸介質(zhì)為雙絞屏蔽電纜。
1 基于FPGA的轉(zhuǎn)換電路硬件設(shè)計(jì)
數(shù)據(jù)轉(zhuǎn)換核心工作是對(duì)各種總線標(biāo)準(zhǔn)的數(shù)據(jù)進(jìn)行編解碼。在傳統(tǒng)數(shù)據(jù)轉(zhuǎn)換電路中,一般先由各種總線標(biāo)準(zhǔn)的專業(yè)編輯碼芯片對(duì)數(shù)據(jù)進(jìn)行編解碼,再對(duì)數(shù)據(jù)進(jìn)行處理,傳統(tǒng)的轉(zhuǎn)換電路設(shè)計(jì)較為簡單,但功耗較高,可編程邏輯的資源未能充分利用?,F(xiàn)介紹一種基于FPGA的數(shù)據(jù)轉(zhuǎn)換電路設(shè)計(jì)。
數(shù)據(jù)轉(zhuǎn)換硬件電路設(shè)計(jì):
數(shù)據(jù)轉(zhuǎn)換電路主要包括FPGA、DSP和外圍驅(qū)動(dòng)調(diào)理電路。其中DSP控制各模塊工作時(shí)序,F(xiàn)PGA負(fù)責(zé)曼碼編解碼、DSP外圍控制邏輯、數(shù)據(jù)格式轉(zhuǎn)換、時(shí)鐘信號(hào)產(chǎn)生及數(shù)據(jù)暫存等功能實(shí)現(xiàn),數(shù)據(jù)存儲(chǔ)在高速低功耗的CMOS靜態(tài)RAM中。數(shù)據(jù)轉(zhuǎn)換電路硬件設(shè)計(jì)框圖如圖3所示。
考慮到電路各模塊間數(shù)據(jù)通訊,數(shù)據(jù)線需要占用大面積的PCB空間,切高速信號(hào)間可能產(chǎn)生串?dāng)_。故在此處我們將1553B芯片的編解碼部分集成到FPGA中,外圍通過模式變壓器和簡單的整形電路將數(shù)據(jù)電平調(diào)理到適合FPGA接收的范圍。這樣可以降低整個(gè)數(shù)據(jù)轉(zhuǎn)換電路的功耗,提高CPU控制板的集成度,減小發(fā)熱量,簡化PCB板的布線,提高整個(gè)系統(tǒng)的穩(wěn)定性。
2 系統(tǒng)仿真驗(yàn)證
整個(gè)FPGA功能模塊采用Verilog語言進(jìn)行集成,利用FPGA仿真工具對(duì)設(shè)計(jì)中的關(guān)鍵信號(hào)和模塊進(jìn)行仿真可極大節(jié)省開發(fā)時(shí)間,提高系統(tǒng)運(yùn)行的穩(wěn)定性,降低開發(fā)成本。
1)GJB1533B數(shù)據(jù)轉(zhuǎn)換實(shí)現(xiàn)
GJB1553B數(shù)據(jù)采用曼徹斯特編碼,要實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換必須對(duì)曼碼進(jìn)行解碼,曼徹斯特編碼解碼邏輯電路由同步頭識(shí)別邏輯電路、數(shù)據(jù)采樣邏輯電路和譯碼邏輯電路構(gòu)成。同步頭的識(shí)別較為關(guān)鍵,如果不能正確的識(shí)別可能導(dǎo)致命令丟失或者參數(shù)設(shè)置錯(cuò)誤。在此我們采用的技術(shù)是:數(shù)據(jù)采樣邏輯電路時(shí)鐘監(jiān)測數(shù)據(jù)輸入線路,把數(shù)據(jù)輸入線路上的電平的跳變作為一個(gè)觸發(fā)事件,這個(gè)觸發(fā)事件是否有效由以下條件決定:
如果在后來采集到的數(shù)據(jù)隊(duì)列中連續(xù)存在1.5位的低電平和兩個(gè)有效的Manchester碼位,就認(rèn)為命令字同步頭有效;如果在后來采集到的數(shù)據(jù)隊(duì)列中連續(xù)存在1.5位的高電平和兩個(gè)有效的Manchester碼位,就認(rèn)為數(shù)據(jù)字同步頭有效。在隨后連續(xù)收到17位Manchester碼,最后一位是奇校驗(yàn)位,如果奇校驗(yàn)位正確,說明收到一個(gè)正確完整的字,這個(gè)十六位字是命令字還是數(shù)據(jù)字由同步頭的格式確定。
在FPGA中進(jìn)行仿真,其波形如圖4所示。
由圖可以看出,在FPGA內(nèi)部曼徹斯特碼順利轉(zhuǎn)換了計(jì)算機(jī)通用的二進(jìn)制數(shù)據(jù)。
2)ARINC429數(shù)據(jù)轉(zhuǎn)換實(shí)現(xiàn)
ARINC429數(shù)據(jù)的基本信息單元是由32位構(gòu)成的一個(gè)數(shù)據(jù)字,每個(gè)數(shù)據(jù)字被分為5組,即: 第1~8位為標(biāo)志位(LABEL)、第9~10位為源/目的識(shí)別位(SDI)、第11~29位為數(shù)據(jù)區(qū)(DATA)、第30~31位為符號(hào)位(SSM)、第32位為奇偶校驗(yàn)位(PARITY)。實(shí)際上,ARINC429對(duì)數(shù)據(jù)位的使用在很大程度上可以由系統(tǒng)設(shè)計(jì)者自己定義,在32bit串行傳輸?shù)幕咎卣飨?,只要收發(fā)雙方使用相同的約定即可。根據(jù)429數(shù)據(jù)格式在FPGA中用Verilog語言對(duì)編解碼格式進(jìn)行集成,其仿真波形如圖5所示。
由圖可以看出, 在F P G A 內(nèi)部ARINC429數(shù)據(jù)順利轉(zhuǎn)換了計(jì)算機(jī)通用的二進(jìn)制數(shù)據(jù)。
3 結(jié)語
通過仿真可以看到, G J B 1 5 5 3 B 和ARINC429在FPGA內(nèi)部經(jīng)過各自編解碼模塊解碼后都準(zhǔn)確穩(wěn)定地轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),由于Verilog語言的強(qiáng)移植性,編解碼模塊可直接移植到其他模塊達(dá)到兩種總線數(shù)據(jù)的通信傳輸
電氣符號(hào)相關(guān)文章:電氣符號(hào)大全
電路相關(guān)文章:電路分析基礎(chǔ)
fpga相關(guān)文章:fpga是什么
評(píng)論