久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7514|回復: 0
收起左側

CRC校驗的原理及CRC硬件電路的模擬

[復制鏈接]
ID:105323 發表于 2016-2-13 02:04 | 顯示全部樓層 |閱讀模式
CRC的全稱為Cyclic Redundancy Check,中文名稱為循環冗余校驗。利用CRC進行檢錯的過程可簡單描述為:在發送端根據要傳送的k位二進制碼序列,以一定的規則產生一個校驗用的r位 監督碼(CRC碼),附在原始信息后邊,構成一個新的二進制碼序列數共k+r位,然后發送出去。在接收端,根據信息碼和CRC碼之間所遵循的規則進行檢 驗,以確定傳送中是否出錯。這個規則,在差錯控制理論中稱為“生成多項式”,一般用g(x)表示。

以下用實例來說明:

設一個被校驗的數為1010011,生成多項式g(x)=x^5+x^4+x+1,轉化為二進制數即110011,寬w即g(x)最高位的階數,此處為5,那么我們在1010011后加5個0,然后以g(x)為除數作模2除,如下圖

   模2除不需要向高位借位,只需每位作異或運算,得到的余數即CRC碼,那么發送時應當是1100100011000
,如果傳輸無誤,作和g(x)作模二除,則不會有余數。





   此圖為DS18B20的CRC生成器的硬件框圖,它的工作過程是,這個生成器寄存器里的位開始都初始化為0,在一個時鐘作用下,INPUT輸入一個bit,生成器寄存器右移一位,那么最低位(LSB)被移出,輸入的bit異或,異或結果與原(右移前)的第5位和第4位異或,得到的結果通過右移到了第4位和第3位,然后輸入下一個bit,最后生成器寄存器的值稱為CRC,這個叫CRC-8-Dallas/Maxim,X^8+X^5+X^4+1(1-Wirebus)。

程序如下:
uchar Calulate_CRC(uchar dat,ucharCRC_Value)//模擬CRC-8-Dallas/Maxim硬件電路X^8+X^5+X^4+1{//0^0==0,0^1==1,1^0==1,1^1==0,說明0與某位異或某位保持不變,1與某位異或要重新計算
uchar i;
bit shift_bit;
for(i=0;i<8;i++)
{
  shift_bit=(bit)((CRC_Value^dat)&0x01);//LSB與輸入的bit異或
  if(shift_bit)
  CRC_Value^=0x18;//如果shift_bit是1,那么將它與CRC_Value的第5位和第4位異或,結果寫在這兩位上
                  //其它位保持不變
  CRC_Value>>=1;
  if(shift_bit)
  CRC_Value|=0x80;//1的話把最高位寫1
  dat>>=1;//接著輸入第2位
}
return(CRC_Value);
}

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄色三级网| 18成人免费观看网站 | 成人在线免费观看视频 | 可以看的毛片 | 久久99免费视频 | 亚洲第一免费视频 | 91在线| 国产在线观看不卡 | 国产亚洲视频在线观看 | 色婷婷网 | a级片在线 | 91精品久久久久久久久 | 情侣av | 成人免费在线视频 | 欧美久久久久久久 | 日韩三级一区 | 欧美一级免费看 | 精东影业一区二区三区 | 欧美做受| 综合久久99| 成人网战| 国产午夜免费视频 | 欧美日韩国产在线观看 | 中文字幕免费高清 | 一区在线观看视频 | 成人免费高清 | 日韩美女在线观看 | 视频在线一区 | 欧美操| 欧美黄色片在线观看 | 美女免费视频网站 | www.五月婷婷| 黄色成人在线视频 | 成年人视频在线免费观看 | 少妇精品视频 | 欧美一级特黄视频 | 91蜜桃视频 | 中文字幕一区二区三区视频 | 久久99精品久久久久久水蜜桃 | 国产成人在线播放 | 日本免费毛片 |