民用飛機通過 A429、A629、A664、TTP 等常見的航空總線,提供了飛控、航電等機載系統和設備間傳輸信号的公共路徑,可實現系統内部和系統間的數據交互。
每一種數據總線,均定義了其如何使用的一套規則,這就是 “總線協議”。相關數據收發設備,需遵循同一 “總線協議”,才能實現正常通信。
例如針對 A429 總線,ARINC(航空無線電通信公司) 發布了三份總線規範文件。
02 總線傳輸信号的完整性
根據飛機系統的安全性評估過程,如果某些信号的錯誤或異常,對飛機安全有重要影響,那麼我們對這些信号通常有非常高的完整性要求。
其中 a 為 0 或 1;x 用來表明二進制數據的排列位置。例如一個 10 位二進制數 1101011011 用多項式表示,如下:
将 P(x) 除以一個下圖所示的 CRC 多項式後,可得到一個餘數 R(x) ,即 CRC 校驗碼。
CRC算法中的,常見的生成多項式,如上圖所示。
注:由于多項式表示或二進制表示較為繁瑣,造成交流不便,因此實際使用時多采用 16 進制簡寫法來表示。同時考慮到多項式最高位為 1,而最高位的位置可由原始數據的位寬确定,因此十六進制簡記式中,将最高位的 1 去掉了。
04 CRC校驗碼如何産生?在 CRC 算法中,多項式的乘除法,可以對應到二進制數的模 2 運算,這就是我們通常所說的異或運算。
在工程應用中,我們希望餘數的位數固定以便在實現時可以節省資源。常見的 CRC 方案是 16 位或 32 位。若原始數據的長度比 CRC 碼短,必須擴展到 16/32 位以上才能到一個 16/32 位的餘數。通常的做法是在原始數據的右邊添加相應的 CRC 碼位數。
這裡列舉一個簡單的例子,用于闡明 CRC 校驗碼的計算過程。
假設原始二進制數據為 1101011011,采用 4 位 CRC 校驗,則除數多項式選取CRC-4,即 10011。計算過程如下所示(計算前将原始數據後面補 4 個 0)。
最後得到的餘數為 1110,即計算得到的 4 位 CRC 校驗碼。16/32 位 CRC 校驗碼的計算過程與之類似。
05 總結理論上 32 位 CRC 可提供 99.999999976716935634613037109375% 的錯誤檢測率,或者說傳輸鍊路完整性可達到 2.328E-10(1/2的 32 次方),因此 32 位 CRC 在高完整性數據傳輸過程中,得到了廣泛應用。
當然啦,CRC 隻是提高傳輸信号完整性的一種措施,并非唯一。感興趣的朋友,歡迎留言,我們一起探讨民機的世界!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!