当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于AT89S52型单片机的红外无线PPM发射机设计

1 引言

     在工业和生活环境中,便携式信息终端设备的出现加速了无线数字通信线路和局域网的引进,然而,由于无线电的局限性,使它在无线高速数据链路应用方面受阻。在此情况下红外(IR)无线光通信得到人们的重视[1]。作为一种室内短距离通信的传输介质,IR具有胜过无线电的显著优点:IR有巨大的带宽且不需许可证,可以进行高速数据传输;IR不穿透墙壁,因而消除了在不同房间进行通信时可能带来的干扰,而且通信时不容易被侦听,提高了通信的安全性;IR探测器的尺寸比IR无的波长大得多,避免了多径衰落;IR可强度调制,IR通信设备比无线电通信设备要便宜简单得多。

     对室内无线电局域网,要求红外数据链路的峰值-平均光功率比高,高峰值功率可提高系统的灵敏度,低平均功率可满足人眼安全和低功耗的要求,脉冲位置调制(PPM)通信方式就符合这些要求,目前,PPM已被IEEE无列入无线局域网IEEE802.11标准。用纯硬件设计实现PPM光发射机是比较复杂和困难的,笔者利用功能强大的AT89S52单片机和编程软件VC++设计了一种基于计算机串口和的红外无线PPM发射机。AT89S52通过串口从计算机获取数据,编码得到脉冲宽度调制(PWM)信号后通过输出端口输出,输出的PWM信号经过波形转换电路得到PPM电脉冲信号,再通过光源驱动电路转换为PPM光脉冲信号,从而完成红外无线PPM发射机的设计。

     2 PPM信号格式

      PPM采用断续的周期性光脉冲作为载波,调制信号受到信源二进制符号地控制,脉冲的时间位置随之发生变化而传递信息,PPM信号结构如图1所示,在数字PPM通信中,同步是至关重要的。为了实现帧同步,应在传送信息帧之前发送一次帧同步头,为接收端提供同步信息,同时在信息帧的前面和后面分别安排2个标志帧以表示信息的开始和结束,这样接收机捕获到同步信号和起始标志符后,开始解调随后的脉冲信号,直到接收到结束标志,表明数据接收完毕。

      每一个信息帧又分为信息段和保护段(由光源和信道的特性决定),共M个时隙,每个时隙的宽度为Ts,其中前Q个时隙为信息段TQ=(QTs),后D个时隙为保护段TD=(DTs)。对Q元PPM,平均光功率为Pa,光脉冲峰值功率为QPa,又一帧表示log2Q位的二进制信息,因此数据传输速率R为

     R=log2Q/T=log2Q/MTs=Log2Q/(Q+D)Tsbit/s (1)

     其中,T为一帧的时间长度。

     在T不变的条件下,PPM的传信率和峰值功率随时隙数Q增大,但是Q值过大,也就是一帧分成的时隙数过多,会给信号的传输和解调带来困难,信息和Q值成对数关系,例如,当Q=256时,一个脉冲表示8比特信息,而Q=512表示9比特信息,由此可见,Q较大时,脉冲携带的信息量随Q值的增大并没有明显增加,综合考虑以上情况和实际设计需要,笔者采用Q=16的PPM调制方式,时隙宽度Ts设为15μs。

     3 AT89S52的特点

      AT89S52是一种低功耗、高性能CMOS 8位单片机,片内含8KB ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器、该器件采用Atmel公司的高密度、非易失性存储技术制造、兼容标准MCS-51指令系统及80C51引脚结构。片内集成了通用的8位CPU和ISP Flash为存储单元,可为众多嵌入式控制应用系统提供高灵活、高性价比的解决方案。

       TA89S52具有如下特点:40个引脚,8KB Flash片内程序存储器,256 Bytes的随机存储数据存储器(RAM),32个外部双向输入/输出(I/O)口,1个6向量2级中断结构;3个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路和片内时钟振荡器。

       此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置的省电模式。在空闲模式下,CPU暂停工作,而RAM、定时计数器、串行口、外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,禁止电路的其他功能直至外中断激活或硬件复位。同时该电路还具有PDIP、TQFP和PLCC等封装形式,以适应不同产品的设计要求。

     4 硬件设计

      红外线PPM发射机由AT89S52型单片机与计算机的串行通信电路,PWM到PPM波形转换电路和光源驱动电路构成,其系统结构框图如图2所示。

     4.1 串行通信电路

      为了能使单片机和计算机通信,必须使其遵循相同的通信协议,AT89C51的串行口输入/输出为TTL逻辑电平,抗干扰性较差,而计算机的串行接口是符合EIA RS-232C规范的外部总线标准接口,具有较强的抗干扰性,为了解决电平不一致的矛盾,该系统设计选用了Maxim公司的MAX232型电平转换器实现电平转换,MAX232属于通用串行接收/发送驱动器,其外围电路非常简单,只需外接4个0.1μF的电容器。

      AT89S52具有串行通信接口(SCI),SCI是能与计算机等外设通信的全双工异步系统,AT89S52与计算机采用RS-232C接口方式,这种方式下,SCI采用标准的不归零(NRZ)格式,开始是1位起始位,以逻辑“0”表示,接着是8位数据位,最后是1位停止位,以逻辑“1”表示故一次传送据长度为10比特,计算机发送数据,AT89S52接收数据,AT89S52将接收到的数据进行PWM编码,得到帧周期固定,而脉冲宽度随外部信号不断变化的PWM信号,然后通过P1.0端口输出。

      4.2 波形转换电路

      经过单片机编码输出的PWM信号经过一个下降沿触发器即可得到PPM脉冲信号,波形转换如图3所示[7]。当P1.0端口输出的信号由高电平变为低电平时,触发器的输出端产生所需的PPM脉冲信号,其脉冲宽度由外部定时电路决定。

     4.3 驱动电路

      对于无线红外通信系统来说,半导体发光二极管(LED)是可以选用的最佳光源,笔者采用带有温度补偿特性的射极耦合LED驱动电路[8],该电路看上去像一个线性差分放大器,实际上是一个电流开关电路,PPM信号加在驱动电路的输入端,当PPM信号的电位低于设定的参考电位时,LED无脉冲电流通过,LED不发光;反之,脉冲电流通过LED而使LED发光。如图4所示,注入电流IF相等的条件下,LED的输出光功率P随着温度的上升而下降,所以设计中采用温度补偿电路进行温度补偿,当温度升高时,LED的注入电流也随之增加,从而补偿LED的功率变化。

     5 软件设计

     5.1 计算机软件编程

     计算机的主要作用是通过串口传送源数据给单片机。

     利用Visual C++编制串行通信程序一般有3种方法:调用Microsoft Win32应用程序接口(API)提供的串行通信函数,利用VC++的MFC类库函数实现;用Active X通信控件(MSComm)开发串口通信程序,笔者利用VC++提供的MSComm控件来实现计算机与单片机之间的串行通信,利用VC++的通信控件MSComm进行软件设计只需对串口进行简单的设置即可。程序实现非常简单,结构清晰,在Windows环境下,串口是系统资源的一部分,应用程序要使用串口进行通信,必须在使用之前向系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。

     5.2 单片机软件编程

      单片机的主要作用是从发送端(计算机)接收数据,并对接收到的数据进行PWM编码,然后通过输出端口输出,单片机部分的编程主要由串口初始化子函数,接收数据子函数和PWM信号发送子函数组成。

     5.2.1 串口初始化子函数

     使用串口之前,应动其进行初始化,初始化程序如下:

     5.2.2 接收数据子函数

      接收数据流程如图5所示,程序如下:

     5.2.3 PWM发送信号子函数

      PWM信号发送包括发送PWM编码后的同步头、起始标志符、接收的数据和结束标志符、下面重点讨论对接收的数据进行编码及发送,其流程如图6所示,程序如下:

     6 结束语

      红外通信为构建高速宽带室内无线局域网提供了新的选择。PPM的脉冲峰值功率与平均功率之比很高,可以有效减小平均辐射功率和提高接收灵敏度,笔者设计的红外无线PPM发射机利用单片机实现PPM调制,具有电路结构简单、调试容易、可靠性高、精度高、成本低和功耗低的优点,由于设计中只采用了单只红外LED作为光源,输出功率不大,而且受辐射角的限制,通信具有方向性,可以考虑采用多只红外LED构成发射阵列来增加发射功率和辐射范围。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