《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > IrDial協(xié)議及其應(yīng)用和實(shí)現(xiàn)

IrDial協(xié)議及其應(yīng)用和實(shí)現(xiàn)

2009-03-27
作者:焦 峰 張 躍

??? 摘? 要: 介紹清華嵌入式操作系統(tǒng)的掌上電腦中所使用的IrDial協(xié)議,并提出IrDial協(xié)議在移動(dòng)互聯(lián)網(wǎng)中的應(yīng)用模型以及具體的實(shí)現(xiàn)方案。?

??? 關(guān)鍵詞: IrDial? PPP協(xié)議棧? Modem命令集? NDIS

?

??? 隨著以計(jì)算機(jī)技術(shù)、通訊技術(shù)、消費(fèi)電子技術(shù)為主的IT產(chǎn)業(yè)的快速發(fā)展和互聯(lián)網(wǎng)的廣泛應(yīng)用,過去許多由純硬件實(shí)現(xiàn)的嵌入式系統(tǒng)與產(chǎn)品已轉(zhuǎn)向由軟、硬件共同來實(shí)現(xiàn)。當(dāng)前,以具有無線通訊功能的個(gè)人數(shù)字助理PDA、手持個(gè)人電腦HPC、交互式網(wǎng)絡(luò)信息家電為代表的新一輪智能型3C(Computer,Communication,Consumer)合一的類PC嵌入式系統(tǒng)與技術(shù)[1]進(jìn)入了一個(gè)嶄新的智能化、網(wǎng)絡(luò)化的發(fā)展階段。類PC嵌入式系統(tǒng)[1]與產(chǎn)品所采用的嵌入式操作系統(tǒng)及其應(yīng)用軟件也同時(shí)得到了空前的發(fā)展與繁榮。?

??? 掌上電腦是一種采用了嵌入式操作系統(tǒng)的設(shè)備,它具有強(qiáng)大的功能,正在成為一種越來越普及的集個(gè)人信息管理與娛樂功能于一身的攜式設(shè)備。但是目前的掌上電腦大多不具有無線上網(wǎng)的功能。目前業(yè)界看好的采用藍(lán)牙技術(shù)[7]無線互聯(lián)方案,由于成本高、兼容性差,還得不到實(shí)際應(yīng)用。紅外技術(shù)是一種成熟的、低成本的技術(shù)。目前的大多數(shù)掌上電腦和手機(jī)都具備紅外設(shè)備。因此利用紅外技術(shù)來進(jìn)行無線互聯(lián)就成為一種不錯(cuò)的選擇。?

1 IrDial協(xié)議簡(jiǎn)介?

??? IrDial協(xié)議是一種為了使支持IrDA協(xié)議棧的設(shè)備使用PPP協(xié)議棧與Internet或其它網(wǎng)絡(luò)相連而設(shè)計(jì)的紅外撥號(hào)協(xié)議。IrDial協(xié)議并不是IrDA組織所規(guī)定的標(biāo)準(zhǔn),它由微軟、諾基牙和愛立信公司共同推出,其目的是為移動(dòng)設(shè)備的互聯(lián)網(wǎng)接入提供一種方便的、價(jià)格低廉的手段。IrDial協(xié)議除規(guī)定了基于AT命令集的modem撥號(hào)協(xié)議外,還規(guī)定了在IrDA協(xié)議中的PPP幀封裝。?

??? IrDial支持兩臺(tái)計(jì)算機(jī)間的直接點(diǎn)對(duì)點(diǎn)連接、計(jì)算機(jī)-網(wǎng)絡(luò)間的訪問點(diǎn)(access point)連接以及計(jì)算機(jī)-網(wǎng)絡(luò)間通過modem的訪問點(diǎn)連接。?

??? IrDial以兩種模式工作:直接連接(Direct Connect)或撥號(hào)連接(Dial Connect): ?

