循環(huán)冗余校驗(yàn)確保正確的數(shù)據(jù)通信
發(fā)布時(shí)間:2020-02-10 來源:Ken Kavanagh 責(zé)任編輯:wenwei
【導(dǎo)讀】在工業(yè)環(huán)境中,電子系統(tǒng)通常工作在極端的溫度條件下,或處于電子噪聲環(huán)境,或是其它惡劣條件,而系統(tǒng)在這種條件下能 否正常工作至關(guān)重要。舉例來說,如果發(fā)送給控制機(jī)器臂位置 的DAC 的數(shù)據(jù)遭到破壞,機(jī)器臂就會按非預(yù)期的方向移動(dòng), 這不僅危險(xiǎn),而且代價(jià)巨大。試想一下,機(jī)器臂如果砸到生產(chǎn) 線上的新車,或者更糟,砸到生產(chǎn)工人,后果會怎樣?
有幾種方法可以確保收到正確數(shù)據(jù)后才執(zhí)行動(dòng)作。最簡單的方 式就是控制器回讀所發(fā)送的數(shù)據(jù)。如果接收的數(shù)據(jù)與發(fā)送的數(shù) 據(jù)不匹配,則說明其中一者已受到破壞,必須發(fā)送新數(shù)據(jù)并進(jìn) 行驗(yàn)證。這種方法的確可靠,但產(chǎn)生的開銷也很大,每段數(shù)據(jù) 都必須經(jīng)過驗(yàn)證,傳輸?shù)臄?shù)據(jù)量要翻一倍。
另一種替代方法是循環(huán)冗余校驗(yàn)(CRC),即隨每個(gè)數(shù)據(jù)包發(fā) 送一個(gè)校驗(yàn)和(checksum),接收器就會指示是否存在問題, 所以控制器無需驗(yàn)證接收。校驗(yàn)和一般通過向數(shù)據(jù)應(yīng)用一個(gè)多 項(xiàng)式方程式來生成。應(yīng)用于一個(gè)24 位字時(shí),CRC-8 可產(chǎn)生一 個(gè)8 位校驗(yàn)和。將校驗(yàn)和與數(shù)據(jù)組合在一起,全部32 位都發(fā) 送到能夠分析該組合的器件,并指示是否出錯(cuò)——這種方法雖 然不是無可挑剔解決方案,但卻比讀寫方法更加高效。
ADI 公司的眾多DAC 都采用了分組差錯(cuò)校驗(yàn)(PEC)的形式 來實(shí)現(xiàn)CRC。不需要PEC 功能時(shí),則寫入24 位數(shù)據(jù)。要添加 PEC 功能,24 位數(shù)據(jù)需增加相應(yīng)的8 位校驗(yàn)和。如果接收的 校驗(yàn)和與數(shù)據(jù)不一致,輸出引腳被拉低,指示存在錯(cuò)誤??刂?器清除錯(cuò)誤,使引腳返回高電平,并重新發(fā)送數(shù)據(jù)。圖1 所示 為如何用SPI 接口應(yīng)用數(shù)據(jù)的示例。表1 列出了能夠采用分組 差錯(cuò)校驗(yàn)的ADI 器件示例。
圖1. 采用和不采用分組差錯(cuò)校驗(yàn)的SPI寫入
表1. 采用分組差錯(cuò)校驗(yàn)的ADI 器件示例
生成分組差錯(cuò)校驗(yàn)和
CRC-8 算法采用多項(xiàng)式 C(x) = x8 + x2 + x1 + 1. For x = 2時(shí),此式 等于二進(jìn)制值100000111。要生成校驗(yàn)和,需將24 位數(shù)據(jù)左移 8 位,產(chǎn)生一個(gè)后8 位為邏輯0 的32 位數(shù)。對齊CRC 多項(xiàng)式, 使其MSB 與該32 位數(shù)據(jù)最左側(cè)的邏輯1 對齊。對該數(shù)據(jù)施加 一個(gè)異或(XOR)函數(shù),以產(chǎn)生一個(gè)新(更短)的數(shù)字。(數(shù) 字匹配得到邏輯0,不匹配得到邏輯1。)再次對齊CRC 多項(xiàng) 式,使其MSB 與第一個(gè)結(jié)果最左側(cè)的邏輯1 對齊,重復(fù)上述 步驟。最后,原始數(shù)據(jù)將減少至小于CRC 多項(xiàng)式的值。此值 即是8 位校驗(yàn)和。圖2 演示了推演校驗(yàn)和的方法。
圖2. 生成24 位數(shù)((0x654321))的校驗(yàn)和
結(jié)論
圖2 中的示例采用(十六進(jìn)制)值0x654321 作為24 位數(shù)據(jù)字。 對該數(shù)據(jù)應(yīng)用CRC-8 多項(xiàng)式可生成校驗(yàn)和0x86。數(shù)據(jù)和校驗(yàn) 和發(fā)送至兼容的ADI 公司產(chǎn)品時(shí),只有兩段數(shù)據(jù)都正確到達(dá), 該數(shù)據(jù)才會被接收。此方法提高了數(shù)據(jù)傳輸?shù)目煽啃?,并可確 保遭破壞的數(shù)據(jù)幾乎永遠(yuǎn)不會被接收。
推薦閱讀:
升壓電源和高壓DAC為天線和濾波器提供調(diào)諧信號
特別推薦
- 協(xié)同創(chuàng)新,助汽車行業(yè)邁向電氣化、自動(dòng)化和互聯(lián)化的未來
- 功率器件熱設(shè)計(jì)基礎(chǔ)(八)——利用瞬態(tài)熱阻計(jì)算二極管浪涌電流
- 用于模擬傳感器的回路供電(兩線)發(fā)射器
- 應(yīng)用于體外除顫器中的電容器
- 將“微型FPGA”集成到8位MCU,是種什么樣的體驗(yàn)?
- 能源、清潔科技和可持續(xù)發(fā)展的未來
- 博瑞集信推出高增益、內(nèi)匹配、單電源供電 | S、C波段驅(qū)動(dòng)放大器系列
技術(shù)文章更多>>
- 探索工業(yè)應(yīng)用中邊緣連接的未來
- 解構(gòu)數(shù)字化轉(zhuǎn)型:從策略到執(zhí)行的全面思考
- 意法半導(dǎo)體基金會:通過數(shù)字統(tǒng)一計(jì)劃彌合數(shù)字鴻溝
- 使用手持頻譜儀搭配高級軟件:精準(zhǔn)捕獲隱匿射頻信號
- 為什么超大規(guī)模數(shù)據(jù)中心要選用SiC MOSFET?
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
無線充電
無線監(jiān)控
無源濾波器
五金工具
物聯(lián)網(wǎng)
顯示模塊
顯微鏡結(jié)構(gòu)
線圈
線繞電位器
線繞電阻
線束
限位開關(guān)
陷波器
相變存儲器
消弧線圈
肖特基二極管
心率監(jiān)測儀
欣達(dá)旺
新唐科技
信號發(fā)生器
信號繼電器
行程開關(guān)
修復(fù)設(shè)備
蓄電池
旋轉(zhuǎn)開關(guān)
血壓計(jì)
血氧儀
壓電蜂鳴器
壓接連接器
壓控振蕩器