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