电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 单片机 > 详细信息
单片机:多费率电能表中基于单片机串行口红外通信的设计
来源:   时间: 2007-4-21 10:11:02    

摘要:利用单片机的串行口、定时器/计数器T0、定时器/计数器T1、红外发射管和红外接收管等简单的软硬件就可靠地实现了多费率电能表的红外通信功能。本设计详细介绍了串行口红外通信的软硬件设计方法,并给出了具体的电路原理图、波形图和51单片机程序。

关键词: 红外通信 串行接口 电能表 SSU7301单片机

0 引言

    多费率电能表是我国目前节约用电和计划用电政策下不可缺少的电能计量产品,多费率电能表的通信接口一般兼有红外接口和RS485接口。红外通信具有直观、操作简便、可靠性高等优点,是电能表中使用最为普遍的一种通信方式,是电能表和掌机之间实现抄表、编程、校时、数据管理等功能的有效手段。采用新茂单片机SSU7301(51系列)、日本光电子公司的红外发射管SE303和红外接收管PIC12043,以及单片机串行口、2个定时器/计数器可以有效地实现红外通信功能。

1 红外通信原理

红外通信是利用波长为900nm~1000nm的红外波作为信息的载体,发射装置把二进制信号经过高频调制后发送出去,接收装置把接收的红外高频信号进行解调为原来信息的一种通信传输方式。其中调制方式有脉宽调制(通过改变脉冲宽度调制信号PWM)和脉时调制(通过改变脉冲串之间时间间隔调制信号PPM)两种,本文采用PPM脉时调制方式。

2 串行口红外通信硬件设计

   多费率电能表的红外发射和红外接收电路主要包括新茂单片机SSU7301、日本光电子公司的红外发射管SE303和红外接收管PIC12043,以及驱动三极管8550、电阻和电容,红外通信硬件原理图见图1。

2.1 红外发射硬件设计

红外发射是利用单片机SSU7301的串行数据发送口TXD(P3.1)控制驱动三极管BG1进行二进制数据“0”和“1”的传输(数据由串行发送缓冲器SBUF中送出),以及利用P3.4口控制驱动三极管BG2进行高频38.4kHz调制(高频驱动信号由定时器/计数器T0的方式2自动重装模式产生),从而可靠地实现了红外发射管D1在传输数据“0”时进行高频红外发射和数据“1”时被截止的发射功能。状态关系见表1,波形见图2。

2.2 红外接收硬件设计

红外接收是利用红接收管PIC12034收到高频信号输出低电平确定为数据“0”,而没收到高频信号输出高电平确定为数据“1”的方式经过解调,把数据通过单片机SSU7301的串行数据接收口RXD(P3.0)进行串行方式接收(接收数据存储在串行口缓冲器SBUF中)。

3 红外通信软件设计

DL/T645-1997《多功能电能表通信》中规定电能表的红外载波频率为38kHz±1kHz;初始速率为1200 bps;通信的字节格式为8位二进制码D0~D7,传输时加上一个起始位(0),一个偶校验位P和一个停止位(1),共11位,传输时先传低位,后传高位,传输序列见图3。根据以上要求,本设计中红外载波频率采用38.4kHz,波特率为1200bps,串行口采用模式3为9位异步通信方式,加1位起始位和1位结束位,传送一个字节数据为11位。

3.1 红外载波和定时器/计数器T0设置

红外载波频率f2为38.4kHz,当定时器/计数器T0模式控制器TMOD中C/T=0和M1M0=10时,SSU7301的定时器/计数器T0设置成模式2方式。此时,TL0和TH0预置成1个可以自动重装的8位的定时器/计数器。用软件将TL0和TH0预置相同的初值后,当TL0计数值增1溢出时,一方面使TF0置1,申请中断;另一方面产生的溢出脉冲将TH0的数据值自动打入到TL0中去,不需要用软件对TL0重新置初值。系统的晶振f1为11.0592MHz,则TL0和TH0的初值计算如下:

f2=38.4kHz 得T=1/f2=1/38.4k≈26×10-6=26 μs
所以高频调制反转的周期TC=T/2=26/2=13μs

即定时器/计数器T0的初值TL0=TH0=28-(TC×f1)/12=256-(13×10-6×11.0592×106)/12=256-11.9808≈244=0F4H
在定时器/计数器T0的中断服务程序中只用两条指令即可实现高频调制,即 CPL P3.4和RETI。

3.2 串行口和定时器/计数器T1波特率发生器设置

串行口采用模式3为9位异步通信方式,波特率为1200bps。由串行口控制寄存器SCON的操作模式选择位SM0、SM1都置1设置为模式3,当定时器/计数器T1模式控制器TMOD中C/T=0和M1M0=10时,SSU7301的定时器/计数器T1设置成模式2方式作为波特率发生器,其波特率表示为:

波特率=(T1的溢出率)/ n
当SMOD=0时,n=32;当SMOD=1时,n=16,(本设计中SMOD=0)则
波特率=(T1的溢出率)×2SMOD / 32
T1的溢出率=(f1/12)/(28-T1初值)
得:波特率=(T1的溢出率)×2SMOD / 32
        =[(f1/12)/(28- T1初值)] ×2SMOD / 32
得:定时器/计数器T1初值
TL1=TH1=28-(f1×2SMOD )/(12×32×波特率)
           =256-(11.0592×106)/( 12×32×1200)
           =256-24=232=0E8H

3.3 程序设计

