远程智能电表抄表系统设计_第1页
远程智能电表抄表系统设计_第2页
远程智能电表抄表系统设计_第3页
远程智能电表抄表系统设计_第4页
远程智能电表抄表系统设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Preparedon22November2020Preparedon22November2020远程智能电表抄表系统设计摘要随着我国社会经济的发展,居民用电量剧增。传统的人工抄表收取电费的方式,已不能满足现代化管理的要求,实现多用户能耗仪表的自动抄表已经成为可能,特别是建设部提出来的小康型住宅小区的规划要求,并逐步实行能耗仪表出户的统一管理,实现微机自动检测、计量和收费。本文针对目前居民小区的电能计量中实际存在的各种问题,设计了一种实用的远程自动抄表系统。该系统具有成本低廉、计量准确、工作稳定可靠和系统安装维护方便等特点。本文对整个抄表系统进行了较为全面的设计,着重对系统底层的能耗数据的采集和集中、数据通信网络和通信方式等做了较为详细的设计。在硬件上对CPU数据存储及其监控电路、数据传输、通信标准、时钟电路、串口扩展、电能采集和显示电路都做了详细的论述。并且广泛应用的RS-485电气接口的串行通讯技术作为通讯方式。在软件上对数据进行采集、通信、显示子程序、校验子程序等做了详细的说明。同时,本文还对系统中的干扰问题进行了深入细致的分析,并在硬件和软件上担出了有效的抗干扰技术。该远程抄表系统实现了多用户的电能信息的远程自动抄录,能够实现住宅能耗计量的高质量和高效率管理。关键词:远程抄表;数据通信;AT89C51;RS-485AbstractWithsocialandeconomicdevelopmentelectricpowerisusedincreasingly,Traditionalchargeofelectricfarebymanuallaborcan’tsatisfythedemandformodernmanmanagement.Automaticmeterreadingsystem(AMRS)hasapossibilitytobeputintoreality.Especiallyforthewell-to-douptown,theConstructDepartmentofChinahasdemandedtorealizeautomaticmeterreading,measuringandchargingwithcomputer.Thisarticleaimsattheexistingproblems.Thus,Idesignedanautomaticmeterreadingsystemofcalorie.Thestrongpointofthissystemis:lowscost,precisemeasuring,stableworking,andeasytoinstallandmaintain.Thearticlegivesanall-rounddesignofthissystem.Itexpatiatesondetaildesignsofdatacapturingandcollecting,datacommunicationnetworkandmode.Inthisthesis,aboutthehardware,aparticularexplanationofthechoiceofCPU、inspectcircuit、datamemoryetcweregiven.AnditusesasynchronousserialcommunicationtechnologybasedonRS-485electricinterfaceascommunicationmeans.Thesoftware,wegivetheprogramofimpulsecollection、communication、displayandsoon.Atthesametime,thenoisequestionsexistingintheanalyzedandtheeffectiveanti-noisemethodsonhardwareandosoftwarearepresented.ThisLong-distancemeterreadingsystemrealizesthemulti-userpowerinformationremoteautomatictranscribing,canrealizeresidentialenergyconsumptionofhighqualityandhighefficiencymetrologymanagement.Keyword:Remotemeterreading;Data-communication;AT89C51;RS-485目录=1\*ROMANITOC\o"1-3"\f\h\u0357920122323425131323453638393940404041414141412223456第1章绪论本文的研究课题是电表自动抄表系统,本章主要说明课题设计的背景和实际意义,介绍了在抄表领域国内外的技术发展历史、现状和未来趋势,提出所要进行的设计内容和任务,同时对全文的章节架构进行阐述。课题的提出和意义随着人民生活水平的提高和住宅商品化的发展,居民住宅的质量和档次越来越高,住房对住宅环境、物业管理水平的要求也日益提高。这样使得传统的抄表收费方式存在的弊病越来越突出,抄表收费难也成为各部门管理上的问题,其原因主要有以下几点:1.入户抄表难度加大。由于居民生活水平的提高、家庭财产价值及用户逐渐开始重视私隐权等方面的原因,用户不希望被别人打扰。同时入户抄表只能在早晚居民休息的时间里进行,抄表人员实际可利用的时间变短。因而使得电费、水费、暖气费、煤气费的漏抄、欠收、漏收严重,实际收费往往远低于统计值,费用流失严重。2.各管理部门负担较重。抄表率低、周期长、资金回收速度慢,严重影响了这些部门的经济效益。3.管理费用开支过高。随着城市的发展,用户会越来越多,相伴着手动抄表的管理人员和操作人员也要相应的增多,这势必会严重制约着相关企事业单位的发展。4.抄表工作和劳动强度加大。抄表操作人员的工作条件差、效率低、劳动强度大,而现行的抄表收费大多是人工抄表、人工收费、手工结算,这难以适应企业管理信息化的形式要求。正是由于上述种种原因,建设部提出了建设小康型住宅小区的规划要求,明确提出了要对新建和必扩建的住宅小区进行统一规划,逐步实行水、电、气三表出户的统一管理,实现微机自动检测、计量和收费。随着居民住宅小区的物业管理水平的不断提高,目前在不少住宅小区,各能耗的计量问题也已经由以前的各部门管理逐步改为由生活小区物业管理部门统一管理。现代物业管理要求不断向规范化、自动化和科学化的进程迈进,多表联网远传系统将越来越受到用户和市场的认可,市场全景十分广阔。因此,多用户电表联网远程抄表系统的研究生就显得十分迫切。国内外发展状况近年来,智能抄表技术在国内外应运而生,国内外许多国家正在大力发展开发电能智能抄表系统的研制工作。在国外,如美国等发达国家已把智能抄表系统广泛应用于配电管理之中了。以色列尤尼克(Unique)技术公司开发了collector集中抄表系统,利用现有的电网和电表,以电力线作为信息传递媒介,建立数据采集通信系统,通过线载波技术将信息远距离传送。而由英国自动化仪表公司本部策划,组织杭州沃制电力有限公司研制的IC系列电表,可按用户需要靖上通迅接口,利用RS—485接口,零电压脉冲继电器输出或4~20MA线性进行远程监测。德D—Tech公司则此专门开发了SMI专用模块,用于电子式电能表的数据采集,以400脉冲/度或800脉冲/度向外输出数据[1]。在国内,虽然我国对智能抄表技术的研究起步较晚,但是发展速度很快。目前,国内生产智能抄表的厂家超过150家。通过电力工业部电力设备及仪表检测中心检测的厂家接近100家,受理的专利超过165项。据不完全统计,安装的智能抄表用户超过250万户抄表技术多样公:总线、载波、红外、工频、超窄带(UNB)。抄表方式多样化:单表、多表。系统功能逐步完善,除抄表外,还具有线损统计、用电考核、远程控制、自动收费并与银行联网等。课题可行性论证结论本课题针对目前居民小区能耗计量实际现状,以及能耗计量的数据远传和网等问题而设计的电表联网远程抄表系统。该系统主要运用廉价的单片机作为CPU分站。对小区用户的电量等能耗信息进行采集。系统采用分布式结构,与上位微机一起构成典型的分布工测控系统。系统充分考虑到现场总线通信标准对传输距离和波特率的限制,兼顾了系统的带载能力,同时也为提高远传系统的可靠性,在各种远传基表与上位微机之间,系统采用了两级采集器的结构形式。其中,二级采集器由于采集远传基表的能耗信息而被称之为采集器。一级采集器因主要负责集中数据采集器中的数据、并上传至上位微机中而被称之为数据集中器。上位微机与集中器、采集器之间可通过现场总线进行数据传输,采集器通过屏蔽双绞线采集电表发出的能耗信息,并进行换算和存储,采集器对电量的采集可直接通过DF型多用户电能表上的接口接受用户的电量信息。如此,构成了两级分布工测控系统。系统便于管理,管理人员可以通过上位微机的操作界面实现对用户电表能耗的远程抄取,还可以对参数进行设定和修改,也可以通过专用的红外抄表器进行现场操作、弥补自动抄表不便时的不足,此外系统还具有以下特点:硬件简单、经济实用,且功能强大;可移植性较强,稍做改造即可变成多用户多表联网远传系统;系统成本相对其他应用系统不高,能够被市场和用户接受,市场前景广大;系统的安装和维护方便、工作稳定性较好;系统选用符合国家计量标准的远传基表,系统计量的准确性和可靠性符合或略高于国家相关技术规范和标准化;系统的环境适应能力较强、通用性较好,便于实现技术的推广和应用等。本文所完成的主要工作针对目前电表联网远程抄表系统发展的现状和存在的问题,结合本课题的设计任务和技术要求[2],本文主要解决以下几个方面的问题:1.完成远程抄表系统的硬件设计,达到如下功能或性能:(1)能耗抄取:数据采集器正确采集电量信息,存储在采集器中;自动定时地对DF电表进行抄表,将抄得的数据存储在集中器中;能通过红外抄表器抄取集中器中的能耗数据;集中器自动定时地对采集器进行抄表,将抄表的数据存储在集中器中;上位机可以远程获取用户的各类能耗信息。(2)参数设置:上位机可对集中器、采集器的参数进行设定,可对用户的电量进行设置,并可以根据电表信息对采集器进行设定。2.完成各部件和上位微机的软件设计:(1)对采集器和集中器中各硬件进行程设计,包括系统主流程及各子程序的编写;各个硬件的驱动及初始化。(2)上位机的软件设计:采用客户机/服务器的客户服务形式对上位机进行软件编程。本章总结本章提出了本文的设计课题,介绍了与课题相关的技术发展现状,明确了总线制抄表系统的设计思想,并且提出了设计所要解决的主要问题和相应的初步设想。第2章抄表系统总体结构设计系统组成自动抄表系统是一个完整的通讯检测控制体系,最上层是计算机管理层。这层由各种工作站、库服务器等计算机设备组成,其中配备管理软件,实现如读取数据、统计用电情况等功能。每个台区里要有一个中间的转发层,这里称之为“集中器”。集中器每个台区至少配备一台,负责向上与管理层和向下与采集层的通信联结,主要起通讯和暂存数据的作用。向下的通讯使用总线技术;向上的通讯除了使用总线技术外,还有一些如红外、无线等辅助性的通信手段。最底层是电表层,由各种电度表组成,主要完成能耗计量。实际的系统中,处于对成本的考虑和实际使用情况,系统结构还有一些其他的变化。目前的城市民居楼宇中,有很多为了便于人工抄表和安装维修,电度表采取了集中安装的方法,把一个单元的十几户的用户表安装于同一个大表箱中。所以针对这种情况,产生了若不种衍生方案,这些方案都是只在最下层作了扩展。[3][4][5]通信标准的选择本系统的一个重要的问题就是通信问题。要根据系统的通信距离来选择合适的通信标准。如果通信距离要求太高的话,可以采用电话线公网或者无线GPS等方式来进行通信。在通信方式中,大多数采用串行通信方式。这里先对常见的串行总线标准作一个比较。常用的总线标准有RS-232、RS-422和RS-485等等[6],RS-232是异步串行通信中应用最广泛的一种标准总线,其单向数据传输最大速率为了20Kbps,最大传送距离为15m,显然这种总线标准是无法满足本系统的技术要求的,且其数据传输速率较慢,易产生干扰。RS-422传输距离较远,最短为12m,数据传输最大速率为10Mbps;当速率为1Mbps时,传输距离可达120m;当速率为100Kbps时,传输距离可达1200m;RS-422抗干扰能力强,传输速率快,且为全双工的。我们知道,RS-232和RS-422有一个显着特点,即RS-232接口与RS-422接口通常吸用于点对点通信系统中,若系统中需要相互通信的节点数超过两个时,他们都无法直接满足要求。因此,EIA制定了新的接口标准RS-485,它能支持一点对多点的通信,RS-485电气标准与RS-422完全一样,只是RS-485工作于半双工方式。RS-485标准总线是一种平衡传输方式的串行口接口标准,它允许在电路中有多个发送器,且允许一个发送器驱动多个负载设备,负载设备可以是被动发送器、接收器或收发器的组合单元。RS-485的共线电路结构是一对平衡传输的两端都配置终端电阻,其发送器、接收器、组合收发器可以挂在平衡传输线上任何位置,在数据传输中实现多个驱动器与接收器通用同一传输线的多点应用。RS-485通信接口的信号传输是用两根线之间的电压差来表示逻辑“1”或“0”的,因为发送端仅需两根传送线,而接收端也只需要两根传送线,这样,RS-485接收端与发送端公需两根线就能完成信号传输。RS-485标准总线的特点是:抗干扰能力强、传输速率高、传输距离远,在采用双绞线,不用Modem的情况下,在100Kbps的传输速率时可传送1200m,若速率为960Kbps时,可以传送1500m,甚至更远。由于RS-485具有上述优点,能够支持一点对多点的通信,便于组网通信距离也能满足本系统的设计要求;且电表联网远程抄表系统对实时性要求不高,能耗的抄取也是不经常发生的,一般情况下仅需要每月抄一次。所以本系统选择了半双工的RS-485的通信标准。系统总体方案确定在我们确定了通信标准之后,就可以对整个系统进行设计了。既要充分考虑RS-485通信标准中对传输距离和波特率的限制,又要兼顾到系统的带载能力,来确保系统运行的可靠性,在基表与上层管理微机之间,采用了采集器、集中器两级结构形式,系统的总体分布结构如下图所示。图系统总体结构图

