符合中國移動標(biāo)準(zhǔn)協(xié)議轉(zhuǎn)換器中的HDLC協(xié)議的FPGA設(shè)計與實現(xiàn)
隨著通信與網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,使我國用現(xiàn)有的E1資源來傳輸以太網(wǎng)業(yè)務(wù)成為廣泛的應(yīng)用。以太網(wǎng)數(shù)據(jù)要通過E1線路傳輸就必須對以太網(wǎng)凈荷數(shù)據(jù)進(jìn)行幀封裝,才能從E1線路上恢復(fù)出以太網(wǎng)數(shù)據(jù)幀,完成以太網(wǎng)數(shù)據(jù)的交換。通常,以太網(wǎng)數(shù)據(jù)是通過HDLC協(xié)議或GFP協(xié)議來進(jìn)行封裝的。本文介紹了中國移動標(biāo)準(zhǔn)協(xié)議轉(zhuǎn)換器中以太網(wǎng)到單路E1轉(zhuǎn)換器HDLC協(xié)議封裝的FPGA(現(xiàn)場可編程邏輯陣列)設(shè)計與實現(xiàn)。
本文引用地址:http://m.ptau.cn/article/121375.htm通用HDLC協(xié)議介紹
HDLC(High Level Data Link Control)協(xié)議是通信領(lǐng)域應(yīng)用最廣泛的協(xié)議之一,它是面向位的高級數(shù)據(jù)鏈路控制規(guī)程,具有差錯檢測功能強(qiáng)大、高效和同步傳輸?shù)奶攸c(diǎn)。其幀結(jié)構(gòu)如圖1所示。
其中,F(xiàn)為起始標(biāo)志和結(jié)束標(biāo)志,定義為“01111110”,作為幀同步標(biāo)志。兩HDLC幀間至少包含一個“01111110”。A為接收地址,C為控制字,Info為信息字段,是長度可變的凈荷數(shù)據(jù),F(xiàn)CS為對A+C+Info進(jìn)行CRC校驗的結(jié)果。A+C+Info+FCS就構(gòu)成了HDLC幀透明傳輸?shù)膬艉蓛?nèi)容。為了防止HDLC幀凈荷中出現(xiàn)幀同步標(biāo)志,協(xié)議規(guī)定,在發(fā)送端,如果HDLC幀的凈荷中出現(xiàn)5個連續(xù)的“1”時,在第5個“1”后自動插入一個“0”;在接收端,當(dāng)HDLC幀同步后,如果在幀凈荷比特流中檢測到連續(xù)5個“1”時,要自動將第5個“1”后的“0”刪除。從而保證了HDLC凈荷良好的傳輸特性。
HDLC標(biāo)準(zhǔn)的協(xié)議較多,如CCITT、ANSI、ISO/IEC等。各種標(biāo)準(zhǔn)的區(qū)別之一就是CRC校驗處理的差異,體現(xiàn)如下:
1. 幀校驗序列位數(shù)不同,如CRC16和CRC32。
2. CRC生成多項式不同,如對于CRC16,CCITT標(biāo)準(zhǔn)的多項式是x16+x12+x5+1;ANSI標(biāo)準(zhǔn)的多項式是x16+x15+x2+1。
3. CRC校驗寄存器的初始值不同,初始值為全“0”,或為全“1”。
4. CRC計算結(jié)果發(fā)送方式不同,如直接把CRC結(jié)果發(fā)送,或把CRC結(jié)果取反發(fā)送。
評論