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