马静波
(哈尔滨无线电监测站,哈尔滨150040)
要:概述了红外无线通信的概念,介绍了IrDA通信协议,在此基础上设计了一种基于单片机的通用红外通信接口模块,它支持IrDA协议,采用串行输入输出,可以做为附加通信模块方便地集成到各种设备和仪器仪表中。
关键词:红外无线通信;IrDA协议;通用红外通信接口中图分类号:TN92
文献标识码:A
文章编号:(2005)1009-255203-0046-02
摘
TheapplicationofIrDA-basedinfrareddigital
wirelesstelecommunication
MAJing-bo
(HarbinRadioMonitoringStation,Harbin150040,China)
Abstract:ThispaperintroducestheconceptofinfraredwirelesscommunicationandIrDAprotocol,according
tothisakindofgeneralinfraredcommunicationinterfacemoduleisdesigned,whichsupportsIrDAprotocol,adoptsserialinputandoutput,canbeeasilyintegratedwithdevicesandinstruments.Keywords:wirelessinfraredcommunication;IrDAprotocol;generalinfraredcommunicationinterface
0红外无线通信概述
IrTran-P
LM-IAS
表1OBEXTm
IrDA数据协议栈IrLAN
IrCOMM
IrMC
红外无线通信技术提供了一种低成本、短距离、高速率的无线通信方式,采用红外线作为通信载体,一般采用0.9m波长左右的红外线。调制方式一µ般采用ASK,传输速率为2.4kbps~QPSK,PPM等,16Mbps。
TinyTransportProtocol-TinyTP
IrLinkMgmt-MUX-IrLMPIrLinkAccessProtocol-IrLAP
AsyncSerial-IR9600b/s-115.2kb/s
AsyncSerial-IR1.152Mb/s
Sync4PPM4Mb/s
1IrDA协议
全称TheInfraredDatalrDA即红外数据协会,
是1993年6月成立的一个国际性组织,专Association,
门制订和推进能共同使用的低成本红外数据互连标准,支持点对点的工作模式。lrDA的宗旨是制订以合理的代价实现的标准和协议,以推动红外通信技术的发展。IrDA1.0可支持最高115.2kbps的通信速率,而IrDA1.1可以支持的通信速率达到4Mbps。1.1IrDA数据协议
连路接入层、连路管IrDA数据协议有物理层、
理层三个基本层协议组成,另外为了满足各种上层应用的需要,还扩展一些接口协议,其中包括:TinyTP,IrCOMM,OBEXTm,IrDALite,IrTran-P,IrMC,Ir-基本结构如表1所示。LAN等,—46—
IrDA红外串行物理层协议
IrPHY定义了4Mb/s以下速率的半双工连接标准。在IrDA物理层中,将数据通信按发射速率分为三大类:SIR,MIR和FIR。串行红外的速率覆盖了RS-232端口,通常支持的速率9600bps~115.2kbps。MIR可支持0.576Mbps和1.152Mbps的速率;高速红外(FIR)
有时也可用于高于SIR的所通常用于4Mbps的速率,
有速率。4Mb/s连接使用4PPM编码,1.152Mb/s连接使用归零OOK编码,编码脉冲的占空比为0.25。115.2kb/s及以下速率的连接使用占空比为0.1875的归零OOK编码。IrDA兼容的发射器发射波长为1.2
收稿日期:2004-10-09作者简介:马静波(1969-),男,毕业于哈尔滨工业大学,现工作于哈
尔滨无线电监测站,工程师。
接收器的视场(FOV)至少大于15º。大多850~900nm,
数的IrDA接收器的FOV比较大,所以多数的IrDA链路采用半定向LOS式。IrDA协议规定误码率不超过
9
的连接距离达到1米以10-(4Mb/s时不超过10-8)
2.1硬件设计
主要由ATC55、红外GIRCI模块框图如图1,
通信模块和串行口三个部分构成,其中红外通信模块由HSDL7001和HSDL3600组成,HSDL7001和从ATC55的P0口扩展一ATC55通过串口相连,
片8251用做GIRCI的输入输出口。
上,很多连接能达到3米。1.3
IrLAP红外链路接入协议
设备地址发现、建立IrLAP定义了链路初始化、
连接(其中包括比特率的统一)、数据交换、切断连接、链路关闭以及地址冲突解决等操作过程。它是协从异步数据通信标准高级数据链路控制(HDLC)议演化而来的。IrLAP使用了HDLC中定义的标准帧类型,可用于点对点和点对多的应用。IrLAP的最大特点是由一种协商机制来确定一个设备为主设备,而其它的成为从设备。主设备探测它的可视范围,寻找从设备,然后从响应的设备中选择一个并试图建立连接。在建立连接过程中,两个设备彼此协调,按照共同的最高通信能力确定最后的通信速率。以上的“寻找”和“协调”过程都是在9.6kbps的波特率下进行的。
IrDA数据通信工作在半双工模式,
因为在发射时,接收器会被发射器的光芒所屏蔽。通信的两个设备将通过快速转向链路来模拟全双工通信,并有主设备负责控制链路的时序。1.4
IrLMP红外链路管理协议
IrLMP是IrLAP之上的一层链路管理协议,
主要用于管理IrLAP所提供的链路连接中的链路功能和应用程序以及评估设备上的服务,并管理如数据速率、BOF的数量(帧的开始)及连接换向时间等参数的协调、数据的纠错传输等。1.5
IrDA控制协议
(IrDAControlProtocol)IrDA控制协议是一种用于低速外围设备如键盘、鼠标、游戏杆、打印机等与PC、游戏机、电视机、机顶盒等主机的连接标准。它由物理层、MAC层和LLC层组成。
2通用红外通信接口
通用红外通信接口(GeneralInfraredCommunica-
tionInterface,
简称GIRCI),是以一片MCS51单片机为主空器,配以红外收发器件和串口控制器构成的通信模块。它具有以下特点:支持IrDA协议;具有串行接口,可方便地添加到其它客户系统中,特别适合为智能仪器或其它嵌入式系统提供方便可靠的红外通信接口。
(cam[num](long)capSetUserData.hWndC,
;capture)
根据不同的应用,//设置视频帧回调函数,
编写不同的回调函数
(cam[num]capSetCallbackOnFrame.hWndC,
;MyFrameCallbackProc)
//由捕获窗获取视频捕获的缺省设置CAPTUREPARMSParam;
[num]capCaptureGetSetup(cam.hWndC,
(CAPTUREPARMS));&Param,sizeof
//设置捕获窗的参数
Param.dwRequestMicroSecPerFrame=66667/2;(cam[num]capCaptureSetSetup.hWndC,&
(CAPTUREPARMS));Param,sizeof
//设置捕获窗的显示模式和显示速率(cam[num];capPreviewRate.hWndC,66)(cam[num];capPreview.hWndC,1)}}
(3)双目视频图像的捕获
(CamCapture*capture)BOOLStereoVideoCapture
{
IplImage*frameL;IplImage*frameR;;InitialCameras(capture,2)//获取左图像的指针
(cam[0];frameL=GrabImage.hWndC)//获取右图像的指针
(cam[1];frameR=GrabImage.hWndC)……}
(4)终止捕获并断开与视频设备的连接
(CamCapture*capture)voidCloseCameras
{
//停止捕获
(capture->capWnd);capCaptureAbort//取消登记的回调函数
(capture->cap-capSetCallbackOnFrame
;Wnd,NULL)
//终止窗口
(capture->capWnd);DestroyWindow
//断开与驱动程序的连接
(capture->capWnd);capDriverDisconnect}
图2是在摄像机标定模块中利用该捕获程序得到的标定模板的左右两幅图像。
图2捕获程序捕获的双目视频图像
4结束语
利用VFW提供与设备无关的AVICap窗口类,以
用纯软件的方式编程实现了双VC++6.0为开发工具,
目视频图像的实时捕获。希望通过本文的介绍能够对从事视频应用程序研究和开发的人员有所帮助。参考文献:
[1]清汉计算机工作室.VisualC++6.0多媒体开发实例[M].北京:
机械工业出版社,2000.
[2]王华.VisualC++6.0编程实例与技巧[M]机械工业出版.北京:
社,1999.
[3]马颂德,张正友.计算机视觉———理论与算法基础[M].北京:
科学出版社,1998.
责任编辑:张荣香
\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"
(上接第47页)将回调函数指针告诉状态机;
(1)8251和HADL7001编码模块。(4)循环检查EventQueue是否为空,如果不为
(2)初始化c55的串口。(3)初始化状态机接口。分配一个先进先出的环形队列EventQueue(接收缓冲队列),用于存放所有与状态机运行相关的数据包;分配两个发送缓冲队列TxupQuene(上行队列),(下TxdownQueue行队列),用于存放给客户端和红外发射端的包;使用两个全局变量CURR-STAT和GIRCI主控程序的状态,CURR-STAT初始值为GIRCIDNM,GIRCI
初始化所有的全局变量;STAT初始值为NORMAL;
空则向下层状态机分发。
主控软件还包括三个中断服务子程序(ISR)、分别为两个外部中断(8251的TxRDY中断INT1,
和串口中断,RxRDY中断INT0)INT1的ISR负责将发送TxupQuene中的包;INT0的ISR负责将接收
缓冲区的客户端请求放入EventQueue中;串口中断服务程序负责发送TxdownQueue中的包和接收缓冲区的包放入EventQueue中。
责任编辑:姚彦茹
—51—
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务