红外通信模块的设计与实现

时间:2022-07-11 11:44:15

红外通信模块的设计与实现

摘 要:红外通信模块技术在现在世界范围内是一种被普遍应用及采用的在较短范围内使用的无线通讯技术。红外通讯模块运用的数据传输方式是一种点对点的方式,这种方式也是现在世界上应用最为广泛的无线传输技术。文章中较为全面地分析了红外通讯模块的运作预案理,并且介绍了红外通讯模块和红外数据组织(Infrared Data Association)IRDA的使用规范及协议,完整地介绍了红外通信接受及发射器等硬件的电路设计及他们在接受与发射信号时的工作原理,作者在文章最后画出了红外通信模块程序的大概运作流程图,同时提出了在红外通信模块设计时应该注意的几点问题。文章中主要研究的红外通信模块运用程序主要是指在两台有红外模块的开发箱中间进行红外通信的程序设计。本章将详细在红外通信模块的基本运作原理、红外通信模块的基本结构及设计、上位机的程序设计和实现以及下位机的程序设计和实现等发现进行论述,详细论述见下文。

关键词:红外通信模块;设计;实现

中图分类号:TP311.11 文献标识码:A 文章编号:1674-7712 (2013) 20-0000-02

红外通信模块是当今国际上已经被广泛运用的无线传输技术,这项技术主要是被利用在日常生活的家用电器、手机、电脑、汽车飞机显示器或仪表、医用仪器甚至是军队武器设备等等各行各业各个领域当中,这种先进的嵌入式操作系统不知不觉中开始涉及到人类的生活及工作当中,而在这种高科技嵌入式的操作系统当中红外通信模块技术及蓝牙通信技术是被运用的最为广泛的,文章中提到的红外通信模块主要是运用两点之间数据传输模式,这种红外通信模块的红外波段内的近红外线,波长在0.80um至30um之间,通讯距离一般在1到3米之间,它的频率高于微波而低于可见光,由于这种通信方式具有可靠性高、保密性好、设计成本低、连接方便、简单易用、结构紧凑等特点,在电子产品中具有广阔的发展潜力,红外通信模块程序主要是由两部分组织而成的,它们分别是上位机程序以及下位机程序,上位机程序以及下位机程序又可以称作为红外通信的基础程序与红外通信的控制台程序,上位机程序也就是红外通信基础程序一般是在PC机上进行运作的,而下位机程序也就是红外通信控制台则是在开发箱上进行运作的[1]。经过对Qt图形库的运用,并采用C++编程语言进行系统编写,使高科技可视化的红外通信控制台在PC机的操作系统上完成了红外通信基础程序也就是上位机程序的应用。利用红外通信模块系统程序同时在2个平台中操作时,是经过红外通信模块的基础程序也就是上位机发射命令及资料数据的,在通过这些命令、数据进行控制下位机也就是红外通信控制台程序,每次操作由红外通信模块的两方将红外通信模块制定好以后,上位机负责数据的传送,而下位机则会把从上位机接收到数据信号经过红外通信的硬件把信号发射出去,而另外一边的红外通信模块接收器则会将在开发箱上运行的红外通信控制台程序之前收到的资料数据经过串口发射红外通信基础程序的PC机上,最后将全部数据显示出来,红外通信模块就是通过完成2个开发箱中的红外通信,从而实现全部红外通信模块的运行的步骤,经过以上对同外通信模块运作的大概程序,可以得出这样一条总结:红外通信模块是由半双工的无线通讯模式进行整个运作的,每次在2台开发箱中间进行一次完整的通信之后,并利用红外模式转换红外通信基础程序就能完成红外通信的接受及发射双方,最后将接受和发射方得运行模式进行转变[2]。

一、红外通信模块的基本运作原理

红外通信模块的主要载体是采用900nm的红外波为红外通信息传递数据信息的,这样的运作模式也被称作为通信信道,也就是将红外通信进行数据发射的一端用脉时调制(PPM)的方法把二进制的数字信号转换为另一种频率的脉冲序列号,然后采用这种被转换来的脉冲序列号驱动用红外通信模块发射管得方式发射红外脉冲信号,另一边的接收方把接收到的红外脉冲信号变为电信号,之后将这种电信号放大、缩小或者过滤等方式处理后传给有调解功能的电路进行再一次调解,最后再把电信号转换回二进制进行输出。

