当前位置:文档之家› 红外线通信协议IrDA

红外线通信协议IrDA

红外线是波长在750nm至1mm之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。

红外通信一般采用红外波段内的近红外线,波长在0.75um至25um之间。

红外数据协会(IRDA)成立后,为了保证不同厂商的红外产品能够获得最佳的通信效果,红外通信协议将红外数据通信所采用的光波波长的范围限定在850至900nm之内。

IRDA标准包括三个基本的规范和协议:物理层规范(Physical Layer Link Specification)、链接建立协议(Link Access Protocol:IrLAP)和链接管理协议(Link Management Protocol:IrLMP)。

物理层规范制定了红外通信硬件设计上的目标和要求,IrLAP和IrLMP为两个软件层,负责对链接进行设置、管理和维护。

在IrLAP和IrLMP基础上,针对一些特定的红外通信应用领域,IRDA还陆续发布了一些更高级别的红外协议,如TinyTP、IrOBEX、 IrCOMM、IrLAN、IrTran-P和IrBus等等(见图1)。

图1 IrBus红外线通信协议层红外线是波长在750nm至1mm之间的电磁波,其频率高于微波而低于可见光,是一种人的眼眼看不到的光线。

目前无线电波和微波已被广泛应用在长距离的无线通信中,但由于红外线的波长较短,对障碍物的衍射能力差,所以更适合应用在需要短距离无线通信场合点对点的直接线数据传输。

为了使各种设备能够通过一个红外接口进行通信,红外数据协议(InfraredDataAssociation,简称IRDA)发布了一个关于红外的统一的软硬件规范,也就是红外数据通讯标准红外数据通讯标准包括基本协议和特定应用领域的协议两类。

类似于TCP-IP协议,它是一个层式结构,其结构形成一个栈,如图1所示。

其中基本的协议有三个:①物理层协议(IrPHY),制定了红外通信硬件设计上的目标和要求,包括红外的光特性、数据编码、各种波特率下帧的包括格式等。

为达到兼容,硬件平台以及硬件接口设计必须符合红外协议制定的规范。

②连接建立协议(IrLAP)层制定了底层连接建立的过程规范,描述了建立一个基本可靠连接的过程和要求。

③连接管理协议(IrLMP)层制定了在单位个IrLAP连接的基础上复用多个服务和应用的规范。

在IrLMP协议上层的协议都属于特定应用领域的规范和协议。

④流传输协议(TingTP)在传输数据时进行流控制。

制定把数据进行拆分、重组、重传等的机制。

⑤对象交换协议(IrOBEX)制定了文件和其他数据对象传输时的数据格式。

⑥模拟串口层协议(IrCOMM)允许已存在的使用串口通信的应用象使用串口那样使用红外进行通信。

⑦局域网访问协议(IrLAN)允许通过红外局域网络唤醒笔记本电脑等移动设备,实际远程摇控等功能。

整个红外协议栈比较庞大复杂,在嵌入式系统中,由于微处理器速度和存储器容量等限制,不可能也没必要实现整个的红外协议栈。

一个典型的例子就是 TinyTP 协议中数据的拆分和重组。

它采用了信用片(creditcard)机制,这极大地增加了代码设计的复杂性,而实际在红外通信中一般不会有太大数据量的传输,尤其在嵌入式系统中完全可以考虑将数据放入单个数据包进行传输,用超时和重发机制保证传输的可靠性。

因此可以将协议栈简化,根据实际需求,有选择地实现自己需要的协议和功能即可。

包括三个基本的规范和协议:物理层规范(PhysicalLayerLinkSpecification)、链接建立协议(LinkAccessProtocol:IrLAP)和链接管理协议(LinkManagementProtocol:IrLMP)。

物理层规范制定了红外通信硬件设计上的目标和要求,IrLAP和IrLMP为两个软件层,负责对链接进行设置、管理和维护。

在IrLAP和 IrLMP基础上,针对一些特定的红外通信应用领域,IRDA还陆续发布了一些更高级别的红外协议,如TinyTP、IrOBEX、IrCOMM、 IrLAN、IrTran-P和IrBus等等红外通信是利用950nm近红外波段的红外线作为传递信息的媒体,即通信信道。

发送端采用脉时调制(PPM)方式,将二进制数字信号调制成某一频率的脉冲序列,并驱动红外发射管以光脉冲的形式发送出去;接收端将接收到的光脉转换成电信号,再经过放大、滤波等处理后送给解调电路进行解调,还原为二进制数字信号后输出。

简而言之,红外通信的实质就是对二进制数字信号进行调制与解调,以便利用红外信道进行传输;红外通信接口就是针对红外信道的调制解调器。

单片机本身并不具备红外通信接口,但可以利用单片机的串行接口与片外的红外发射和接收电路,组成一个应用于单片机系统的红外串行通信接口,如图1所示。

红外发送器电路包括脉冲振荡器、驱动管T1和T2、红外发射管D1和D2等部分。

其中脉冲振荡器由NE555定时器、电阻(R1、R2)和电容(C1、 C2)组成,用以产生38kHz的脉冲序列作为载波信号;红外发射管D1和D2选用Vishay公司生产的TSAL6238,用来向外发射950nm的红外光束。

红外发送器的工作原理为:串行数据由单片机的串行输出端TXD送出并驱动T1管,数位“0”使T1管导通,通过T2管调制成38kHz的载波信号,并利用两个红外发射管D1和D2以光脉冲的形式向外发送。

数位“1”使T1管截止,红外发射管D1和D2不发射红外光。

