新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于AT89S52型单片机的红外无线PPM发射机设计

基于AT89S52型单片机的红外无线PPM发射机设计

——
作者:桂林电子工业学院 通信与信息工程系 徐荃 许大奎李思敏时间:2006-09-23来源:国外电子元器件收藏
1 引言

在工业和生活环境中,信息终端设备的出现加速了线路和局域网的引进,然而,由于无线电的局限性,使它在无线高速数据链路应用方面受阻。在此情况下(IR)得到人们的重视。作为一种室内短距离通信的传输介质,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构成发射阵列来增加发射功率和辐射范围。



评论


相关推荐

技术专区

关闭