综上所述,红外通信接口的主要标准设定,是由红外线数据组织(Infrared Data Association),以下简称IRDA决定的。IRDA技术是一项完成了无线个人局域网的先进技术,这项技术现在无论是在其硬件上的发展还是软件上的发展都已经非常成熟了,像现在人们手中用的手机、平板电脑、家用电器等等发现都广泛的采用了IRDA技术。之所以IRDA技术会被广泛应用是因为它具有不需要申请频率使用权的优势,从而无形地降低了红外通信模块的运行成本,而且这种IRDA移动通信设备的体积很小、能源耗损率小、使用方法简单便捷,所以广受消费者欢迎。而且IRDA的数据传送能力极强,特别适合于大容量文件及多媒体的传送,最重要的一点是IRDA在传送数据资料的时候所需的传送角度非常小,所起它在数据传送上具有不可替代的安全性。当然IRDA也有设计不足的地方,例如IRDA作为一种视距传输工具,在进行数据传输时,两个传输设备之间不能有阻碍,一定要将设备完全对准,并且不能进行两台以上的设备传输,这项技术不像蓝牙那么方便,就算中间有阻隔物也同样能进行多台设备间的数据传送,所以IRDA现在继续面临的问题就是要将视距传送得距离加大并且提升其数据传输的效率。由此可知,红外通信模块的基本运行原理实际上就是完成二进制数的信号的调试和传送,这样就能更加方便的将红外通信模块的信号进行传递。

二、红外通信模块的基本结构及设计

红外通信模块的关键便是IDRA协议,这个协议将使用红外通信模块的两方设定了相关的通信规范,这些协议可以将使用了红外通信模块进行产品加工的相关商家有一个规范的法则进行约束,这样做的目的主要是为了可以更快、更好地加强红外通信模块的发展。事实上IRDA通信模块的协议与TCP/IP的协议差不多梦都是将全部通信过程进行有序的排列和管理。红外通信模块一般会被分为好几层,每一层在除了要管理好自己这一层的关系之外,好需要与其上下层保持密切地联系,层与层之间可以通过协议相互进行转换利用,把每一层的协议进行总结就有了最后的总协议。IRDA就是这样一个专业的通信协议,很好地将两点之间的红外通信模块进行协议。红外通信模块的基本机构就是不可缺少协议与可选择协议这两个部分。不可缺少协议中有物理层协议、红外链路建立协议、红外链路管理协议以及信息获取服务等组成,根据各种特殊应用的要求进行配流传输协议、对象交换协议、模拟串口层和局域网访问协议,整个红外协议非常庞大及复杂,其原因是因为在嵌入式系统中由于微处理器速度和存储器容量等很多限制,由于这些限制的出现导致几乎不可能实现整个红外协议,所以只能依照实际的需要有选择、有目标地实现自己所需求的协议和功能就可以了,由此可知红外通信模块系统的应用程序主要是用红外控制台的上位机程序以及红外基础通信的下位机程序所组成,于是由全部系统应用程序上来看,每当通信两端的上位机和下位机的程序分别运行起来之后,通过在控制台所接收到的由下位机所传送上来的通信提示信息,选择红外通信模式:一方选择接收,另一方必须选择发送方式[3]。当控制台的接收端和发送端将红外通信模板设定好以后,客户把所需要传送的信息资料写进信息记录栏当中之后,发送到客户端控制台,最后按回车键进行确认之后,控制台的程序就会将所有数据都传送到下位机中,下位机接收到数据之后就会把这些数据进行处理分析后全部显示在控制台的信息框当中,此时用户已经可以通过各信息框的信息显示,而准确地受到所有资料以及数据,这个通过同外通信模块的基本结构及设计过程就是这样的。

三、上位机的程序设计和编码实现

想要更好地控制住下位机的通信,就需要设计出上位机的完整控制台系统程序,这种上位机的控制台系统程序主要是依照Linux系统的KDE桌面环境(Kool Desktop Environment)自由图形桌面环境进行设计的,使用Qt图形应用程序库的资料在Qt Designer的开发设计环境下用C++语言来进行进一步的编写、完善并完成的,它的主要功能和Window系统下的超级终端作用几乎一模一样,也可以说与Linux系统下的串口控制程序minicom串口通讯工具很相似,甚至在功能上还会比其他的操作系统更加简单一点,其操作界面如图1所示,控制台程序的主要功能是用来设置时间的延长与退后、串口设备、握手信号、停止位或者奇偶校验位以及数据位和波特率等等一整套数据参数,这三个显示部件分别处在窗口的左边,他们是用于显示从串口收到的数据的QT extBrower部件、用来实现显示控制台的输入数据的QListBox部件以及用于进行用户输入的QLineEdit部件,通过linux系统里携带的Qt Designer 软件可以很轻松地完成上面提及的所有部件设计和实现,鉴于控制台程序的全部都是由一个可视化的串口通信程序组成,它首先从用户那里获得输入数据,然后再把数据从主机上的相对应串口通过一条与开发箱相连接的串口线发送到开发箱上,开发箱也把自己的信息通过这条串口线和相应的主机的串口回馈到控制台上并显示出来,全部的控制台设计程序在整个设计的过程当中,基本上都是在解决怎么去完成和实现主机上相对应的串口设备进行所有资料及数据的输送过程,根据以上设计步骤可以分析得知,控制台程序的设计是有两个重要部分共同组成的,一个是用户界面,另一个组成部分则是用于完成与控制面板中每个GUI零部件的事件触发槽函数的编写,当这两个组成部分都分别完成了之后,控制台的所有功能就基本上能够全部实现了[4]。