若传送的波特率设为 1200bps,则每个数位“0”对应32个载波脉冲调制信号的时序,如图2所红外接收电路选用Vishay公司生产的专用红外接收模块TSOP1738。

该接收模块是一个三端元件,使用单电源+5V电源,具有功耗低、抗干扰能力强、输入灵敏度高、对其它波长(950nm 以外)的红外光不敏感的特点,其内部结构框图如图3所示。

通信方式考虑到红外光反射的原因,在全双工方式下发送的信号也可能会被本身接收,因此红外通信需采用异步半双工方式,即通信的某一方发送和接收是交替进行的。

通信协议进行红外通信之前,通信双方首先要根据系统的功能要求制订某种特定的通信协议,然后才能编写相应的通信程序。

传统的红外通信设备主要是指红外遥控器和早期的PDA中采用的38kHz红外调制和解调方式。

这种方式实现简单,但是误码率较高,不适合进行数据传输,特别是数据量大的时候。

为此,IrDA组织(InfraredDataAssociation)规定了红外数据传输的标准IrDA,它规定了通过红外设备进行无线传输的方法。

1994年,第一个IrDA的红外数据通信标准发布,即IrDA1.0。

IrDA规范包含两个设备之间通信的标准以及与其他设备进行通信的协议。

IrDA标准包含设备之间通信数据的格式以及与其他设备进行通信的协议。

目前符合IrDA的设备有:笔记本电脑,手机,掌上电脑,数码相机等。

Linux操作系统支持IrDA。

目前,很多公司根据该标准生产了各种用于红外数据传输的芯片,如HP公司生产的HSDL-1000、HSDL- 4230、HSDL-4220和HSDL-7000,Zilog生产的ZHX1010、ZHX1210、ZHX1810、ZHX1820。

在桑夏公司的奥克码—桑夏PPC2188型PDA上采用的就是ZHX1810芯片。

下面分别介绍传统的红外通信和红外数据通信的实现原理和方法。

1传统的红外通信---1.1原理---传统的红外设备传输数据时,可以采用38kHz的载波进行调制和解调。

采用调幅的方式对数据进行调制,通过发光二极管将数据发送出去;采用专门的解调芯片接受红外发送来的数据。

---1.2实现方法---在终端上实现数据的红外通信中,采用了图1中的电路图。

其中IFR_CLK输出频率为38kHz的方波,TXD为待发送的数据,两个信号通过有MC9013组成的电路进行调制,通过TSAL6200调制过的信号发送出去;---SFH5110—38为载波为38kHz的解调芯片,接受外部来的信号,将解调后的数据送到RXD;---在终端中,采用了以上的电路和单片机进行连接,就可以实现传统的载波(38kHz)调制解调的红外通信。

其中TXD和RXD分别接在单片机的串口的发送端和接受端,IFR_CLK接在一般的IO口上。

---在单片机的软件实现中,最主要的是在需要发送数据的时候用定时器在IFR_CLK口线上产生38kHz的方波。

在这里,串口的速率一般较低。

红外通信协议---1.3缺点---(1)采用调幅进行传输,抗干扰能力差;---(2)在发送数据时,输出的功率一定时,用于信号传输的功率小,接收到的数据的信噪比小,容易误判数据;---(3)受到输出功率的影响,数据传输的距离短,速度慢;---(4)受到传输速率的影响,传输的数据量不能太大;---(5)由于没有相应的协议支持,将接收到的所有数据(包括正常的数据和干扰引起的非正常数据)送到RXD。

2红外数据通信---2.1红外数据通信的速率和物理层的数据帧格式---在红外数据传输中,对串口发送的数据采用脉冲进行调制的方式。

在IrDA 标准1.0中,脉冲的宽度为3/16的BIT占空比或者为固定的1.63μs的脉冲宽度。

IrDA1.0简称为SIR,以系统的异步通信收发器(UART)为依托,由于受到UART通信速率的限制,SIR的最高通信速率只有115.2Kbps,也就是大家熟知的电脑串行端口的最高速率。

在图2中给出了脉冲调制前的异步串口UART的数据帧格式和进行脉冲调制后的红外IR帧格式,其中,红外脉冲调制中的没有脉冲代表UART中的“1”,红外脉冲调制中有脉冲代表UART中的“0”;在没有串口数据传送时,红外数据帧中没有脉冲。

红外通信协议---1996年,颁布了IrDA标准1.1,即快速红外通信,简称为FIR。

与SIR相比,由于FIR不再依托UART,其最高通信速率有了质的飞跃,可达到4Mbps的水平。

FIR采用了全新的4PPM调制解调(PulsePositionModulation),即通过分析脉冲的相位来辨别所传输的数据信息,其通信原理与SIR是截然不同的,但由于FIR 在115.2Kbps以下的速率依旧采用SIR的那种编码解码过程,所以它仍可以与支持 SIR的低速设备进行通信,只有在通信对方也支持FIR时,才将通信速率提升到更高水平。

对4Mbps的速率,需要使用1/4的脉冲的相位进行调制(即所谓的4PPM调制),利用脉冲四个不同的相位(位置)的一个脉冲对两个BIT进行编码。

因此,前面利用脉冲有无进行调制,这里利用脉冲及脉冲的位置确定调制和解调的信号。

例如,两个BIT00调制为1000(一个BIT,其中第一个1/4BIT时间有脉冲,其他3/4时间无脉冲),两个BIT01调制为 0100(一个BIT,其中第二个1/4BIT时间有脉冲,其他3/4时间无脉冲)。

相关主题