??? · 直接連接模式:用于對(duì)網(wǎng)絡(luò)和網(wǎng)絡(luò)訪問點(diǎn)連接。它忽略撥號(hào)信息,直接進(jìn)入PPP協(xié)議協(xié)商階段。使用TinyTP service data unit (SDU)[16]進(jìn)行PPP封裝[17]成幀。撥號(hào)連接通過modem的網(wǎng)絡(luò)訪問點(diǎn)連接。?

??? · 撥號(hào)連接模式:通過modem的網(wǎng)絡(luò)訪問點(diǎn)連接。撥號(hào)連接模式在進(jìn)入PPP pass-through模式前必須進(jìn)行成功的AT撥號(hào)命令交換。使用傳統(tǒng)的PPP 高級(jí)數(shù)據(jù)鏈路控制協(xié)議(HDLC)來對(duì)數(shù)據(jù)封裝和成幀。?

1.1 直接連接模式?

??? 直接連接有兩種方式:對(duì)等網(wǎng)絡(luò)中的直接連接和網(wǎng)絡(luò)中的直接連接,其網(wǎng)絡(luò)協(xié)議模型如圖1和圖2所示。IrDial協(xié)議工作在IrLMP/TinyTP之上,為PPP協(xié)議提供服務(wù)。?

?

?

?

1.1.1 連接建立?

??? 為初始化一個(gè)直接連接模式的連接,客戶必須先調(diào)用Information Access Service (IAS)。IAS是一個(gè)紅外服務(wù)的數(shù)據(jù)庫(kù),它提供了系統(tǒng)所能提供的設(shè)備和服務(wù)的一個(gè)列表,使用GetValueByClass 函數(shù),將參數(shù)中的類名設(shè)為 “IrNetv1”,類屬性設(shè)為“IrDA:TinyTP:LsapSel”。然后再初始化一個(gè)IrDA Tiny Transport Protocol (TinyTP)連接以返回Link Service Access Point selector(LSAP-SEL)。?

1.1.2? PPP封裝和成幀?

??? 所有的IP(或者其它的網(wǎng)絡(luò)協(xié)議)包都以RFC1661中規(guī)定的PPP封裝來進(jìn)行封裝。以PPP封裝的包直接以TinyTP SDU的格式來成幀。一個(gè)PPP封裝的包可以分成幾個(gè)TinyTP 協(xié)議數(shù)據(jù)單元。?

1.2 撥號(hào)連接模式?

??? 撥號(hào)連接的網(wǎng)絡(luò)協(xié)議模型如圖3所示。在應(yīng)用中,由于要使用手機(jī)作為無線連接設(shè)備,即把手機(jī)作為一個(gè)外置modem,主要采用撥號(hào)連接協(xié)議。?

?

?

1.2.1 連接建立?

??? 為了初始化一個(gè)撥號(hào)連接模式的連接,客戶必須先執(zhí)行Information Access Service (IAS) GetValueByClass 函數(shù),它的參數(shù)中的類名是“IrModem”,類屬性為“IrDA:TinyTP:LsapSel”。然后再初始化一個(gè)IrDA Tiny Transport Protocol (TinyTP)連接以返回 (LSAP-SEL)。撥號(hào)命令和數(shù)據(jù)幀的交換都在TinyTP連接中進(jìn)行。?

??? MODEM或Host能夠中斷連接,只要發(fā)送一個(gè)LM-Disconnect IrLMP消息即可。?

1.2.2 撥號(hào)命令成幀?

??? AT命令序列成幀時(shí)要在命令前后加上字符串。AT命令序列長(zhǎng)度不能超過一個(gè)TinyTP PDU的長(zhǎng)度。?

1.2.3 PPP封裝和成幀?

??? 所有的IP包都以RFC1661中規(guī)定的PPP封裝來進(jìn)行封裝。以PPP封裝的包按RFC1662中規(guī)定的HDLC來進(jìn)行成幀。這與TinyTP成幀不同。?

