一種多通道ARINC429總線收發(fā)容錯(cuò)方法的研究
3.3 信號(hào)調(diào)理
接收模塊接收到的ARINC429信號(hào)去掉了負(fù)電平,如圖5中的busa和busb。對(duì)每一位信號(hào),前半個(gè)位周期為數(shù)據(jù)周期,若busa為“1”且bush為“0”,則所要表達(dá)的數(shù)據(jù)為“1”,反之為“0”。后半個(gè)位周期為時(shí)鐘周期,busa和busb均為“0”。所以,通過(guò)將busa和busb進(jìn)行或非運(yùn)算,如圖中clk_429,在前半個(gè)位周期(數(shù)據(jù))時(shí)為“0”,在后半個(gè)位周期(時(shí)鐘)為“1”。從而提取出了時(shí)鐘,并以此接收數(shù)據(jù)。同時(shí),在每一位前半個(gè)周期提取出數(shù)據(jù),在后半個(gè)周期鎖存上半個(gè)周期數(shù)據(jù),得到數(shù)據(jù)信號(hào)bus_d。從信號(hào)調(diào)理仿真圖中可以看出,在每個(gè)時(shí)
鐘信號(hào)clk_429的上升沿觸發(fā)時(shí),可以從bus_d中采集到相應(yīng)的數(shù)據(jù)信號(hào)。本文引用地址:http://m.butianyuan.cn/article/175788.htm
3.4 校驗(yàn)
校驗(yàn)主要包括奇偶校驗(yàn)和字校驗(yàn)。奇偶校驗(yàn)主要是將所有數(shù)據(jù)逐位異或,再根據(jù)校驗(yàn)方式將異或結(jié)果和校驗(yàn)位相比較。
由于ARINC429總線的時(shí)鐘、數(shù)據(jù)和字同步信息都由兩個(gè)差分的信號(hào)線來(lái)表達(dá),當(dāng)出現(xiàn)干擾時(shí)會(huì)使時(shí)鐘混亂,而字校驗(yàn)則是校驗(yàn)傳輸中是否有干擾,使傳輸?shù)臄?shù)據(jù)混亂。
如圖6所示,在busa的數(shù)據(jù)周期出現(xiàn)了干擾信號(hào),導(dǎo)致通過(guò)busa運(yùn)算得到的時(shí)鐘clk_429也出現(xiàn)了錯(cuò)誤,在錯(cuò)誤處插入了一位數(shù)據(jù),并使后面的數(shù)據(jù)全部移位。而這種情況,有可能無(wú)法被奇偶校驗(yàn)檢驗(yàn)出來(lái),則需要通過(guò)位檢驗(yàn)來(lái)檢驗(yàn)出來(lái)。
位校驗(yàn)是通過(guò)校驗(yàn)一個(gè)周期的時(shí)間是否正確,來(lái)判斷是否出現(xiàn)干擾信號(hào)。位校驗(yàn)信號(hào)onebit在接收模塊空閑時(shí)置0,當(dāng)busa或busb上升沿到來(lái)時(shí)取反,并計(jì)數(shù)其為1時(shí)的時(shí)間。表2中列出了1位周期的計(jì)數(shù)值,考慮到傳輸誤差,當(dāng)計(jì)數(shù)值滿足條件:cnt_one∈|x|7≤x≤9或63≤x ≤65}時(shí),傳輸無(wú)誤,反之則視為錯(cuò)誤數(shù)據(jù),將位錯(cuò)誤標(biāo)志位wrongbit置1,在接收完成后將此數(shù)據(jù)舍掉。
4 倍頻容錯(cuò)的自適應(yīng)速率接收方法
在前面提出的數(shù)據(jù)接收方法中,如遇到干擾信號(hào),經(jīng)位檢測(cè)檢測(cè)到后,則把該數(shù)據(jù)舍去。雖然保證了數(shù)據(jù)傳輸?shù)恼_性,但無(wú)法保證數(shù)據(jù)的有效傳輸,需要多次反復(fù)傳輸,來(lái)確保把所需傳輸?shù)臄?shù)據(jù)都傳輸?shù)浇邮辗?。干擾信號(hào)無(wú)處不在,無(wú)法在根本杜絕,但是卻可以通過(guò)算法來(lái)修正錯(cuò)誤的數(shù)據(jù)。
這里使用的容錯(cuò)數(shù)據(jù)接收方法,電平轉(zhuǎn)換電路、端口定義和狀態(tài)轉(zhuǎn)換都與以上的方法相同,但不采用ARINC429總線提供的時(shí)鐘采集數(shù)據(jù),而是對(duì)ARINC429總線的兩根信號(hào)線分別進(jìn)行8倍頻的采樣。通過(guò)檢測(cè)中前4次時(shí)鐘周期的平均值來(lái)計(jì)算出數(shù)據(jù)的傳輸速率,對(duì)后面的數(shù)據(jù)選擇相應(yīng)的接收頻率來(lái)接收。對(duì)于每一根信號(hào)線,當(dāng)每一位采樣得到的數(shù)據(jù)不一致時(shí),即由于干擾導(dǎo)致產(chǎn)生波動(dòng)時(shí),采用投票的方式表決;
再將兩根信號(hào)線的信息進(jìn)行綜合比對(duì),糾正錯(cuò)誤信號(hào);如還有錯(cuò)誤位,且只有1位錯(cuò)誤,則運(yùn)用校驗(yàn)位信息計(jì)算出該錯(cuò)誤位的實(shí)際信息,否則才舍掉此數(shù)據(jù)。
4.1 傳輸速率自動(dòng)識(shí)別
普通的ARINC429接收模塊設(shè)計(jì)中沒(méi)有檢測(cè)傳輸速率,是因?yàn)闊o(wú)需通過(guò)傳輸速率來(lái)識(shí)別數(shù)據(jù)傳輸結(jié)束時(shí)的四位時(shí)鐘周期。而本文所介紹的方法,則需通過(guò)速率來(lái)選擇采樣頻率。當(dāng)傳輸速率為100 Kb/s時(shí),用800 kHz的時(shí)鐘采樣;當(dāng)傳輸速率為12.5 Kb/s時(shí),為使時(shí)鐘統(tǒng)一采用800 kHz的時(shí)鐘,但用計(jì)數(shù)器計(jì)數(shù),計(jì)數(shù)值為8才采樣一次,以實(shí)現(xiàn)100 kHz采樣。
在接收模塊處于接收狀態(tài)時(shí),累加前4個(gè)周期時(shí)鐘周期,即busa和busb均為0的周期的計(jì)數(shù)值,然后將此累加和除以4,即右移2位,從而計(jì)算出了前4個(gè)時(shí)鐘周期的平均值,并據(jù)此計(jì)算出速率。因此,在前4個(gè)周期,用800 kHz的時(shí)鐘采樣。計(jì)算出傳送速率后,若為12.5Kb/s,則切換為100 kHz采樣時(shí)鐘。
4.2 采樣數(shù)據(jù)處理
采用8倍頻對(duì)信號(hào)進(jìn)行采樣,這樣對(duì)每一位而言,前半個(gè)周期的數(shù)據(jù)采樣了4次,后半個(gè)周期的歸零時(shí)鐘也采樣了4次。將對(duì)數(shù)據(jù)采樣4次得到的4個(gè)數(shù)據(jù)進(jìn)行對(duì)比,若4個(gè)數(shù)據(jù)一致,則傳輸無(wú)錯(cuò)誤;若4個(gè)數(shù)據(jù)有3個(gè)一樣,則采用投票的方式,采信3個(gè)一樣的數(shù)據(jù);若兩個(gè)數(shù)據(jù)為0,而另兩個(gè)數(shù)據(jù)為1,則無(wú)法判斷此位數(shù)據(jù)的值,記為錯(cuò)誤位。
由于ARINC429總線采用差分方式傳輸,即同時(shí)接收到兩組數(shù)據(jù)。可同時(shí)對(duì)這兩組數(shù)據(jù)做位檢測(cè),并對(duì)其進(jìn)行綜合判斷。
若經(jīng)位檢測(cè),測(cè)得A線為1,B線為z,則B線實(shí)際為0,即邏輯“1”;因?yàn)锳線為1時(shí),B線只能為0,來(lái)表達(dá)邏輯“1”,A、B線均為1的情況不存在。同理,測(cè)得A線為z,B線為1,則A線實(shí)際為0,即邏輯“0”。然而,若A或B線中,一個(gè)為0,另一個(gè)為z,則無(wú)法判斷其值;因?yàn)锳、B線同時(shí)為0的情況存在,表示的是時(shí)鐘,只能將其記為錯(cuò)誤位,如表3所示。
由于在采樣時(shí),既得到了數(shù)據(jù),也得到了時(shí)鐘,所以在對(duì)A、B線進(jìn)行綜合判斷之后,需將時(shí)鐘信息去除掉,即將A、B線均為0的為去掉。然后判斷所得數(shù)據(jù)是否有錯(cuò)誤位(z),以及錯(cuò)誤位的數(shù)量。若錯(cuò)誤位只有一位,則可通過(guò)其他位和奇偶校驗(yàn)位,推算出該位的實(shí)際信息;若錯(cuò)誤位不止一位,則無(wú)法推算出實(shí)際信息,只能將此數(shù)據(jù)字舍掉;若無(wú)錯(cuò)誤位,則進(jìn)行奇偶校驗(yàn)。通過(guò)PC端軟件控制ARINC429板卡,進(jìn)行多個(gè)通道的收發(fā)測(cè)試,如圖7所示。
5 結(jié)語(yǔ)
實(shí)驗(yàn)證明,使用本文論述的方法能夠自動(dòng)識(shí)別傳輸ARINC429總線速率,在多通道通信過(guò)程中,充分發(fā)揮了SoPC系統(tǒng)實(shí)時(shí)性和并行數(shù)據(jù)處理的優(yōu)勢(shì),在民用航空電子設(shè)備的設(shè)計(jì)和研究中能夠可靠地進(jìn)行數(shù)據(jù)傳輸,降低航空電子行業(yè)在測(cè)試設(shè)備方面的成本投入。
評(píng)論