基于CDMA网络的远程自动抄表系统设计

时间:2009-11-27

  摘要:为了实现电能表读数的远程自动抄表。本文介绍了基于民用CDMA无线网络,采用由WAVECOME公司开发的Q2358C模块而设计的一种新型远程自动抄表系统。该系统由电能表、微控制器、无线收发模块、CDMA网络和计算机等部分组成。无线收发模块是实现信息无线传输的关键部件,通过AT指令与计算机和微控制器通讯,电表数据以短信息方式传输。在详细描述远程自动抄表系统的结构后,研究了短信收发平台及其实现方法。系统具有成本低、实时性好、安全方便等特点。

  0 引言

  随着国民经济的飞速发展,人民生活水平的不断提高,一方面传统的由人工完成的电表抄表计费由于工作量大,费时等缺点迫切需要研制远程自动抄表系统;另一方面,现有的网络资源,技术水平也为远程自动抄表系统的实现提供了有力的支持。自动抄表系统已成为人们关注的热点[1-5]。常见的远程抄表系统有有线抄表系统,掌上抄表和无线抄表系统三大类。其中有线系统需要数据传输线,布线繁杂,且费用较高,不适合现代化的发展趋势;掌上抄表系统需抄表部门或用户用掌上抄表器抄取数据,因此费时费力[2]。无线系统采用无线收发设备传输数据,不需专门架线,系统结构简单,节省了人力物力。作者设计了一种基于无线收发模块Q2358C的远程自动抄表系统。此系统利用短信收发模块,借助现有无线资源CDMA网络,将电表数据以短消息的形式发送到管理中心,管理中心通过应用软件对数据进行自动处理,然后根据处理结果采取相应措施。文中主要介绍了远程自动抄表系统的网络结构图,Q2358C模块结构图,以及短信收发平台的设计与实现方法。

  1 远程自动抄表系统结构

  1.1系统结构

  图1为远程自动抄表系统的网络结构图。系统由电能表、微控制器、无线收发模块、CDMA网络和计算机组成。其中电能表可采用王柏林教授研制的多功能数字电能表[3];微控制器由单片机及其外围电路组成,是用户终端的一个部分,它能根据收发模块收到的指令信息采取相应的动作,若收到的是采集数据的指令则首先把采集器记录的脉冲个数乘以每个脉冲代表的耗电数,然后以短消息的形式发送到管理中心,若收到的是断电的指令则向电能表发出切断电源的信息;无线收发模块在系统中作为信息传输平台,它能把采集到的电表数据或控制指令以短消息的形式发送或接收;CDMA网为无线网络资源,该网络采用码分多址技术,容量大,安全性高,实时性好;管理中心的计算机是整个网络系统的,它能向用户端的控制器发出采集电表数据的指令,然后把接收到的数据通过应用软件存储到数据库,数据库具有存储、报表输出、统计等功能[4]。计算机可与银行计算机系统联网,实现自动付费;还可与Internet网络相连,为用户提供电费的明细查询;用户还可通过移动电话或PDA查询缴费和用电情况,提高了电费收缴的透明度。因此效率高,管理方便。

  1.2 电力管理终端系统结构

  图2为系统管理终端结构图。其中PC机和短信收发模块组成了系统的硬件,两者通过RS232串行方式连接。PC机通过与模块之间的AT命令接口实现模块的短信收发功能;短信收发模块由Q2358C模块及其外围电路组成,接收由PC机通过串行口发出的AT指令,然后按照AT指令产生相应的动作,完成短信收发。动态链接库和以它为基础的应用程序组成了系统的软件。

  1.3 Q2358C模块结构

  Q2358C模块为WAVECOME公司推出的双频CDMA模块,工作频段为900MHZ和1800MHZ。能完成语音、数据、传真、短信息服务以及多种附加业务的功能。具有容量大、辐射小、低功耗的特点。模块具有AT命令集接口,利用此接口可完成模块的相应功能。

  Q2358C结构如图3所示。从图中可看出模块主要由电源部分、射频部分、基带部分、存储器和系统连接器组成。RF射频部分主要包括发送机和接收机。发射机用来完成上行变换,接收机用来完成下行变换。电源部分用来给模块供电。存储器包括符合工业标准的SRAM存储器和闪存存储器。系统连接器有60个管脚,用来提供模块和外围电路的连接。模块的部分采用的是QUACCOMM MSM5105,它是基带处理部分,能完成语音识别、语音信箱、数据压缩和消除回声的功能。

  2短信收发平台设计

  在整个远程抄表系统中,Q2358C模块用做数据和指令传输的工具,它的短信收发功能的实现对于整个系统功能的实现起着决定性的作用。短信不能收发,数据和指令也就不能传输,系统也就无法工作。下面主要介绍的短信收发平台由PC机和短信收发模块组成,以及通过软件设计实现短信收发的方法。

  2.1 AT指令与应用

  AT指令初由Hayes公司推出,用于对调制解调器的控制,现在已演化为一种的标准,所有移动模块都支持AT指令。基于Q2358C模块的AT指令采用的是1.70版本,共240多条,归纳起来可分成通用指令、功能操作指令和安全保护指令三大类。其中有关短信息服务的指令共17条。利用这些AT指令可实现短信的发送、接收、列表、阅读、删除和存储等功能。

  AT指令的基本格式为:AT+命令字符及相关设置参数。AT为前导符,表示命令的开始;命令字符及相关设置参数表示进行何种操作,如:AT+CMGR=〈n〉表示读索引号为n的短消息[5]。

  AT指令的返回代码分别以字符和开始和结束。如果指令的语法不正确,就返回“ERROR”字符;如果指令是正确的,但存在错误的参数,便返回“+CME ERROR:”或“+CMS ERROR:”。< Err >和< SmsErr >是不同的错误代码;如果指令被成功的执行则会返回“OK”。

  2.2 动态链接库

  动态链接库(Dynamic-Link Libraries),就是一个可执行模块(其扩展名为.DLL),模块中包含了可以被其它应用程序使用或其它DLLs使用的例程和资源。DLLs的特点在于它的代码是在运行时动态地链接到调用它的程序中,DLLs一旦加载,就能被多个应用程序或其它DLLs共享。在CDMA短信收发平台的设计过程中,作者采用VC的COM组件技术来建立动态链接库,实现模块的短信收发功能。建立的方法是首先在VC中新建一个ATL COM工程,然后创建接口SMCC,接着按照初的设计添加其它类,完成编码和调试[6]。

  该组件的接口名称是SMCC,提供的接口函数有:Initialize,UnInitialize,SendSMS,ReadSMS,ListSMS,DeleSMS,NextSMS,SetLangAndEncod。其功能分别为:初始化系统,打开串口,设置波特率等参数;关闭串口,释放系统资源;发送短信息;根据索引读取一条短信息;根据短消息状态罗列短消息;删除短消息;在ListSMS后获得下一条短消息;设置短消息语言和编码。

  该模块的内部实现可用图4所示的类图描述。其中ISerialComm为串口操作接口,CSerialComm为它的具体实现;ISMParser是短消息内容分解接口,可对一条或多条短信息进行分解,提取短消息内容;SMS_INFO 是短消息结构,包含有序列号,消息状态,呼叫号码,服务中心时间戳,编码语言,编码方法,优先级,回叫号码;IHandler 是系统消息处理类,处理诸如新消息到来,SIM卡已满,不完整消息,收到单条消息,收到短消息列表,AT命令正确,错误等类型的消息;CATFactory 是AT 指令形成类,负责各种AT指令的形成,以字符串的形式返回;CSMCC 则为该接口的具体实现,它负责总的系统调度,如:利用CATFactory形成AT指令,用CserialComm发送接收,利用ISMParser分解返回结果,以及利用ImessageHandler处理系统消息等。动态链接库的程序流程图5所示。

  2.3 短信收发应用程序设计

  短信收发应用程序是在VB的开发环境下完成的。首先创建一个工程进入操作界面的设计窗口,在界面上设置两个文本框和命令按钮,文本框用来显示短信内容或输入参数,命令按钮用来启动发送或接收事件。然后在代码窗口中编写应用程序代码[6]。编写代码时首先要调用动态链接库,方法是在工程菜单中选择“引用”,然后在出现的对话框中选择要引用的动态链接库。

  2.4程序调试

  在短信收发的程序调试过程中出现了两个比较明显的问题。一个是串口操作问题,当向串口传送AT指令时,通过串口接收的数据却不是完整信息,要分多次才接收完整。经仔细调试发现,原来系统硬件部分在收到指令后是分两次应答,先是指令的返回,然后才是指令执行结果,但指令执行结果也不是返回,而是有可能分发多次,而作者在设置串口模式时是异步模式,这样才造成以上的问题。解决办法是,通过SetCommTimeouts函数来设置ReadIntervalTimeout(读取间隔超时)。由于默认的超时间隔过短,以致还没读取完整信息就退出了。将超时间隔改为10ms就解决问题了。

  另一个比较明显的问题是当采用UNICODE编码方式发送短信时,对方手机接收到的信息不完整,通过程序调试发现原来在采用此编码时,因为原始数据为ASCII,转换为UNICODE后数据大小变为原来的两倍,而初分配的缓冲区是按照ASCII的,所以导致部分信息丢失。重新分配缓冲区即解决问题。

  3结语

  基于CDMA网络的远程自动抄表系统可扩展成对多路电表数据的传输,这样可充分的利用短信收发模块,同时降低系统的成本。系统覆盖范围广,不受地域限制(只要是无线网络覆盖范围即可),成本低,能及时准确的向用电管理部门提供数据[7],且数据的分析和处理以及用电管理由系统自动完成,因此节约了人力物力,可避免用电欠费问题,提高了管理水平,具有广阔的应用前景。


  

参考文献:

[1]. RS232 datasheet https://www.dzsc.com/datasheet/RS232_585128.html.
[2]. COM datasheet https://www.dzsc.com/datasheet/COM_1118194.html.


上一篇:基于GPRS的远程数据采集系统设计
下一篇:基于PIC单片机的电波数码显示时钟的设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料