MPC860的HDLC通道驅(qū)動(dòng)程序的設(shè)計(jì)與實(shí)現(xiàn)
闡述了MPC860芯片及其SCC接口的基本工作原理,介紹了在SCC通道上實(shí)現(xiàn)HDLC協(xié)議的基本設(shè)計(jì)思想及具體實(shí)現(xiàn),并給出了主要功能函數(shù)的設(shè)計(jì)流程。
HDLC作為一種基于點(diǎn)到點(diǎn)/多點(diǎn)的數(shù)據(jù)鏈路層協(xié)議,常常用來連接路由器和網(wǎng)關(guān)等網(wǎng)絡(luò)設(shè)備。摩托羅拉公司生產(chǎn)的MPC860微處理器是當(dāng)前應(yīng)用非常廣泛的嵌入式微處理器,良好的性價(jià)比和強(qiáng)大的通信與網(wǎng)絡(luò)協(xié)議處理能力以及豐富的通信接口支持使其非常適合構(gòu)建VOIP網(wǎng)關(guān);特別是其SCC接口本身支持HDLC協(xié)議,因此可以通過它的一個(gè)SCC接口來為VOIP網(wǎng)關(guān)和信令網(wǎng)之間提供鏈路支持。VOIP作為一種基于IP的數(shù)據(jù)傳輸技術(shù),廣泛地利用Internet全球互連環(huán)境,將傳統(tǒng)的PSTN電話網(wǎng)和Internet網(wǎng)絡(luò)合二為一,因此可以有效地降低系統(tǒng)成本和管理成本。作為一種高效且經(jīng)濟(jì)的數(shù)據(jù)和話音通信方式,它是當(dāng)前技術(shù)研究和開發(fā)的熱點(diǎn)。實(shí)現(xiàn)VOIP的關(guān)鍵是IP網(wǎng)關(guān),其中信令網(wǎng)關(guān)主要將信令網(wǎng)的信令信息轉(zhuǎn)換成Internet網(wǎng)絡(luò)的相關(guān)報(bào)文控制信息。本文介紹如何在MPC860板的SCC2通道上實(shí)現(xiàn)HDLC的驅(qū)動(dòng)程序,從而為信令網(wǎng)和網(wǎng)關(guān)之間提供鏈路支持。
1 HDLC簡介
HDLC是一個(gè)在同步網(wǎng)上傳輸數(shù)據(jù)并面向位的數(shù)據(jù)鏈路層協(xié)議,具有透明傳輸、可靠性高、傳輸效率高以及靈活性高等特點(diǎn)。它采用點(diǎn)對(duì)點(diǎn)或多點(diǎn)(多路播送或一對(duì)多)連接的主/從結(jié)構(gòu),要求每個(gè)從站都有唯一的地址,從站只有在允許通信時(shí)才能且只能和主站通信,這就消除了串行線路上由于幾個(gè)從站同時(shí)發(fā)送引起沖突的可能性。其它的通用的二層協(xié)議如SS#7、AppleTalk、 LAPB、LAPD等都是基于HDLC及其幀結(jié)構(gòu)的。HDLC幀結(jié)構(gòu)如圖1所示。
F:標(biāo)志位,每個(gè)HDLC幀以8位序列(01111110)標(biāo)志幀的開始和結(jié)束,這是HDLC中僅有的兩個(gè)包含連續(xù)六個(gè)1的可能組合。為了避免在其它域中出現(xiàn)這種組合,HDLC采用了一種叫作位插入的辦法實(shí)現(xiàn)組合,即每發(fā)現(xiàn)有連續(xù)五個(gè)1時(shí)便在下一位自動(dòng)插入一個(gè)0,接收器在收到連續(xù)五個(gè)1之后又自動(dòng)刪去插入的0。標(biāo)志位除了標(biāo)志幀的開始和結(jié)束外,還可用作時(shí)鐘同步,接收設(shè)備不斷地搜尋標(biāo)志位,以實(shí)現(xiàn)幀同步,從而保證接收部分對(duì)后續(xù)字段的正確識(shí)別。另外,在幀與幀的空載期間,可以連續(xù)發(fā)送這種標(biāo)志序列,用作時(shí)間填充。
A:目的地址位,用于指示報(bào)文發(fā)往何站。每個(gè)從站必須有唯一的地址,主站必須知道每個(gè)從站的指定地址。全“1”構(gòu)成的地址在HDLC中定義為廣播地址,全“0”構(gòu)成的地址在HDLC中定義為無站地址,用于測試數(shù)據(jù)鏈路的狀態(tài)。
C:控制位,用于系統(tǒng)初始化、標(biāo)志幀的序號(hào),并在報(bào)文發(fā)送完成后通知從站響應(yīng),對(duì)以前發(fā)送幀進(jìn)行應(yīng)答。尾隨控制段的信息通常用于報(bào)文傳輸、出錯(cuò)報(bào)告和其它各種功能,這些功能由控制段的格式完成。有三種格式可供使用:報(bào)文格式、監(jiān)控格式和無序號(hào)格式。
I:信息域,是可選的。如果信息存在,它必須有8位整數(shù)數(shù)量的長度。
CRC:幀校驗(yàn)位,長度為16位或32位,幀校驗(yàn)序列用于對(duì)幀進(jìn)行循環(huán)冗余校驗(yàn),其校驗(yàn)范圍從地址字段的第一比特到信息字段的最后一比特的序列,并且規(guī)定為了透明傳輸而插入的“0”不在校驗(yàn)范圍內(nèi)。
HDLC常被用來向X.25、ISDN和幀中繼網(wǎng)等提供信令和控制數(shù)據(jù)鏈路。
評(píng)論