新闻  |   论坛  |   博客  |   在线研讨会
IrDA无线通讯技术深探(一)
ylshu | 2009-08-29 17:24:52    阅读:7693   发布文章

IrDA是低功率无线电通讯技术中,目前表现最成功的。它的单价已经低于5美元,而且,应用面正不断地扩大。反观蓝芽仍因成本过高,技术复杂,至今仍然无法普及。不过,IrDA的视线以内直线传输特性也阻碍了它的更进一步发展。IrDA标准以传输速率快慢可分成IrDA DATA和IrDA CONTROL两种,本文将先讨论IrDA DATA,再谈论IrDA CONTROL。

从捷运站出来时,偶而会看到维修工程师拿着笔记型计算机对着出口闸门处的验票机,进行程序档案传送(transfer)和更新(overwrite)的工作。其实,这验票机里面有一台计算机,而且,这台计算机是利用红外线和笔记型计算机通讯,这种红外线技术就是IrDA。通过它,笔记型计算机、数字相机、手持式计算机、PDA、打印机、移动电话、呼叫器、电子书、电子钱包、玩具、手表、数据收集器、消费性电子装置、和其它携带式电子装置 ... ..等装置之间可以构成一个一对一的临时网络(ad hoc network),藉此互相通讯。目前几乎所有信息家电产品都内置有IrDA,其魅力真的是不可挡。(图一)是符合IrDA标准的产品商标。

图一 IrDA的商标

何谓IrDA

IrDA标准以传输速率快慢可分成IrDA DATA和IrDA CONTROL两种。一般而言,IrDA DATA传输速率为4Mbps,而且限定为主机(host)对主机的通讯; IrDA CONTROL传输速率比较慢,且仅针对主机的外围装置,例如:鼠标、键盘...等做规范。本文将先讨论IrDA DATA,再谈论IrDA CONTROL。

IrDA是IrDA(Infrared Data Association)联盟(IrDA consortium)制定的标准。IrDA标准包含硬件的规格和通讯协议的标准,数据信息可藉由IrDA标准以红外线传输。由于笔记型计算机和各种移动式通讯装置需要相互沟通,所以IrDA于此诞生。

IrDA装置是利用LED发射红外线光波,其波长约875 nm±30 nm,许多CCD相机对这种波长的红外线也很敏感。IrDA接收器是利用PIN光电二极管(photodiode)接收红外线光波,接收到的光波会激化为电子产生信号,带通滤波器会过滤此信号,得到IrDA解调器所需的信号。这是红外线光波的能量转化为电能的原理。

 
IrDA的通讯距离和传输率

IrDA 1.0和1.1装置的通讯距离可达1公尺,误码率(Bit Error Ratio;BER)为10-9,光源外围的最大亮度为10klux。上述测量值是将收发端的偏斜角设定为15度,不过,单一光器件输出功率的最大测量偏斜角可达到30度。定向发射器(Directional transmitters;IR LEDs)的通讯距离超过1公尺,但是,它的最大测量偏斜角不遵照IrDA标准。

IrDA 1.0的传输速度是2400到115,200 kbps(Slow IrDA;SIR),使用脉冲调制(pulse modulation),脉冲长度是位间距的3/16。数据格式(Data format)和串行端口(serial port)或UART相同,亦即异步(asynchronous)传送一个字节,在最前面有一个起始位(startbit),如(图二)所示。IrDA发射器可使用3/16位间距的调制率(mark-to-space ratio)或以1.63μs固定脉冲间隔来调制,能得到115kbps的传输率。如果采用固定脉冲间隔,且传输率为38,400 bps(=115kbps/3),则每一个位会用掉三个脉冲。

图二 UART和IrDA的帧(frame)

IrDA 1.1还定义了0.576和1.152 Mbps传输率(Fast IrDA;FIR),使用1/4位间距的调制率。在此速率下,数据包是以同步(synchronous)方式传送,在最前面有起始序列(starting sequence)。(图三)是信号源(NRZ signal)调制前后的关系。

图三 信号源(NRZ signal)调制前后的关系

一个IrDA数据包里有两个字节的起始序列、目的地地址、数据、纠错码(CRC-16)和终止字节,如(图四)所示。IrDA通讯协议(IrDA protocol)会分配每个IrDA装置一个唯一的地址,以辨别不同的装置。IrDA数据包(包含CRC-16)全部都是由IrDA芯片组产生的。起始和终止字节必须分别位于数据包的头尾,不可置于其它位置。起始和终止字符的停留时间是位间隔的1.5倍。 

