循環(huán)冗余校驗在數(shù)據(jù)通信中的應(yīng)用
出處:hziee30 發(fā)布于:2011-08-25 09:39:22
在工業(yè)環(huán)境中,電子系統(tǒng)通常工作在極端的溫度條件下,或處 于電子噪聲環(huán)境,或是其它惡劣條件,而系統(tǒng)在這種條件下能 否正常工作至關(guān)重要。舉例來說,如果發(fā)送給控制機(jī)器臂位置 的DAC 的數(shù)據(jù)遭到破壞,機(jī)器臂就會按非預(yù)期的方向移動, 這不僅危險,而且代價巨大。試想一下,機(jī)器臂如果砸到生產(chǎn) 線上的新車,或者更糟,砸到生產(chǎn)工人,后果會怎樣?
有幾種方法可以確保收到正確數(shù)據(jù)后才執(zhí)行動作。簡單的方 式就是控制器回讀所發(fā)送的數(shù)據(jù)。如果接收的數(shù)據(jù)與發(fā)送的數(shù) 據(jù)不匹配,則說明其中一者已受到破壞,必須發(fā)送新數(shù)據(jù)并進(jìn) 行驗證。這種方法的確可靠,但產(chǎn)生的開銷也很大,每段數(shù)據(jù) 都必須經(jīng)過驗證,傳輸?shù)臄?shù)據(jù)量要翻一倍。
另一種替代方法是循環(huán)冗余校驗(CRC),即隨每個數(shù)據(jù)包發(fā) 送一個校驗和(checksum),接收器就會指示是否存在問題, 所以控制器無需驗證接收。
循環(huán)冗余校驗碼(CRC)的基本原理是:在K位信息碼后再拼接R位的校驗碼,整個編碼長度為N位,因此,這種編碼又叫(N,K)碼。對于一個給定的(N,K)碼,可以證明存在一個次冪為N-K=R的多項式G(x)。根據(jù)G(x)可以生成K位信息的校驗碼,而G(x)叫做這個CRC碼的生成多項式。
校驗碼的具體生成過程為:假設(shè)發(fā)送信息用信息多項式C(X)表示,將C(x)左移R位,則可表示成C(x)*2R,這樣C(x)的右邊就會空出R位,這就是校驗碼的位置。通過C(x)*2R除以生成多項式G(x)得到的余數(shù)就是校驗碼。
ADI 公司的眾多DAC 都采用了分組差錯校驗(PEC)的形式 來實現(xiàn)CRC。不需要PEC 功能時,則寫入24 位數(shù)據(jù)。要添加 PEC 功能,24 位數(shù)據(jù)需增加相應(yīng)的8 位校驗和。如果接收的 校驗和與數(shù)據(jù)不一致,輸出引腳被拉低,指示存在錯誤??刂?器清除錯誤,使引腳返回高電平,并重新發(fā)送數(shù)據(jù)。圖1 所示 為如何用SPI 接口應(yīng)用數(shù)據(jù)的示例。表1 列出了能夠采用分組 差錯校驗的ADI 器件示例。

圖1. 采用和不采用分組差錯校驗的SPI 寫入
表1. 采用分組差錯校驗的ADI 器件示例
| 產(chǎn)品型號 | 描述 |
| AD5360/AD5361 | 16通道、16 位/14 位、±10 V DAC |
| AD5362/AD5363 | 8通道、16 位/14 位、±10 V DAC |
| AD5748 | 電流/電壓輸出驅(qū)動器,適合工業(yè)應(yīng)用 |
| AD5749 | 電流輸出驅(qū)動器,適合工業(yè)應(yīng)用 |
| AD5750/AD5750-1 | 電流/電壓輸出驅(qū)動器,輸出范圍可編程,適合 工業(yè)應(yīng)用 |
| AD5751 | 電流/電壓輸出驅(qū)動器,適合工業(yè)應(yīng)用 |
| AD5755/AD5735 | 4通道、16 位、4 mA 至20 mA 電流和電壓輸出 DAC |
| AD5757/AD5737 | 4通道、16 位、4 mA 至20 mA 電流輸出DAC |
| ADT7470 | 溫度傳感器集線器和風(fēng)扇控制器 |
生成分組差錯校驗和
CRC-8 算法采用多項式 C(x) = x8 + x2 + x1 + 1. For x = 2時,此式 等于二進(jìn)制值100000111。要生成校驗和,需將24 位數(shù)據(jù)左移 8 位,產(chǎn)生一個后8 位為邏輯0 的32 位數(shù)。對齊CRC 多項式, 使其MSB 與該32 位數(shù)據(jù)左側(cè)的邏輯1 對齊。對該數(shù)據(jù)施加 一個異或(XOR)函數(shù),以產(chǎn)生一個新(更短)的數(shù)字。(數(shù) 字匹配得到邏輯0,不匹配得到邏輯1。)再次對齊CRC 多項 式,使其MSB 與個結(jié)果左側(cè)的邏輯1 對齊,重復(fù)上述 步驟。,原始數(shù)據(jù)將減少至小于CRC 多項式的值。此值 即是8 位校驗和。圖2 演示了推演校驗和的方法。

圖2. 生成24 位數(shù)((0x654321))的校驗和
結(jié)論
圖2 中的示例采用(十六進(jìn)制)值0x654321 作為24 位數(shù)據(jù)字。 對該數(shù)據(jù)應(yīng)用CRC-8 多項式可生成校驗和0x86。數(shù)據(jù)和校驗 和發(fā)送至兼容的ADI 公司產(chǎn)品時,只有兩段數(shù)據(jù)都正確到達(dá), 該數(shù)據(jù)才會被接收。此方法提高了數(shù)據(jù)傳輸?shù)目煽啃?,并可確 保遭破壞的數(shù)據(jù)幾乎永遠(yuǎn)不會被接收。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 數(shù)字電源控制與傳統(tǒng)模擬控制的深度對比2026/2/2 11:06:56
- 模擬信號調(diào)理電路技術(shù)設(shè)計與選型運(yùn)維指南2025/12/30 10:08:16
- 運(yùn)算放大器壓擺率的核心要點(diǎn)2025/9/5 16:27:55
- 深度剖析放大器穩(wěn)定系數(shù) K 與 Mu 的差異2025/9/2 16:44:05
- 什么是運(yùn)算放大器失調(diào)電流2025/9/1 17:01:22
- 高速PCB信號完整性(SI)設(shè)計核心實操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計與干擾抑制核心實操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計常見問題分析









