• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 8051單片機串口通信中的檢錯方法

    8051單片機串口通信中的檢錯方法

    作者: 時間:2009-12-08 來源:網絡 收藏


    0 引言
    對于基于flash控制器的8051的芯片結構,一般在進行數據傳輸時,都是先通過將數據傳送到flash控制器的buffer中。由于buffer的大小為512 bytes,所以每次傳輸的最大數據量為512bytes。本文中所討論的三種檢錯的傳輸數據量均為512 bytes。

    本文引用地址:http://www.czjhyjcfj.com/article/173544.htm


    1 檢錯方式
    基于8051的數據系統的硬件開發平臺框圖如圖1所示。利用該平臺進行數據傳輸時,通常有三種數據檢錯方式。

    1.1 奇偶校驗
    奇偶校驗是檢錯中比較常見的一種。它利用數據中的1的個數作為檢錯的標志位,若1的個數為奇數個,則錯誤檢測的標志位為1,若1的個數為偶數,則錯誤檢測的標志位為0。在發送端和接收端同時檢測奇偶位,若得到相同的結果,則說明數據傳輸過程無錯誤發生;若得到不同的結果,則說明數據傳輸過程中有錯誤發生,此時8051會發送一個錯誤重傳的信號,讓PC端再次發送數據。
    1.2 循環冗余校驗(CRC)
    CRC是利用除法和余數的原理來進行錯誤檢測(Error Detecting)。如果原始數據為多項式JP(x),則將P(x)對生成的多項式G(x)進行模2除法,再將得到的余式R(x)作為生成的CRC校驗碼,用公式可以表示為:
    P(x)=Q(x)?G(x)+R(x)
    上式中的Q(x)為除法得到的商。發送端將原始數據P(x)和生成的CRC校驗碼R(x)發送到接收端。接收端則根據接收到的數據P'(x)算出另外的一個CRC校驗碼R'(x),然后對兩個CRC校驗碼進行比較,即可得出在傳輸過程中是否有錯誤發生。若發生錯誤,則用發送端重傳。本文中所采用的CRC8所生成的多項式G(x)為:x2+x5+x4+1。


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 永清县| 南溪县| 磴口县| 越西县| 湛江市| 阳谷县| 宣城市| 石嘴山市| 定安县| 桃园市| 抚远县| 阳城县| 张家港市| 延庆县| 鹤山市| 新巴尔虎右旗| 施秉县| 务川| 长沙市| 桑日县| 上杭县| 泸州市| 河曲县| 临沭县| 济源市| 桂阳县| 沈丘县| 石楼县| 晋城| 德昌县| 新晃| 茶陵县| 南皮县| 黄浦区| 资溪县| 光山县| 永昌县| 舒城县| 青铜峡市| 基隆市| 察哈|