循環冗餘校驗確保正確的數據通信
發布時間:2020-02-10 來源:Ken Kavanagh 責任編輯:wenwei
【導讀】在工業環境中,電子係統通常工作在極端的溫度條件下,或處於電子噪聲環境,或是其它惡劣條件,而係統在這種條件下能 否正常工作至關重要。舉例來說,如果發送給控製機器臂位置 的DAC 的數據遭到破壞,機器臂就會按非預期的方向移動, 這不僅危險,而且代價巨大。試想一下,機器臂如果砸到生產 線上的新車,或者更糟,砸到生產工人,後果會怎樣?
有幾種方法可以確保收到正確數據後才執行動作。最簡單的方 式就是控製器回讀所發送的數據。如果接收的數據與發送的數 據不匹配,則說明其中一者已受到破壞,必須發送新數據並進 行驗證。這種方法的確可靠,但產生的開銷也很大,每段數據 都必須經過驗證,傳輸的數據量要翻一倍。
另一種替代方法是循環冗餘校驗(CRC),即隨每個數據包發 送一個校驗和(checksum),接收器就會指示是否存在問題, 所以控製器無需驗證接收。校驗和一般通過向數據應用一個多 項式方程式來生成。應用於一個24 位字時,CRC-8 可產生一 個8 位校驗和。將校驗和與數據組合在一起,全部32 位都發 送到能夠分析該組合的器件,並指示是否出錯——這種方法雖 然不是無可挑剔解決方案,但卻比讀寫方法更加高效。
ADI 公司的眾多DAC 都采用了分組差錯校驗(PEC)的形式 來實現CRC。不需要PEC 功能時,則寫入24 位數據。要添加 PEC 功能,24 位數據需增加相應的8 位校驗和。如果接收的 校驗和與數據不一致,輸出引腳被拉低,指示存在錯誤。控製 器清除錯誤,使引腳返回高電平,並重新發送數據。圖1 所示 為如何用SPI 接口應用數據的示例。表1 列出了能夠采用分組 差錯校驗的ADI 器件示例。

圖1. 采用和不采用分組差錯校驗的SPI寫入
表1. 采用分組差錯校驗的ADI 器件示例

生成分組差錯校驗和
CRC-8 算法采用多項式 C(x) = x8 + x2 + x1 + 1. For x = 2時,此式 等於二進製值100000111。要生成校驗和,需將24 位數據左移 8 位,產生一個後8 位為邏輯0 的32 位數。對齊CRC 多項式, 使其MSB 與該32 位數據最左側的邏輯1 對齊。對該數據施加 一個異或(XOR)函數,以產生一個新(更短)的數字。(數 字匹配得到邏輯0,不匹配得到邏輯1。)再次對齊CRC 多項 式,使其MSB 與第一個結果最左側的邏輯1 對齊,重複上述 步驟。最後,原始數據將減少至小於CRC 多項式的值。此值 即是8 位校驗和。圖2 演示了推演校驗和的方法。

圖2. 生成24 位數((0x654321))的校驗和
結論
圖2 中的示例采用(十六進製)值0x654321 作為24 位數據字。 對該數據應用CRC-8 多項式可生成校驗和0x86。數據和校驗 和發送至兼容的ADI 公司產品時,隻有兩段數據都正確到達, 該數據才會被接收。此方法提高了數據傳輸的可靠性,並可確 保遭破壞的數據幾乎永遠不會被接收。
推薦閱讀:
升壓電源和高壓DAC為天線和濾波器提供調諧信號
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 具身智能成最大亮點!CITE 2026開幕峰會釋放產業強信號
- 助力醫療器械產業高質量發展 派克漢尼汾閃耀2026 ICMD
- 比異步時鍾更隱蔽的“芯片殺手”——跨複位域(RDC)問題
- 數據之外:液冷技術背後的連接器創新
- “眼在手上”的嵌入式實踐:基於ROS2與RK3576的機械臂跟隨抓取方案
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
ESD
ESD保護
ESD保護器件
ESD器件
Eurotect
Exar
Fairhild
FFC連接器
Flash
FPC連接器
FPGA
Fujitsu
Future
GFIVE
GPS
GPU
Harting
HDMI
HDMI連接器
HD監控
HID燈
I/O處理器
IC
IC插座
IDT
IGBT
in-cell
Intersil
IP監控
iWatt