经过上位机的详细设计过程可以得出,针对串口通信技术而言,用户在使用时必须要提供数据位、端口读写与串口设备等等的数据参考资料,这些数据当中有些数据参数时具有多种选择的,这时候就可以采用数据库中的多种选择功能进行选择,这些数据进行选择、筛选之后全部由设计界面展现出来,这些编码都是可以进行自己生成的,这个过程不需要人们进行操作。

四、下位机的程序设计和编码实现

下位机红外通信模块系统程序主要是由五个功能模块组成的,它们分别是:ARM开发板初始化模块、红外接收模式模块、红外发送模式模块、串口驱动模块、主控函数模块,在主程序中调用函数来完成整个开发板的CPU、串口、系统时钟和总线时钟等相关开发硬件初始化设计,并在编写红外收发模式功能模块的过程当中,依照实验箱的具体使用说明,将红外模式进行红外的发送以及接收模式切换时都必须要发送和接收功能关闭,这样做是为了避免因为配置状态的改变影响数据的正常收发[5]。另外在配置状态改变的时候要给予充分的时间进行改变,根据这些条件就生成了和发送代码以及相类似的接收代码,这种代码通过对串行数据脉冲的波形压缩和对所接收的光信号电脉冲的波形扩展这一编码解码过程,实现红外数据传输[6]。根据上述步骤可以得知,在整个下机位红外通信模块系统设计当中,如果已经将红外通信模式的存储器设置好了以后,还要进一步完成有关于串口模式的各种清除操作。最后使用的客户依照提示框的提示,把红外通信模块的接受和发送程序在菜单中进行详细的选择。

五、结束语

由上文可知,文章中提及的红外通信模块主要就是由两个重要部分组织而成的,一部分叫做上位机程序,另一部分叫做下位机程序,这两部分也可以被称之为红外通信的控制台设计程序以及红外通信的程序系统。这两个组成部分别被应用在完全不一样的两个平台之上,这两个平台经过上位机程序以及下位机程序的合作与协议完成全部试验机箱和协作部分之间的红外通信模块信号传输,这种红外通信模块设计的诞生可以更好地达到社会发展的需要。根据问卷调查及数据显示发现,当前这种嵌入式的高科技软件设计行业是一个非常受热捧的行业,但是这个行业对于设计者的入门要求极高,不仅要求软件的开发设计者自身具备扎实的软件以及硬件的理论知识作为指导,要要求软件的开放设计者要有广阔的知识积累和这类软件开发设计的实践经验,所以针对大部分红外通信模块的设计者而言,想要设计好的一个完整的嵌入式软件系统商品并将其进行实现还需要很长时间的积累与磨练,因为红外模块的设计非常具有挑战性,属于一般人正常生活中是不可能触及到的高科技行业及领域。相信在不久的将来,这种携带方便、安全可靠、控制难度小的红外通信模块技术将会在全球的通信领域中得到大力的推广及应用。

参考文献:

[1]马忠梅.ARM&Linux嵌入式系统教程[M].北京:航天航空大学出版社,2010,43(23):67-69.

[2]胡希明,毛德操.Linux内核源代码情景分析[M].杭州:浙江大学出版社,2011,76(04):92-94.

[3]张晓红,乔为民.Sasan Saadat.红外通信IrDA标准与应用[J].光电子技术,2013,20(11):43-47.

[4]胡希明,毛德操.Linux内核源代码情景分析[M].杭州:浙江大学出版社,2013,43(23):367-369.

[5]张晓红,Sasan Saadat,乔为民.光电子技术[J].红外通信,2009,25(09);126-127.

[6]邱磊,肖兵..基于IrDA协议栈的红外通信综述[J].无线通信技术,2012,37(14):108-109.

[作者简介]张少晨,西安外事学院,研究方向:电子信息工程。

上一篇:构建云计算在企业协同知识管理中的逻辑框架 下一篇:基于LabVIEW的数据采集系统在高职实验中的设计...