IrDA紅外通信在導(dǎo)航儀中的應(yīng)用
摘要:IrDA紅外通信是一種低價(jià)的、適應(yīng)性廣的短距離無(wú)線通信技術(shù)。介紹IrDA的有關(guān)協(xié)議及實(shí)現(xiàn)方式,并給出了IrDA紅外通信在導(dǎo)航儀中的應(yīng)用設(shè)計(jì)實(shí)例。
本文引用地址:http://butianyuan.cn/article/244642.htm關(guān)鍵詞:紅外數(shù)據(jù)協(xié)會(huì)(IrDA) 紅外通信 高速紅外 4PPM調(diào)制 高速串行/并行接口
導(dǎo)航儀是車(chē)載或手持的路徑引導(dǎo)裝置。要準(zhǔn)確、快速、成功地實(shí)現(xiàn)路徑引導(dǎo),必須有大量的、并能不斷更新的地理信息數(shù)據(jù)支持,這就要求它具有與其他設(shè)備通信并交換數(shù)據(jù)的功能。作為嵌入式設(shè)備的一員,可以選用的通信方案有:PCI總線,IrDA,USB,Ethernet,PC卡及一些傳統(tǒng)的I/O。其中可以實(shí)現(xiàn)無(wú)線通信的只有IrDA。IrDA1.0支持最高115.2Kbps的通信速率,而IrDA1.1可以支持到4Mbps。
無(wú)線通信的好處是可以去除設(shè)備對(duì)線纜和連接器的依賴,只要通信雙方都支持IrDA協(xié)議,就能很快地建立通信鏈路,實(shí)現(xiàn)數(shù)據(jù)交換。
現(xiàn)在市場(chǎng)上60%的筆記本電腦都支持紅外傳輸,紅外接口也成為幾乎所有的掌上電腦的必配標(biāo)準(zhǔn)件。而現(xiàn)在生產(chǎn)的PC機(jī)主板上也大都預(yù)留了紅外接口,只要選配合適的紅外收發(fā)模塊就能實(shí)現(xiàn)紅外無(wú)線數(shù)據(jù)通信??梢?jiàn),紅外技術(shù)的迅速普及,使我們能夠最終突破數(shù)字終端之間連線的限制。
1 IrDA及其通信協(xié)議簡(jiǎn)介
紅外數(shù)據(jù)協(xié)會(huì)(IrDA)是1993年6月成立的一個(gè)獨(dú)立組織,它為短距離紅外無(wú)線數(shù)據(jù)通信制定了一系列開(kāi)放的標(biāo)準(zhǔn)。IrDA的目標(biāo)是制定能以合理且較小的代價(jià)實(shí)現(xiàn)的標(biāo)準(zhǔn)和協(xié)議,以推進(jìn)紅外通信的發(fā)展。
IrDA數(shù)據(jù)通信按發(fā)送速率分為三大類(lèi):SIR,MIR和FIR。串行紅外(SIR)速率覆蓋了RS-232端口通常所支持的速率(9600 b/s19.2 Kb/s38.4 Kb/s57.6 Kb/s115.2 Kb/s)。MIR指0.576 Mb/s和1.152 Mb/s的速率。高速紅外(FIR)通常用于指4 Mb/s的速率,有時(shí)也用于指高于SIR的所有速率。
在IrDA中,物理層、鏈路接入?yún)f(xié)議(IrLAP)和鏈路管理協(xié)議(IrLMP)是必需的三個(gè)協(xié)議層。除此之外,還有一些適用于特殊的應(yīng)用模式的可選層。
在基本的IrDA應(yīng)用模式中,設(shè)備分為主設(shè)備和從設(shè)備。主設(shè)備探測(cè)它的可視范圍,尋找從設(shè)備。然后從那些響應(yīng)它的設(shè)備中選擇一個(gè),試圖建立連接。在建立連接的過(guò)程中,兩個(gè)設(shè)備彼此協(xié)調(diào),按照它們共同的最高通信能力確定最后的通信速率。以上的“尋找”和“協(xié)調(diào)”過(guò)程都是在9.6Kb/s的波特率下進(jìn)行的。
IrDA數(shù)據(jù)通信工作在半雙工模式,因?yàn)榘l(fā)射時(shí),接收器會(huì)被它自己的發(fā)射器的光芒所屏蔽。通信的兩個(gè)設(shè)備通過(guò)快速轉(zhuǎn)向鏈路來(lái)模擬全雙工通信,由主設(shè)備負(fù)責(zé)控制鏈路的時(shí)序。
IrDA協(xié)議按層安排,應(yīng)用程序的數(shù)據(jù)逐層下傳,最終以光脈沖的形式發(fā)出。如圖1所示,IrLAP和IrLMP是協(xié)議中物理層之外所需的兩個(gè)軟件層。在物理層上的第一層是鏈路接入?yún)f(xié)議IrLAP,它是HDLC(高級(jí)數(shù)據(jù)鏈路控制)協(xié)議的改編,以適應(yīng)紅外傳輸?shù)囊?。IrLAP層的功能是進(jìn)行鏈路初始化、設(shè)備地址尋找和解決沖突、啟動(dòng)連接、數(shù)據(jù)交換、斷開(kāi)連接和鏈路關(guān)閉。IrLAP指定紅外數(shù)據(jù)包的幀和字節(jié)結(jié)構(gòu),以及紅外通信的錯(cuò)誤檢測(cè)方法。IrLAP之上的一層是鏈路管理協(xié)議,即IrLMP,它管理IrLAP所提供的鏈路連接中的鏈路功能和應(yīng)用程序。它評(píng)估設(shè)備上的服務(wù),并管理如數(shù)據(jù)速率、BOF的數(shù)量(幀的開(kāi)始)、及連接換向時(shí)間等參數(shù)的協(xié)調(diào),以及數(shù)據(jù)的糾錯(cuò)傳輸。
IrDA物理層協(xié)議提出了對(duì)工作距離、工作角度(視角)光功率、數(shù)據(jù)速率和不同品牌設(shè)備互聯(lián)時(shí)抗干擾能力的建議。
2 導(dǎo)航儀中IrDA紅外通信的設(shè)計(jì)與實(shí)現(xiàn)
2.1 物理層協(xié)議的實(shí)現(xiàn)
這一協(xié)議的設(shè)計(jì)保證了0~1m,0°~15°的軸線偏離角的無(wú)錯(cuò)通信。其中包括了調(diào)制、視角、光功率、數(shù)據(jù)速率和噪聲去除的規(guī)范,以保證不同品牌和類(lèi)型的設(shè)備之間的物理互連性。協(xié)議也考慮了周?chē)墓庹栈蚱渌桑以肼曉吹拇嬖?,以及參與IR通信的設(shè)備間的干擾。
協(xié)議要求合理選擇發(fā)射器的光強(qiáng)度和接收器的靈敏度,以保證鏈路能在0~1m的距離內(nèi)工作。數(shù)據(jù)速率小于4 Mb/s時(shí)使用RZI(歸零反轉(zhuǎn))調(diào)制,最大脈沖寬度是位周期的3/16;而4 Mb/s的數(shù)據(jù)速率使用4PPM(脈沖位置)調(diào)制。圖1給出了IrDA物理層的方框圖。
IrDA要求的RZI(反相歸零)調(diào)制的編碼效果如圖2的IR?guī)瑪?shù)據(jù)所示。這一方案需要的編碼/解碼器可以集成在I/O芯片中,也可作為一個(gè)獨(dú)立元件。
4PPM調(diào)制如圖3所示,兩個(gè)數(shù)據(jù)位組合在一起,組成一個(gè)500ns的“數(shù)據(jù)碼元組”。將這一碼元組分為四個(gè)125ns的時(shí)隙,根據(jù)碼元組的狀態(tài),在不同的時(shí)隙放置單脈沖。解調(diào)器在對(duì)輸入位流的相位鎖定后,就能根據(jù)脈沖在500ns周期中的位置來(lái)解出數(shù)據(jù)。
2.2 硬件電路的設(shè)計(jì)
導(dǎo)航儀的核心MCU選用Intel公司的SA1110,它的串口2是特別為IrDA紅外通信設(shè)計(jì)的,內(nèi)部集成了支持SIR和FIR的兩個(gè)獨(dú)立編碼/解碼模塊,能夠與市場(chǎng)上IrDA兼容的LED收發(fā)器直接相連。
紅外收發(fā)器選用HP公司的HSDL-3600,它支持9.6kb/s~4Mb/s的數(shù)據(jù)傳輸速率,其典型鏈路傳輸距離可大于1.5m。通過(guò)管腳FIR_SEL能選擇可以接收的數(shù)據(jù)速率。FIR_SEL設(shè)為低時(shí),最高速率可達(dá)115.2kb/s;設(shè)為高時(shí),最高速率可達(dá)4Mb/s。同時(shí),它還有兩個(gè)管腳MD0和MD1,用來(lái)選擇發(fā)光功率。用戶可以根據(jù)自己的需要設(shè)定,達(dá)到在短距離通信情況下省電的目的。從表1所示的收發(fā)器控制真值表中,可以清楚地看到功能選擇的組合。
表1 收發(fā)器控制真值表
MD0 | MD1 | FIR_SEL | 接收功能 | 發(fā)射功能 |
1 | 0 | X | 關(guān)閉 | 關(guān)閉 |
0 | 0 | 0 | SIR | 全距離 |
0 | 1 | 0 | SIR | 2/3距離 |
1 | 1 | 0 | SIR | 1/3距離 |
0 | 0 | 1 | FIR | 全距離 |
0 | 1 | 1 | FIR | 2/3距離 |
1 | 1 | 1 | FIR | 1/3距離 |
圖4是HSDL-3600的功能方框圖,它給出了HSDL-3600的管腳說(shuō)明及典型外圍電路。其中CX1?。埃矗乏蹋疲茫兀踩。叮甫蹋疲遥比。玻郸?。在應(yīng)用時(shí),管腳TXD和RXD與SA1110的TXD2、RXD2分別直接相連。而SA1110的32位數(shù)據(jù)線中的三根通過(guò)鎖存器接到MD0,MD1和FIR_SEL上,這樣就能通過(guò)軟件控制HSDL-3600的工作模式。
2.3 IrDA紅外通信的數(shù)據(jù)流
SA1110的紅外通信端口(ICP)既支持SIR,也支持FIR。
在SIR模式下,所有在TXD2/RXD2管腳和ICP的UART之間傳送的串行數(shù)據(jù)都根據(jù)SIR IrDA標(biāo)準(zhǔn)調(diào)制/解調(diào)。邏輯0由一個(gè)3/16位寬或1.6μs寬的光脈沖代表(1.6μs是最高位速率115.2 Kbps的位寬的3/16)。0位的開(kāi)始對(duì)應(yīng)脈沖的上升沿。邏輯1由無(wú)光脈沖代表。字節(jié)首先從LSB開(kāi)始發(fā)送。每幀由起始位、8位數(shù)據(jù)、停止位組成,無(wú)奇偶校驗(yàn)。
而在FIR模式下,通信過(guò)程就復(fù)雜得多。所有在TXD2/RXD2管腳和ICP的HSSP(高速串行/并行)接口之間傳送的串行數(shù)據(jù),都是根據(jù)4PPM IrDA標(biāo)準(zhǔn)來(lái)調(diào)制/解制。編碼時(shí),把一個(gè)字節(jié)分為四個(gè)單獨(dú)的碼元組(2位一對(duì)),最低的碼元組首先傳送,但每個(gè)碼元組不重新排序。這樣,一個(gè)字節(jié)由四個(gè)“片”(每片500ns)組成,每個(gè)“片”分為四個(gè)時(shí)隙(每個(gè)時(shí)隙125ns)。
ICP中用高速串行/并行(HSSP)接口來(lái)實(shí)現(xiàn)特殊的4Mb/s協(xié)議。4Mb/s的串行幀格式如表2所示。
表2 用于IrDA傳送(4Mbps)的高速串行幀格式
引導(dǎo)標(biāo)志 起始標(biāo)志 | 地址 | 控制(可選) | 數(shù)據(jù) | CRC-32 | 停止標(biāo)志 |
引導(dǎo)標(biāo)志 ㄧ1000ㄧ0000ㄧ1010ㄧ0000ㄧ---重復(fù)16次 起始標(biāo)志 ㄧ0000ㄧ1100ㄧ0000ㄧ1100ㄧ0110ㄧ0000ㄧ0110ㄧ0000ㄧ 停止標(biāo)志 ㄧ0000ㄧ1100ㄧ0000ㄧ1100ㄧ0000ㄧ0110ㄧ0000ㄧ0110ㄧ |
引導(dǎo)標(biāo)志用于接收同步,接收開(kāi)始時(shí),使用一個(gè)串行移位寄存器從RXD2管腳接收四個(gè)4PPM片,一次鎖存并解碼這些片。如果這些片不能解碼為正確的引導(dǎo)標(biāo)志,時(shí)隙計(jì)數(shù)延遲1,并重復(fù)以上過(guò)程,直到辨認(rèn)出引導(dǎo)標(biāo)志,則標(biāo)志時(shí)隙計(jì)數(shù)器同步。引導(dǎo)標(biāo)志最少重復(fù)16次,在空閑時(shí)(無(wú)發(fā)送數(shù)據(jù))不斷重復(fù)。所以在16個(gè)引導(dǎo)標(biāo)志傳送完后的任何時(shí)候,都可能接收到起始標(biāo)志。
接收到8片長(zhǎng)的起始標(biāo)志后,將它與標(biāo)準(zhǔn)編碼比較。如果起始標(biāo)志的任一部分和標(biāo)準(zhǔn)編碼不一樣,則告知一個(gè)幀錯(cuò)誤,并且再一次開(kāi)始尋找?guī)龑?dǎo)標(biāo)志。一旦正確的起始標(biāo)志被驗(yàn)證,接下來(lái)的每組4片就被解碼為一個(gè)數(shù)據(jù)字節(jié),并放入5字節(jié)的臨時(shí)FIFO寄存器中。當(dāng)臨時(shí)FIFO被填滿后,數(shù)據(jù)值便被一個(gè)接一個(gè)地推入接收FIFO。
一幀的第一個(gè)數(shù)據(jù)字節(jié)是8位的地址區(qū),它是在一對(duì)多通信時(shí)用來(lái)指定接收器的。最多允許255個(gè)獨(dú)立地址(00000000~11111110)。11111111為通用地址,用于對(duì)所有站廣播信息。接收地址匹配可以激活或禁止。如果接收地址匹配激活,收到的地址將和地址匹配值比較,如果兩個(gè)值相等或輸入地址是通用地址,所有的數(shù)據(jù)字節(jié),包括地址字節(jié),都將存儲(chǔ)在接收FIFO中。如果值不相符,則不把任何數(shù)據(jù)存儲(chǔ)到接收FIFO,并忽略幀的余下部分,開(kāi)始尋找下一個(gè)引導(dǎo)標(biāo)志。
一幀的第二個(gè)數(shù)據(jù)字節(jié)可能包括一個(gè)可選的由用戶定義的8位控制區(qū),它必須由軟件解碼,因?yàn)樵冢龋樱樱兄兴灰暈槠胀ǖ臄?shù)據(jù)。
一幀可以包含不大于2047字節(jié)的任何數(shù)量的多個(gè)8位數(shù)據(jù)(包括地址和控制字節(jié))。HSSP不限制一幀的大小,但選擇數(shù)據(jù)長(zhǎng)度時(shí),應(yīng)考慮到CRC校驗(yàn)的能力。一般數(shù)據(jù)長(zhǎng)度不超過(guò)CRC校驗(yàn)?zāi)軝z測(cè)到傳輸中所有錯(cuò)誤時(shí)的最大數(shù)據(jù)量。
HSSP使用已確定的32位循環(huán)冗余校驗(yàn)(CRC)來(lái)檢測(cè)傳送中發(fā)生的位錯(cuò)誤。CRC數(shù)值的計(jì)算使用地址、控制和數(shù)據(jù)區(qū),其生成多項(xiàng)式為:
CRC(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
CRC數(shù)值不放在接收FIFO中,而是放入5字節(jié)的臨時(shí)FIFO中,并與接收時(shí)計(jì)算出的CRC數(shù)值進(jìn)行比較。
如果數(shù)據(jù)區(qū)中接收到兩個(gè)不含脈沖(是0000)的片,則開(kāi)始尋找停止標(biāo)志。一旦停止標(biāo)志被確認(rèn),放入接收FIFO的最后一個(gè)字節(jié)被標(biāo)志為幀的最后字節(jié)。
3 前景與展望
隨著紅外通信技術(shù)的發(fā)展,其通信速率也將不斷提高,在2001年IrDA將推出16Mbps的甚高速紅外(VFIR)標(biāo)準(zhǔn)。IrDA紅外通信的作用距離也從1m擴(kuò)展到幾十m,但距離的擴(kuò)展是以功耗的增加為代價(jià)的。
對(duì)于象導(dǎo)航儀這樣的小型設(shè)備,IrDA紅外通信不失為一種方便、快捷的與主機(jī)交換數(shù)據(jù)的實(shí)現(xiàn)方案。隨著IrDA協(xié)議在PC機(jī)、打印機(jī)、掃描儀、數(shù)字相機(jī)、局域網(wǎng)(LAN)接入設(shè)備、尋呼機(jī)、蜂窩電話、醫(yī)療設(shè)施等設(shè)備上的實(shí)現(xiàn),無(wú)處不在的數(shù)字化連接即將成為現(xiàn)實(shí)。
評(píng)論