關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > IrDA紅外通信在導航儀中的應用

        IrDA紅外通信在導航儀中的應用

        作者: 時間:2006-05-07 來源:網絡 收藏

        摘要:IrDA紅外通信是一種低價的、適應性廣的短距離無線通信技術。介紹IrDA的有關協議及實現方式,并給出了IrDA紅外通信在導航儀中的應用設計實例。

        本文引用地址:http://www.104case.com/article/244642.htm

        關鍵詞:紅外數據協會(IrDA) 紅外通信 高速紅外 4PPM調制 高速串行/并行接口

        導航儀是車載或手持的路徑引導裝置。要準確、快速、成功地實現路徑引導,必須有大量的、并能不斷更新的地理信息數據支持,這就要求它具有與其他設備通信并交換數據的功能。作為嵌入式設備的一員,可以選用的通信方案有:PCI總線,IrDA,USB,Ethernet,PC卡及一些傳統的I/O。其中可以實現無線通信的只有IrDA。IrDA1.0支持最高115.2Kbps的通信速率,而IrDA1.1可以支持到4Mbps。

        無線通信的好處是可以去除設備對線纜和連接器的依賴,只要通信雙方都支持IrDA協議,就能很快地建立通信鏈路,實現數據交換。

        現在市場上60%的筆記本電腦都支持紅外傳輸,紅外接口也成為幾乎所有的掌上電腦的必配標準件。而現在生產的PC機主板上也大都預留了紅外接口,只要選配合適的紅外收發模塊就能實現紅外無線數據通信。可見,紅外技術的迅速普及,使我們能夠最終突破數字終端之間連線的限制。

        1 IrDA及其通信協議簡介

        紅外數據協會(IrDA)是1993年6月成立的一個獨立組織,它為短距離紅外無線數據通信制定了一系列開放的標準。IrDA的目標是制定能以合理且較小的代價實現的標準和協議,以推進紅外通信的發展。

        IrDA數據通信按發送速率分為三大類:SIR,MIR和FIR。串行紅外(SIR)速率覆蓋了RS-232端口通常所支持的速率(9600 b/s19.2 Kb/s38.4 Kb/s57.6 Kb/s115.2 Kb/s)。MIR指0.576 Mb/s和1.152 Mb/s的速率。高速紅外(FIR)通常用于指4 Mb/s的速率,有時也用于指高于SIR的所有速率。

        在IrDA中,物理層、鏈路接入協議(IrLAP)和鏈路管理協議(IrLMP)是必需的三個協議層。除此之外,還有一些適用于特殊的應用模式的可選層。

        在基本的IrDA應用模式中,設備分為主設備和從設備。主設備探測它的可視范圍,尋找從設備。然后從那些響應它的設備中選擇一個,試圖建立連接。在建立連接的過程中,兩個設備彼此協調,按照它們共同的最高通信能力確定最后的通信速率。以上的“尋找”和“協調”過程都是在9.6Kb/s的波特率下進行的。

        IrDA數據通信工作在半雙工模式,因為發射時,接收器會被它自己的發射器的光芒所屏蔽。通信的兩個設備通過快速轉向鏈路來模擬全雙工通信,由主設備負責控制鏈路的時序。

        IrDA協議按層安排,應用程序的數據逐層下傳,最終以光脈沖的形式發出。如圖1所示,IrLAP和IrLMP是協議中物理層之外所需的兩個軟件層。在物理層上的第一層是鏈路接入協議IrLAP,它是HDLC(高級數據鏈路控制)協議的改編,以適應紅外傳輸的要求。IrLAP層的功能是進行鏈路初始化、設備地址尋找和解決沖突、啟動連接、數據交換、斷開連接和鏈路關閉。IrLAP指定紅外數據包的幀和字節結構,以及紅外通信的錯誤檢測方法。IrLAP之上的一層是鏈路管理協議,即IrLMP,它管理IrLAP所提供的鏈路連接中的鏈路功能和應用程序。它評估設備上的服務,并管理如數據速率、BOF的數量(幀的開始)、及連接換向時間等參數的協調,以及數據的糾錯傳輸。

        IrDA物理層協議提出了對工作距離、工作角度(視角)光功率、數據速率和不同品牌設備互聯時抗干擾能力的建議。

        2 導航儀中IrDA紅外通信的設計與實現

        2.1 物理層協議的實現

        這一協議的設計保證了0~1m,0°~15°的軸線偏離角的無錯通信。其中包括了調制、視角、光功率、數據速率和噪聲去除的規范,以保證不同品牌和類型的設備之間的物理互連性。協議也考慮了周圍的光照或其他IR噪聲源的存在,以及參與IR通信的設備間的干擾。

        協議要求合理選擇發射器的光強度和接收器的靈敏度,以保證鏈路能在0~1m的距離內工作。數據速率小于4 Mb/s時使用RZI(歸零反轉)調制,最大脈沖寬度是位周期的3/16;而4 Mb/s的數據速率使用4PPM(脈沖位置)調制。圖1給出了IrDA物理層的方框圖。

        IrDA要求的RZI(反相歸零)調制的編碼效果如圖2的IR幀數據所示。這一方案需要的編碼/解碼器可以集成在I/O芯片中,也可作為一個獨立元件。

        4PPM調制如圖3所示,兩個數據位組合在一起,組成一個500ns的“數據碼元組”。將這一碼元組分為四個125ns的時隙,根據碼元組的狀態,在不同的時隙放置單脈沖。解調器在對輸入位流的相位鎖定后,就能根據脈沖在500ns周期中的位置來解出數據。

        2.2 硬件電路的設計

        導航儀的核心MCU選用Intel公司的SA1110,它的串口2是特別為IrDA紅外通信設計的,內部集成了支持SIR和FIR的兩個獨立編碼/解碼模塊,能夠與市場上IrDA兼容的LED收發器直接相連。

        紅外收發器選用HP公司的HSDL-3600,它支持9.6kb/s~4Mb/s的數據傳輸速率,其典型鏈路傳輸距離可大于1.5m。通過管腳FIR_SEL能選擇可以接收的數據速率。FIR_SEL設為低時,最高速率可達115.2kb/s;設為高時,最高速率可達4Mb/s。同時,它還有兩個管腳MD0和MD1,用來選擇發光功率。用戶可以根據自己的需要設定,達到在短距離通信情況下省電的目的。從表1所示的收發器控制真值表中,可以清楚地看到功能選擇的組合。

        表1 收發器控制真值表

        MD0 MD1 FIR_SEL 接收功能 發射功能
        1 0 X 關閉 關閉
        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取6.8μF,R1取2.5Ω。在應用時,管腳TXD和RXD與SA1110的TXD2、RXD2分別直接相連。而SA1110的32位數據線中的三根通過鎖存器接到MD0,MD1和FIR_SEL上,這樣就能通過軟件控制HSDL-3600的工作模式。

        2.3 IrDA紅外通信的數據流

        SA1110的紅外通信端口(ICP)既支持SIR,也支持FIR。

        在SIR模式下,所有在TXD2/RXD2管腳和ICP的UART之間傳送的串行數據都根據SIR IrDA標準調制/解調。邏輯0由一個3/16位寬或1.6μs寬的光脈沖代表(1.6μs是最高位速率115.2 Kbps的位寬的3/16)。0位的開始對應脈沖的上升沿。邏輯1由無光脈沖代表。字節首先從LSB開始發送。每幀由起始位、8位數據、停止位組成,無奇偶校驗。

        而在FIR模式下,通信過程就復雜得多。所有在TXD2/RXD2管腳和ICP的HSSP(高速串行/并行)接口之間傳送的串行數據,都是根據4PPM IrDA標準來調制/解制。編碼時,把一個字節分為四個單獨的碼元組(2位一對),最低的碼元組首先傳送,但每個碼元組不重新排序。這樣,一個字節由四個“片”(每片500ns)組成,每個“片”分為四個時隙(每個時隙125ns)。

        ICP中用高速串行/并行(HSSP)接口來實現特殊的4Mb/s協議。4Mb/s的串行幀格式如表2所示。

        表2 用于IrDA傳送(4Mbps)的高速串行幀格式

        引導標志 起始標志 地址 控制(可選) 數據 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片,一次鎖存并解碼這些片。如果這些片不能解碼為正確的引導標志,時隙計數延遲1,并重復以上過程,直到辨認出引導標志,則標志時隙計數器同步。引導標志最少重復16次,在空閑時(無發送數據)不斷重復。所以在16個引導標志傳送完后的任何時候,都可能接收到起始標志。

        接收到8片長的起始標志后,將它與標準編碼比較。如果起始標志的任一部分和標準編碼不一樣,則告知一個幀錯誤,并且再一次開始尋找幀引導標志。一旦正確的起始標志被驗證,接下來的每組4片就被解碼為一個數據字節,并放入5字節的臨時FIFO寄存器中。當臨時FIFO被填滿后,數據值便被一個接一個地推入接收FIFO。

        一幀的第一個數據字節是8位的地址區,它是在一對多通信時用來指定接收器的。最多允許255個獨立地址(00000000~11111110)。11111111為通用地址,用于對所有站廣播信息。接收地址匹配可以激活或禁止。如果接收地址匹配激活,收到的地址將和地址匹配值比較,如果兩個值相等或輸入地址是通用地址,所有的數據字節,包括地址字節,都將存儲在接收FIFO中。如果值不相符,則不把任何數據存儲到接收FIFO,并忽略幀的余下部分,開始尋找下一個引導標志。

        一幀的第二個數據字節可能包括一個可選的由用戶定義的8位控制區,它必須由軟件解碼,因為在HSSP中它被視為普通的數據。

        一幀可以包含不大于2047字節的任何數量的多個8位數據(包括地址和控制字節)。HSSP不限制一幀的大小,但選擇數據長度時,應考慮到CRC校驗的能力。一般數據長度不超過CRC校驗能檢測到傳輸中所有錯誤時的最大數據量。

        HSSP使用已確定的32位循環冗余校驗(CRC)來檢測傳送中發生的位錯誤。CRC數值的計算使用地址、控制和數據區,其生成多項式為:

        CRC(x)=x32+x26+x23+x22+x16+x12+x11+x10+x+x+x+x+x+x+1

        CRC數值不放在接收FIFO中,而是放入5字節的臨時FIFO中,并與接收時計算出的CRC數值進行比較。

        如果數據區中接收到兩個不含脈沖(是0000)的片,則開始尋找停止標志。一旦停止標志被確認,放入接收FIFO的最后一個字節被標志為幀的最后字節。

        3 前景與展望

        隨著紅外通信技術的發展,其通信速率也將不斷提高,在2001年IrDA將推出16Mbps的甚高速紅外(VFIR)標準。IrDA紅外通信的作用距離也從1m擴展到幾十m,但距離的擴展是以功耗的增加為代價的。

        對于象導航儀這樣的小型設備,IrDA紅外通信不失為一種方便、快捷的與主機交換數據的實現方案。隨著IrDA協議在PC機、打印機、掃描儀、數字相機、局域網(LAN)接入設備、尋呼機、蜂窩電話、醫療設施等設備上的實現,無處不在的數字化連接即將成為現實。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阿合奇县| 多伦县| 新平| 江川县| 河东区| 武强县| 荆门市| 岫岩| 库伦旗| 丹江口市| 芒康县| 正镶白旗| 阳谷县| 四子王旗| 涿州市| 南开区| 武城县| 祁门县| 黄山市| 武川县| 库伦旗| 汽车| 陕西省| 滕州市| 濉溪县| 闸北区| 积石山| 仙桃市| 吉林省| 尼木县| 济宁市| 屏边| 资源县| 行唐县| 祁阳县| 东乡| 武宁县| 吉首市| 安宁市| 海伦市| 景德镇市|