陳 磊,苗克堅(jiān),王毅航
(西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710072)
一種智能化ARINC429通訊卡設(shè)計(jì)與實(shí)現(xiàn)
陳 磊,苗克堅(jiān),王毅航
(西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710072)
介紹了一種基于ARM微處理器的ARINC429航空總線通訊卡的設(shè)計(jì)方法,以實(shí)現(xiàn)兩發(fā)四收的信息控制。該設(shè)計(jì)以LPC3250作為嵌入式微處理器,采用DEI1016/BD429芯片組構(gòu)建ARINC429總線通訊系統(tǒng),為航空電子系統(tǒng)提供了高效可靠的通信平臺(tái)。
ARM; ARINC429; LPC3250; DEI1016/BD429
ARINC429總線廣泛用于航空電子系統(tǒng)內(nèi)各設(shè)備間大量數(shù)據(jù)信息的傳輸[1]。傳統(tǒng)的ARINC429通訊卡依賴通信平臺(tái)處理機(jī)來(lái)完成控制與處理工作[2-3],增加了平臺(tái)處理機(jī)的負(fù)擔(dān),降低了數(shù)據(jù)傳輸速率,系統(tǒng)可靠性及效率不高。為了解決這一工程難題,本文做了深入研究,結(jié)合現(xiàn)有研究成果[4-5],致力于設(shè)計(jì)一種新的通訊卡,提高通信板卡智能化水平,減輕系統(tǒng)通訊負(fù)擔(dān),降低協(xié)議通信的控制難度,為航空電子系統(tǒng)構(gòu)筑一個(gè)可靠高效的ARINC429總線通信平臺(tái)。
通訊卡主要完成以下任務(wù):完成兩路ARINC429接收數(shù)據(jù)的串并轉(zhuǎn)換;實(shí)現(xiàn)兩路ARINC429發(fā)送數(shù)據(jù)的并串轉(zhuǎn)換;支持中斷方式、查詢方式接收和發(fā)送數(shù)據(jù)。
目前常用的ARINC429收發(fā)器主要有DEI1016/BD429和HS3282/3182兩種芯片組,本次設(shè)計(jì)采用DEI1016/BD429構(gòu)建ARINC429總線通訊系統(tǒng)。DEI1016是美國(guó)DDC公司生產(chǎn)的ARINC429總線接口芯片,提供有標(biāo)準(zhǔn)航空串行數(shù)據(jù)和16 bit寬數(shù)據(jù)總線接口。
DEI1016在發(fā)送時(shí)按協(xié)議完成發(fā)送數(shù)據(jù)的并-串轉(zhuǎn)換并發(fā)送;接收時(shí)完成電平轉(zhuǎn)換并按協(xié)議完成接收數(shù)據(jù)的串-并轉(zhuǎn)換;在初始化時(shí)進(jìn)行數(shù)據(jù)格式、波特率、奇偶校驗(yàn)等設(shè)置。一塊DEI1016芯片可實(shí)現(xiàn)一路ARINC429數(shù)據(jù)發(fā)送及兩路ARINC429數(shù)據(jù)接收功能。
圖1 通訊卡整體結(jié)構(gòu)Fig. 1 Structure of the communication card
DEI1016的發(fā)送器電路包括一個(gè)發(fā)送緩存器和一個(gè)控制邏輯。發(fā)送緩存器是一個(gè)8*32 bit的FIFO,數(shù)據(jù)的載入由LD1和LD2 兩個(gè)信號(hào)控制。LD1有效時(shí)載入第一個(gè)16位,LD2有效時(shí)載入第二個(gè)16位,而且在每個(gè)數(shù)據(jù)字載入過(guò)程中LD1必須在LD2之前到來(lái)。另外,數(shù)據(jù)載入時(shí)發(fā)送器是處于禁止?fàn)顟B(tài)的。而控制邏輯則允許ARM微處理器給發(fā)送器寫數(shù)據(jù)塊,并通過(guò)ARM微處理器使能發(fā)送器,即置ENTX信號(hào)有效來(lái)使該數(shù)據(jù)塊自動(dòng)發(fā)送出去。數(shù)據(jù)在TTL電平格式下,經(jīng)過(guò)BD429電平轉(zhuǎn)換然后發(fā)送出去。值得注意的是每8個(gè)數(shù)據(jù)字間的發(fā)送并不是連續(xù)的,而是具有由DEI1016自動(dòng)產(chǎn)生的4個(gè)字時(shí)鐘間隔時(shí)間。
ARINC429信號(hào)的接收通過(guò)接收字間隔時(shí)序電路采樣產(chǎn)生一個(gè)數(shù)據(jù)字。接收采樣頻率是正常數(shù)據(jù)速率的10倍,以保證不會(huì)出現(xiàn)含混的數(shù)據(jù)字。采樣得到的數(shù)據(jù)被存進(jìn)一個(gè)32位的移位寄存器中,并由控制寄存器內(nèi)容決定是否接收該字。數(shù)據(jù)字長(zhǎng)度由控制寄存器的“WLSEL”確定。保持寄存器中的數(shù)據(jù)以2個(gè)16位字的形式放在數(shù)據(jù)總線上。數(shù)據(jù)應(yīng)及時(shí)讀出,以避免新的數(shù)據(jù)將原來(lái)的數(shù)據(jù)覆蓋。讀取數(shù)據(jù)時(shí),先將接收選擇線SEL拉低,且使能OE讀出低字,再將SEL拉高并使能OE時(shí)讀取高字。
BD429芯片為ARINC429的發(fā)送驅(qū)動(dòng)器,與DEI1016配套使用。發(fā)送驅(qū)動(dòng)器的作用是將ARINC429協(xié)議芯片送出的TTL邏輯電平轉(zhuǎn)換為符合ARINC429協(xié)議信號(hào)電平要求的信號(hào)進(jìn)行發(fā)送。設(shè)計(jì)應(yīng)用電路如圖2所示。
該應(yīng)用電路中的兩個(gè)68 pF的電容很重要,會(huì)影響到ARINC429信號(hào)上升和下降的斜率,容值過(guò)大會(huì)使斜率變小,反之容值過(guò)小會(huì)使斜率變大。
圖2 DEI1016/BD429芯片組應(yīng)用電路Fig. 2 Application circuit of DEI1016/BD429 chipset
在設(shè)計(jì)中采用DEI1016輸出的429信號(hào)作為其輸入信號(hào),輸出數(shù)據(jù)速率通DEI1016確定,而不采用SYNC、CLOCK和DATA信號(hào)相與的方法調(diào)整,因此直接把SYNC和CLOCK信號(hào)拉高。1MCK由16M晶振經(jīng)CPLD分頻給出,在CPLD邏輯中分頻系數(shù)可調(diào),因而數(shù)據(jù)速率在12. 5~100k之間可調(diào)。SEL信號(hào)直接連至微處理器的最低地址位A0,由地址的變化控制數(shù)據(jù)讀取時(shí)的高低16位選擇。MR信號(hào)控制由阻容復(fù)位電路實(shí)現(xiàn)。其余發(fā)送與接收控制信號(hào)如OE、LD等均與CPLD相連,由CPLD譯碼控制。
為了靈活實(shí)現(xiàn)ARINC429數(shù)據(jù)的發(fā)送與接收,采用一片CPLD芯片進(jìn)行控制。在CPLD邏輯中應(yīng)實(shí)現(xiàn)地址譯碼和時(shí)鐘分頻功能,完成對(duì)某路發(fā)送或接收及ARINC429協(xié)議時(shí)鐘的設(shè)定;通過(guò)設(shè)置ARINC429協(xié)議控制字進(jìn)行自檢;對(duì)中斷屏蔽或使能等。CPLD器件采用ALTERA公司的EPM3064A實(shí)現(xiàn),該芯片具有3.3 V I/O特性,可容忍5 V,適合應(yīng)用于5 V、3.3 V多電壓應(yīng)用的場(chǎng)合。由于LPC3250為3.3 V I/O特性,而所選用的ARINC429接口芯片DEI1016為單一5 V供電,所以需要對(duì)微處理器與ARINC429數(shù)據(jù)和地址總線進(jìn)行電壓轉(zhuǎn)換。這里選用四片SN74LVC4245DBL驅(qū)動(dòng)器來(lái)實(shí)現(xiàn)16 bit數(shù)據(jù)總線和地址總線的電壓轉(zhuǎn)換。由于地址總線是單向的,即只能由處理器到ARINC429接口芯片,故負(fù)責(zé)地址總線電壓轉(zhuǎn)換的兩片SN74LVC4245-DBL芯片DIR引腳可以接死;而負(fù)責(zé)雙向數(shù)據(jù)總線電壓轉(zhuǎn)換的兩片SN74LVC4245-DBL芯片DIR腳則需要通過(guò)CPLD進(jìn)行邏輯控制。
慢病毒介導(dǎo)的三種神經(jīng)元譜系相關(guān)轉(zhuǎn)錄因子腦內(nèi)轉(zhuǎn)移治療帕金森病的實(shí)驗(yàn)研究 ……………………………………………………………… 陳品,于波,羅雨,等 215
ARINC429通訊卡片選由LPC3250的CS1和地址BA11~BA4共同控制,即當(dāng)CS1有效且BA( 11 to 4 )=“00000000”時(shí)選通,全譯碼,地址空間為E100 0000-E100 000F
1)數(shù)據(jù)發(fā)送邏輯設(shè)計(jì)
DEI1016是16位數(shù)據(jù)線,所以32位數(shù)據(jù)字必須分成兩個(gè)16位寫入, 而控制字只需一次寫入即可。以下VHDL代碼實(shí)現(xiàn)了對(duì)429數(shù)據(jù)發(fā)送的控制:
LD_1(0) <= '0' WHEN WR ='0' AND A=X"4" ELSE '1' ;--第1片429發(fā)送低字
LD_1(1) <= '0' WHEN WR ='0' AND A=X"5" ELSE '1' ;--第1片429發(fā)送高字
LDCW_1 <='0' WHEN WR ='0' AND A=X"6" ELSE '1' ; --裝載控制字
ENTX_1 <= '0' WHEN WR ='0' AND (A=X"0" OR A=X"1")ELSE '1';--置使能發(fā)送有效
2)數(shù)據(jù)接收邏輯設(shè)計(jì)
本通信系統(tǒng)實(shí)現(xiàn)兩發(fā)四收,4個(gè)接收通道接收到的數(shù)據(jù)放在各自獨(dú)立的FIFO中。數(shù)據(jù)接收采用中斷—查詢方式實(shí)現(xiàn),即由接口芯片DEI1016的DR信號(hào)有效產(chǎn)生中斷,通知處理器有新的有效數(shù)據(jù)到達(dá)。由于四路接收通道共用一個(gè)中斷,所以必須在CPLD邏輯中實(shí)現(xiàn)中斷屏蔽,并在中斷有效時(shí)可查詢是哪一路接收通道引發(fā)的中斷,對(duì)于中斷的處理邏輯為
INT<=RDY_429_1(0)AND RDY_429_1(1)AND RDY_429_2(0)AND RDY_429_2(1);--中斷信號(hào)處理
以上邏輯表明,4個(gè)接收通道中任一路有數(shù)據(jù)時(shí)都會(huì)引發(fā)中斷,此時(shí)查詢數(shù)據(jù)線,即可得出是哪一路接收引發(fā)的中斷。
固件程序擔(dān)任著通訊系統(tǒng)最基礎(chǔ)最底層的工作,是硬件設(shè)備的靈魂,且由于硬件設(shè)備除了固件以外沒(méi)有其它軟件組成,所以固件也就決定著硬件設(shè)備的功能及性能。本系統(tǒng)中ARM固件中斷源為一個(gè)六位的寄存器,高位到低位分別標(biāo)志:第一路發(fā)送、第二路發(fā)送、第一片兩路接收、第二片兩路接收路接收。
在本系統(tǒng)中,ARM固件程序需循環(huán)裝載控制字,然后檢查中斷控制寄存器(PORT_CPLD_INT_SOURCE)的值,根據(jù)該值做具體的發(fā)送和接收操作。中斷控制寄存器的取值及其對(duì)應(yīng)的操作在表1中給出。
表1 中斷控制寄存器值及其對(duì)應(yīng)的操作Tab.1 Interrupt control register value and its corresponding action
根據(jù)以上的分析闡述,給出程序的偽代碼如圖3所示。
ARINC429是航空電子系統(tǒng)中應(yīng)用廣泛的通信標(biāo)準(zhǔn),而ARM微處理器在目前的測(cè)控領(lǐng)域也占有相當(dāng)重要的位置,因此基于ARM微處理器的ARINC429通信系統(tǒng)無(wú)疑有著很好的適用范圍和實(shí)用意義。同時(shí),上述設(shè)計(jì)的接口通信板在多個(gè)不同的航空電子系統(tǒng)中成功的應(yīng)用,證明了其正確性和高效性。
圖3 ARM固件核心程序偽代碼Fig. 3 Pseudo code of the ARM firmware kernel
[1] 王瑞敏,苗克堅(jiān),王亞妮.基于ARM處理器的ARINC429接口板軟件設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008(21):5471-5473.
WANG Rui-min,MIAO Ke-jian,WANG Ya-ni.Software design for ARINC429 interface card based on ARM microprocessor[J].Computer Engineering and De-sign,2008(21):5471-5473.
[2] 危淑敏,苗克堅(jiān),王毅航.基于DEI1016及BD429的ARINC429總線接口設(shè)計(jì)[J].長(zhǎng)春理工大學(xué)學(xué)報(bào):自然科學(xué)版,2008(1):111-114.
WEI Shu-min,MIAO Ke-jian,WANG Yi-hang.Design of ARINC429 PCI Communication In-terface Based On DEI101 6 and BD429[J].Journal of Changchun University of Science and Technology,Natural Science Edition,2008(1):111-114.
[3] 胡紅明,苗克堅(jiān).基于DD-03282的ARINC429 PCI通信接口設(shè)計(jì)[J].計(jì)算機(jī)工程,2006(6):280-282.
HU Hong-ming,MIAO Ke-jian.Design of ARINIC429 PCI communication interface based on DD-03282[J].Computer Engineering,2006(6):280-282.
[4] 張小寧,苗克堅(jiān).基于ARM 微處理器的智能化PXI 總線擴(kuò)展卡的設(shè)計(jì)[J],計(jì)算機(jī)應(yīng)用,2007,27(3):709-711.
ZHANG Xiao-ning,MIAO Ke-jian,GAO Zhi-qiang.intellective PXI bus extended card design based on ARM microprocessor[J].Computer Application,2007,27(3):709-711.
[5]蔣謝芳,苗克堅(jiān),王長(zhǎng)浩.基于嵌入式微處理器的ARINC429通信板卡的設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)控技術(shù),2006(3):52-57.
JIANG Xie-fang,MIAO Ke-jian,WANG Chang-hao.Design and realization of communication card of ARINC429 based on embedded microprocessor[J].Computer Measurement and Control,2006(3):52-57
[6] 姬昕禹,馬捷中,翟正軍,等.基于ARINC429總線接口板卡的驅(qū)動(dòng)程序設(shè)計(jì)與實(shí)現(xiàn),計(jì)算機(jī)工程與設(shè)計(jì),2007(14):3511-3514.
JI Xin-yu,MA Jie-zhong,ZHAI Zheng-jun,et al. Design and implement of device driver for ARINC-429 bus interface card[J].Computer Engineering and De-sign,2007(14):3511-3514.
[7] 曲建清,陳欣,呂迅竑.基于單片機(jī)和 CPLD 的ARINC429接口設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2009.17(3):558-560.
QU Jian-qing,CHEN Xin,LV Xun-hong. Interface design of ARINC429 based on single chip and CPLD[J].Computer Measurement and Control,2009,17(3):558-560.
[8] 張華強(qiáng),趙剡,陳雨.基于 FPGA 的 ARINC429 通訊系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].通信技術(shù),2010(12):4-6.
ZHANG Hua-qiang,ZHAO Yan,CHENG Yu. Design and implementation of ARINC429 commu-nication system based on FPGA[J].Communications Technology,2010(12)12:4-6.
Design and implementation of ARINC429 card based on LPC3250
CHEN Lei, MIAO Ke-jian, WANG Yi-hang
(College of Computer Science, Northwestern Polytechnical University, Xi’an 710072, China)
A method of ARINC 429 aero bus communication card based on ARM is introduced, in order to meet the information control of 2-Transmitter and 4-Receiver.The LPC3250 is used as embedded microprocessor in this design,at the same time DEI1016 and BD429 are used to construct an ARINC429 communication system which provides a communication platform with high efficiency and reliable to the avionics system.
ARM; ARINC429; LPC3250; DEI1016/BD429
TN918
A
1674-6236(2014)03-0171-03
2013–06–13 稿件編號(hào):201306082
陳 磊(1986—),女,安徽淮北人,碩士研究生。研究方向:計(jì)算機(jī)測(cè)控與嵌入式計(jì)算。