1.3 撥號(hào)協(xié)議簡(jiǎn)介?

1.3.1 Modem工作模式?

??? Modem有兩種工作模式: ?

??? · 離線命令模式(Offline Command Mode):在此模式下沒有電話撥號(hào),Modem正在接收AT命令。會(huì)話正是在這種模式下被啟動(dòng)。 ?

??? · 在線數(shù)據(jù)模式(Online Data Mode): 在此模式下,有一個(gè)電話連接,modem能夠接收和傳輸數(shù)據(jù);只有一個(gè)命令+++ATH能被傳送。?

1.3.2 在IrDial中使用的AT命令?

??? AT命令在TinyTP幀中傳輸。不能把一個(gè)AT命令字符串分成幾部分在幾個(gè)幀中傳輸。但是可以在一個(gè)幀中傳輸幾個(gè)AT命令,這時(shí)命令的間隔必須符合V.25ter中的規(guī)定。回復(fù)和應(yīng)答則沒有這個(gè)限制,可以在幾個(gè)TinyTP幀中傳輸。?

??? 所有的命令必須以結(jié)尾, modem回復(fù)所有發(fā)出的命令。每個(gè)命令有一個(gè)響應(yīng),每個(gè)響應(yīng)均為如下格式:?

??? Response?

1.3.3 鏈接控制命令?

??? (1) ATD, Dial?

??? 這個(gè)命令初始化一個(gè)數(shù)據(jù)呼叫,后跟電話號(hào)碼和其它符號(hào)來建立一個(gè)連接。在ATD連接過程中,接收到CONNECT前發(fā)送任何字符就可以放棄連接。?

??? 命令執(zhí)行的格式如下:?

??? D n為電話號(hào)碼。如:ATD+65768678.?

??? (2) ATH, Hook Control. 中斷一個(gè)連接。?

??? (3) ATA, Answer. 應(yīng)答呼入的數(shù)據(jù)呼叫。為了接收呼入的數(shù)據(jù)呼叫,Modem必須是以IrDA連接并且處于離線命令模式。如果有一個(gè)呼入呼叫,modem以如下形式發(fā)送一個(gè)結(jié)果代碼:?

?? ?RING?

??? 然后就可以使用ATA來應(yīng)答呼入的數(shù)據(jù)呼叫。?

1.3.4初始化命令?

??? AT+DS 數(shù)據(jù)壓縮模式(Data Compression Mode)。?

??? 定義了V.42bis使用的壓縮參數(shù)和協(xié)議。?

??? 命令格式如下:?

??? +DS=[

,[,[,[]]]]。?

??? 關(guān)于modem撥號(hào)的詳細(xì)文檔可以參考Windows Modem設(shè)備驅(qū)動(dòng)開發(fā)包的幫助文檔[13]。?

2 IrDial協(xié)議的應(yīng)用模型?

??? IrDial協(xié)議設(shè)計(jì)是為方便具有紅外設(shè)備的移動(dòng)裝置能夠通過帶紅外設(shè)備的移動(dòng)通信設(shè)備實(shí)現(xiàn)與網(wǎng)絡(luò)的互聯(lián)。這里的移動(dòng)裝置可以是掌上電腦和筆記本電腦等。最常用的移動(dòng)通信設(shè)備是手機(jī)。大多數(shù)的掌上電腦和筆記本電腦都具有紅外端口。目前已經(jīng)有越來越多的手機(jī)開始支持紅外通信方式。目前的手機(jī)上網(wǎng)采用WAP方式,但是由于WAP所能提供的網(wǎng)絡(luò)服務(wù)內(nèi)容十分有限,而且在手機(jī)的小屏幕上來瀏覽網(wǎng)絡(luò)的內(nèi)容十分不便。使用IrDial協(xié)議則可以把手機(jī)作為一個(gè)無線的Modem,直接可以通過撥號(hào)ISP來瀏覽WWW頁(yè)面的內(nèi)容。這對(duì)于那些攜帶筆記本和掌上電腦,經(jīng)常需要在外面跑的人來說很重要。這種方式使它們可以在任何時(shí)候、任何地方,只要有一個(gè)支持紅外通信和IrDial協(xié)議及數(shù)據(jù)通信的手機(jī)就可以很容易地實(shí)現(xiàn)上網(wǎng)瀏覽、收發(fā)郵件等。

