整理智能抄表终端的设计.docx
《整理智能抄表终端的设计.docx》由会员分享,可在线阅读,更多相关《整理智能抄表终端的设计.docx(26页珍藏版)》请在冰豆网上搜索。
整理智能抄表终端的设计
;
智能抄表终端的设计
摘要抄表终端实现的功能是完成抄表、数据的存储以及向PC机上传数据。
本方案采用RS485总线和远红外通讯实现抄表系统功能。
设计采用的是32位高性能ARM处理器和嵌入式实时操作系统uC/OS-II的结合,实现多任务管理,具有良好的人机交互界面。
4个通讯口支持RS485总线远程抄表和红外通讯抄表,USB通讯口和RS232通讯口用于和上位机通讯。
本设计具有成本低,数据传输稳定、可靠性高、传送距离较远、速度快、抗干扰能力强等优点。
关键词抄表,RS485总线,ARM处理器,红外通讯,UCOS/II
DesignofIntelligentMeterReadingTerminalInstrument
AuthorWangYong
TutorXuLijia
Abstract:
Themeterreadingterminalinstrumentcarriesoutfunctionofmeterreading,storingdatesanduploadingthedatatoupperdesignusesaprocessorof32bitwhichishigh-poweredtocombineuC/OS-II.Itcanrealizethemanagementofmultitask.FourportsupportfortheremotemeterreadingbytheRS485busandinfraredRS232andUSBareusedtocommunicatewithuppermonitor.Thedesignisnothavinglowercost,butalsohavingstabledatabasetransmission,reliableperformance,fartrancemissiondistance,farspeed,stronganti-interferencecapabilityandsoon.
Keywords:
meterreadingbyinfraredcommunication;RS485bus;ARMprocessor;infraredcommunication;uCOS/II;
1绪言
(
近几年,随着我国电力事业的不断发展及整个社会正由计划经济向市场经济转轨过程中,电力部门对于电力负荷设备要求也由原来的重控制型而转变到重管理型,由原来采用行政手段而转变为采取经济手段,其中一条措施就是实行峰、谷时段不同价。
智能型电能表是一种以按峰谷时段进行计量的计量设备,同时它还能反映出现在负荷、最大负荷出现时间、断相失压等情况。
为了能及时有效将这些数据传回电力部门,需要一种终端设备来完成这一工作。
(1)一个终端设备必须能接多个电能表,以满足多路进线的要求。
(2)由于读一个表需要几秒钟时间,有时甚至需几个命令才能完成。
所以为了在电力部门发出查询命令时,及时将表数据上报,必须在这之前将数据组织准备好。
(3)除了上报表数据内容这一功能外,该设备还应能对一些表数据进行处理,并在当地设备面板上显示出来,比如:
可以显示每一天零点的表读数冻结值,还可以显示功率等等。
所以,要求设备具有一定的驱动能力、相当的存储内存、以及相应的显示功能。
远程抄表系统不仅能够节约人力资源,更重要的是可提高抄表的准确性,减少因估计或誊写而造成的帐单出错,所以这种技术越来越受到用户欢迎。
远程抄表系统一般包括3个部分:
上位机、集中器和采集终端。
其中采集终端是介于集中器和电能表之间的中间设备,主要具有电量数据采集、处理、存储及转发等功能;根据电能表的不同,电量采集终端以智能通信方式(规约)或脉冲采集方式采集数据,并以一定的算法或程式将采集数据加以周期性和选择性的存储,同时将实时或历史电量数据以集中器要求的格式和内容传递给集中器。
由于基于RS485总线的远程抄表系统不仅成本比较低,而且具有数据传输稳定、可靠性高、传送距离较远、速度快、抗干扰能力强等优点。
2智能抄表终端硬件的设计及实现
抄表终端的总体设计
抄表器的硬件设计框图如图1所示。
微处理器采用一款基于ARM7内核的控制器。
两个UART分别扩展了1个RS485接口与带485的电表通讯,另一个则通过USB转串口模块与上位机通讯。
存储器采用AT24C64,通过软件模拟IIC与控制器通讯。
抄表器上装备黄/绿背光的128×64图形点阵LCD,能够操作显示抄表信息、通信信息、故障信息、报警信息等内容。
抄表器还可进行红外和RS232串口通讯。
、
图1抄表终端的硬件设计框图
微控制器模块[1]
LPC2104采用的是ARM7TDMI-S处理器,是通用的32位微处理器,它具有高性能和低功耗的特性。
。
ARM结构是基于精简指令集计算机(RISC)原理而设计的。
指令集和相关的译码机制比复杂指令集计算机要简单得多。
这样使用一个小的、廉价的处理器核就可实现很高的指令吞吐量和实时的中断响应。
由于使用了流水线技术,处理和存储系统的所有部分都可连续工作。
通常在执行一条指令的同时对下一条指令进行译码,并将第三条指令从存储器中取出。
LPC2104集成了一个128K字节的FLASH存储器系统。
该存储器可用作代码和数据的存储。
对FLASH存储器的编程可通过几种方法来实现:
通过内置的串行JTAG接口,通过串口进行在系统编程(ISP),也可以在应用程序运行时进行在应用编程(IAP)。
这样为数据存储和现场固件的升级都带来了极大的灵活性。
LPC2104具有16K静态RAM,SRAM可用作代码和/或数据的存储,支持8位访问。
SRAM控制器包含一个回写缓冲区,它用于防止CPU在连续的写操作时停止运行。
2.2.1电源模块设计
本设计中电源需要为系统提供5V,,的电压,电源模块采用9V直流电源输入,经过C1、C3滤波,然后通过78M05稳压芯片将电源稳压至5V。
再使用LDO芯片(低压差电源芯片)稳压输出及电压。
LDO芯片采用了和,其特点为输出电流大,输出电压精度高,稳定性高。
系统电源如图2所示。
'
图2电源模块原理图
LM1117系列LDO芯片输出电流可达800mA,输出电压的精度在±1%以内,还具有电流限制和热保护功能,广泛用户在手持式仪表、数字家电、工业控制等领域。
使用时,其输出端需要一个至少10uF的钽电容来改善瞬态响应和稳定性。
2.2.2MCU复位模块设计
图3复位模块原理图
由于ARM芯片的高速、低功耗、低工作电压导致其噪声容限低,对电源的纹波、瞬态响应能力、时钟源的稳定性、电源监控可靠性等诸多方面也提出了更高的要求。
LPC2104复位电平为低电平,复位电路才用专用复位芯片MAX708SD,这样可以使复位电路更加稳定。
如图3所示,复位芯片/MR引脚电平改变控制/RST引脚电平的变化,当S1按下/MR引脚电平有效,则/RST输出为低电平,复位MCU。
通讯模块设计
2.3.1抄表器与电能表通讯(RS485通讯模块)
%
图4RS485硬件原理图
RS485通讯模块电路图如上图4所示。
芯片采用MAX485接口芯片。
它是Maxim公司的一种RS-485芯片。
采用单一电源+5V工作,额定电流为300μA,采用半双工通讯方式。
它完成将TTL电平转换为RS-485电平的功能。
MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。
RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用一个管脚控制这两个引脚即可,在本方案中将这两个引脚都接高电平,使之工作在发送状态;A端和B端分别为接收和发送的差分信号端,RS485采用差分信号负逻辑,+2V~+6V表示“0”,-6V~-2V表示“1”。
当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。
J2与电表接口实现通讯。
2.3.2USB通讯模块设计
USB转UART模块电路设计如图5所示。
CP2102是一款高集成度的USB-UART桥接电路,它们能够用最简单的外部电路,最少的外部器件及最小的电路板面积简便实现到UART的转换。
与其他USB-UART转接电路的工作原理类似,CP2102通过驱动程序将PC的USB口虚拟成COM口以达到扩展的目的。
虚拟COM口(VCP)的器件驱动程序允许一个基于CP2102的器件以PC应用软件的形式作为一个增加的COM口独立于任何现有的硬件。
COM口使用运行在PC上的应用软件以访问一个标准硬件COM口的方式访问基于CP2102的器件,PC与CP2102间的数据传输是通过USB完成的,因此,无需修改现有的软件和硬件就可以通过USB向基于CP2102的器件传输数据。
图5USB转UART模块原理图
2.3.3红外通讯模块设计
~
红外通讯是利用波长为900nm~1000nm的红外波作为信息的载体,发射装置把二进制信号经过高频调试后发射出去,接收装置把接收的红外高频信号进行解调作为原来信息的一种通信传输方式。
其中调试方式有脉宽调制PWM和脉时调制PPM两种,本方案采取的是PWM脉时调制方式。
图6红外通讯模块原理图
红外发射是利用单片机的串行数据发送口TXD控制驱动三极管Q2进行二进制“0”和“1”的传输(数据由串行发送缓冲器SBUF中送出),以及利用单片机口控制驱动三极管Q1进行高频调制从而可靠地实现了红外发射管D1在传输数据“0”时进行高频红外发射和数据“1”时被截止发射功能。
状态关系见表1。
表1状态关系表
名称
状态
TXD
|
0
1
0
1
0
1
IR发射管状态
)
1
0
0
0
由控制高频调制,D1定时导通和截止产生高频发射信号,即实现发送数据“0”的功能。
D1截止不发射,即实现了发送数据“1”的功能。
红外接收是利用红外接收是利用红接收管PIC12034收到高频信号输出低电平确定为数据“0”,而没收到高频信号输出高电平确定为数据“1”方式经过解调,把数据通过单片机串行数据接收口RXD进行串行方式接收(接收数据存储在串行口缓冲器SBUF中)。
~
2.3.4PC机通信电路接口设计(RS232)以及ISP模块
图7RS232及ISP原理图
RS-232-C标准采用的接口是9芯或25芯的D型插头,但实际上要完成最基本的串行通信功能,只需要数据接收、数据发送和地三根接线即可,只要是注意的是RS-232-C标准所定义的高、低电平信号与单片机系统的TTL电路所定义的高、低电平信号完全不同,TTL的标准逻辑uIn对应电平,标准逻辑.0”对应电平;而RS-232-C标准采用负逻辑方式,标准逻辑"I”对应一5V--15V电平,标准逻辑HOH对应+5V-+15V电平。
显然,两者间要进行通信必须经过信号电平的转换。
目前常使用的电平转换电路为MAX3232,它的噪声容限为2V。
即要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1”。
它与LPC2104的连接电路如图7所示。
在线系统编程(ISP)通过boot装载程序和串口对片内Flash存储器进行编程和再编程。
通过短路帽S8控制ARM运行方式,当复位后(ISP_EN)为低电平被认为是启动ISP命令处理器的外部硬件请求。
如果没有外部请求((ISP_EN)复位后采样为高电平),那么将搜索有效的用户程序。
如果找到有效的用户程序,执行的控制就转移给用户程序。
于口在复位后处于高阻模式,所以需要提供上拉电阻使管脚处于一个确定的状态.
数据存储模块设计
2.4.1IIC接口的EEPROM设计
IIC总线是荷兰飞利浦PHILIPS开发的一种高效,实用,可靠的双向二线制(也有3线制,家电很少用)串行数据传输结构总线,该总线使各电路分割成各种功能的模块,并进行软件化设计,各个功能模块电路内都有集成一个IIC总线接口电路,因此都可以挂接在总线上,很好的解决了众多功能IC与CPU之间的输入输出接口,使其连接方式变得十分简单。
—
图8IIC模块原理图
本系统中采用ATMEL公司AT24C64,在本设计中可存储100个用户信息,它是8K的串行电可擦除可编程的EEPROM器件,提供了2线串行接口。
相对于Flash和SDRAM芯片,它与LPC2104的相接比较简单,只需将时钟和数据线对应相接,并接上上拉电阻即可。
如图8所示,为了支持高速IIC总线操作,总线上拉电阻R1、R2的的大小为3K,这样总线变化时上升/下降的速度就变快了。
人机交互电路设计
2.5.1按键模块
按键模块如图9所示,6个独立按键S2~S7的功能分别为上、下、左、右、确定、退出。
由于做普通I/O口时没有内部上拉电阻,所以需要外接上拉电阻R20~R25。
当没有按键时,口线值为1,当按键按下时为0;而R14~R19为口线保护电阻,即当连接按键的I/O设置为输出时,这几个电阻保证了输出口不会直接对地短路。
图9按键模块原理图
;
2.5.2LCD液晶显示接口电路
图10显示模块及时钟电路原理图
智能抄表终端提供良好的人机操作界面,如图10所示,本设计使用了128*64的点阵液晶显示器.采用外部晶振,用1M电阻R3并接到晶振的两端,使系统更容易起振。
用晶振的原因是使串口波特率更精确,同时能够支持LPC2104芯片内部PLL功能及ISP功能。
3智能抄表终端软件的设计及实现
选择实时操作系统uC/OS-II的理由
通常一个单片机应用程序所控制的外设和履行的任务不多,采取一个主循环和几个顺序调用的子程序模块(后台行为),通过中断服务处理异步事件(前台行为),这种程序设计方法也被称为前后台模式。
不复杂的小系统可以采用这种模丸目前随着嵌入式系统复杂程度的不断提高,这种程序设计方法就会暴露出两个问题:
一是中断可能得不到及时响应,处理时间过长,这对于一些控制场合是不允许的:
二是系统任务多,要考虑的各种可能性也多,各种资源如调度不当就会发生死锁,降低软件的可靠性,程序编写任务量成指数增加。
解决这些问题的最好办法就是使用实时操作系统,多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。
在实时应用中,多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。
使用多任务,应用程序将更容易设计与维护。
uC/OS-11的特点及运行机制[3]
@
3.2.1uC/OS-II的特点
uC/OS-II提供了对64个任务的管理,除了系统内核本身所保留了8个任务外,用户的应用程序最多可以有56个任务。
由于uC/OS-II是一个基于优先级的实时操作系统,因此每个任务的优先级必须不相同,系统中的每个任务都处于以下5种状态之一,这5种状态分别是休眠态、就绪态、运行态、等待态(等待某一事件发生)和被中断态.
uC/OS-II是一个占先式的内核,即最高优先级的任务一旦就绪,总能得到处理器的控制权。
当一个运行着的任务使一个比它优先级高的任务进入了就绪态,则当前任务的处理器控制权就被剥夺了,或者说该任务就被挂起,那个高优先级的任务立刻得到处理器的控制权。
如果是中断服务程序(ISR)使一个高优先级的任务进入就绪态,中断处理完成后,被中断了的任务将被挂起,优先级高的那个任务则开始运行。
其状态切换方式如图11所示。
uC/OS-II提供了对信号量、邮箱和消息队列的支持。
图11uC/OS-II控制下的任务状态切换图
3.2.2uC/OS-II的任务调度机制
(
实际上uC/OS-II可以简单地看作是一个多任务调度器,在此基础上增加了不同任务之间相互通信的信号量等服务。
实现多任务的调度是uC/OS-II的精华所在,也是移植工作中的重点,只有充分的理解了任务调度机制,才能在系统移植过程中写出高效的代码来。
uC/OS-II进行任务调试的思想是,每时每刻总是让优先级最高的就绪任务处于运行状态,为此uC/OS-I把任务调度工作分为两步:
寻找优先级别最高的任务和任务切换。
本设计软件流程
软件流程如图12所示,在本系统中,共建立9个任务,分别给每个任务分配不同的优先级由高到低,任务之间彼此独立,通过实时内核UC/OS来管理切换这些任务。
优先级最高且处于就绪状态的任务是当前正在运行的任务,每个任务都是一个死循环。
本设计中通过按键消息来挂起不需要运行的任务,恢复需要运行的任务,实现任务间的切换。
底层驱动模块之间也是相互独立的,他们都是为任务层服务的,实现底层驱动。
图12系统软件流程图
主要模块软件的设计实现
前面已经提及在uC/OS-I下编程用户只需分别编写各个任务,并给各个任务分别分配给不同的优先级别,uC/OS-II会依据任务的优先级别进行调度。
本抄表系统的任务安排如3.4.1~所示:
~
3.4.1主函数main()
在main()函数中,首先初始化板上的外围设备,如LCD、串口、通用1./O口、RTC.IIC总线等,建立任务,之后调用uC/OS-II的OSStartO函数以开始任务的运行,调用此函数之后,操作系统将会根据任务的优先级首先进入TaskSatrt任务并进行多任务的调度,此后永不返回。
$
图13主函数流程图
*注:
代码见附录3
3.4.2主菜单任务MainmenuTask
图14显示主菜单
*注:
代码见附录4
3.4.3键盘任务KeyTask
图15键盘任务流程
*注:
代码见附录10
3.4.4抄表任务ProcessTask
3.4.4.1抄表任务框图
图16抄表任务流程框图
抄表协议采用国内较普遍的中华人民共和国电力行业标准DLT/645(多功能电能表通信规约)。
]
*注:
代码见附录6
3.4.4.2链路层[8]
本协议为主-从结构的半双工通信方式。
手持单元或其它数据终端为主站,费率装置为从站。
每个费率装置均有各自的地址编码。
通信链路的建立与解除均由主站发出的信息帧来控制。
每帧由帧起始符、从站地址域、控制码、数据长度、数据域、帧信息纵向校验码及帧结束符等7个部分组成。
每部分由若干字节组成。
图17字节格式
每字节含8位二进制码,传输时加上一个起始位(0)、一个偶校验位和一个停止位
(1),共11位。
其传输序列如图17。
D0是字节的最低有效位,D7是字节的最高有效位。
先传低位,后传高位。
表2帧格式
说明
【
代码
帧起始符
68H
地址域
A0
—
A1
A2
A3
A4
¥
A5
帧起始符
68H
控制码
C
数据长度域
L
数据域
(
DATA
校验码
CS
结束符
16H
$
图18通讯流程图
帧是传送信息的基本单元,帧格式如图18。
帧起始符0x68标识一帧信息的开始,地址域可为标号.资产号.用户号.设备号等。
控制码为通讯命令。
校验码CS表示从帧起始符开始到校验码之前的所有个字节的模256的和,即个字节二进制算术和,不记超过256的溢出值。
结束符0X16表示一帧信息的结束,其值16H=00010110B。
通讯流程框图如图18所示。
*注:
代码见附录6
3.4.5用户管理任务
图19抄表任务流程框图
*注:
代码见附录5
3.4.6抄表器与上位机通信协议
3.4.6.1通讯协议
…
表3上传数据协议
上传数据
上传
上传
户名
上传
表号
]
上传
总电量
上传
峰电量
上传
平电量
上传
谷电量
。
上传
抄表时间
上传
抄表状态
命令帧0x32
0x68
6
字
!
节
6
字
节
6
字
节
3
`
字
节
3
字
节
3
2.环境影响评价的概念字
(3)机会成本法节
一、安全评价3
环境影响的经济损益分析,也称环境影响的经济评价,即估算某一项目、规划或政策所引起的环境影响的经济价值,并将环境影响的经济价值纳入项目、规划或政策的经济费用效益分析中去,以判断这些环境影响对该项目:
规划或政策的可行性会产生多大的影响。
对负面的环境影响估算出的是环境费用,对正面的环境影响估算出的是环境效益。
字
)
安全评价是落实“安全第一,预防为主,综合治理”方针的重要技术保障,是安全生产监督管理的重要手段。
节
2)规划实施可能对环境和人群健康产生的长远影响。
3
(二)规划环境影响评价的技术依据和基本内容字
节
1
字
[
(5)建设项目对环境影响的经济损益分析。
节
第五章 环境影响评价与安全预评价表4通讯测试协议
通讯测试
命令帧
0x68,0x31,0x17
¥
3.4.6.2简易上位机抄表管理软件
图20上位机抄表管理软件
通过抄表器的RS232和USB通讯口和上位机连接,将抄表器中的数据上传到上位机中进行管理。
在上传数据的时候首先要进行通讯测试,只有当通讯测试成功以后才能上传数据。
抄表管理软件如图20所示。
通讯测试协议如表4所示。
上传数据协议如表3所示。
4总结
本设计的任务是设计一个抄表器,其实质是32ARM处理器和嵌入式实时系统UC/OS-II的一个简单的应用。
在设计过程中首先遇到的困难就是硬件电路的调试,在调试EEPROM读写和USB通讯时遇到了读写不成功和不能和上位机通讯等困难等等。
大部分的时间还是花在软件的编写上,在这工程中遇到的主要困难是UC系统的移植和多任务的建模。
其次就是一些功能上的调试困难,在调试抄表模块的时候,出现了不能和电表通讯的情况,以及不能正确的抄写电量的困难等等,
…
在克服了种种困难后,搭建了一个嵌入式GUI系统平台,并在上面开发了一些功能。
实现了基本抄表功能的同时也添加了一些附加功能,使整个系统不单是一个抄表器。
5结论
整个系统的优点在于:
遵守硬件设计原则的情况下将整个系统划分为通讯模块,存储模块、人机交互接口模块,并给出了详细的电路连接图,这些硬件组成为系统提供了足够的存储空间、完善的通讯功能和良好的交互界面,不仅能够满足抄表的要求,而且有利于系统扩展,方便日后升级之用。
设计也存在不足,比如PCB布线有些地方不够合理,有飞线存在等等。
由于本设计采用了一些新型元器件,因而体积小,功耗省,功能强,数据纪录量大,且便于携带使用,为电能表数据的抄收提供了一种新的手段,具有较广的应用前景。
~
参考文献
[1]周立功.深人浅出ARM7~LPC210X/214X(上)[M].北京,北京航空航天大学出版社,2005
[2]周立功.ARM微控制器基础与实战[Ml.北京,北京航空航天大学出版社,2003
[3]JEANILABROSSE著.邵贝贝译.ucoS-II-源码公开的实时嵌入式操作系统[M].中国电力出版社,2001
[4]黄燕平.uC/OSARM移植要点详解[M].北京,北京航空航天大学出版社,2005
[5]中华人民共和国电力行业标准DL/T645—1997.多功能电能表通信规约[S]
[6]颜庭乔、跻高、徐伟.RS485总线在电能表使用中的常见问题及分析[EB/OL]
[7]朱兆优.RS