|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Taio 于 2019-7-22 13:58 编辑 2 i5 D4 P6 l3 g e- i n
V6 H/ _! H0 |% C
IrDA红外通信在导航仪中的应用
2 s+ t; R+ V8 D* z1 ?6 w摘要:IrDA红外通信是一种低价的、适应性广的短距离无线通信技术。介绍IrDA的有关协议及实现方式,并给出了IrDA红外通信在导航仪中的应用设计实例。% R7 V# R+ y0 j# k+ }6 v
关键词:红外数据协会(IrDA) 红外通信 高速红外 4PPM调制 高速串行/并行接口8 @5 V/ ?' V' P/ J# \
导航仪是车载或手持的路径引导装置。要准确、快速、成功地实现路径引导,必须有大量的、并能不断更新的地理信息数据支持,这就要求它具有与其他设备通信并交换数据的功能。作为嵌入式设备的一员,可以选用的通信方案有:PCI总线,IrDA,USB,Ethernet,PC卡及一些传统的I/O。其中可以实现无线通信的只有IrDA。IrDA1.0支持较高115.2Kbps的通信速率,而IrDA1.1可以支持到4Mbps。
" p3 t' `% {( D% i$ F( `( j0 h 无线通信的好处是可以去除设备对线缆和连接器的依赖,只要通信双方都支持IrDA协议,就能很快地建立通信链路,实现数据交换。
; f. Q8 s8 q) a$ G# n 现在市场上60%的笔记本电脑都支持红外传输,红外接口也成为几乎所有的掌上电脑的必配标准件。而现在生产的PC机主板上也大都预留了红外接口,只要选配合适的红外收发模块就能实现红外无线数据通信。可见,红外技术的迅速普及,使我们能够最终突破数字终端之间连线的限制。1 M/ C" g6 g# @% z2 G, @& ^
1 IrDA及其通信协议简介
+ O, n. L# ^: ` 红外数据协会(IrDA)是1993年6月成立的一个独立组织,它为短距离红外无线数据通信制定了一系列开放的标准。IrDA的目标是制定能以合理且较小的代价实现的标准和协议,以推进红外通信的发展。: ? Y" ~( @0 I6 L8 d4 a9 z
IrDA数据通信按发送速率分为三大类: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的所有速率。
5 O8 \( w# c6 k1 P! s8 P0 K 在IrDA中,物理层、链路接入协议(IrLAP)和链路管理协议(IrLMP)是必需的三个协议层。除此之外,还有一些适用于特殊的应用模式的可选层。
. f; a, [, z/ }* A6 v) s5 i" W/ A 在基本的IrDA应用模式中,设备分为主设备和从设备。主设备探测它的可视范围,寻找从设备。然后从那些响应它的设备中选择一个,试图建立连接。在建立连接的过程中,两个设备彼此协调,按照它们共同的较高通信能力确定较后的通信速率。以上的“寻找”和“协调”过程都是在9.6Kb/s的波特率下进行的。
8 D& Q- U, G: J( `3 k9 n6 @ c IrDA数据通信工作在半双工模式,因为发射时,接收器会被它自己的发射器的光芒所屏蔽。通信的两个设备通过快速转向链路来模拟全双工通信,由主设备负责控制链路的时序。
7 i% {! W3 s! n+ g IrDA协议按层安排,应用程序的数据逐层下传,最终以光脉冲的形式发出。如图1所示,
. H& q- ~3 A7 ~$ R8 {4 p. Z ; k A/ S0 l2 v) l0 `) f7 s9 E- U. `
9 h: `6 p6 f% Q: c5 X3 z3 ]; |' f: uIrLAP和IrLMP是协议中物理层之外所需的两个软件层。在物理层上的一层是链路接入协议IrLAP ,它是HDLC(高级数据链路控制)协议的改编,以适应红外传输的要求。IrLAP层的功能是进行链路初始化、设备地址寻找和解决冲突、启动连接、数据交换、断开连接和链路关闭。IrLAP指定红外数据包的帧和字节结构,以及红外通信的错误检测方法。IrLAP之上的一层是链路管理协议,即IrLMP,它管理IrLAP所提供的链路连接中的链路功能和应用程序。它评估设备上的服务,并管理如数据速率、BOF的数量(帧的开始)、及连接换向时间等参数的协调,以及数据的纠错传输。, C- E, l& x: R- O
IrDA物理层协议提出了对工作距离、工作角度(视角)光功率、数据速率和不同品牌设备互联时抗干扰能力的建议。3 e0 o6 y0 E9 Z7 {2 `! B
2 导航仪中IrDA红外通信的设计与实现' j/ P4 X5 c2 |& M! Z2 v
2.1 物理层协议的实现
* ]( c) D( l/ Z) w }. L0 u6 e: t 这一协议的设计保证了0~1m,0°~15°的轴线偏离角的无错通信。其中包括了调制、视角、光功率、数据速率和噪声去除的规范,以保证不同品牌和类型的设备之间的物理互连性。协议也考虑了周围的光照或其他IR噪声源的存在,以及参与IR通信的设备间的干扰。
2 l% Z, a8 Y" u5 y, K2 A, X: t5 z 协议要求合理选择发射器的光强度和接收器的灵敏度,以保证链路能在0~1m的距离内工作。数据速率小于4 Mb/s时使用RZI(归零反转)调制,较大脉冲宽度是位周期的3/16;而4 Mb/s的数据速率使用4PPM(脉冲位置)调制。图1给出了IrDA物理层的方框图。+ l" l+ q: I/ N. c
IrDA要求的RZI(反相归零)调制的编码效果如图2的IR帧数据所示。这一方案需要的编码/解码器可以集成在I/O芯片中,也可作为一个独立元件。) h' A: [; I: \7 L
; s4 s! \0 @: ^8 h) \ " g9 L, ]4 h" V3 {- @& K4 z
+ M/ R7 Q, y5 Y; ]9 k
4PPM调制如图3所示,两个数据位组合在一起,组成一个500ns的“数据码元组”。将这一码元组分为四个125ns的时隙,根据码元组的状态,在不同的时隙放置单脉冲。解调器在对输入位流的相位锁定后,就能根据脉冲在500ns周期中的位置来解出数据。
6 b/ X5 d8 m+ G- {2.2 硬件电路的设计
+ h; i6 f* X) ?8 M 导航仪的核心MCU选用Intel公司的SA1110,它的串口2是特别为IrDA红外通信设计的,内部集成了支持SIR和FIR的两个独立编码/解码模块,能够与市场上IrDA兼容的LED收发器直接相连。2 B6 |% O9 Z) U
红外收发器选用HP公司的HSDL-3600,它支持9.6kb/s~4Mb/s的数据传输速率,其典型链路传输距离可大于1.5m。通过管脚FIR_SEL能选择可以接收的数据速率。FIR_SEL设为低时,较高速率可达115.2kb/s;设为高时,较高速率可达4Mb/s。同时,它还有两个管脚MD0和MD1,用来选择发光功率。用户可以根据自己的需要设定,达到在短距离通信情况下省电的目的。从表1所示的收发器控制真值表中,可以清楚地看到功能选择的组合。
, A( W/ E' w6 `5 t" u5 D
. y8 H$ _2 b" M5 C6 o# w2 Y+ w, }' [4 a表1 收发器控制真值表! z! f& r# _% t; v
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距离 | $ ~: f" B0 h+ C/ k
图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的工作模式。
; J. q$ N5 | n( O/ O
" F7 |$ A- `5 M# ^![]()
* G* H* w, h% {% l& u* w
* U6 g V' F# [1 @- o2.3 IrDA红外通信的数据流
% ?, k5 w: Z* j7 o- x SA1110的红外通信端口(ICP)既支持SIR,也支持FIR。
7 i' y3 S7 w5 H, J4 h2 l! \ 在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位数据、停止位组成,无奇偶校验。
' b: T1 l u6 W/ z' b 而在FIR模式下,通信过程就复杂得多。所有在TXD2/RXD2管脚和ICP的HSSP(高速串行/并行)接口之间传送的串行数据,都是根据4PPM IrDA标准来调制/解制。编码时,把一个字节分为四个单独的码元组(2位一对),最低的码元组首先传送,但每个码元组不重新排序。这样,一个字节由四个“片”(每片500ns)组成,每个“片”分为四个时隙(每个时隙125ns)。
. @' b9 q6 m9 y! M ICP中用高速串行/并行(HSSP)接口来实现特殊的4Mb/s协议。4Mb/s的串行帧格式如表2所示。. s9 |9 b, z) O2 N5 z
0 c! F# C( i( k! ^+ H* X表2 用于IrDA传送(4Mbps)的高速串行帧格式
6 f( L7 _8 E! T1 ^- ~2 u0 i. c5 I7 H+ ~引导标志 起始标志 | 地址 | 控制(可选) | 数据 | CRC-32 | 停止标志 | | | 引导标志 ㄧ1000ㄧ0000ㄧ1010ㄧ0000ㄧ---重复16次
5 |' z. n4 Y5 i( H- u9 V5 h起始标志 ㄧ0000ㄧ1100ㄧ0000ㄧ1100ㄧ0110ㄧ0000ㄧ0110ㄧ0000ㄧ# `8 i& u8 e; W& H. t6 g8 v4 W$ z
停止标志 ㄧ0000ㄧ1100ㄧ0000ㄧ1100ㄧ0000ㄧ0110ㄧ0000ㄧ0110ㄧ | 6 V5 C6 G- i, S& o9 i' ?5 M8 |
引导标志用于接收同步,接收开始时,使用一个串行移位寄存器从RXD2管脚接收四个4PPM片,一次锁存并解码这些片。如果这些片不能解码为正确的引导标志,时隙计数延迟1,并重复以上过程,直到辨认出引导标志,则标志时隙计数器同步。引导标志最少重复16次,在空闲时(无发送数据)不断重复。所以在16个引导标志传送完后的任何时候,都可能接收到起始标志。9 O$ \; E9 K1 G8 i2 S6 b
接收到8片长的起始标志后,将它与标准编码比较。如果起始标志的任一部分和标准编码不一样,则告知一个帧错误,并且再一次开始寻找帧引导标志。一旦正确的起始标志被验证,接下来的每组4片就被解码为一个数据字节,并放入5字节的临时FIFO寄存器中。当临时FIFO被填满后,数据值便被一个接一个地推入接收FIFO。- S2 D) `4 D6 s8 q/ }
) E( u3 ^2 |) {7 W( ^( q8 [4 h ' }& D$ \; G: q1 k! h L. d7 r
/ N- S5 S1 i4 w. Q9 a
一帧的一个数据字节是8位的地址区,它是在一对多通信时用来指定接收器的。最多允许255个独立地址(00000000~11111110)。11111111为通用地址,用于对所有站广播信息。接收地址匹配可以激活或禁止。如果接收地址匹配激活,收到的地址将和地址匹配值比较,如果两个值相等或输入地址是通用地址,所有的数据字节,包括地址字节,都将存储在接收FIFO中。如果值不相符,则不把任何数据存储到接收FIFO,并忽略帧的余下部分,开始寻找下一个引导标志。7 E2 T/ s) o3 t; ^# h. K- Z5 _
一帧的第二个数据字节可能包括一个可选的由用户定义的8位控制区,它必须由软件解码,因为在HSSP中它被视为普通的数据。
( w5 S$ D: w2 B& M 一帧可以包含不大于2047字节的任何数量的多个8位数据(包括地址和控制字节)。HSSP不限制一帧的大小,但选择数据长度时,应考虑到CRC校验的能力。一般数据长度不超过CRC校验能检测到传输中所有错误时的较大数据量。
9 K: C4 H2 O$ M7 t# j% _ HSSP使用已确定的32位循环冗余校验(CRC)来检测传送中发生的位错误。CRC数值的计算使用地址、控制和数据区,其生成多项式为:, A& D* \- z' L9 [, ^# O+ G
CRC(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
: l0 ^% L; S' m* O1 g1 N CRC数值不放在接收FIFO中,而是放入5字节的临时FIFO中,并与接收时计算出的CRC数值进行比较。
% w) P$ Q2 C) u+ Q! G% | 如果数据区中接收到两个不含脉冲(是0000)的片,则开始寻找停止标志。一旦停止标志被确认,放入接收FIFO的较后一个字节被标志为帧的较后字节。
3 X1 B7 H% O% A: {) d1 X' L6 A3 前景与展望/ F4 E- s# l4 V/ Y) G5 u; v* C
随着红外通信技术的发展,其通信速率也将不断提高,在2001年IrDA将推出16Mbps的甚高速红外(VFIR)标准。IrDA红外通信的作用距离也从1m扩展到几十m,但距离的扩展是以功耗的增加为代价的。8 O" ^; X- V5 _) f" S; }
对于象导航仪这样的小型设备,IrDA红外通信不失为一种方便、快捷的与主机交换数据的实现方案。随着IrDA协议在PC机、打印机、扫描仪、数字相机、局域网(LAN)接入设备、寻呼机、蜂窝电话、医疗设施等设备上的实现,无处不在的数字化连接即将成为现实。# D5 ~. P( u' N4 a& }
5 r. _8 J; m( B+ V
+ K/ m) P6 C" i- y+ _2 ^ |
|