??? IrDial協(xié)議的應(yīng)用模型如圖4所示。 ?

?

?

??? 在圖4的模型中,筆記本與手機(jī)通過紅外通信來進(jìn)行數(shù)據(jù)交換。手機(jī)通過無線網(wǎng)絡(luò)訪問ISP服務(wù)器,并通過ISP服務(wù)器訪問WWW服務(wù)器。處理流程如下:?

??? (1)筆記本與手機(jī)間建立紅外連接;?

??? (2)筆記本在已建立的紅外連接上,通過IrDial協(xié)議向手機(jī)發(fā)送AT命令進(jìn)行撥號(hào);?

??? (3)手機(jī)接收AT命令并向ISP服務(wù)器撥號(hào);?

??? (4)撥號(hào)成功,則在筆記本和ISP間建立一個(gè)網(wǎng)絡(luò)連接。?

??? 然后用戶就可以使用筆記本上的瀏覽器來進(jìn)行網(wǎng)絡(luò)的瀏覽了。由圖4可以看出,要實(shí)現(xiàn)通過IrDial的無線上網(wǎng),要求筆記本(掌上電腦)和手機(jī)必須都支持IrDial協(xié)議。目前大部分的筆記本電腦和掌上電腦都帶有紅外裝置,以方便信息的交換。但是要通過紅外手機(jī)上網(wǎng)還需要安裝新的驅(qū)動(dòng)程序。在Windows系統(tǒng)上,一般是將紅外手機(jī)看做是一個(gè)Modem,將其按照Modem驅(qū)動(dòng)程序的設(shè)計(jì)規(guī)范來實(shí)現(xiàn)。手機(jī)除了要具有紅外裝置,支持IrDial協(xié)議外,還必須開通數(shù)據(jù)服務(wù)功能。只有這樣,系統(tǒng)才能夠?qū)崿F(xiàn)無線上網(wǎng)。?

3 IrDial協(xié)議的實(shí)現(xiàn)方案?

??? IrDial協(xié)議實(shí)際上包括兩部分:在移動(dòng)通信設(shè)備上的實(shí)現(xiàn)和在便攜式設(shè)備如掌上電腦上的實(shí)現(xiàn)。目前大多數(shù)的手機(jī)都支持IrDial協(xié)議,即可以作為一個(gè)外置的紅外modem,因此這一部分的實(shí)現(xiàn)由手機(jī)廠商完成。在便攜式設(shè)備如掌上電腦上的實(shí)現(xiàn),根據(jù)所采用的操作系統(tǒng)的不同,筆者采用了Windows CE操作系統(tǒng)。?

??? Windows CE操作系統(tǒng)支持NDIS網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范[14,19],NDIS支持IRDA協(xié)議。這使用戶可以使用NDIS所提供IRDA協(xié)議函數(shù)來實(shí)現(xiàn)紅外撥號(hào)協(xié)議。在NDIS中可以包含一個(gè)miniport的可插入模塊,采用miniport的方式將IrDial協(xié)議加入到IRDA協(xié)議棧中。在IrDial的小端口驅(qū)動(dòng)程序中,其上層接口為PPP協(xié)議,下層接口為IRDA協(xié)議。IrDial的小端口驅(qū)動(dòng)程序負(fù)責(zé)PPP協(xié)議和IRDA協(xié)議之間的數(shù)據(jù)包的轉(zhuǎn)換。?