具有4Mbps传输率的IrDA,是采用1/4调制率的4PPM调制方法。亦即,在一个脉冲时间内,将两个位编码。所以,在一个脉冲时间内,会在4个(22)不同符号(symbol )信号中,得出一个符号信号。因此,信息是藉由脉冲振幅大小或符号来传递,而不是藉由0或1(有或无)脉冲来传送。例如:00将转成1000传送,01将转成0100,11将转成0001。如(图五)所示。使用4PPM调制的主要优点是:红外线LED发光(flash)的次数可以减半,因此,数据传输率可加快两倍。例如:00011011被4PPM调制成0001001001001000,信号源(前者)的发光率是1/2,经4PPM调制后的信号(后者)的发光率是1/4,后者是前者的1/2,所以,后者的数据传输率会比前者快两倍。

图四 IrDA数据包格式

图五 4PPM调制

此外,对IrDA接收器而言,4PPM调制可使IrDA接收机在固定时间内,收到固定数量的脉冲,这使得接收到的信号能保持稳定。当传输率等于4Mbps时,发射信号中的发光速率是2MHz,但是,在此传输模式下,数据包是使用CRC-32纠错码,与0.576和1.152 Mbps传输模式不同。大多数使用4PPM调制的IrDA芯片组,也能自行产生CRC-32纠错码(图六),当它们发现接收到的帧有误时,会自行抛弃这个错误帧。

图六 IrDA帧位置

使用脉冲调制的理由

IrDA接收器必须能辨别周遭的光源、信号、杂音,如此,才能将信息还原。为了达到这个目的,使用高输出功率传送信号似乎是最有效的,因为:高输出功率=>接收端的电流增加=>信噪比(signal-to-noise)增加。不过,因IR-LED的物理特性,IR-LED无法一直提供高输出功率,因此,才将脉冲时间长度定为1/4或3/16位间距。此外,因为IrDA接收器能自动适应周遭的光源大小,而且,它只检测光波的瞬间变化,所以,发射信号不再需要直流电承载,但是需要脉冲调制,来代表0和1数据。IrDA收发机集成了IR-LED发射器和PIN光电二极管接收器,并且,它还具有带通滤波器,可过滤掉IrDA频段(2400-115200 bps和0.576-4Mbps(2M flashes/s))以外的噪声。

 
IrDA DATA的通讯协议堆栈

IrDA DATA的通讯协议堆栈如(图七)所示,其应用和通讯网路则如(图八)所示,以下将一一介绍各个协议的作用。

图七 IrDA通讯协议堆栈

红外线链路接入通讯协议:IrLAP

IrDA红外线链路接入通讯协议(Infrared Link Access Protocol;IrLAP)是针对IrDA所需,修改自HDLC的通讯协议。它将帧封装(encapsulate),并确保不同IrDA装置之间的通讯不会冲突。在数个IrDA装置通讯中,只有一个是IrDA主装置(primary),其余都是次装置(secondary)。它们都是使用半双工通讯(half-duplex)。此外,IrLAP负责建立连结(establish connection)和关闭连结、对次装置编号。连结时的初次传输速率为9600bps,连结完成后,它会产生逻辑信道(logical channel),并以主从装置都接受的新传输率通讯,此时,IrDA主装置负责控制每个逻辑信道。

红外线链路管理通讯协议:IrLMP

IrDA装置的组态改变时,它会藉由IrDA红外线链路管理通讯协议(IrDA Infrared Link Management Protocol ;IrLMP)让其它装置知道。IrLMP位于IrLAP上方,负责检测外围的其它IrDA装置、检查数据流量、并充当多任务器。它类似TCP/IP上层的sockets,每个socket都有一个唯一的通讯端口。上层应用程序通过IrLMP来确认远程装置是否存在或在通讯范围之内,但是,IrLMP不如TCP,无法提供一个可靠的通道,这还需要IrDA传输通讯协议(Tiny TP)。

传输通讯协议:Tiny TP

IrDA传输通讯协议 (IrDA Transport Protocols;Tiny TP) 负责管理不同IrDA装置之间的虚拟信道(virtual channels) ,执行调试、将数据分割(segment)成为封包、从封包中重组(reassemble) 还原数据。Tiny TP执行的工作类似TCP。

传输通讯协议:Tiny TP

IrDA传输通讯协议 (IrDA Transport Protocols;Tiny TP) 负责管理不同IrDA装置之间的虚拟信道(virtual channels) ,执行调试、将数据分割(segment)成为封包、从封包中重组(reassemble) 还原数据。Tiny TP执行的工作类似TCP。

对象交换通讯协议 :IrOBEX

IrDA对象交换通讯协议 (Object Exchange Protocol;IrOBEX) 是一个简单的通讯协议,它定义了PUT和GET命令,可以在两台IrDA装置之间存取二进制制(binary)数据。它位于Tiny TP上方,定义了对象交换时,封包所必需的内容,以利IrDA装置于通讯时能彼此辨识。


本文来自:我爱研发网(52RD.com) 详细出处:

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客