80C152單片機(jī)上HDLC通信規(guī)程中的應(yīng)用
16位CRC發(fā)生器生成的多項(xiàng)式為:
G(X)=X16+X12+X5+1 (1)
CRC工作時(shí),它把收到的位與現(xiàn)行CRC的位15進(jìn)行異或,放到一個(gè)暫存器中。在CRC右移一位時(shí),位15和接收位的異或值再與位4和位11進(jìn)行異或。暫存器中的位移入位0中。HDLC所需的CRC長(zhǎng)度為16位,接收時(shí)自動(dòng)從幀中除去CRC,它不傳到CPU。然后把最后16位傳往CRC發(fā)生器,以保證留下正確的值。檢驗(yàn)剩下值是否為001110100001111B(1D0FH)。如不匹配,則產(chǎn)生錯(cuò)誤。用戶軟件允許該中斷,從而使CPU可對(duì)此進(jìn)行處理。
CRC校驗(yàn)可以檢測(cè)長(zhǎng)度不大于16的所有突發(fā)錯(cuò)誤、所有奇數(shù)個(gè)錯(cuò)誤和兩個(gè)獨(dú)立錯(cuò)誤,以及其他大量錯(cuò)誤圖樣。其計(jì)算公式如下:
Eerror:數(shù)據(jù)位中最大偶數(shù)位錯(cuò)
Pe:信道誤碼率
根據(jù)上述計(jì)算公式可得,采用全局串行通道(GSC)來(lái)實(shí)現(xiàn)HDLC規(guī)程的數(shù)據(jù)傳輸,其系統(tǒng)誤碼率及幀漏檢概率如表1所示。
表1 全局串行通道的系統(tǒng)誤碼率及幀漏檢概率
評(píng)論