??? 本文介紹了IrDial協(xié)議及其應(yīng)用和實(shí)現(xiàn)。IrDial協(xié)議為用戶提供了一種通過紅外方式來進(jìn)行無線網(wǎng)絡(luò)接入的方式。與其它無線互聯(lián)方案相比,采用IrDial協(xié)議有它獨(dú)特的優(yōu)點(diǎn)。首先它是一種價(jià)格低廉、易于實(shí)現(xiàn)的無線解決方案,目前的大多數(shù)移動(dòng)終端設(shè)備(筆記本和掌上電腦)都具有紅外設(shè)備,只需要添加IrDial協(xié)議的實(shí)現(xiàn)就可以了;而使用WAP方式進(jìn)行無線聯(lián)網(wǎng)則需要運(yùn)營(yíng)商增加新的設(shè)備,成本較高。其次,使用它不僅可以瀏覽WAP網(wǎng)頁(yè),也可以瀏覽WWW網(wǎng)頁(yè),而使用WAP方式的無線互聯(lián)方案則只能瀏覽WAP網(wǎng)頁(yè)。此外,由于大多數(shù)手機(jī)、掌上電腦和筆記本電腦都支持紅外通信,使其實(shí)現(xiàn)更加簡(jiǎn)單,成本更低。目前已經(jīng)有很多支持IrDial的產(chǎn)品出現(xiàn)。?

參考文獻(xiàn)?

1 梁金千.清華嵌入式操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).清華大學(xué)碩士研究生論文,2001年4月?

2 梁金千,張躍,甄成.Linux設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)與實(shí)現(xiàn),計(jì)算機(jī)應(yīng)用,2001,(12)?

3 Liang Jinqian, Zhang Yue.The Description of HAL in?Embedded OS.International Conference on eCommerce Engineering:New Challenges for Global Manufacture in the 21?Century. 2001.?

4 Zhen Chen, Zhang Yue,Liang Jinqian. Design and Implementation of File System With Real-time Data Compression.International Conference on eCommerce Engineering:New Challenges for Global Manufacture in the 21 Century.2001.?

5 劉森,何希順,何榮森.HPC相關(guān)新技術(shù)的發(fā)展及其應(yīng)用.電子技術(shù)應(yīng)用,2000,26(12)?

6 劉森,何希順,慕春棣.掌上電腦研制中的關(guān)鍵技術(shù),電子產(chǎn)品世界,2001,(4)。?

7 何榮森,王宏寶,張躍.Bluetooth(藍(lán)牙)協(xié)議體系結(jié)構(gòu)和硬件設(shè)計(jì).電子技術(shù),2001,(10)?

8 張 躍,慕春棣.數(shù)字電視系統(tǒng).計(jì)算機(jī)世界,2001,(7):C1~C6?

9 張 躍,張衍圣.現(xiàn)行數(shù)字電視的局限性.計(jì)算機(jī)世界,2001,(7):C7?

10 張 躍,施 陽(yáng).清華-賽格高清晰度數(shù)字電視HDTV.計(jì)算機(jī)世界,2001,(7)C8~C9?

11 張 躍,梁金千.數(shù)字電視向何處去.計(jì)算機(jī)世界,2001,(7):C9?

12 IrDial:PPP Over IrDA. microsoft?

13 Preliminary Windows Modem Device Driver Kit. Microsoft?

14 Window CE驅(qū)動(dòng)程序開發(fā).Microsoft Press,1999?

15 IRDA TTP: Tiny Transport Protocol, TinyTP, Version?1.0, Infrared Data Association?

16 RFC 1661: Point-to-Point Protocol (PPP)?

17 RFC 1662: PPP in HDLC-like Framing?

18 V.25ter:ITU-T Recommendation for datacom. over the?telephone network: Serial Asynchronous Automatic Dialing?and Control?

19 Infrared Extensions to the NDIS Version 4.0 Functional?Specification. MSDN of Microsoft Visual Studio

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。