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