|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Taio 于 2019-7-22 13:58 编辑
" \# i# e* @5 X; a9 s( b0 `5 j" S* j* T0 x* k& ?
IrDA红外通信在导航仪中的应用 , L4 j9 P8 D/ Z4 L5 O6 O
摘要:IrDA红外通信是一种低价的、适应性广的短距离无线通信技术。介绍IrDA的有关协议及实现方式,并给出了IrDA红外通信在导航仪中的应用设计实例。
) J2 |+ T' Q9 \: m' C 关键词:红外数据协会(IrDA) 红外通信 高速红外 4PPM调制 高速串行/并行接口; A" @6 {2 v% r$ p
导航仪是车载或手持的路径引导装置。要准确、快速、成功地实现路径引导,必须有大量的、并能不断更新的地理信息数据支持,这就要求它具有与其他设备通信并交换数据的功能。作为嵌入式设备的一员,可以选用的通信方案有:PCI总线,IrDA,USB,Ethernet,PC卡及一些传统的I/O。其中可以实现无线通信的只有IrDA。IrDA1.0支持较高115.2Kbps的通信速率,而IrDA1.1可以支持到4Mbps。
! S$ @9 D$ n& v# M; ~9 r# A 无线通信的好处是可以去除设备对线缆和连接器的依赖,只要通信双方都支持IrDA协议,就能很快地建立通信链路,实现数据交换。( T8 v& }$ E9 o( t
现在市场上60%的笔记本电脑都支持红外传输,红外接口也成为几乎所有的掌上电脑的必配标准件。而现在生产的PC机主板上也大都预留了红外接口,只要选配合适的红外收发模块就能实现红外无线数据通信。可见,红外技术的迅速普及,使我们能够最终突破数字终端之间连线的限制。( q$ P. W; \# G- @8 f
1 IrDA及其通信协议简介2 @0 z" y g% `5 L( b. F. Y, z9 g( u
红外数据协会(IrDA)是1993年6月成立的一个独立组织,它为短距离红外无线数据通信制定了一系列开放的标准。IrDA的目标是制定能以合理且较小的代价实现的标准和协议,以推进红外通信的发展。6 I. b. ?; r* K/ W8 L
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的所有速率。
7 u# q4 o7 U/ F0 u9 N7 f5 @* y/ U7 W 在IrDA中,物理层、链路接入协议(IrLAP)和链路管理协议(IrLMP)是必需的三个协议层。除此之外,还有一些适用于特殊的应用模式的可选层。1 `5 [. Z: U) v s
在基本的IrDA应用模式中,设备分为主设备和从设备。主设备探测它的可视范围,寻找从设备。然后从那些响应它的设备中选择一个,试图建立连接。在建立连接的过程中,两个设备彼此协调,按照它们共同的较高通信能力确定较后的通信速率。以上的“寻找”和“协调”过程都是在9.6Kb/s的波特率下进行的。3 c9 Z" O1 `) N9 z, o( {
IrDA数据通信工作在半双工模式,因为发射时,接收器会被它自己的发射器的光芒所屏蔽。通信的两个设备通过快速转向链路来模拟全双工通信,由主设备负责控制链路的时序。2 G7 \: i- M8 S- J
IrDA协议按层安排,应用程序的数据逐层下传,最终以光脉冲的形式发出。如图1所示,$ d0 r* P% s! n6 H$ p; S5 J
![]()
8 z# k* X# n" o( `
8 [/ i, R8 n. j. [% @" mIrLAP和IrLMP是协议中物理层之外所需的两个软件层。在物理层上的一层是链路接入协议IrLAP ,它是HDLC(高级数据链路控制)协议的改编,以适应红外传输的要求。IrLAP层的功能是进行链路初始化、设备地址寻找和解决冲突、启动连接、数据交换、断开连接和链路关闭。IrLAP指定红外数据包的帧和字节结构,以及红外通信的错误检测方法。IrLAP之上的一层是链路管理协议,即IrLMP,它管理IrLAP所提供的链路连接中的链路功能和应用程序。它评估设备上的服务,并管理如数据速率、BOF的数量(帧的开始)、及连接换向时间等参数的协调,以及数据的纠错传输。
# I. s' \/ C$ Y9 u8 @9 t IrDA物理层协议提出了对工作距离、工作角度(视角)光功率、数据速率和不同品牌设备互联时抗干扰能力的建议。
3 b: M5 k/ \* X. d) e2 导航仪中IrDA红外通信的设计与实现
: h. o9 V. D5 T2.1 物理层协议的实现
* O Y1 U8 z8 u" ]$ g 这一协议的设计保证了0~1m,0°~15°的轴线偏离角的无错通信。其中包括了调制、视角、光功率、数据速率和噪声去除的规范,以保证不同品牌和类型的设备之间的物理互连性。协议也考虑了周围的光照或其他IR噪声源的存在,以及参与IR通信的设备间的干扰。) }7 C4 L4 Z% f& ]# b
协议要求合理选择发射器的光强度和接收器的灵敏度,以保证链路能在0~1m的距离内工作。数据速率小于4 Mb/s时使用RZI(归零反转)调制,较大脉冲宽度是位周期的3/16;而4 Mb/s的数据速率使用4PPM(脉冲位置)调制。图1给出了IrDA物理层的方框图。
1 L: m5 k% [% Z9 c; e5 Q IrDA要求的RZI(反相归零)调制的编码效果如图2的IR帧数据所示。这一方案需要的编码/解码器可以集成在I/O芯片中,也可作为一个独立元件。
/ z4 j. B% J' h7 Y+ N F& n' O6 O% N7 L% b. ]" d
8 M$ R$ @9 `. c
7 _ N# U! G l% Q 4PPM调制如图3所示,两个数据位组合在一起,组成一个500ns的“数据码元组”。将这一码元组分为四个125ns的时隙,根据码元组的状态,在不同的时隙放置单脉冲。解调器在对输入位流的相位锁定后,就能根据脉冲在500ns周期中的位置来解出数据。. d$ B& D v& A$ _1 F: R
2.2 硬件电路的设计) Z2 d+ ^, O0 K$ O3 F$ N) ]$ B
导航仪的核心MCU选用Intel公司的SA1110,它的串口2是特别为IrDA红外通信设计的,内部集成了支持SIR和FIR的两个独立编码/解码模块,能够与市场上IrDA兼容的LED收发器直接相连。6 l; K" Q8 a1 b. `
红外收发器选用HP公司的HSDL-3600,它支持9.6kb/s~4Mb/s的数据传输速率,其典型链路传输距离可大于1.5m。通过管脚FIR_SEL能选择可以接收的数据速率。FIR_SEL设为低时,较高速率可达115.2kb/s;设为高时,较高速率可达4Mb/s。同时,它还有两个管脚MD0和MD1,用来选择发光功率。用户可以根据自己的需要设定,达到在短距离通信情况下省电的目的。从表1所示的收发器控制真值表中,可以清楚地看到功能选择的组合。
. o2 c. D/ L3 Q5 o* Z Z- r: I# p+ M% I4 \4 r! E7 H8 S5 N
表1 收发器控制真值表
/ ?" U7 a' Q4 g; o# O) XMD0 | 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距离 |
! b! m" Z4 Y8 P0 r* `! Y/ u4 R 图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的工作模式。
) t0 [/ n) o/ B" Q6 S7 B- L$ o- |9 x2 n( Z
![]()
' c7 F! y' ]7 L' R* m& M
" p8 i) M3 `' U: T5 |1 G2 r2.3 IrDA红外通信的数据流, `7 \/ ~+ t' Z' d. @
SA1110的红外通信端口(ICP)既支持SIR,也支持FIR。! ^9 O6 {' Y. b& J- d. G+ e$ i+ w
在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位数据、停止位组成,无奇偶校验。( T, |$ @& c' R! |/ g
而在FIR模式下,通信过程就复杂得多。所有在TXD2/RXD2管脚和ICP的HSSP(高速串行/并行)接口之间传送的串行数据,都是根据4PPM IrDA标准来调制/解制。编码时,把一个字节分为四个单独的码元组(2位一对),最低的码元组首先传送,但每个码元组不重新排序。这样,一个字节由四个“片”(每片500ns)组成,每个“片”分为四个时隙(每个时隙125ns)。
* p1 P8 m9 o5 W* L: [ N ICP中用高速串行/并行(HSSP)接口来实现特殊的4Mb/s协议。4Mb/s的串行帧格式如表2所示。" m# }$ R" b" V) k6 Q
& y; C% d. b( U$ B) x表2 用于IrDA传送(4Mbps)的高速串行帧格式" A7 O- A3 Q& Q3 F4 E! M
引导标志 起始标志 | 地址 | 控制(可选) | 数据 | CRC-32 | 停止标志 | | 引导标志 ㄧ1000ㄧ0000ㄧ1010ㄧ0000ㄧ---重复16次3 D& o1 q; r$ ~: D0 l( X
起始标志 ㄧ0000ㄧ1100ㄧ0000ㄧ1100ㄧ0110ㄧ0000ㄧ0110ㄧ0000ㄧ% S% y m5 z% R6 y. R$ O- l& W" a' F
停止标志 ㄧ0000ㄧ1100ㄧ0000ㄧ1100ㄧ0000ㄧ0110ㄧ0000ㄧ0110ㄧ |
]: N: x3 l* I: @ 引导标志用于接收同步,接收开始时,使用一个串行移位寄存器从RXD2管脚接收四个4PPM片,一次锁存并解码这些片。如果这些片不能解码为正确的引导标志,时隙计数延迟1,并重复以上过程,直到辨认出引导标志,则标志时隙计数器同步。引导标志最少重复16次,在空闲时(无发送数据)不断重复。所以在16个引导标志传送完后的任何时候,都可能接收到起始标志。
- W! r O- W) `) L9 z: e/ P4 E 接收到8片长的起始标志后,将它与标准编码比较。如果起始标志的任一部分和标准编码不一样,则告知一个帧错误,并且再一次开始寻找帧引导标志。一旦正确的起始标志被验证,接下来的每组4片就被解码为一个数据字节,并放入5字节的临时FIFO寄存器中。当临时FIFO被填满后,数据值便被一个接一个地推入接收FIFO。, A/ L @4 ~' k8 G- d4 z* d
. N) r" S) N+ g h
+ Q- u- F, f0 e
- V* N7 I' x% F7 P" x3 @9 e
一帧的一个数据字节是8位的地址区,它是在一对多通信时用来指定接收器的。最多允许255个独立地址(00000000~11111110)。11111111为通用地址,用于对所有站广播信息。接收地址匹配可以激活或禁止。如果接收地址匹配激活,收到的地址将和地址匹配值比较,如果两个值相等或输入地址是通用地址,所有的数据字节,包括地址字节,都将存储在接收FIFO中。如果值不相符,则不把任何数据存储到接收FIFO,并忽略帧的余下部分,开始寻找下一个引导标志。
w6 }, K1 Z. A: o' [ 一帧的第二个数据字节可能包括一个可选的由用户定义的8位控制区,它必须由软件解码,因为在HSSP中它被视为普通的数据。
7 E1 l' ]7 y5 P+ u. P 一帧可以包含不大于2047字节的任何数量的多个8位数据(包括地址和控制字节)。HSSP不限制一帧的大小,但选择数据长度时,应考虑到CRC校验的能力。一般数据长度不超过CRC校验能检测到传输中所有错误时的较大数据量。9 B" Z4 E0 S5 O; c
HSSP使用已确定的32位循环冗余校验(CRC)来检测传送中发生的位错误。CRC数值的计算使用地址、控制和数据区,其生成多项式为:
+ T; `- I+ ^# O CRC(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
& T4 t+ |# R! {3 P' k C CRC数值不放在接收FIFO中,而是放入5字节的临时FIFO中,并与接收时计算出的CRC数值进行比较。/ N# q9 T5 q$ R) }2 W2 S
如果数据区中接收到两个不含脉冲(是0000)的片,则开始寻找停止标志。一旦停止标志被确认,放入接收FIFO的较后一个字节被标志为帧的较后字节。
% n+ h8 ?* f$ D, Q Z3 J& m0 p3 前景与展望) {' q# f7 Z+ N( L9 }
随着红外通信技术的发展,其通信速率也将不断提高,在2001年IrDA将推出16Mbps的甚高速红外(VFIR)标准。IrDA红外通信的作用距离也从1m扩展到几十m,但距离的扩展是以功耗的增加为代价的。, z9 D3 V0 j; u# c1 s
对于象导航仪这样的小型设备,IrDA红外通信不失为一种方便、快捷的与主机交换数据的实现方案。随着IrDA协议在PC机、打印机、扫描仪、数字相机、局域网(LAN)接入设备、寻呼机、蜂窝电话、医疗设施等设备上的实现,无处不在的数字化连接即将成为现实。$ {, q$ q. p% b6 H
, h; ]* i3 [+ t8 j, U
5 W" l! ]( P- {$ I4 g! T& ` |
|