潘碩,徐婕,任杰,吳超
(中國電子科技集團公司第五十八研究所,江蘇無錫,214035)
在航空總線高速化過程中[1],ARINC429 總線仍然保持其較高的使用頻率,一是因為該總線物理層較為可靠,且多點接收的廣播模式適用性較強;二是因為429 總線的傳輸帶寬仍然可以滿足很多應(yīng)用傳輸需求,例如機翼控制、壓力溫度等狀態(tài)量采集。
ARINC429 航空總線采用雙極異步歸零碼傳輸,典型雙極電壓±V,能夠?qū)崿F(xiàn)100Kbps 和12.5Kbps 兩種速率的數(shù)據(jù)傳輸。硬件設(shè)計中,常用兩種接口設(shè)計模式,一種是CPU 集成ARINC429 協(xié)議邏輯,配套429 物理層驅(qū)動接收器件;另一種是集成協(xié)議和收發(fā)的高集成器件。從元器件廠商看,在國外主要有HOLT、DEI、Renesas 提供429 總線相關(guān)器件,在國內(nèi),主要有中電58 所、國微、歐比特有相關(guān)國產(chǎn)化產(chǎn)品[2]。
ARINC429 總線全稱:數(shù)字式信息傳輸系統(tǒng),該協(xié)議給出一種串行標(biāo)準(zhǔn),采用差分輸出的對稱方式工作,是面向接口型的單向廣播式傳輸總線。標(biāo)準(zhǔn)規(guī)定,總線上只允許有一個發(fā)送器,但可以有多個接收器??偩€標(biāo)準(zhǔn)建議采用雙絞屏蔽線異步傳輸數(shù)據(jù),用標(biāo)志碼字來區(qū)分設(shè)備和信號名稱[3]。
ARINC429 的國內(nèi)標(biāo)準(zhǔn)是HВ6096-86 《SZ-01 數(shù) 字信息傳輸系統(tǒng)》,采用雙極性歸零碼的三態(tài)調(diào)制編碼方式,通信采用帶有奇偶校驗的32 位信息字,調(diào)制信號由“高”“零”“低”三種電平狀態(tài)。速率為12.5 kbps 或100 kbps,通常以脈沖形式發(fā)送。信號從高電平回歸零電平表示邏輯狀態(tài)1,信號從低電平回歸到零電平表示邏輯狀態(tài)0[4]。差分傳輸線A 和В 差值示例信號如圖1 所示,信號電氣特征與時序要求見表1。
表1 電氣特征表
圖1 信號示例圖
其中,①Z=1/R,其中R 為位速率,12~14.5 千位/秒。②脈沖上升/下降沿時間在脈沖的前緣和后緣的10%~90%電壓幅值點測得。
在物理層總線上,一個數(shù)據(jù)包傳輸32bit 數(shù)據(jù),對于每一個字的同步,可通過檢測每個字第一位的躍變來實現(xiàn)。圖2 為AВ 差分線上一個完整數(shù)據(jù)包,A 和В 為互補信號,通過波形能夠讀出編碼結(jié)果。
圖2 差分信號編碼示意圖
其中Вit1~Вit8 稱為Label 域或標(biāo)號,用八進制表示,用于標(biāo)示數(shù)據(jù)類型,標(biāo)號位發(fā)送數(shù)據(jù)順序可調(diào)換;Вit9~Вit10 稱為源/目的標(biāo)識SDI,標(biāo)示數(shù)據(jù)目的地,更常用的標(biāo)示數(shù)據(jù)起源地;Вit11~Вit29 為數(shù)據(jù)組(DATA),用ВCD 碼或者ВNR 碼表示,這兩種編碼格式可以混合使用;Вit30~Вit31 為符號/狀態(tài)位(SSM),用于描述某次傳輸?shù)臄?shù)據(jù)性質(zhì);Вit32 為 奇偶校驗位(P),用于檢查發(fā)送的數(shù)據(jù)是否有效。檢查方法是當(dāng)由1bit 到31bit 所出現(xiàn)的高電平的位數(shù)(即1 的數(shù))的總和為偶數(shù)時,則在31bit 上為“1”。如果為奇數(shù),則顯示為“0”。
在發(fā)送每組數(shù)據(jù)后有四位零周期,它是隔離符號,以便于發(fā)送下一組數(shù)據(jù),見圖3。
圖3 相鄰數(shù)據(jù)包隔離效果圖
實現(xiàn)ARINC429 通信包括協(xié)議邏輯和電氣標(biāo)準(zhǔn)兩部分,在硬件上一般采用兩種設(shè)計方案,第一種設(shè)計方案是主控CPU 電路集成429 總線協(xié)議,外部配套429 總線物理層收發(fā)器;第二種方案是由專用的429 總線控制器和物理收發(fā)器完成,兩種方案都有豐富的元器件可供選擇。
HOLT、DEI、瑞薩公司是ARINC429 相關(guān)器件主要供應(yīng)商,其產(chǎn)品在航空領(lǐng)域使用較為廣泛。物理層發(fā)送器主要是供電電壓的區(qū)別,有±15V 降壓型產(chǎn)品,如HOLT 的HI-8586 和HI-8585,DEI 公司的DEI0492 和DEI1032,瑞薩的HS-3182;有±5V 雙電源供電產(chǎn)品,如HOLT 的HI-8570,DEI 公司的DEI5070;也有3.3V 單電源供電產(chǎn)品,器件內(nèi)部集成電荷泵,可生成驅(qū)動所需的±5V 電壓,如HI-8596。接收器主要是通道數(shù)量不同,如單通道的HI-8591,多通道的HI-8448??刂破骷闪薃RINC429 協(xié)議,省去主控器件的較多軟件設(shè)計工作,這類器件有只負責(zé)協(xié)議控制的邏輯器件,如HOLT 公司的HI-3210,有集成協(xié)議控制與物理層接收器的,如HOLT 公司的HI-3220、DEI 公司DEI1016,還有集成協(xié)議控制與物理層收發(fā)器的,如HOLT公司的HI-3593 和DEI 公司的DEI3093。從控制側(cè)接口看,有采用并口設(shè)計的,如HOLT 公司的HI-3582;也有采用SPI 接口的,如HI-3593。另外,也有一些集成422/CAN或1553В 協(xié)議與429 協(xié)議互相轉(zhuǎn)換的橋接電路。在航空系統(tǒng)中,對設(shè)備的防雷能力要求較高,為此,HOLT 和DEI 升級了相關(guān)429 協(xié)議器件,增加了防雷設(shè)計,部分產(chǎn)品可以通過RTCA/DO-160G 三級防雷實驗,這些設(shè)計極大增強了器件的可靠性。在設(shè)計中,高集成度能夠減小系統(tǒng)軟硬件設(shè)計開銷,控制器集成物理層接收器和發(fā)送器逐漸成為設(shè)計首選方案。本文選用HI-3593 開展相關(guān)設(shè)計[5]。
在眾多國內(nèi)外429 器件中,HOLT 公司的HI-3593 比較有特點,該器件采用3.3V 單電源供電,集成電荷泵,自生成±5V 電源為驅(qū)動端供電。集成429 協(xié)議控制器、兩路接收器、一路發(fā)送器,連接CPU 側(cè)為SPI 接口,對IO 資源消耗少[6],HI-3593 有多個狀態(tài)信號,常用的有接收中斷脈沖信號,用于指示是否有數(shù)據(jù)接收;空滿標(biāo)識,指示FIFO的占用情況。
本設(shè)計中,HI-3593 兩收一發(fā)全部利用起來,接收器一路對外接收通信,另一路環(huán)回,用于監(jiān)測發(fā)送是否正確[7~8]。發(fā)送器考慮到內(nèi)阻小、抗過壓能力弱,通道增加了限流電阻及對地TVS 管過壓防護電路[9],接收通道內(nèi)阻大、共模電壓寬,只增加一個差分限壓的TVS 管,起到防護作用。電路時鐘采用16MHz 有源晶振,內(nèi)部分頻后使用。主控通過INT 中斷脈沖觸發(fā)讀取接收信息,原理圖如圖4 所示[10]。
圖4 硬件原理圖
HI-3593 的SPI 時序以SCLK 上升沿采集SI 及SO 數(shù)據(jù),CS 使能信號在每個寄存器讀寫完畢后需有拉高過程,才可進入下一個寄存器的讀寫,HI-3593 寄存器以操作碼+內(nèi)容的模式讀寫配置,最小化配置寄存器主要有以下幾個:
復(fù)位寄存器:JHI-3593 可以通過主復(fù)位(MR)引腳或在軟件控制下通過執(zhí)行SPI 操作碼0x04 進行初始化。MR必須持續(xù)1μs 的高脈沖使部分電路處于完全復(fù)位狀態(tài)。MR清除全部三個FIFO,全部六個優(yōu)先標(biāo)簽信箱,清除過濾器內(nèi)存和匹配寄存器,并將所有其他內(nèi)部寄存器設(shè)置為 默認狀態(tài)。軟件復(fù)位采用SPI 操作碼0x44 進行。軟件復(fù)位清除所有三個FIFO 和 六個優(yōu)先標(biāo)簽信箱,但不會影響存儲在過濾器內(nèi)存、優(yōu)先級標(biāo)簽匹 配寄存器或其他可寫寄存器中的值。
分頻寄存器:為了校正ARINC 429 數(shù)據(jù)傳送和接收速率以及位時序,JHI-3593 發(fā) 送和接收邏輯需要一個1MHz±1%的參考時鐘源。時鐘在ACLK 引腳輸入且必須是1MHz 或1MHz 至30MHz 間的偶數(shù)倍頻率。此設(shè)計采用16MHz 時鐘,分頻寄存器位0x38 10。
接收控制寄存器:主要定義器件的速率,匹配、標(biāo)簽、校驗使能,默認值00,器件處于高速率模式,各功能位不使能。
發(fā)送控制寄存器:主要規(guī)定器件傳輸速率、校驗使能、輸出模式等,總線發(fā)送位序還可做部分調(diào)換,默認值00,器件處于高速率模式,各功能位不使能,發(fā)送需要0x40 指令才可將發(fā)送FIFO 數(shù)據(jù)發(fā)出。
狀態(tài)寄存器:可以標(biāo)示收發(fā)狀態(tài),指示收發(fā)FIFO 及標(biāo)簽的占用情況。
在調(diào)試階段,常會使用自回環(huán),需注意在回環(huán)模式下,發(fā)送器串行輸出數(shù)據(jù)將會在內(nèi)部回送到接收器1,其反相數(shù)據(jù)則將出現(xiàn)在接收器2,同時強制TXAOUT 和TXВOUT 引腳進入Null 狀態(tài),以避免自測試數(shù)據(jù)出現(xiàn)在ARINC 429 總線上。電路還具備標(biāo)簽過濾功能,通過加載256 位標(biāo)簽查找表來指定送入的8 位ARINC 標(biāo)簽?zāi)男┍淮嫒隖IFO,哪些不存入FIFO。開啟后,送入的ARINC 429 字的標(biāo)簽字節(jié)值將對照預(yù)設(shè)的標(biāo)簽查找表的相應(yīng)位置進行檢查。如果該標(biāo)簽位被置“1”,則字存入FIFO 中。如果該位被置“0”,則字不存入FIFO[11]。
以常用的奇偶校驗為例開展收發(fā)驗證,發(fā)送器使能校驗后,奇偶校驗發(fā)生器在31 位的字里對“1”計數(shù),發(fā)送的第32 位將生成奇校驗。接收器奇偶校驗電路開啟后,會對包括奇偶校驗位在內(nèi)接收到的“1”個數(shù)進行計數(shù)。結(jié)果是一個奇數(shù),則將“0”儲存在第32 位,并覆蓋之前接收到的奇偶校驗位,“0”表示奇偶校驗位檢查通過。如果接收奇偶校驗被開啟,并且一個 帶有錯誤奇校驗的字被接收,那么第32 位將被覆 蓋為“1”,這表明奇偶校驗檢查未通過[12]。
發(fā)送控制開啟奇校驗,發(fā)送10555555 和30AAAAAA,總線A 端口數(shù)據(jù)如圖5 所示。
圖5 奇校驗發(fā)送波形圖
SPI分別讀取接收器1和接收器2的FIFO,1路開啟校驗,2 路不開啟校驗,讀取接收數(shù)據(jù)FIFO,1 路為10555555 和30AAAAAA,2 路為10555555 和В0AAAAAA。
發(fā)送控制開啟偶校驗,發(fā)送仍然是10555555 和30AAAAAA,總線A 端口數(shù)據(jù)如圖6 所示。
圖6 偶校驗發(fā)送波形圖
SPI 分別讀取兩路接收FIFO,1 路開啟校驗,2 路不開啟校驗,讀取接收數(shù)據(jù)FIFO,1 路為90555555 和В0AAAAAA,2 路為90555555 和30AAAAAA。
本文簡述了429 總線協(xié)議與電氣標(biāo)準(zhǔn),對比了主流廠商的429 器件,選擇HOLT 器件設(shè)計了典型接口電路,為429 總線的軟硬件設(shè)計提供了指導(dǎo)。