漫谈IR通讯协议.doc_第1页
漫谈IR通讯协议.doc_第2页
漫谈IR通讯协议.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

漫谈IR通讯协议IR是“InfraRed”的缩定,可译为:红外线,红外线通讯,红外线信息等。要了解IR通讯协议,先要了解红外线是什么。红外线是波长在750nm至1mm之间的电磁波,它的频率高于微波而低于可见光,是一种人眼看不到的光线。红外线通讯一般用红外波段内的某段范围:波长在0.75um至25um之间。红外数据协会(IRDA)成立后,为了保证不同厂商的红外产品能够获得最佳的通讯效果,红外通讯协会将红外数据通讯所取用的光波波长范围限定在850nm至900nm之内。目前无线电波和微波已被广泛地应用在长距离的无线通讯之中,但由于红外线的波长较短,对障碍物的衍射能力差,所以更适合应用在需要短距离无线通讯的场合,进行点对点的直线数据传输。知道什么是红外线之后,要进一步了解IR通讯就很有必要了解红外线数据协会(InfraRed Data Association,简称IRDA)。IRDA是为了建立统一的红外线数据通讯标准而成立的一个组织。1993年,由HP、COMPAQ、INTEL等二十多家公司发起成立了红外线数据协会(IRDA);一年多后,发布第一个红外线数据通讯标准,即IRDA1.0,简称SIR(Serial InfraRed),是一种HP-SIR开发出来的一种异步的、半双工的红外线通讯方式;1996年,发布IRDA1.1标准,即FIR(Fast InfraRed),其通讯速率有质的飞跃;之后,IRDA又发布了VFIR(Very Fast InfraRed)技术,进一步提升了IR通讯速率,使其在大数据量通讯传输方面也占有一席之地。初步了解以上IR的基础知识后,我们进入研究IR的内核:IR通讯协议。面向不同的对象层次,IR标准有三个基本的规范和协议:1) 物理层规范(Physical Layer Link Specification,简称PHY);2) 连接建立协议(Link Access Protocol,简称IrAP);3) 连接管理协议(Link Management Protocol,简称IrLMP)这三个协议是其它一切协议的基础和规范,其实我们建立如此繁锁协议目标只有一个:充分利有硬件资源,使IR系统在固定的硬件条件下得到最高的传输速率,最安全稳定的性能。在低端物理层中,选取一种良好的编码方式是十分重要的,如“HHH1,13”码;而在相关的连接协议中,如何保证数据快速而准确地传送与接收是至关重要的,要实现数据良好收发,不仅硬件要求稳定,数据编码有效,建立一个合理的数据包格式更是重点。在IRDA中,16MBPS数据结构为:引导符启动数据CRC填充段停止空闲段以上是个格式完整的数据包格式。在我们针对具体IR设备的应用中,可根据实际需要进行取舍或增减。以下以PL-880的IR驱动程序来说明在实际应用中IR协议的建立与调整。要实现IR通讯,其实就是要使两个设备通过IR进行相互数据交流,数据的发送与接收是通讯内容的全部。所以实现IR通讯,就是要实现数据的发送与接收这两步。下面我们就发送和接收过程所遇问题进行讨论。IR通讯设备均有一个发送端口(TXD)和一个接收端口(RXD),在物理层发送与接收是以位(bit)为单位元进行传输的,现有的设备一般已把这过程程序封装在硬件内。我们要做的只是把要发送的数据(byte字节)放到发送端口(TXD),触发IR中断把数据发送出去。这一过程看似很简单,但实际上我们同时要考虑到以下几个问题:1) IR是半双工工作的,同一时刻只能做一件事:发送或接收。所以发送数据时先要看IR是否处于繁忙(BUSY)状态(正在发送或接收数据),若BUSY只能进行等待到IR空闲时方可发送数据。2) 数据发送出去后,由于外界各种因素的影响,一次发送对方收不到或接收错误的可能性很大。为了保证数据能被正常接收到,必须要有一个应答交流。也就是当接收方接收到数据后,发送一个应答包,并把接收到的数据放在应答包一起发送过来;发送方发送数据后进入等待状态,接收到应答包后检查对方收到的内容是否为刚才所发的数据,若不是则要重发。3) 要发送较多数据时,要计算每个数据包所需的发送时间、等待延时以确定下一个数据包的发送时刻。4) 要考虑到两机同时发送数据的情况,虽然机率不高,但若漏了当这一事件出现时,设备将会进入死循环或死机状态。发送过程尽管复杂,但要解决并不难,IR通讯的最大难点是在它的接收过程,接收过程要考虑的问题比发送过程考虑到的还要多:1) 由于IR对外界光热敏感,并且对机内电流变化也有反应,所有经常会接收到一些无效的非法数据。怎样去辨认当前接收到的数据是有效还是无效是非常重要的一点。2) 每接收到一个数据(假定为有效数据)后要记录下来,并发一个应答包,但该应答包的传送过程中也会出现意外,对方(发送方)接收不到或接收错误时会重发。这样一来就会出现接收数据重复的问题。3) 接收到有效数据后,机器要从接收状态转入发送状态(发送应答包),这一转换过程的延时及何时发送应答包也是一个要考虑的问题;4) 除了要辨别有效数据和非法数据外,还要确定当前数据是新数据还是应答包数据。若不加辨别,接收到数据就发送应答包,那么两机就会陷入发送与接收的死循环中去,也就是IR永远处于繁忙状态;IR通讯协议除了要解决以上问题外,PL880机器还要考虑到另一个的问题:速度。发送与接收的问题也是一般网络运行要解决的问题,只要仿照网络协议也不难解决,但是我们要面临的另一个问题是IR通讯的速度是远比不上有线连接的网络系统。不要说PL880的CPU处理速度太慢,IR本身就存在着热延时问题(IR接收与发送数据是靠红外线热进行传送的,每传送一个数据后IR设备都要有一个回复期),也就是照搬网络上繁锁的操作过程是绝对行不通的。为了解决以上问题,在PL880中建立了一个较为可行的数据包格式:引导符标志数据以上数据结构大大减少了其它辅助数据块,加快了IR传送速度。其中各块的意义如下:u 引导符:作为有效数据标志,只有以其引导下的后序数据方为有效数据u 标志:作为新数据或应答包的标志(在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论