循環(huán)冗余校驗(yàn)確保正確的數(shù)據(jù)通信 - 全文
?
? ? ? 在工業(yè)環(huán)境中,電子系統(tǒng)通常工作在極端的溫度條件下,或處 于電子噪聲環(huán)境,或是其它惡劣條件,而系統(tǒng)在這種條件下能 否正常工作至關(guān)重要。舉例來(lái)說(shuō),如果發(fā)送給控制機(jī)器臂位置 的DAC?的數(shù)據(jù)遭到破壞,機(jī)器臂就會(huì)按非預(yù)期的方向移動(dòng), 這不僅危險(xiǎn),而且代價(jià)巨大。試想一下,機(jī)器臂如果砸到生產(chǎn) 線(xiàn)上的新車(chē),或者更糟,砸到生產(chǎn)工人,后果會(huì)怎樣?
有幾種方法可以確保收到正確數(shù)據(jù)后才執(zhí)行動(dòng)作。最簡(jiǎn)單的方 式就是控制器回讀所發(fā)送的數(shù)據(jù)。如果接收的數(shù)據(jù)與發(fā)送的數(shù) 據(jù)不匹配,則說(shuō)明其中一者已受到破壞,必須發(fā)送新數(shù)據(jù)并進(jìn) 行驗(yàn)證。這種方法的確可靠,但產(chǎn)生的開(kāi)銷(xiāo)也很大,每段數(shù)據(jù) 都必須經(jīng)過(guò)驗(yàn)證,傳輸?shù)臄?shù)據(jù)量要翻一倍。
另一種替代方法是循環(huán)冗余校驗(yàn)(CRC),即隨每個(gè)數(shù)據(jù)包發(fā) 送一個(gè)校驗(yàn)和(checksum),接收器就會(huì)指示是否存在問(wèn)題, 所以控制器無(wú)需驗(yàn)證接收。校驗(yàn)和一般通過(guò)向數(shù)據(jù)應(yīng)用一個(gè)多 項(xiàng)式方程式來(lái)生成。應(yīng)用于一個(gè)24 位字時(shí),CRC-8 可產(chǎn)生一 個(gè)8 位校驗(yàn)和。將校驗(yàn)和與數(shù)據(jù)組合在一起,全部32 位都發(fā) 送到能夠分析該組合的器件,并指示是否出錯(cuò)——這種方法雖 然不是無(wú)可挑剔解決方案,但卻比讀寫(xiě)方法更加高效。
ADI 公司的眾多DAC 都采用了分組差錯(cuò)校驗(yàn)(PEC)的形式 來(lái)實(shí)現(xiàn)CRC。不需要PEC 功能時(shí),則寫(xiě)入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 寫(xiě)入
表1. 采用分組差錯(cuò)校驗(yàn)的ADI 器件示例
?
產(chǎn)品型號(hào) | 描述 |
AD5360/AD5361 | 16通道、16 位/14 位、±10 V DAC |
AD5362/AD5363 | 8通道、16 位/14 位、±10 V DAC |
AD5748 | 電流/電壓輸出驅(qū)動(dòng)器,適合工業(yè)應(yīng)用 |
AD5749 | 電流輸出驅(qū)動(dòng)器,適合工業(yè)應(yīng)用 |
AD5750/AD5750-1 | 電流/電壓輸出驅(qū)動(dòng)器,輸出范圍可編程,適合 工業(yè)應(yīng)用 |
AD5751 | 電流/電壓輸出驅(qū)動(dòng)器,適合工業(yè)應(yīng)用 |
AD5755/AD5735 | 4通道、16 位、4 mA 至20 mA 電流和電壓輸出 DAC |
AD5757/AD5737 | 4通道、16 位、4 mA 至20 mA 電流輸出DAC |
ADT7470 | 溫度傳感器集線(xiàn)器和風(fēng)扇控制器 |
?
生成分組差錯(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ù)。對(duì)齊CRC 多項(xiàng)式, 使其MSB 與該32 位數(shù)據(jù)最左側(cè)的邏輯1 對(duì)齊。對(duì)該數(shù)據(jù)施加 一個(gè)異或(XOR)函數(shù),以產(chǎn)生一個(gè)新(更短)的數(shù)字。(數(shù) 字匹配得到邏輯0,不匹配得到邏輯1。)再次對(duì)齊CRC 多項(xiàng) 式,使其MSB 與第一個(gè)結(jié)果最左側(cè)的邏輯1 對(duì)齊,重復(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ù)字。 對(duì)該數(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ù)才會(huì)被接收。此方法提高了數(shù)據(jù)傳輸?shù)目煽啃裕⒖纱_ 保遭破壞的數(shù)據(jù)幾乎永遠(yuǎn)不會(huì)被接收。
- 第 1 頁(yè):循環(huán)冗余校驗(yàn)確保正確的數(shù)據(jù)通信
- 第 2 頁(yè):生成分組差錯(cuò)校驗(yàn)和
本文導(dǎo)航
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說(shuō)] 如何打造具有競(jìng)爭(zhēng)力的線(xiàn)纜數(shù)智化升級(jí)解決方案? 2023-10-22
- [電子說(shuō)] 華為全聯(lián)接大會(huì)2023 | 一圖看懂?dāng)?shù)據(jù)通信商業(yè)市場(chǎng)新品 2023-09-28
- [電子說(shuō)] Modbus協(xié)議網(wǎng)關(guān)的飲料生產(chǎn)線(xiàn)數(shù)據(jù)通信應(yīng)用 2023-09-26
- [電子說(shuō)] 華為全聯(lián)接大會(huì)2023|華為發(fā)布全新《邁向智能世界白皮書(shū)》數(shù)據(jù)通信篇 2023-09-25
- [電子說(shuō)] 使用cJSON庫(kù)來(lái)做數(shù)據(jù)組包及數(shù)據(jù)解析分享 2023-09-25
- [電子說(shuō)] 為什么電路帶寬不能設(shè)計(jì)成無(wú)窮大? 2023-09-20
- [連接器] 2024年的連接器行業(yè)前景如何呢 2023-09-07
- [電子說(shuō)] 華為全聯(lián)接大會(huì) 2023 | 華為數(shù)據(jù)通信參會(huì)早知道! 2023-09-06
( 發(fā)表人:葉子 )