王魁
摘? 要:ARINC429總線因其結(jié)構(gòu)簡單、性能穩(wěn)定、抗干擾性強(qiáng),在機(jī)載通信領(lǐng)域被廣泛應(yīng)用。文章針對(duì)成品ARINC429芯片占空間大、擴(kuò)展性差、自檢能力弱等問題,設(shè)計(jì)了一種基于FPGA的集成機(jī)內(nèi)測(cè)試(BIT)的ARINC429協(xié)議電路,外部電路可通過寄存器對(duì)ARINC429的工作和自檢模式等進(jìn)行靈活配置,模塊化的設(shè)計(jì)也方便用戶按需要進(jìn)行ARINC429通道擴(kuò)展。
關(guān)鍵詞:ARINC429;FPGA;機(jī)內(nèi)測(cè)試
中圖分類號(hào):TJ760? ? ? ? ?文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號(hào):2095-2945(2019)17-0080-02
Abstract: ARINC429 bus is widely used in the field of airborne communication because of its simple structure, stable performance and strong anti-interference. In order to solve the problems of large space occupation, poor expansibility and weak self-test ability of the finished ARINC429 chip, this paper designs a ARINC429 protocol circuit with built-in test(BIT) based on FPGA. The external circuit can flexibly configure the work of ARINC429 and self-test mode through registers, and the modular design is also convenient for users to expand the ARINC429 channel as needed.
Keywords: ARINC429; FPGA; built-in test(BIT)
1 概述
ARINC429總線是一種串行標(biāo)準(zhǔn),結(jié)構(gòu)簡單、傳輸可靠、抗干擾能力強(qiáng),廣泛應(yīng)用于航空電子系統(tǒng)的數(shù)據(jù)傳輸[1]。ARINC429總線數(shù)據(jù)字包括奇偶校驗(yàn)位、符號(hào)/狀態(tài)位、數(shù)據(jù)位、源/目的標(biāo)識(shí)和標(biāo)號(hào)[2]。
通常ARINC429總線設(shè)計(jì)時(shí)大都采用專用協(xié)議和驅(qū)動(dòng)芯片,如HARRIS公司的HS-3282和HS-3182芯片、Device Engineering公司的DEI1016和BD429芯片,但由于專用芯片單片大多只支持一發(fā)兩收,擴(kuò)展性差,且芯片本身的BIT能力較差,難以滿足目前電子裝備高集成、自診斷的發(fā)展需求。
2 電路設(shè)計(jì)
針對(duì)成品ARINC429芯片占空間大、擴(kuò)展性差、自檢能力弱等問題,利用VHDL語言[3]設(shè)計(jì)了基于FPGA的集成機(jī)內(nèi)測(cè)試(BIT)的ARINC429協(xié)議電路,可通過寄存器對(duì)電路的工作模式、自檢內(nèi)容及通道等進(jìn)行靈活配置。系統(tǒng)由主控模塊、發(fā)送模塊、接收模塊、自檢模塊和數(shù)據(jù)開關(guān)組成,基本構(gòu)成如圖1。
主控模塊提供外部與內(nèi)部模塊之間的數(shù)據(jù)、地址及控制通道,完成相應(yīng)的邏輯變換;發(fā)送模塊實(shí)現(xiàn)一個(gè)發(fā)送通道的配置、數(shù)據(jù)編碼、發(fā)送波形產(chǎn)生及發(fā)送狀態(tài)輸出等;接收模塊實(shí)現(xiàn)一個(gè)接受通道的配置、波形采樣、數(shù)據(jù)解碼、數(shù)據(jù)輸出及接收狀態(tài)輸出等;自檢模塊根據(jù)用戶配置的自檢模式及內(nèi)容完成相應(yīng)的自檢流程;數(shù)據(jù)開關(guān)在自檢模塊的控制下,實(shí)現(xiàn)數(shù)據(jù)流的流向控制。
2.1 發(fā)送模塊的設(shè)計(jì)
發(fā)送模塊的原理及組成如圖2,外部控制電路根據(jù)約定的數(shù)據(jù)傳輸協(xié)議將配置信息和控制指令寫入控制寄存器,在通過讀狀態(tài)寄存器確認(rèn)發(fā)送FIFO未滿時(shí)將待發(fā)送數(shù)據(jù)寫入發(fā)送FIFO。發(fā)送控制器解析控制指令并按要求啟動(dòng)相應(yīng)發(fā)送模式,目標(biāo)信息和數(shù)據(jù)等先經(jīng)編碼器編碼,然后進(jìn)行并/串轉(zhuǎn)換,奇偶校驗(yàn)產(chǎn)生器通過計(jì)數(shù)串行數(shù)據(jù)產(chǎn)生奇偶校驗(yàn)位,串行數(shù)據(jù)再經(jīng)波形發(fā)生器形成符合ARINC429通信協(xié)議的兩路脈沖數(shù)據(jù)串,波形發(fā)生器在每幀數(shù)據(jù)發(fā)送結(jié)束時(shí)按4位數(shù)據(jù)位時(shí)間延時(shí),延時(shí)結(jié)束后進(jìn)入下一幀數(shù)據(jù)發(fā)送。
數(shù)據(jù)發(fā)送時(shí),需要通過發(fā)送控制寄存器進(jìn)行發(fā)送模式等配置,如發(fā)送模式包括啟動(dòng)發(fā)送模式、自動(dòng)單發(fā)送模式、自動(dòng)循環(huán)發(fā)送模式等。
發(fā)送模塊采用狀態(tài)機(jī)進(jìn)行設(shè)計(jì),單幀數(shù)據(jù)發(fā)送的狀態(tài)機(jī)如圖3所示。其中,S0為空閑狀態(tài),S1為數(shù)據(jù)發(fā)送狀態(tài),S2是奇偶校驗(yàn)處理狀態(tài),S3是字間隔發(fā)送狀態(tài),S4是錯(cuò)誤處理狀態(tài)。
2.2 接收模塊的設(shè)計(jì)
接收模塊原理及組成框圖如圖4,采樣器檢測(cè)到兩路符合ARINC429通信協(xié)議的脈沖數(shù)據(jù)串的起始位后,啟動(dòng)數(shù)據(jù)接收,將采樣到的每一位數(shù)據(jù)位送入串/并轉(zhuǎn)換器,奇偶校驗(yàn)與數(shù)據(jù)位接收同時(shí)進(jìn)行,形成的并行數(shù)據(jù)送入解碼器進(jìn)行數(shù)據(jù)解碼、目的碼識(shí)別和校驗(yàn)等,判斷為正確的數(shù)據(jù)寫入接收FIFO,數(shù)據(jù)錯(cuò)誤或奇偶校驗(yàn)錯(cuò)誤的數(shù)據(jù)自動(dòng)丟棄,并將錯(cuò)誤類型寫入接收狀態(tài)寄存器。接收控制器在確認(rèn)接收到正確數(shù)據(jù)時(shí)產(chǎn)生數(shù)據(jù)接收中斷,或置接收數(shù)據(jù)標(biāo)志以供外部控制電路查詢接收。
數(shù)據(jù)接收前,需要按約定通過接收控制寄存器對(duì)發(fā)送波特率、奇偶校驗(yàn)、數(shù)據(jù)接收模式等進(jìn)行配置。
接收模塊單幀數(shù)據(jù)接收的狀態(tài)機(jī)如圖5所示。其中,S0為等待狀態(tài),S1為采樣狀態(tài),S2為數(shù)據(jù)接收狀態(tài),S3為數(shù)據(jù)校驗(yàn)狀態(tài),S4為寫數(shù)據(jù)狀態(tài),S5為錯(cuò)誤處理狀態(tài)。
2.3 自檢模塊的設(shè)計(jì)
自檢模塊為外啟動(dòng)工作模式,由自檢控制器、激勵(lì)發(fā)生器、模式寄存器、控制寄存器、狀態(tài)寄存器及16個(gè)自檢子模塊組成。16個(gè)自檢子模塊對(duì)應(yīng)16項(xiàng)自檢內(nèi)容,自檢內(nèi)容有發(fā)送/接收片內(nèi)回路、單發(fā)送/接收、波特率、奇偶校驗(yàn)等。自檢模塊可通過配置進(jìn)行自薦內(nèi)容選擇組合及通道擴(kuò)展,16位控制寄存器的每一位對(duì)應(yīng)一項(xiàng)自檢內(nèi)容,缺省值均為0,置1時(shí)表示執(zhí)行該項(xiàng)自檢內(nèi)容,自檢結(jié)果通過狀態(tài)寄存器反映,為1表示自檢未通過。
自檢模塊的工作流程如圖6所示,外部控制電路啟動(dòng)自檢后,自檢控制器依據(jù)控制寄存器內(nèi)容執(zhí)行相應(yīng)自檢,并控制激勵(lì)發(fā)生器產(chǎn)生自檢所需的各種激勵(lì)信號(hào),自檢結(jié)束后將自檢結(jié)果置入狀態(tài)寄存器。用戶可讀取模式寄存器的自檢狀態(tài)位確定自檢是否結(jié)束。
3 驗(yàn)證與結(jié)論
本文的ARINC429協(xié)議電路基于VHDL語言設(shè)計(jì),在深圳國微FPGA可編程器件SMQV300上進(jìn)行了驗(yàn)證,外圍ARINC429總線接口差分線驅(qū)動(dòng)器采用HARRIS公司的HS-3182,發(fā)送通道輸出的仿真波形如圖7。
協(xié)議電路完成了北京旋極等多家公司ARINC429卡的連接測(cè)試及故障注入試驗(yàn),并成功應(yīng)用于某型導(dǎo)彈生產(chǎn)測(cè)試設(shè)備上,經(jīng)歷了對(duì)幾百發(fā)產(chǎn)品的測(cè)試和驗(yàn)證,證明了設(shè)計(jì)的正確性。設(shè)計(jì)的協(xié)議電路極大地方便了印制板的設(shè)計(jì)及通道的靈活擴(kuò)展,具備的自檢功能也利于故障的及時(shí)發(fā)現(xiàn)與處理,具有良好的實(shí)用價(jià)值和經(jīng)濟(jì)效益。
參考文獻(xiàn):
[1]Condor Engineering Inc. ARINC429 Protocol Tutorial [S].2000.
[2]王春雷,羅陽,朱智強(qiáng).某專用429總線接口協(xié)議的FPGA實(shí)現(xiàn)[J].航空兵器,2012(1):41-43.
[3]侯伯亨,劉凱,顧新.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2006.