一种手持无线抄表终端的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一种手持无线抄表终端的设计
襄樊学院物理系(441053)吕治安李文联
Design of a Hand Wireless Meter Reading Terminal Instrument
摘要:本文介绍了一种利用单片机和nRF401无线通讯芯片构成的、可用于水、气、电等无线抄表的手持终端,叙述了其软、硬件的具体实现。

关键词:抄表、无线通讯
Abstract: This paper describes a hand wireless meter reading terminal instrument using microcontroller and wireless chip nRF401,it can be used to water meter、gas meter and electrical meter reading, and its hardware and software implementation is given.
Key Word: Meter Reading Wireless Communication
目前随着市场经济的发展,对用户的水、电、气三表的抄表的工作量变得越来越大,在有些情况下甚至难于进行。

虽然出现了集中抄表的方式,但由于技术、成本上的一些原因一直未能普及应用。

如果我们使用的水、电、气三表带有低成本、短距离的无线通讯接口,则抄表人员只需具有无线通讯功能的抄表装置在一个小区巡视一周即可完成抄表工作,不仅解决了由于高层建筑、家中无人等情况而难于抄表的情况,而且大大提高了工作效率。

我们在这些方面作了一些研究和实验工作,下面介绍我们设计研制的可用于无线抄表的无线手持终端。

一、手持抄表终端的功能
手持抄表终端的功能及结构上应有如下的考虑:
1、手持抄表终端应具备无线通讯功能,考虑到它不应该占用国家管理的频譜和不对其它设备产生干扰,它应该工作在ISM范围内;其次发射功率在满足通讯要求的条件下应足够小,有效通讯距离一般在100——300米范围内即可。

通讯的可靠性应较高,且具有检错和纠错的能力。

2、手持抄表终端可以按操作人员的指定抄收某一特定用户的数据,也可对指定的某栋建筑的所有用户按顺序抄收全部数据。

手持抄表终端应具有相当容量的数据记录和存储能力。

记录的内容包括用户的基本情况和实际抄收的数据,数据的记录要绝对可靠。

3、手持抄表终端应具有汉字显示,抄表人员可以检查用户的情况,可以观察抄收的数据是否正常,抄收是否完成等。

4、手持抄表终端应有与PC机进行通讯的串行接口。

我们设计的工作模式是这样的,抄表人员出门前先从管理部门的PC机中下载他所去抄收的小区的用户的有关基本数据,到达小区后手持抄表终端即自动发出信号,实现数据的抄收,工作人员无须干预,但可从手持抄表终端的显示器上观察抄收的有关情况。

抄收结束后,通过串行接口将抄收的数据上传到PC 机中,然后进行相应的处理,整个过程无须抄收人员的介入,保证了数据的正确可靠,杜绝了一些可能出现的漏洞。

5、手持抄表终端应具有很低的功耗和较小的体积,以便于携带使用。

二、硬件结构
根据上述考虑,我们设计的无线手持抄表终端的结构要点如图一所示。

使用可低电压工作、功耗低的P87C51RC单片机,外部扩展有128*64的点阵液晶显示器、两片大容量FLASH 存储器、无线通讯接口、实时时钟、键盘和RS—232接口,下面分别介绍其要点。

1、手持抄表终端应具有较强的汉字显示能力,为此使用了128*64的点阵液晶显示器,它最多可以显示4行,每行8个汉字。

这里使用的是内部带有T6963A控制器的MLS12864T,它与单片机之间通过并行接口连接。

液晶显示器需要的负电压利用单片机的ALE脉冲变换后得到,电路简单实用。

有关MLS12864T的详细资料参见[1]。

2、无线通讯接口使用单片收发芯片nRF401,这是一片为433MHz ISM频段设计的单片
UHF无线收发芯片,采用FSK调制解调技术,最大发射功率为+10dBm且可以调整。

最大通讯速率可以达到20K;天线接口采用差分天线,因此可以使用低成本的PCB天线。

nRF401的工作电压为2.7——5V,功耗很低,而且还可以工作在待机模式以进一步降低功耗,十分适于用在手持设备使用电池供电的场合。

nRF401通过串行接口与单片机连接,无须复杂的编码,使用非常简单。

但要保证数据通讯有较高的可靠性,除了PCB板的设计、nRF401的供电等须注意以外,还需要采用合适的通讯协议。

本机的通讯有两个对象,在抄表时通过无线采集数据,在和PC机连接时通过RS232通讯,但一般的单片机只有一个串行接口,这里通过切换的方式使用。

nRF401的DI和DO通过三态门与单片机的TxD、RxD连接,RS—232接口也通过三态门与单片机的串行口连接,分别用P3.4、P3.5切换共享串口。

另外用单片机的P1.5作为nRF401的收/发转换控制,nRF401的PWR为电源控制,将其置为低可以使其进入节电状态,也可直接将其接为高电平。

nRF401的频率选择CS端根据具体情况接为固定高电平或低电平。

nRF401的具体介绍见[2]。

3、为使手持抄表终端的体积小、结构简单,系统中所使用的存储器全部采用具有串行接口的FLASH存储器,这里使用的是ATMEL公司的45DXXX系列。

所用的存储器主要有两种用途,一是用作数据存储,即用户信息和抄表数据,数据在FLASH存储器中按文件方式管理,可以在手持抄表终端上进行查询等,也可以通过RS232串行接口进入PC机的数据处理系统。

FLASH存储器的第二个用途是存放汉字字库,即字模。

因为手持抄表终端需要显示用户的姓名、住址等有关信息,所以完善的汉字显示是不可缺少的,这就需要有汉字字模库,包括一、二级汉字的16点阵字库所需的存储容量约为256KB。

