摘 要:本文介绍了AT90S2313单片机及单片Modem芯片7512B的性能特点,并设计出基于MSM7512B单片Modem远程抄表系统。
关键词:AT90S2313;MSM7512B;远程抄表;协议
引言
近几年出现的磁卡式、电卡式和I C卡式燃气表,可以对用气大户的燃气表实现自动化管理。但是,要大规模推广应用必将对现有的机械式燃气表进行彻底改造,这将导致一次性投资过大。为此,本文设计了基于MSM7512B调制解调器芯片远程抄表系统。该系统同样也适用于电度表和水表的应用场合,其系统结构框图如图1所示。它以电话网为交换媒介,可以对各个表站的煤气表数据进行远程采集,对收到的数据进行存储、查询及打印等处理。上位机是一台PC机,采用VB开发环境,通过标准Modem来实现通信;下位机系统可分为三部分:单片机单元、计数接口及电压检测单元以及调制解调单元。
◇ 单片机单元
本系统中单片机采用Atmel公司的AVR系列单片机AT90S2313。其程序和数据分别存储,总线独立。为了提高目标代码的性能优化功耗设计,AVR单片机采用精简指令RISC结构和快速寄存器文件。程序执行单级流水线,一改以往传统累加器结构代码效率低、运算能力低的缺点。此外,AT90S2313无堆栈,可将堆栈置于数据存储区,将栈底指针设在SRAM区最高地址处。
◇ 计数接口及电压检测单元
计数接口对脉冲源进行计数,在齿轮式天燃气表上安装干簧管,平时干簧管张开,2313的外部中断管脚状态为高电平,当齿轮旋转一周时,磁钢使干簧管吸合,外部中断管脚变低,这样产生一个低电平中断,单片机开始累加一次脉冲。当磁钢使干簧管吸合时,如果用户不继续使用燃气,那么磁钢将一直吸合干簧管,外部中断管脚一直为低电平,这样将使计数单元重复计数。为了使干簧管吸合时,外部中断管脚不一直为低电平,应用微分电路,即使干簧管一直吸合时,其输出为一个低电平脉冲。
由于系统的下位机工作于燃气现场,它的电源不能采用市电整流获得。为了安全,电源采用普通5号电池,这样就对系统的功耗要求很严格,平时应使单片机处于睡眠状态,发生中断事件后,唤醒单片机。同时由于电池电压下降到一定程度单片机就无法正常工作,因此,还必须对电源进行不断监测。利用AVR单片机中的比较单元,对电源电压进行监测。AT90S2313内部带有电压比较单元,在监测电压时,使管脚PB2输出为5V高电平电源电压,管脚PB1被1.8V的稳压管钳位在1.8V。用管脚PB0监测PB2的分压电压。电源正常时,PB1的电压低于PB0的电压,当Vcc下降时,PB0的电位随之下降,一旦PB1的电压高于PB0的电压时,产生电压比较中断标志位,通过电压比较中断,控制蜂鸣器报警。
◇ 调制解调单元
单片Modem是该系统的核心部分,其主要功能是与上位机进行呼叫连接和数据交换。被叫部分电路原理图如图4所示。该部分应用了OKI公司的单片FSK调制解调器MSM7512B,它遵守ITU_T V.23协议,由单电源供电,具有低功耗掉电模式,模拟驱动能力可以直接驱动600 通信电路。在公用电话网中建立连接具体过程的时序描述。
7512B有三种工作模式。一种为1200bps半双工模式,发送和接收的速率均为1200bps,数字0(SPACE信号)对应着2100Hz,数字1(MARK信号)对应1300Hz。第二种为1200bps收/75bps发模式,发送的速率为75bps,数字0(SPACE信号)对应着450Hz,数字1(MARK信号)对应390Hz;接收的速率为1200bps,数字0(SPACE信号)对应着2100Hz,数字1(MARK信号)对应1300Hz。另外,7512B还可工作于掉电方式,此时它的功耗只有0.1W。本系统中,7512B是作为被叫Modem来建立连接的。由呼叫时序可知,上位机必须检测到7512B发送的2100Hz应答音,为此要求7512B工作在1200bps半双工模式。在该模式中,7512B无法检测到低波段的MARK,也无法接收标准Modem发送的数据,只能工作在单向发送状态。
结语
自该系统应用于机械燃气表中以来,性能稳定,运行状况良好。利用单片机控制Modem芯片进行远程数据传输,在数据量不大、传输速率要求不高的场合,应用十分方便。