串行通信錯誤檢查的方法和算法
出處:維庫電子市場網(wǎng) 發(fā)布于:2024-07-09 16:33:48
  為什么要檢查串行通信中的錯誤?
  通過多個網(wǎng)絡(luò)通道傳輸數(shù)據(jù)可能會在通過網(wǎng)絡(luò)發(fā)送的信息中產(chǎn)生錯誤。錯誤檢查是一種查找損壞數(shù)據(jù)并防止與之相關(guān)的一些問題的有效方法。有幾種不同的方法可以確定接收的數(shù)據(jù)是否已損壞。這些方法通常包括某種形式的冗余信息或在串行傳輸?shù)陌l(fā)送端和接收端完成的計算,以進行數(shù)據(jù)質(zhì)量分析。
  通信中的錯誤通常是由于傳輸過程中的電噪聲干擾數(shù)據(jù)而導(dǎo)致的。電噪聲會在發(fā)送和接收單元之間傳輸數(shù)據(jù)時破壞數(shù)據(jù)。因此,噪聲會干擾二進制信號,翻轉(zhuǎn)數(shù)據(jù)位,將 1 變成 0,將 0 變成 1??梢允褂貌煌愋偷腻e誤檢測代碼來查找錯誤。這些檢測代碼的復(fù)雜程度各不相同,從非常簡單的奇偶校驗到更復(fù)雜的代碼,如循環(huán)冗余校驗 (CRC) 和其他錯誤檢測方法。
  以太網(wǎng)串行通信
  奇偶校驗位
  奇偶校驗錯誤是錯誤檢測的簡單形式,它包括在傳輸數(shù)據(jù)末尾添加一個位以檢測錯誤。
  奇偶校驗位通常位于給定的數(shù)據(jù)字節(jié)內(nèi)。因此,該字節(jié)由 7 位數(shù)據(jù)和一個奇偶校驗位(偶校驗或奇校驗)組成,用于檢查數(shù)據(jù)的狀態(tài)。奇偶校驗錯誤檢查只能用于檢測數(shù)據(jù)損壞,而不能糾正數(shù)據(jù)損壞。
  奇偶校驗只有在錯誤數(shù)為奇數(shù)時才會起作用,因為偶數(shù)錯誤將抵消位總和奇偶校驗的任何變化。但這也許是可以接受的,因為在一個字節(jié)中,出現(xiàn)一個錯誤的可能性很低;出現(xiàn)兩個錯誤的可能性則要低得多。
  可以執(zhí)行兩種不同的奇偶校驗,即偶校驗或奇校驗。僅對數(shù)據(jù)集中存在的 1 進行計數(shù),校驗位本身也包含在校驗中。
  例如,在偶校驗中,發(fā)送的數(shù)據(jù)字節(jié)由 1010101 0組成:該校驗位是字節(jié)末尾的一個0。在偶校驗中,字節(jié)中 1 的總數(shù)必須是偶數(shù),數(shù)據(jù)才能通過接收端的校驗。在我們的示例中,有四個 1,因此一個校驗位是零,使得字節(jié)中 1 的總和等于 4,這是一個偶數(shù)。
  如果使用奇校驗中的相同字節(jié)示例,則傳輸?shù)慕邮赵O(shè)備將斷定該字節(jié)已損壞。這是因為 1010101 0中的一位使字節(jié)中的 1 的數(shù)量為偶數(shù),在奇校驗的情況下產(chǎn)生“假”。對于使用奇校驗的系統(tǒng),相同的數(shù)據(jù) 1010101 應(yīng)該以1作為一位發(fā)送,使傳輸中的 1 的數(shù)量為奇數(shù),或者在這種特定數(shù)據(jù)傳輸?shù)那闆r下為“真”。使用相同的數(shù)據(jù),正確的奇校驗傳輸將如下所示 1010101 1。
  電機驅(qū)動裝置
  校驗和錯誤檢查比奇偶校驗更復(fù)雜,但其優(yōu)點是精度更高,漏檢錯誤的可能性更小。校驗和的工作原理是發(fā)送一個“校驗和”來伴隨發(fā)送的數(shù)據(jù)。
  發(fā)送單元通過使用 1s 補碼算法將位相加來創(chuàng)建校驗和。在 1s 補碼算法中,只要有進位數(shù)字,就會將其添加到總和中,這意味著發(fā)送的數(shù)據(jù)序列的長度保持不變。
  將所有數(shù)據(jù)相加得到一個和,然后對該和進行求反以生成校驗和。在布爾術(shù)語中,“求反”意味著所有 1 都變?yōu)?0,所有 0 都變?yōu)?1。
  校驗和與接收器要接受的數(shù)據(jù)一起發(fā)送。然后,接收器獲取數(shù)據(jù)并對所有接收到的數(shù)據(jù)進行求和。然后將接收到的數(shù)據(jù)總和添加到校驗和中,并對的求和進行的補碼。如果數(shù)據(jù)中沒有錯誤,則結(jié)果總和的補碼將始終為 0。
  校驗和示例
  發(fā)送數(shù)據(jù) #1 = 11001001
  發(fā)送數(shù)據(jù) #2 = 00010110
  發(fā)送金額 = 11011111
  校驗和 = 00100000
  接收數(shù)據(jù) #1 = 11001001
  接收數(shù)據(jù) #2 = 00010110
  校驗和 = 00100000
  收到的金額 = 11111111
  接收總和補碼 = 00000000
  在示例中,所有接收數(shù)據(jù)的補碼加上校驗和都為零,因此接收方可以得出結(jié)論,數(shù)據(jù)未受破壞。
  網(wǎng)絡(luò)電纜
  圖 3.所有網(wǎng)絡(luò)類型都容易受到感應(yīng)產(chǎn)生的干擾;問題是,我們?nèi)绾尾拍馨l(fā)現(xiàn)問題?圖片由Adob??e Stock提供
  循環(huán)冗余校驗 (CRC)
  循環(huán)冗余校驗 (CRC)是另一種錯誤檢測形式,它依靠多項式除法來檢查 1 和 0 的數(shù)量是否正確,以及它們的順序是否正確。本質(zhì)上,要檢查的數(shù)據(jù)被視為多項式方程,然后除以選定的除數(shù),除數(shù)本身的值對于檢查的準確性和實用性很重要。
  為了適應(yīng)校驗方法,必須將二進制信息轉(zhuǎn)換為多項式方程。為此,二進制數(shù)變?yōu)槎囗検奖磉_式中的系數(shù),其長度與要除的代碼長度完全匹配。下面顯示了該過程的工作原理示例。多項式轉(zhuǎn)換很有用,因為它創(chuàng)建了一種除法方法,而無需在二進制數(shù)學(xué)中進位或借位,而減法則需要這樣做。這創(chuàng)建了用于 CRC 冗余校驗的 XOR 除法方法。
  CRC 計算示例
  我們假設(shè)二進制數(shù) 101101 為數(shù)據(jù)位串,并使用各個二進制位作為多項式的系數(shù),用于多項式除法。它看起來是這樣的:
  計算機利用數(shù)學(xué)系統(tǒng)中稱為線性代數(shù)的多項式除法的系數(shù),這在計算算法中非常常見。
  接下來,我們需要用另一個多項式或“密鑰”除以它;我們使用 1110。得到的密鑰看起來會像這樣:
  接下來,進行除法并求余數(shù)。余數(shù)附加到數(shù)據(jù)中并用于冗余校驗。如果接收的數(shù)據(jù)除以密鑰,然后接收的余數(shù)和發(fā)送的余數(shù)之間的差為零,則數(shù)據(jù)沒有損壞。如果有余數(shù),則數(shù)據(jù)已損壞。
  發(fā)送方計算
  使用我們之前假設(shè)的示例數(shù)據(jù),發(fā)送的信息將按如下方式計算:
  實際數(shù)據(jù):101101
  被除數(shù): 101101000。該值由實際數(shù)據(jù)與末尾附加的 [(密鑰中的位數(shù)) - 1] 個 0組合而成。我們的密鑰(如下)包含 4 位,因此數(shù)據(jù)需要添加 [4-1] 或三個 0 才能進行計算。
  除數(shù)(鍵):1110
  現(xiàn)在,可以進行計算來確定代碼字:
  101101000 ÷ 1110 = 111101,使用異或除法,余數(shù)為 110。
  因此要發(fā)送的編碼字將變成 101101110,因為余數(shù)放在編碼字的三個空格中。
  因此以下內(nèi)容將被發(fā)送給接收者:
  實際數(shù)據(jù):101101
  密鑰:1110
  代碼字:101101110
  接收方計算
  然后,接收方將獲取該信息并用密鑰除以代碼字,這實際上與之前的過程相反。
  余數(shù)應(yīng)該為零,并且實際數(shù)據(jù)是可信的,除非數(shù)據(jù)已被破壞,在這種情況下將出現(xiàn)非零余數(shù)。
  101101110 ÷ 1110 = 111101,使用異或除法,余數(shù)為 0。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 無線傳輸電路基礎(chǔ),射頻前端設(shè)計、天線匹配與鏈路預(yù)算計算2025/10/27 13:55:50
 - ASK 解調(diào)的核心要點與實現(xiàn)方式2025/9/5 16:46:17
 - 雙偶極子天線:結(jié)構(gòu)、特性與應(yīng)用全解析2025/9/3 10:29:21
 - 幾種流行無線通信方式及其特點2025/9/2 17:14:12
 - 解密射頻線纜彎曲衰減變化,掌握有效應(yīng)對策略2025/8/29 16:22:47
 