上位微机与集中器之间可通过RS-485总线进行数据传输,采集器通过屏蔽双绞线采集用户各种远传能耗基表的信息,并进行换算和存储;采集器对电量的采集可以直接通过DF型电能表上的RS-485接口接受用户的电量信息,也可以通过采集器上的红外接口,利用专用红外抄表器对采集器进行各种能耗信息的读取等整个系统采用如此结构主要有以下几方面考虑:首先,成熟的技术保证了系统的顺利实现。一方面,随着目前远传基表市场的日趋成熟和科学技术的不断完善进步,国内市场已出现许多能够生产符合国家计量标准的远传基表专业厂家。另一方面,传输网络目前一般采用RS-485或LonWorks技术来构建传输网络平台,其技术本身也是完全成熟的,只要能正确的组网、进行相应的软件开发并制定出完善的通信协议就能确保系统网络传输的稳定可靠。其次,系统采用了RS-485通信标准。由于RS-485接口可以在一个通道上进行半双工通信,所以,只需两根经便可实现双向通信,极大的方便了构成一点对多点或多点之间的相互通信。因此可以用组建RS-485网的方式将系统中的采集器、集中器和上位微机等构成有机统一的两级分布式网络系统。一方面,这便于系统的综合布线和扩充,也便于迅速发现和排除故障,同时,两级分布式网络系统也更有利于用户能耗数据的可靠存储,大大提高系统的带载能力;另一方面,两级分布式测控系统还便于系统的灵活运用和组合,更能满足小区建设规模大中小的变化要求。且两级分布式测控系统扩大了系统的应用能力同时也增加了管理者的管理能力,对系统推广和应用而言更趋于合理[7]。此外,上位微机的应用可以更有效地对用户各种能耗数据进行存储、处理和分析,可以实现历史数据的查询、数据通讯、账单票据打印、报表生成以及便于系统维护等等功能;还可以方便地对数据采集器、集中器进行参数设置、运行状况监控等,保证系统正常运行。本章小结本章阐述了电表远传抄表系统的功能目标和设计原则,提出远传抄表系统的总体结构图,并分别阐述了远传基表、采集器、集中器在系统中的位置、功能以及设计构想。在分析各种通信方式后明确了使用RS-485通信协议进行数据传输的设计方向。第3章抄表系统的模块功能设计抄表系统的整体结构在了解国内外现有的产品特点的基础上,为了使抄表器的功能更加完善,设计的抄表器具有计数、数据存储和数据处理、电量及其状态的显示、与控制中心通讯等基本功能。整体结构如图所示。图抄表系统的整体结构框图系统的整体工作流程如下:1.脉冲采集计数模块根据脉冲计算出电表的数据,存储于内部的RAM中。根据时钟模块的时间设定,定时向脉冲计数模块发送数据传输命令,收集其电表中的数据,并根据设定好的程序,存储于外部的RAM中,等待上位机的查询,并把没有反应过来的终端的号码记录下来,上传给上位机。3.上位机操作中,有定时抄送和随时抄送两种模式;定时抄送,即上位机根据系统设定的时间,查询各脉冲采集计数模块中的数据;随时抄送,指在某种特殊情况下,需要单独的对某一用户进行复查等。在两种模式下,对没有反应的终端做备份,并警告等。抄表系统的各功能模块设计这是整个抄表部分的核心部分,由图可知,主要由CPU(MCU)、时钟模块、电能采集和计数模块、显示模块、串口扩展模块、数据传输模块、监控模块等组成。每一个部分的正确选择与设计、及电路的连接对该系统的硬件电路而言是十分重要的。CPU的选型是整个系统的核心部件,它直接影响系统的性能。本系统中选用的是AT89C51单片机[8],现对其功能引脚,电路特征作一个详细的介绍。◆与MCS-51系列的单片机相容;◆片内集成4KrFLASH存储器,可反复编程/擦除1000次;◆全静态设计,时钟频率范围为0~24MHz;◆32条可编程的I/O口线;◆128×8字节的内部的RAM;◆芯片有2个十六位计数器(计时器);◆共有5个中断源,2个中断优先级;◆可编程串口通道;◆具有4种工作模式的全双工串行口;◆低功耗的待机工作模式和掉电工作模式;◆片内振荡器和时钟电路;AT89C51是一种性价比高,功能先进的8位微处理器,在许多的嵌入式系统中得到了广泛的应用,尤其是内部4K字节的EPROM为使用者提供了很大的方便,当应用程序较小时,不用为CPU添加外扩的ROM。空闲工作模式和掉电保护模式可以保证CPU工作在低功耗的状态下,内部的RAM的数据不会丢失。芯片主要引脚介绍[9][10]图AT89C51外形引脚(1)VCC:AT89C51电源正极输入,接+5V电压;(2)GND:电源接地端;(3)XTAL1:接外部晶振的一个引脚。在单片机内部,它是一个反相放大镜输入端,这个放大器构成了片内振荡器。它采用外部振荡时,该引脚应接地;(4)XTALI2:接外部晶振的一个引脚。在片内接至振荡器的反向放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入;(5)RST:AT89C51的复位信号输入引脚,高电位工作,当要对芯片复位时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89C51便能完成系统复位的各项工作,使得内部特殊功能寄存器的内部均被设为已知状态;(6)ALE/PROG:ALE是英文“ADDRESSLATCHENABLE”的缩写,表示地址锁存允许信号。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地址字节。在FLASH编程器件,此引脚用于输入编程脉冲。在低电平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/16.因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0.此时,ALE只有在执行MOVX、MOVC指令时才起作用。另外,该引脚被略微拉高。如果处理器在外部执行状态ALE禁止,置位无效。(7)EA/Vpp.:该引脚为低电平时,则读取外部的程序代码(存于外部EPROM)来执行程序,在8051中,EA引脚必须接低电平,因为其内部无程序存储空间。如果是使用AT89C51的其他内部有程序空间的单片机时,此引脚接成高电平使程序运行时访问内部程序存储器,当程序指针PC值超过片内程序存储地址时,将自动转向内部程序存储器继续运行。此外,在程序代码烧录至89C51内部EPROM、89C51内部FLASH时,可以利用此引脚来输入提供编程电压(AT89C51为12V);(8)PSEN:此为“ProgramStoreEnable”的缩写。访问外部程序存储器选通信号,低电平有效。在访问外部程序存储器读取指令码时,每个机器周期产生二次PSEN信号,在执行片内程序存储器指令时,不产生PSEN信号,在访问外部数据时,亦不产生PSEN信号;(9)P0、P1、P2、P3口P0口(~)是一个8位漏极开路双向I/O端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。外部不扩展而单片机应用时,则作为一般的双向I/O口用。P0口每一个引脚可以带8个TTL门电流;P1口(~)是具有内部提升电路的双向I/O端口(准双向并行I/O口),其输出可以带4个TTL门电流。仅供用户作为输入输出用的端口;P2口(~)是具有内部提升电路的双向I/O端口(准双向并行I/O口),当访问外部程序控制器时,它是高8位地址。外部不扩展而单片机应用时,则作为一般的双向I/O口用。每一个引脚可以推动8个TTL门电流;P3口(~)是具有内部提升电路的双向I/O端口(准双向并行I/O口),它还提供特殊功能,包括串行通信、外部终端控制、计时计数控制及外部随机存储器内容的读取或定入控制等功能,其特殊功能引脚分配如下:RXD串行通信输入TXD串行通信输出INTO外部中断0输入,低电平有效;INTO外部中断1输入,低电平有效;T0计数器0外部事件计数输入端;T1计数器1外部事件计数输入端;WR外部随机存储器的写选通,低电平有效;RD外部随机存储器的读选通,低电平有效;外围存储及其监控电路模块X5045是一种性能较高的可编程看门狗芯片,属于片外看门狗芯片,不但有看门狗电路,而且还有存储器,掉电后数据不丢失,可以直接进行复位。它集中了三种功能:看门狗定时器、电压监控、和EPROM组合在单个封装内。X5045具有简单的三线总线工作的串行外设接口(SPI)和软件协议[11]。其电路结构图如图所示,八引脚封装。图X5045芯片引脚该芯片内控串行EEPROM是具有Xicor公司的块锁保护CMOS串行EEPROM,它被组成8位结构,它由一个四线结构的SPI总线方式进行操作,其擦写周期至少有100万次,并且写好的数据能保存100年。1.特性◆可选时间的看门狗定时器;◆Vcc的降压检测和复位检测;◆五种标准的开始复位电压;◆使用特定的编程顺序即可对低压电压检测和复位开始电压进行编程;◆复位电压可以低至Vcc=1V;◆省电特性:在看门狗打开时,电流小于50uA;在看门狗关闭时,电流小于10uA;在读操作时候,电流小于2mA;◆具有数据的块保护功能,可以保护1/4,1/2全部的EEPROM,当然也可以设置不保护状态;用指令允许写操作写保护引脚;时钟可达;◆短的编程时间,16字节的页写模式,写时器件内部自动完成,典型的器件写周期5ms.图X5045内部电路结构图2.功能及其引脚描述本器件将四种功能融为一体,上电复位控制,看门狗定时器,降压管理以及具有模块功能的串行EEPROM,有助于简化系统的设计,减少印制板的占用面积,提高可靠性。(1)CS/WDI:芯片选择输入,当CS是高电平时,芯片未选中,并将SO置为高阻态,器件处于标准的功耗模式,除非一个向非易失单元写的周期开始,在CS是高电平时,将CS拉低使器件处于选择状态,器件将处于工作功耗状态,在上电后任何操作之前,CS必须有一个高变低的过程。看门狗输入,在看门狗定时器超时并产生复位之前,一个加载WDI引脚上的由高到低的电平的变换将复位看门狗定时器。(2)SO:串行输出,SO是一个推/拉串行数据输出引脚,在读数据时,数据在SCK脉冲的下降沿由这个引脚送出。(3)WP:写保护,当WP引脚是低电平时,向X5045中的写操作被禁止,但是其它的功能正常,当引脚是高电平时,所有操作正常,包括写操作,如果在CS是低的时候,WP变为低电平,则会中断向X5045中写的操作,但是,如果此时内部易失性周期已经初始化了,WP变为低电平不起作用。(4)SI:串行输入,SI是串行数据输入端,指令码、地址、数据都通过这个引脚进行输入,在SCK脉冲的上升沿时进行数据的输入,并且高位WSB在前。(5)SCK:串行时钟,串行时钟的上升沿时通过SI引脚进行数据的输入,下降沿通过SO引脚进行数据输出。(6)RESET:复位输出,RESET是一个开漏型输出引脚,只要Vcc下降到最小允许Vcc值,这个引脚就会输出高电平,一直到Vcc上升超过最小允许值之后200ms,同时它也受到看门狗定时器控制,只要看门狗处于激活状态,并且WDI引脚上电平保持为高或者为低超过了定时时间,就会产生复位信号,CS引脚上的一个下降沿将会复位看门狗定时器,由于这是一个开漏型的输出引脚,所以在使用时候必须接上拉电阻。的电路连接如图中的看门狗对系统提供保护功能,当系统发生故障而超过设置时间时,电路中的看门狗将通过RESET信号向CPU作出反应。它提供了三个时间值供选择,它的具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围内时,系统将自动复位,X5045存储器与CPU可能通过串行通信方式接口,共有5K字位,来存储抄表数据。图X5045的电路连接如何保证WDT正常运行也是一个关键问题,要针对WDT失效的原因,采取多种措施,防止失效,从而进步提高系统的可靠性:(1)尽量减少干扰源的存在,并且降低不可去除干扰的影响,如电源电压的波动、尖峰、浪涌等,他们都是强度比较大的干扰源,要加强过滤与去除;(2)对本机任务进行分流,合理的配置CPU的操作任务,能在上位机运行的功能,一般应放在上位机运行,因为上位机的运行环境良好,便于控制,从而减少本机出错的概率;(3)对地址指针、过程控制程序中判断转换的条件状态等关键数据进行实时备份,当由于数据被改而使WDT失效时,可以从过备份RAM中恢复这些关键数据,从而也使得系统恢复。对没有用到的EPROM和RAM区,一律写在FFH或者OOH,当CPU由于干扰“跑飞”到这些不用区域中时,不会产生误操作。采取以上措施,可以较好的提高WDT的稳定性,有利于系统的正常运行。通常情况下,集中器都是安装在小区某楼总出口处,对于城乡用户来说,集中器一般都会选择较为集中的地方,这个相对来说就是比较复杂[13],因为这样它的传输距离更大,往往达到千米以上,为此,我们选择了RS-485的数据通信标准。标准通信接口电路的主要性能参数见表表标准通信接口电路的主要性能参数RS-232RS-423ARS-422ARS-485操作方式单端单端差分差分最大线缆距离15m600m1200m1200m最大数据速率(bps)12m——300K10M10M120m——10k1M1M1200m——3K100K100K可连接台数1台驱动器1台接收器1台驱动器10台驱动器1台驱动器10台接收器1台驱动器32台接收器标准接口RS-485为半双工,在某一时刻,一个发送另一个接收,用于多站互连时,可以节省信号线,便于数据的传输。RS-485是一种多发送器的电路标准,它扩展了RS-422的性能,允许双导线上1个发送器驱动32个负载设备,同时RS-485允许公用电话线网络通信电路结构在平衡连接两端有终端电阻,在平衡电缆上挂发送器、接收器或者收发器。所以这里,我们考虑采用RS-485串行标准来完成采集模块到上位机的数据传输问题。RS-485是一种电气标准,与TTL标准完全不同,单片机与RS-485之间必须进行转换,可以采用分立元件或集成电路专用芯片完成,本设计采用MAX485芯片。芯片MAX485芯片是MAXIM公司生产的差分平衡性收发器芯片,集成片包含一个驱动器和一个收发器,适用于RS-485通信标准。结构引脚见图①性能及特点:◆单+5V电源供电;◆低功耗,工作电流120~50uA,静态电流只有300uA;◆驱动器有过载保护功能;◆通信传输线上可挂32个收发器;◆共模输入电压范围-7V~+12V;◆8引脚封装,适用于半双工通信;图MAX485引脚②引脚描述:RO:接收器输出端,若A端高于B端200mv以上,R0为高,否则R0为低。RE:接收器输出使能端,若DE为高,驱动输出A和B有效,器件作线驱动器用(发送);若DE为低,它们呈高阻态,这时RE为低,器件作线接收器使用(接收)。DI:驱动器输入,DI为低将迫使输出为低,若DI为高将迫使输出为高。B:反相接收器输入与反相驱动器输出。A:同相接收器输入与同相驱动器输出。GND:接地Vcc:电源正极时间信息对于自动抄表系统而言是不可或缺的。但将其放于何处则是一个值得争议的问题,其中的两个障碍是无法回避的:一个是成本,一个是维护。所以在电表安装时钟和在集中器上安装时钟,我们选择了后者。将时钟放在集中器上既可以满足系统对时间信息的基本要求,也不会给系统增加过多的负担,当需要进行底度冻结时,集中器会发出广播命令,连发数次后,再依次向各电表发送命令,这样,所有电表收到命令的时间最长也可以控制在几分钟之内,可以满足电力部门的要求,当平时运行抄送命令时,集中器会每抄送一块电表就加上当时的时间信息。将时钟放于集中器上还有利于上位机对时钟进行精确定时。1.芯片选择本系统电路中的时钟芯片选用的是DALLAS公司的DS1302。DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、周、日、时、分、秒进行计时,且具有闰年补偿功能,时钟还可以通过AM/PM来决定采用什么时制。DS1302与单片机之间能简单的采用同步串行的方式进行通信,仅仅需要三个口线:RST、I/O、SCLK串行时钟。芯片功能介绍◆实时时钟具有计算2100年之前的年、月、周、日、时、分、秒的能力,同时还有闰年的调整能力;◆31×8位暂存数据储存RAM;◆串行I/O方式使得管脚数量最少;◆宽范围工作电压:~;◆工作电流:时,小于300uA;◆读写时钟或RAM数据时,有两种传输方式:单字节传送或者多字节传送;◆8脚DIP封装或可先8脚SOIC封装;◆简单的3线接口,与TTL兼容(Vcc=5V);◆可选择的工作温度范围较广:-40~+85摄氏度;引脚及其电路连接DS1302引脚及其电路连接图分别见图及图◆X1、X2接标准的的晶振引脚;◆GND:接地端;◆SCLK:串行时钟,RST复位引脚,I/O数据输入输出引脚;◆Vcc1、Vcc2:电源供电管引脚;图DS1302引脚图图DS1302电路连接图在采集模块和网络接入设备之间有一个中间设备,让它具有承上启下的功能,一是接受采集模块的数据,另外把从采集模块中的数据接收后发送上传到网络接入设备,从而让网络接入设备自动完成数据的上网发送。采集模块的数据接收和发送都是通过串口来实现的,而AT89C51只有一个串口,为了不至于使接收和发送冲突,必须进行数据的走向选择,也叫做串口扩展。SP2338串口扩展芯片能将普通的51系列单片机的一个串口扩展为三个独立的全双工串口,并且三个串口的波特率达到了采用通用的1个起始位、8个数据位、1个停止位。同时,该芯片在与单片机相连时接口也非常简单。SP2338共有四个串口,一个母串口,三个子串口,他们都是全双工的串行通信口,允许同时接收和发送数据。母串口与需要扩展的51单片机的串口相连,子串口与其他串口设备相连,这样就实现只有一个串口的单片机可与三个串口设备相连。SP2338有两根发送地址线,两根接收地址线,用以选择发送串口和接收串口。其电路图连接如图所示:图串口扩展图分别控制了两个输入输出引脚,形成了两个完整的回路,一个完整数据向MAX485和网络接入设备的数据传送,另外一个连接MAX485网络和MCU内核,完成采集模块数据的上传和PC机命令的下传。1.当单片机要向串行设备发送数据时,其工作过程是:(1)先向SP2338的串口地址线ADRI0、ADRI1送地址信号(ADRI0、ADRI1=00子串口0,ADRI0、ADRI1=01子串口1,ADRI0、ADRI1=10子串口2);再向与自己相连的线串口的通信线上送数据;(2)SP2338的母串口收到单片机串口送来的数据后就根据ADRI0和ADRI1的状态,把数据送往相应的子串口;(3)该子串口再把数据送往相连的串口设备。2当串口设备向单片机发送数据时,其工作过程是:(1)SP2338的某个子串口从串口设备接收到数据时,送给母串口;(2)SP2338的母串口把该数据再送给单片机串口,同时在ADRO0和ADRO1线上送出子串口的地址;(3)单片机根据SP2338接收地址线ADRO0、ADRO1上的信号判定由哪个设备发出的;1.功率计量部分实现对电流和电压信号的采样,产生功率脉冲功能。其核心是AD7755芯片,该芯片是专门用于功率测试和电能测量的专用集成电路,是目前电子式电度表的核心芯片之一。功率计量部分包括AD7755、分流器、分压电流、基本电压源、保护电路图、光耦合器输出电路。图AD7755的内部框图的内部结构如图所示,在该芯片上集成了增益可选的放大器(PGA)、增益固定的放大器、16位二阶模数转换器(ADC)、相伴校正电路、可选的高通滤波(HPF)、数字乘法器、低通滤波(LPF)、数字频率转换器(D/F)、电压监视器及的内部电压基准源。通过分流器、分压电路分别对电流和电压信号进行采样;电流通道和电压通道的信号经放大器放大后,通过AD7755内部A/D转换器为两路数字信号,然后经乘法、低通滤波、数字频率变换等电路的处理,AD7755输出与瞬时功率成正比的脉冲,并将此脉冲送至微处理器MCU。是CF引脚可以提供脉冲常数为1600IMP/KWH(脉冲数/千瓦时),将此输出脉冲用LED和光电耦合器隔离输出,然后送入MCU的终端输出引脚,由MCU控制计量功率脉冲。AD7755产生的输出频率与两个电压信号乘积的平均值成正比。AD7755通过计算通道1和通道2两个输出电压的乘积,然后对乘积进行低通滤波,获取有功功率信息。再将这个有功功率进一步的转换为频率,以低电平有效的方式从F1和F2输出。这个频率是对有功功率信号经过相当长的时间累积产生的,因此这个输出频率与平均有功功率成正比,有功功率放大器平均过程中隐含在数字-频率转换中完成的,加在AD7755上的输出电压值为U1和U2。F1和F2输出的脉冲频率F和输出电压信号的有效值U1和U2有一定的数量关系。F=(×U1×U2×G×F)/Uref式中;F为引脚F1和F2输出的频率(HZ);U1为差动输入电压的有效值(V);U2为差动输出电压的有产值(V);G为1、2、8、16取决于PGA的增益,由G0和G1的逻辑输入决定;Uref为基准电压(±%)(V);F1-4由主时钟CLKIN分频获得,分频系数由S0和S1决定电路连接图如图所示图AD7755电路连接图是一种新型的串行接口的8位数字静态显示芯片。它是由武汉力源公司推出的24脚双列直插式芯片,采用流行的同步串行外设接口(SPI),可与任何一种单片机方便接口,可同时驱动8位LED(或64只独立LED),本设计中,只要求显示不同用户的户号以及用电量,户号用2位整数表示,而电量用6位数表示,其中5位整数,1位小数,因此需要8个LED数码显示管119]。Ps7219内部具有1sx8RAM功能控制寄存器,可方便选址,对每位数字可单独控制、刷新,不需重写整个显示器。显示数字亮度可由数字进行控制,每位具有闪烁使能控制位。当引脚CON(13脚)置高电平,可禁止所有显示,达到降低功耗的效果,但同时并不影响对控制寄存器的修改。PS7219还有一个掉电模式、一个允许用户从1位数显示到8位数显示选择的扫描界限寄存器和一个强迫所有LED接通的测试模式。另外,PS7219A型内置一个可靠的监控电路,可为外部提供一个脉宽140ms,触发门限典型值为的高电平复位信号。主要的功能引脚说明RET:复位引脚;LOAD:装载数据输入,当LOAD位高电平,串行输入数据的最后16位被锁定;DIN:串行数据输入,在CLK的下降沿,数据被加载到内部16位移位寄存器;CKL:时钟输入,最高频率为500KHz。在CLK的下降沿,数据被移入到内部移位寄存器,在时钟下降沿,数据从DOUT输出;DIGI-8:8位数字驱动线它从显示器吸入电流;GND:接地:CON:显示控制器,低电平选通,高电平显示无效:DOUT:串行数据输出,输入到DIN的数据在个时钟周期后DOUT有效;DSP,G-A:七驱动器和小数点线,它供给显示器电流;V+:电源电压;图PS7219引脚图3.电路连接这里89C51的作为串行数据的输出,连接到PS7219的D创脚,和通过程序分别模拟PS7219的时钟脉冲CLK及其数据加载LOAD信号。PS7219的SA~SG、SDP端连接到各LED数码管对应的a一f及dP端,DIG0~DIG8分别接8位LED数码管共阴极,以实现位选,如图所示。图显示电路连接图工作原理DIN是串行数据的输入端,在CLK上升沿,一位数据被加载到内部16位寄存器中,CKL的最高时钟频率可达500KHz,在输入时钟信号的每上上升沿均有一位数据由DIN移入到内部寄存器中LOAD来卸载数据,在LOAD上升沿,16位串行数据被锁存到数字或控制器中,LOAD必须在16个时钟上升沿的同时或者之后,在下一个时钟上升沿到来之前变高,否则数据将会丢失。本章小结在本章中详细介绍了抄表系统的底层的硬件结构,完成电能数据采集和数据传输的模块设计,对其中各个部分的硬件设计都进行了详细的说明,这也是本设计中最基本的部分,在接下去的章节中,我们要对其硬件电路的软件控制及其流程进行详细的论述。第4章抄表系统软件设计在微机测量和控制系统中,软件的重要性与硬件同样重要。系统的硬件电路一旦确定以后,系统的主要功能还需要通过软件来实现。如果说硬件是躯体,那么软件则是灵魂;如果说硬件决定了产品的造价,那么在硬件设计合理的前提下,软件在很大程度上就决定了产品的性能。因此,智能仪表的设计很大程度上可以说是软件的设计,系统使用的方便性和灵活性主要体现在计算机的软件设计上。对高可靠性要求的远程抄表系统的设计就更是如此。软件设计的基本原则为了满足远程抄表系统的设计要求,应根据以下基本原则进行软件的编制:1.易读性和易维护性。这通常是指软件系统容易被发现和纠正错误,容易修改和补充。由于生产过程自动化程度越来越高,测控系统的结构也日趋复杂,设计人员很难在短时间内就能对整个系统理解得准确无误,软件的设计与调试也不可能一挥而就,在发现问题时又要便于修改和完善。在软件的设计方法中,结构化程序设计就是最好的设计方法之一,这种设计方法是由整体到局部,再由局部到细节;先考虑整个系统所要实现的功能,确定整体目标,然后把这个目标逐步分解成一个个任务,任务又可以进一步分解成若干个子任务,这样逐层细分、逐个实现。在此过程中可能会有一些问题逐步暴露,这就要求软件易被修改,那么,结构化设计就是最好的设计方法。远程抄表系统的软件设计就是采用上述模块化设计方法。这样,不但使得设计目标明确、思路清晰,而且在检错和系统联机调试时也较为方便。如果每个子程序都能单独运行,那么,像搭积木一样,把他们联合起来的时候,只要安排恰当,一般来说不会有太大的问题。即使有问题也可以根据问题的种类和现象来进一步判断是哪一部分出了问题,也为系统功能的扩充和移植提供了很大的方便。2.可测试性。系统软件的可测试性有两方面含义:其一是较容易制定出测试,并据此对软件进行测试;其二是软件设计工作完成后,首先在模拟环境下运行,经过静态分析和动态仿真运行,证明准确无误后才可投入实际使用。3.准确性。这对整个系统具有重要意义,对远程抄表系统而言就更具有实际意义,其结果的准确程度直接关系到千家万户的切身利益。因此,在算法选择和位数选择方面要满足实际要求、运算结构要符合国家相关的技术标准。4.实时性。它是检测系统的普遍要求,即要求系统及时响应外部时间的发生,并及时给出处理结果。近年来,由于硬件高度集成化和速度的提高,配合相应的软件,系统实时性的要求较容易得到满足,特别是对于使用汇编语言编制的软件。5.可靠性。它是系统软件最重要的指标之一,该要求有两层意义:第一是运行参数环境改变时,软件能可靠地运行并给出正确的结果,即要求软件具有自适应性;第二是在环境恶劣、干扰严重的情况下,软件必须保证系统也能可靠地运行,这对系统的整体可靠运行尤为重要。系统软件设计集中器主程序等待PC机发命令,当PC机发“电表清零”命令时,集中器先把存储器的电量清零,再向采集器转发“电表清零”的命令,当采集器终端接收到这个命令时,采集器同样先把采集器中的存储器电量清零,再向DF电表发“电表清零”命令,当DF电表接收到“清零命令”后,它把所有的电量清零,然后向采集器发“电表清零应答信号”,当采集器接收到DF电表的“电表清零应答信号”后,它就知道了电表清零命令己经接收到且已经完成,这时,采集器就可以向集中器应答了,集中器接收到后,它再把应答命令转发给PC机,PC机就知道“电表清零”命令己经完成。其它命令的执行路径与上述命令的执行路径基本相似,不再赘述。在集中器中,一方面要接收PC发来的命令、进行处理,或向存储器读取能耗、参数,或向存储器写入能耗、参数,另一方面还要根据情况把这个命令继续向其下一级站点的采集器转发,然后再等待接收采集器发来的应答命令,当采集器应答成功时,集中器就可以向PC机发应答命令了。在采集器中,采集器既要接收集中器转发的命令、进行处理,又要进行能耗、参数的预置和抄取,进行预置时要写入存储器,抄取时要读取存储器;又要与红外抄表器进行通信,进行能耗、参数的预置和抄取;还向DF多用户电能表发命令,需要打开向电表发送命令的通信使能端,转发命令、等待接收DF电表的应答,如不需要进一步向电能表发送命令时则要做处理成功的标志,这时采集器就可以向上一级集中器应答了。在整个远程抄表系统中,集中器的主要作用是通信,它是采集器和上位微机PC之间进行信息交换的桥梁和纽带。因此,在集中器的主程序中串行中断应该打开,使它处于接收PC机命令的状态。另外,它还要用定时中断方式来定时抄取采集器中储存的能耗等信息,定时时间约半个小时,之所以将定时时间设定为半个小时,主要是基于以下考虑:这里可以简单地计算一下,假设用户的月用电量为200度,平均每天7度、每小时不到度,对于一小时用户的电能耗而言,其在采集器中储存的对应电能耗数据变化很小。而且如果定时时间过短,对储存器的频繁读写、对CPU的资源占用过多。所以,本文将定时时间设定为半个小时。在集中器主程序中,应该处于等待接收状态。当PC机发命令时,集中器中断接收。且当接收PC机命令成功时,在中断中置接收PC机成功标志。在主程序中,当检测到这个标志时,调用相应子程序。这时主程序处于延时等待的状态,当处理成功之后,调用集中器向PC机应答子程序;当需要集中器进一步将PC及其发来的命令向采集器转发时,则调用集中器向采集器发命令子程序;当延时时间到却不成功的时候,就认为此次向采集器发送不成功,则再次向采集器发送,如果发送再次失败的话,则做故障处理。若成功,则调用向PC机应答子程序。当向PC机应答完成后,又返回主程序等待接收PC机的命令。AT89C51的主程序大部分是调用相应的子程序来实现电能脉冲的采集,分时段显示,通信功能的。它是整个电表的设计主线。上电复位后进入主程序,除了初始化程序和上电电量数据清零程序外,其他部分是一个无限循环的过程,电表的所有功能都在这个大的循环里面执行,其整个程序流程如图所示。图整个抄表系统的主流程图1.清零子程序的设计在整个抄表系统中,一开始处于运行的时候,为了避免误操作而使得电表中保存的数据丢失,所以清零程序应该在整个系统的波特率设置之后就该有效,即通电前按住清零键,液晶显示清零并且开始闪烁,之后松开清零键,整个系统就开始正常运行。这个清零包含了很多,包括脉冲计数单元的清零;运算单元的清零;单片机存储系统中的存储区域的清零,如图所示。图清零子程序的设计2.接收数据与通信的程序设计主程序中的串行中断打开,使它处于PC机的接收状态,还要用中断的模式来定时的收集数据采集模块中的能量数据。这里的主程序就该处于接收等待状态,且一直与上位PC机处于通信状态,当PC机发送命令时,主程序就中断,去接收数据采集模块中的能量数据,且在接收PC机命令成功时,设置接收成功的标志。这个时候主程序就处于延迟状态,等待采集程序处理,如图所示。图接收数据与通信程序3.数据采集子程序PC机向数据采集发送不同的命令,包括设置参数,抄表数据,保存数据,设置户号,电表数据清零等。这样数据的采集就需要一个个的去看PC机发送的什么命令,根据命令的不同来分支一步一步的处理,如图所示。图数据采集子程序4.脉冲采集子程序由于AD7755是脉冲计数能量,程序中判断脉冲的下降沿来时,进行脉冲计数,当各个用户的脉冲数大于160时,该用户的电量的存储区内自动的增加度,电量的累计值储存进入用户的电量储存区内,其脉冲采集的流程如图所示。图脉冲采集子程序5.显示子程序电表在运行的过程中,各个用户的电量在不断的累计相加,并且进入存储器的电量储存单元中,根据程序的设计要求,每隔一段时间显示模块就显示用户的信息,诸如用户号,用电量等。依次循环,在等到最后一户的电量的信息显示完毕就对所有用户的电量进行合并显示。程序流程如图所示。图显示子程序6.数据传送子程序在数据采集模块完成数据采集后,要有MCU主机关闭传送给网络的上行通道,并且将数据采集模块中的数据上传并保存,这个部分是关系到整个系统的数据的准确性的一个重要方面,所以他的程序设计也显得十分重要,流程如图所示。图数据传送子程序软件初使化设计以上给出了系统中所涉及到的子程序流程框架,显然每个部分的正确运行对整个系统的性能的调试起到至关重要的作用。当然每个芯片元件部分的上电初始化工作也是十分重的,系统的软复位,各个运算的初始值的恢复、定时、串口的初始化、时钟的设定、及其显示模块等。每个模块的算法也是本软件涉及的重要部分,下面对部分芯片的初始化做一些介绍。电路初使化X5045是系统数据存储和保证系统能够正常运行的看门狗电路正确运行的根本保证,使其与CPU的引脚连接后,要有正确的软件驱动来控制X5045的正确运行,在本系统中,利用了单片机的4根口线来与X5045的相应引脚相互连接。使其能够正确的通信。1.定义X5045的各个引脚,注意X5045芯片与单片机CPU引脚的连接关系。所针对的每个子程序复位、计数看门狗VoidRESWDI(void){if(es=0)……RSR(void)Void)式0和方式2在方式0中,波特率为时钟频率的1/12,即fosc/12,固定不变。在方式2中,波特率取决与PCON中的SMOD值,当SMOD=0时,波特率为fosc/64:当SMOD=l时,波特率为fosc/32。即波特率=2SMOD·fosc/64。2.方式1和方式3在方式1和方式3下,波特率由定时器Tl的溢出率和SMOD共同决定。即:方式1和方式3的波特率=2SMOD·Tl溢出率/32。其中Tl的溢出率取决于单片机定时器Tl的计数速率和定时器的预置值。计数速率与TMOD寄存器中的C/T位有关,当C/T=0时,计数速率为fosc/l2,当C/T=1时,计数速率为外部输入计时频率。实际上,当定时器Tl做波特率发生器使用时,通常工作在模式2,即自动重装载的8位定时器,此时TLI作计数用,自动重装值在THI内。设计数的预置值(初始值)为X,那么超过256X个机器周期,定时器溢出一次。为了避免溢出而产生不必要的终端,此时应禁止Tl中断。溢出周期为:12·(256X)/fosc溢出率为溢出周期的倒数,所以CPU通过中断方式接收PC机发送的数据,并回送。单片机串行口工作在方式1,晶振为6MHz,波特率2400,定时器Tl按方式2工作,经计算定时器预置值为0F3H,SMOD=1.工作在方式1时,串行口为波特率可调的11位通用异步接口USART,发送或接收一帧信息,包括1位起始位0,8为数据位和1位停止位1.(可参见图发送发送时,数据从TXD输出,当数据写入发送缓冲器SBUF后,启动发送器发送。当发送完一帧数据后,置终端标志Tl为1。方式1所传送的波特率取决于定时器Tl的溢出率和PCON中的SMOD位,将在下一小节讨论。接收接收时,由REN置1允许接收,串行口采样RXD,当采样1到0的跳变时,确认是起始位“0’’,就开始接收一帧数据。当RI=0且停止位为1或SM2=0时,停止位进入RB8位,同时置终端标志Rl;否则信息将丢失。所以,方式1接收时,应先用软件清楚RI和SM2标志。程序参考如下:ORG0000HUMPCSH;转初始化程序ORG0023hUMPINTS;转串行口中断程序ORG0050HCSH:MOVTHOD,#2OH;设置定时器l为方式2MOVTLI,#OF3H;设置预置值MOVTHI,#OF3HSETBTRI;启动定时器1MOVSCON#50H;串行口初始化MOVPCON#80HSETBEA;允许串行口中断SETBESLJMPMAIN;转主程序(主程序略)……INTS:CLREA;关中断CLRRI;清串行口中断标志PUSHDPL;保护现场PUSHDPHPUSHAMOVA,SBUF;接收PC机发送的数据MOVSBUF,A;将数据回送给PC机WAIT:JINBTI,WAIT;等待发送CLRTIPOPA;发送完,恢复现场POPDPHPOPDPLSETBEA;开中断RETI;返回软件设程序操作数据存储的正确与否,与时钟芯片的能否正常工作有直接的关系,比如电量的计数和抄送都能正确的完成,但是时钟不能正确的计数,那也是不行的,所以说时钟芯片的正确计时非常关键。1.写保护寄存器操作当写保护寄存器的最高为为0时,允许数据写入寄存器,写保护寄存器可以通过命令字节SE、SF来规定禁止写沁读出。写保护位不能在多字节传送模式下写入。:MOVCommand,#8Eh;命令字节为8EMOVByteCnt,#x;多字节传送模式MOVRO,#XMTDAT;把数据地址赋给ROMOVXMIDAT,#00H;调用写数据子程序ACALLSend-Byte;调用写数据子程序RET;返回调用本子程序处当写保护寄存器的最高为为1时,禁止数据写入寄存器,:MOVCommend,#8EH;命令字节为SEMOVByteCnt,#X;多字节传送MOVRO,#XmtDat;将数据地址赋给ROMOVXmtDat,#80;数据内容为80h(禁止写入)ACALLSend_Byte;调用写入子程序RET;返回调用本子程序2.时钟停止位操作当把秒寄存器的第7位时钟停止位设置为0时启动时钟开始:MOVCommand,#80H;命令字节为80MOVByteCnt,#x;多字节传送模式MOVRO,#XmtDat;数据地址赋给R0MOVXmtDat,#00H;数据内容为0振荡工作允许ACALLSend_Byte;调用写入数据子程序RET当把秒寄存器的第7位时钟停止位设置为l时,时钟振荡器停止,进入低功耗方式:MOVCommend,#80h;命令字节为80MOVByteCnt,#x;多字节传送模式MOVRO,#XmtDat;数据地址赋给ROMOVXmtDat,#80h;数据内容为80H振荡器停止ACALLsend_Byte;调用写入数据子程序3.多字节传送方式当命令字节为BE或BF时,DSI302工作在多字节传送模式8个时钟旧历寄存器,从寄存器0地址开始连续读写从0位开始的数据,当命令字节为FE或FF时,DSI302工作在多字节RAM传送模式,31个RAM寄存器从0地址开始连续读写从0位开始的数据。通信协议计算机与终端之间的数据传送可以采用串行通讯和并行通讯两种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同设备可以方便地连接起来进行通讯。本系统在采集器与集中器、集中器与上位机之间的通信都采用RS一485总线方式设计。RS一485总线是工业应用中非常成熟的技术,是现代通讯技术的工业标准之一,采用RS一485总线设计网络也是基于这些原因。RS一485总线用于多站互连十分方便,用一对双绞线即可实现,由于采用平衡发送和差分接收,即在发送端,驱动器将竹L电平信号转换成差分信号输出;在接收端,接收器将差分信号变成TTL电平,因此具有抗共模干扰的能力。通信采用的是USART口带有校验位的通信模式,即传输8位数据和第9位校验位,波特率设置为9600bps,采用中断查询方式。本协议为主一从结构的半双工通信方式。上位机PC与各集中器通信时,集中器为从站;集中器与所挂接的采集器通信时,采集器为从站。每个集中器和采集器均有各自的地址编码。通信链路的建立与解除均由主站发出的信息帧来控制。每帧起始符、从站地址域、控制码、数据长度、数据域、帧信息纵向校验码及帧结束符等7个部分组成,每部分由若干字节组成。每字节含8位二进制码,传输时加上一个起始位(0)、一个偶校验位和一个停止位(1),共n位。D0是字节的最低有效位,D7是字节的最高有效位,先传低位,后传高位。其传输序列如图所示图11位的帧格式帧是传送信息的基本单元。帧格式如表所示。表信息帧格式说明代码帧起始符68H地址符A0A1A2A3A4A5帧起始符68H控制码C数据长度域L数据域DATA校验码CS结束符16H帧起始符号68H:标识一帧信息的开始,其值为68H=01101000B控制码C:控制码的格式如图所示图控制码格式D7=O:由主站发出的命令帧D7=l:由从站发出的应答帧D6=0:从站正确应答D6=1:从站对异常信息的应答DS=O:无后续数据帧DS=l:有后续数据帧D4~DO:请求及应答功能码00000:保留00001:读数据00010:读后续数据00011:重读数据00100:写数据01000:广播校时01010:写设备地址01100:更改通信速率01111:修改密码10000:最大需量清零4.数据长度L:L为数据域的字节数。读数据时L≤200,写数据时L≤50,L=0表示无数据域。5.数据域DATA:数据域包括数据标识和数据、密码等,其结构随控制码的功能而改变。传输时发送方按字节进行加33H处理,接收方按字节进行减33H处理。6.校验码CS:从帧起始符开始到校验码之前的所有各字节的模256的和,即各字节二进制算术和,不计超过256的溢出值。7.结束符16H:标识一帧信息的结束,其值为16H=00010110B。1.前导字节在发送帧信息之前,先发送1~4个字节FEH,以唤醒接收方。2.传输次序所有数据项均先传送低位字节,后传送高位字节。3.传输响应每次通信都是由主站向按信息帧地址域选择的从站发出请求命令帧开始,被请求的从站根据命令帧中的控制码的要求作出响应。受到命令帧后的响应延迟Td:20ms≤Td≤500rns。字节之间停顿时间Th:Th≤500ms。4.差错控制字节校验为偶校验,帧校验为纵向信息校验和,接收方检测到偶校验出错或纵向信息校验和出错,均放弃该信息帧,不予响应。本章小结本章详细介绍了在整个底层硬件的基础上,为了能够正确实现远程抄表,必要的软件流程,并且对相应的硬件芯片中的驱动程序也给出了详细的说明同时定义了系统的通信协议。第5章系统的抗干扰设计自动抄表系统要求长年连续挂网工作,使用环境复杂,系统容易受到外部电源和磁场干扰。而系统运行的稳定性与广大用电家庭的利益紧密相关,因此,抗干扰设计是单片机应用系统研制过程中不可忽视的内容。为了有效的解决外部干扰造成的系统计量可靠性、准确性的降低,进而影响系统使用价值的问题,本课题从硬件、软件两方面采取措施,以求提高系统的可靠性。硬件抗干扰设计实践证明,系统失效和硬件损坏是由各种干扰引起的,而90%左右的干扰来自于电源。可见电源的优劣对系统的影响相当大。目前有以下几种电源可供选择。1)阻容分压式采用简单的阻容分压、滤波,这种电源稳压性能差、电源波动大、带负载能力小、电网干扰极易窜入。2)开关电源这种电源稳压性能好、波纹小,但成本高。3)线性电源这种电源稳压性能好、隔离性好、价格适中,电路如图所示。图稳压电源电路图本系统有如下几组电源:+5V供单片机;±5V供电能采集模块;+5V供通信模块单片机对电源要求最高,采用线性稳压电源。交流经过硅堆整流、电容器滤波、7805集成稳压模块稳压。通信模块亦采用线性稳压电源。电能采集模块使用±5V采用阻容分压即可满足要求,其具体电路见本文相关部分。用于存储电能数据的存储器,其存储的可靠性至关重要。一般思路是考虑24XX系列,写入次数允许10万次,在掉电时存储,可使用50年之久。一般使用寿命为15年,所以此法是可行的。光电隔离技术是通过光电耦合器将信号输入通道或信号输出通道与中央处理单元进行隔离,光电耦合器将输入信号通过内部发光二极管变成光信号,然后再由内部光敏三极管转变成电信号,将输入均输出完全实现了电隔离,因而也就完全隔离了输入和输出间的各种干扰。它通过光信号实现了有用信号的正常传输,是一种很好的抗干扰措施,因而得到了广泛的应用。本系统中采用光电耦合器既实现了传输信号,又隔离了干扰的作用。软件抗干扰设计在提高硬件抗干扰能力的同时,软件看干扰以其设计灵活,节省硬件投资,可靠性好越来越受到重视。在本系统中,采取以下几个措施:当微处理器受到各种干扰时,程序指针PC可能出错。因为MCS-51系列指令二字节、三字节指令较多,若运行至程序区,将操作数当成操作码执行,便会引起混乱;若跳到非程序区,很可能陷入某种循环不能出来。所以,针对以上两种情况,分别采取不同的方法解决。首先采用指令冗余的办法,在程序出错时,便可以自动纳入正轨。具体措施是,在N字节指令后加N-1个空操作指令;其次,在非程序区,设置LJMP0000的陷阱,使程序能软件复位。正常掉电时,微处理器检测到掉电检测电路送出的掉电信号后,在几十毫秒内将电能数据写入EEPROM,这是最起码的要求。但在程序指针PC出错时若改变电能数据寄存器并把错误的数据写入EEPROM中,这是不允许的。另外,电表在校验时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论