显示汉字时通过汉字的区位码查找字库,获得字模数据从而实现在点阵液晶显示器上的汉字显示。

一般常常使用具有并行接口的EPROM存储器,如27C020等。

由于MCS—51单片机仅能访问64KB的数据空间,故一般通过某种方式对其分页管理,这就会使软硬件结构复杂,印刷电路板体积增大,成本上升。

串行接口的FLASH存储器作为字库的使用方法与一般EPROM基本相同,只不过读字模数据的操作要复杂一些,为简单起见,可以在单片机内部的RAM中设置一个缓冲区,一次将一个汉字字模的32个字节全部读入到内部RAM中。

显示程序直接在内部RAM中读取字模数据。

手持抄表终端中共使用了2片FLASH存储器芯片AT45D041,该系列的芯片使用SPI串行口与CPU之间实现数据传输,不论其容量多大,均只需要4根信号线,即CS——片选,SCK——时钟,SDI——数据输入,SDO——数据输出,用相同的方法访问,所以对系统的存储容量扩展时无须改动软硬件。

同时由于它使用串行接口,对其中数据误写的可能性非常小,保证了数据的可靠。

如需要更大的存储容量可将存放数据的芯片换为AT45D080。

两片芯片与单片机的接口如图一所示,两片A T45D041的SCK、SDO共用,在使用中存放汉字库的芯片不用写操作,事先将字库写入芯片中即可,故该芯片的SDI线不用连接;两芯片的片选分别用单片机的P1.0、P1.1选择。

关于AT45DXXX系列FLASH 存储器的详细资料参见[3]。

4、手持抄表终端在使用时需要有一个准确的日历、时钟,为此采用时钟芯片P8563。

该芯片具有I2C接口,内有完善的年、月、日、时、分、秒等数据,非常适合用在这些场合。

5、手持抄表终端设有功能按键用来进行一般的操作,如“抄表”、“上传数据”,“查询”、“前翻页”、“后翻页”、“翻页加速”等,实际使用中如有需要还可以增加按键。

按键通过单片机的数据总线连接。

三、软件设计
系统的工作程序采用C51和汇编语言混合编制,主要有键盘分析执行,显示、通讯、数据记录等部分,下面对其中的有关部分作一介绍。

1、通讯
手持抄表终端在和PC机通讯时通过RS232实现,这一部分和PC机上运行的软件有密
切关系,编写程序时参照有关行业标准进行。

手持抄表终端在抄表时通过无线采集数据,由于无线通讯的特点需要有较好的协议才能实现可靠的通讯。

在发送方没有发送数据时接收方的信号线上呈现的是杂乱无章的波形,因此在发送正式的数据前需要先发送一个字节的“无关”数据,目的是让接收方处于正常工作状态;其次,需要让接收方能够正确地识别一个数据包的开始,可以采用0XAA、0X55作为引导字节实现,综合上述考虑数据包的格式如下:0XFF 0XAA 0X55 命令地址L 地址H 长度数据数据。

数据检查和
其中的0XFF即是上述的无关数据,地址实际上是用户标识码,这里使用了两个字节。

发送和接收均在中断服务程序里完成,接收程序完成数据包的识别,当收到一个正确的数据包后交给主程序进行处理。

对一个用户的抄表过程如下图所示,一般总是由手持抄表终端对某一用户发出抄表命令开始,然后等待用户返回数据,见图二。

为防止出现故障时长时间的等待,在系统中维护了一个软件定时器,以确定等待是否超时;流程图如图三所示。

发送抄表命令
发送抄表数据
发送确认命令
后续处理
2、显示
液晶显示程序在各种系统里会经常用到,为此编制了可复用的工作程序,程序分为两部分,一是与硬件及液晶显示器的具体型号密切相关的底层驱动程序,二是接口函数。

换用不同的液晶显示器时只需更换底层驱动程序即可。

常见的接口函数有初始化、清屏、在指定位置显示一个字符、在指定位置显示一个汉字、画水平线、画竖直线等。

3、数据记录
主要包括串行FLASH存储器访问的和存储数据的组织。

A T45D041内部存储单元按页组织,每页为264字节,多出的8个字节可以存放一些附加信息。

AT45D041内部还有两页的RAM作为缓冲区,程序可以直接读写内部的FLASH,可以先将数据写入RAM中,然后从RAM中写入FLASH中,并且在内部RAM向FLASH中写时,外部还可以向另一页RAM 中写入。

利用这种方法可以实现向它的连续写操作。

AT45D041的接口可以工作在SPI的模式0、模式3,并有多种操作模式,这里仅用到了“主存储器页读”,“页擦除”,“通过RAM 缓冲区的主存储器写”等。

我们把这些操作封装在几个接口函数里对上层软件提供服务。

有关AT45D041的使用可参见[3]。

为简单起见,抄表数据不使用复杂的文件结构,直接按“记录”组织,每个记录包括“用户标识”、“用户姓名”、“住址”、“电能表型号”、“抄表数据”等。

至于在PC机的数据库管理系统里可以根据具体情况安排。

四、结论
由于本设计里采用了一些新型的元器件,不仅使它的体积小,功耗省,而且功能强,数据记录量大,便于携带使用,为三表数据的抄收提供了一种新的手段,因此具有较广应用前景。

参考文献
[1] 北京精电蓬远公司内藏T6963C控制驱动器图形液晶显示模块第一版
[2] 迅通科技公司433MHZ单片无线收发芯片
[3] ATMEL公司DA TA SHEET
图三 抄收数据程序流程图
图一 整机结构简图。

相关文档
最新文档