我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 678|回复: 0

一种用于单片机的红外串行通信接口 - 通信/网络 - 电子工

[复制链接]

该用户从未签到

1万

主题

1292

回帖

2万

积分

管理员

积分
29577

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-3-30 00:21:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
<strong>引言</strong>

在很多单片机应用系统中,常常利用非电信号(如光信号、超声波信号等)传送控制信息和数据信息,以实现遥控或遥测的功能。例如在单相电度表抄表系统中,就是使用手持抄表器通过遥控的方式,来完成电度表用电量的抄录、设置表底数、电度表校时等工作。红外通信具有控制简单、实施方便、传输可靠性高的特点,是一种较为常用的通信方式。实现单片机系统红外通信的关键在于红外接口电路的设计以及接口驱动程序的设计。

<strong>1 红外通信的基本原理

</strong>红外通信是利用950nm近红外波段的红外线作为传递信息的媒体,即通信信道。发送端采用脉时调制(PPM)方式,将二进制数字信号调制成某一频率的脉冲序列,并驱动红外发射管以光脉冲的形式发送出去;接收端将接收到的光脉转换成电信号,再经过放大、滤波等处理后送给解调电路进行解调,还原为二进制数字信号后输出。

简而言之,红外通信的实质就是对二进制数字信号进行调制与解调,以便利用红外信道进行传输;红外通信接口就是针对红外信道的调制解调器。

<strong>2 红外通信接口的硬件电路设计</strong>

单片机本身并不具备红外通信接口,但可以利用单片机的串行接口与片外的红外发射和接收电路,组成一个应用于单片机系统的红外串行通信接口,如图1所示。


<ignore_js_op>





2010-3-9 22:59:35 上传
<strong>下载附件</strong> (59.92 KB)




</ignore_js_op>


2.1 红外发送器

红外发送器电路包括脉冲振荡器、驱动管T1和T2、红外发射管D1和D2等部分。其中脉冲振荡器由NE555定时器、电阻(R1、R2)和电容(C1、C2)组成,用以产生38kHz的脉冲序列作为载波信号;红外发射管D1和D2选用Vishay公司生产的TSAL6238,用来向外发射 950nm的红外光束。

红外发送器的工作原理为:串行数据由单片机的串行输出端TXD送出并驱动T1管,数位“0”使T1管导通,通过T2管调制成38kHz的载波信号,并利用两个红外发射管D1和D2以光脉冲的形式向外发送。数位“1”使T1管截止,红外发射管D1和D2不发射红外光。若传送的波特率设为 1200bps,则每个数位“0”对应32个载波脉冲调制信号的时序,如图2所示。


<ignore_js_op>





2010-3-9 22:59:36 上传
<strong>下载附件</strong> (15.64 KB)




</ignore_js_op>


2.2 红外接收器

红外接收电路选用Vishay公司生产的专用红外接收模块TSOP1738。该接收模块是一个三端元件,使用单电源+5V电源,具有功耗低、抗干扰能力强、输入灵敏度高、对其它波长950nm以外)的红外光不敏感的特点,其内部结构框图如图3所示。


<ignore_js_op>





2010-3-9 22:59:36 上传
<strong>下载附件</strong> (18.23 KB)




</ignore_js_op>


TSOP1738的工作原理为:首先,通过红外光敏元件将接收到的载波频率为38kHz的脉冲调制红外光信号转化为电信号,再由前放大器和自动增益控制电路进行放大处理。然后,通过带通滤波器和进行滤波,滤波后的信号由解调电路进行解调。最后,由输出级电路进行反向放大输出。

为保证红外接收模块TSOP1738接收的准确性,要求发送端载波信号的频率应尽可能接近38kHz,因此在设计脉冲振荡器时,要选用精密元件并保证电源电压稳定。再有,发送的数位“0”至少要对应14个载波脉冲,这就要求传送的波特率不能超过2400bps。利用上述红外收发电路构成的红外信道最大通信距离为8m。

<strong>3 红外通信的软件设计</strong>

3.1 通信方式

考虑到红外光反射的原因,在全双工方式下发送的信号也可能会被本身接收,因此红外通信需采用异步半双工方式,即通信的某一方发送和接收是交替进行的。这里设置单片机的串行口采用方式3通信;通信的数据格式为每帧11位,包括1位起始位、8位数据位、1位奇偶校验位和1位停止位;片内定时器T1作为波特率发生器,选择传送的波特率为1200bps,则定时器T1的初值应设置为TL1=TH1=E8H,另外应禁止定时器T1中断,以免因定时器T1溢出而产生不必要的中断。

3.2 通信协议

进行红外通信之前,通信双方首先要根据系统的功能要求制订某种特定的通信协议,然后才能编写相应的通信程序。例如在电度表抄表系统中,红外通信的一方是单相电度表,另一方是手持抄表器,双方遵循表1格式的通信协议。

<strong>表1 抄表系统的通信协议</strong>
     格 式 操 作操作码地址码数据结束符读取表数AAH3字节BCD码3字节BCD码EDH设置表号BBH-3字节BCD码EDH设置表底数CCH3字节BCD码3字节BCD码EDH开/关表设备DDH3字节BCD码A0H/B0HEDH校验出错EEH3字节BCD码-EDH
3.3 单相电度表通信程序

在电度表抄表系统中,单相电度表接收命令是被动的,因此它采用实时性的中断方式进行接收。在系统初始化程序中依据如前所述的通信方式,对串行口和定时器T1进行相应的设置。

在中断程序程序中按字节形式进行接收,将接收到的字节存放在预先设定的缓冲区内,当接收到命令结束符后,则转入命令处理并回送相应的信息。接收过程中若发现校验错误,则停止接收并调用错误处理子程序,发送接收出错的信息,要求发送端重新发送。串行口中断服务程序的流程如图4所示。


<ignore_js_op>





2010-3-9 22:59:35 上传
<strong>下载附件</strong> (16.36 KB)




</ignore_js_op>


3.4 手持抄表器通信程序

在红外通信过程中,手持抄表器是通信的发起者,其发送和接收都是主动的。它的具体工作过程为:CPU不断扫描键盘,若发现有命令键按下,则调用发送子程序发送相应的操作命令;发送结束后即启动接收子程序,以接收电度表回送的信息,然后对接收到的信息进行后续处理。

<strong>结语</strong>

本文介绍的应用于单片机系统的红外串行通信接口,具有硬件电路简单、成本低廉、编程方便、通信可靠性高的特点,实现了通信双方非接触式的数据传送。在电度表抄表系统中,由于配备了红外通信接口,利用手持抄表器可以方便地完成对电度表的抄录和校准等工作,大大提高了抄表工作的效率,而且抄表确定高并杜绝了估抄和误抄的问题。这种红外通信方案也可用于其它遥控、遥测的单片机应用场合。

<strong>参考文献</strong>

1. 陈粤初.窦振中 单片机应用系统设计与实践 1991
2. 潘新民.王燕芳 单片微型计算机实用系统设计 1992
3. 李勋.刘源 单片机实用教程 2000
4. 马家辰.孙玉德.张颖 MCS-51单片机原理及接口技术 1998

作 者: 哈尔滨工业大学柏军 胡屏
来 源:单片机与嵌入式系统应用 2003(8)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

公告:服务器刚移机,
大家请不要下载东西。
会下载失败


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表