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