根据以上两点参数的设置,51系列单片机SSU7301的汇编语言程序设计如下:
;以下为参数设置程序
MOV  TMOD, #22H ;定时器/计数器T0方式2自动重装模式用于PWM38.4KHZ调
;制用 , 定时器/计数器T1方式2自动重装模式用于串行口通讯波特率发生器
MOV  TH1,#0E8H  ;波特率1200时,定时器/计数器T1自动重装初值
MOV  TL1,#0E8H
MOV  TH0,#0F4H  ;38.4KHz高频频调制时, 定时器/计数器T0自动重装初值
MOV  TL0,#0F4H
SETB ET0        ; 定时器/计数器T0溢出中断允许位
SETB TR1        ; 定时器/计数器T1开始定时控制位
SETB TR0        ; 定时器/计数器T0 开始定时控制位                           
MOV  PCON,#00H  ;SMOD为0不倍增模式
MOV  SCON,#0D0H ;串行口设置为模式3,允许接收
SETB ES         ;串行口允许中断
SETB EA         ;开总中断允许位
;以下为定时器/计数器T0中断溢出服务程序  
ORG  000BH; 定时器/计数器T0中断入口地址
T0SERVE:CPL  P3.4 ; 定时器/计数器T0定时取反P3.4口进行高频调制
RETI      ;中断返回
;以下为串行口中断服务程序,以接收一个字节数据为例,多字节以此类推
ORG  0023H;串行口中断入口地址
SENDSERVE:NOP
NOP                
MOV  A,SBUF  ;把接收缓冲器的数据送到A寄存器
   …           ;进行数据处理及其它功能操作
RETI         ;中断返回
;以下为串行口发送程序,以发送一个字节数据为例, 多字节以此类推
COMSEND: MOV  A,#DATAH ;把数据送到A寄存器
MOV  C,P      ;根据A中数据产生的偶校验位送到进位标志位
MOV  TB8,C    ;送偶校验位到发送的第9位数据
MOV  SBUF,A   ;送数据到发送缓冲器
JNB  TI,$     ;以查询方式等待发送结束
CLR  TI       ;清发送中断标志位
  …            ;继续发送或其它功能操作
RET           子程序返回

4 结束语

本设计的最大特点在于省略了脉冲振荡器,而仅仅利用多费率电能表上所带单片机的串行口和2个定时器/计数器,这不仅使多费率电能表在硬件设计上更加简单、成本更加低廉,而且在软件上也更加方便、可靠。同时这种红外通信方式也可以应用在带串行口和定时器/计数器的单片机应用领域。

相关信息
发表评论
打印本页 关闭本页
三菱FX系列PLC与三菱变频器通讯应用实例(RS485)
    ① 三菱PLC:FX2N + FX2N-485-BD   ② 三菱变频器:A500系列、E500系列、F500系列、F700系列、S500系列   两者之间通过网线连接(网线的RJ45插头和变频器的PU插座接),使用两对导线连接,即将变频器的SDA与PLC通讯板(FX2N-485-BD)的RDA接,变频器的SDB与PLC通讯板(FX2N-485-BD)的RDB接,变频器的RDA与PLC通讯板(FX2N-485-BD)的SDA接,变频器的RDB与PLC通讯板(FX2N-485-...
>>详细内容
什么是RS485接口
  典型的串行通讯标准是RS232和RS485,它们定义了电压,阻抗等,但不对软件协议给予定义,区别于RS232, RS485的特性包括:    1. RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL 电路连接。   2. RS-485的数据最高传输速...
>>详细内容
RS422/RS485网络的无极性接线设计
  摘 要: 给出一种RS422/485网络中,模块可以接收任意极性直流供电和总线信号的设计方法。该方法允许将2根信号线或直流电源线在传输途中任意极性续接,容忍了布线施工中的反接差错,使工程施工大为方便 关键词: RS422 RS485 无极性 分续线盒 整流电桥 差分曼彻斯特 1 问题提出 现在的很多测控系统是使用RS422或RS485总线互连的。RS422/485总线信号是由4(2)根有极性的差...
>>详细内容
基于RS485总线的面粉厂集散控制系统
  基于RS485总线的面粉厂集散控制系统 郭芳瑞 (西安建筑科技大学 陕西西安 710055) 1 面粉厂的基本情况 1.1 生产工艺 面粉厂的加工工艺较简单,简单地说就是加入麦子磨成粉。然而作为一条自动生产线从加入麦子磨成粉再装成袋,也不是一件容易的事。首先麦子经过管道处理后定量的由漏斗称向磨机加入麦子,磨机加工出面粉,通过不同位置的管道分离出3种...
>>详细内容
微功耗RS485中继器的研制
  引言:   在通信距离为几十米到上千米时,RS485收发器被广泛使用。RS485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上接收器具有高的灵敏度,能检测低达200mV的电压,故传输信号能在千米以外得到恢复。   使用RS485总线,一对双绞线就能实现多站联网,构成分布式系统。它的设备简单、价格低廉、能进行长距离通信,故在工程项目中得到了广泛应用。但是如果工程...
>>详细内容
微功耗RS485中继器研制
  引言:   在通信距离为几十米到上千米时,RS485收发器被广泛使用。RS485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上接收器具有高的灵敏度,能检测低达200mV的电压,故传输信号能在千米以外得到恢复。   使用RS485总线,一对双绞线就能实现多站联网,构成分布式系统。它的设备简单、价格低廉、能进行长距离通信,故在工程项目中得到了广泛应用。但是如果工...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com