毕业设计文献综述
题目:电子式IC卡预付费电度表软件方案的设计
专业:电子信息工程
前言部分
IC卡预付费电度表是以IC卡作为电能量值数据传输媒介,在电度表(电子式电度表或机械式电度表)中加入负荷控制部分等功能模块,从而实现电量抄收和电量结算功能的智能型电度表。
IC卡又称集成电路卡,是1974年一名法国新闻记者发明的。随着国内各个行业服务意识的增强,IC卡技术的发展越来越迅速,在居民用户日常生活中,IC卡技术的应用越来越广泛。尤其是在相关的计量表计中,例如电表、燃气表、水表、暖气表,IC卡技术的应用已经很成熟了。目前,很多居民区都已经开始采用IC卡来数据管理,包括抄表、收费、控制,这使IC卡表成为目前国内应用技术发展的一个亮点。
已有的电表收费方式包括:(1)人工抄表收费的方式,这个方式下用户安装的是普通计量仪表,工作量大,管理人员数量需求多,要在固定的时间内,由管理人员上门抄表和收费;(2)自动抄表收费的方式,这种方式技术难度很高,通讯网络建设及维护成本也很大,用户安装的是具有通讯能力的计量仪表,通过通讯网络系统,自动完成用户计量仪表的数据抄收,然后通过金融网点以自动或人工方式完成缴费;
(3)IC卡电表收费方式,这是一个能完成电量抄收和电量结算的新型电表,即在电能计量仪表中加入IC卡及负荷开关控制等功能模块,不需要人工抄表,更有利于现代化管理,历史购电数据都能保存,便于管理,也便于客户查询。目前IC卡电表发展状态:
95年之前:以93C46和24C01为主,以各种钥匙方式存在的电可擦除存储芯片(EEPROM)或一般存储卡,主要在物业小区使用。
95—99年:以存储卡和逻辑加密卡为介质,出现了以城市为单位,大范围使用IC卡表的状态,使用范围从单纯的物业小区扩展到行业管理部门,尤其以电力部门较为突出。
98—至今:出现了以CPU卡以及ESAM模块方式为加密介质的IC卡表,并逐渐向CPU卡和ESAM模块方向发展,首先由北京供电局在北京市全面推广,然后其他省市也开始推广,从此IC卡电表进入成熟期。同时IC卡水表和IC卡气表也逐渐进入高速发展期。
通过本次设计希望能克服接触式电能表无法解决无接触和无源的问题,即设
计一个非接触式IC卡电能表。在系统软件软件方面,采用模块化程序设计,以便于调试和功能扩充。系统通过软件的设计,具有电量显示,预收费,电量不足时自动报警等功能。同时,采用看门狗的软件技术,防止外部信号的干扰,确保电能表的稳定性。总之,所设计的系统要具有可靠性高、使用方便、反应迅速等特点。
主题部分
本次设计要设计出主控系统是以CPU为核心的数据处理单元的电能计量系统,系统能分别实现电能的正确累积、显示用户的耗电数外,可实现预收费、自动报警和供电管理部门网络化的管理手段,而其中的软件设计,使其具备预期功能。
一、单片机介绍
单片机是一种集成在电路芯片,是采用超大规模集成电路技术,把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、定时器/计时器、中断系统、多种I/O口和显示驱动电路、模拟多路转换器、脉宽调制电路、A/D 转换器等电路,集成到一块硅片上构成的一个小而完善的计算机系统。
8051[1]单片机是由中央处理器CPU(运算器和控制器)、存储器(RAM和ROM)、I/O口(P0、P1、P2、P3)、定时器/计数器、中断系统以及特殊功能寄存器SFR 等构成。
MCS-51单片机的引脚
下面分别说明DIP封装的40个引脚的功能:
1) 电源及复位引脚
(1)VCC(40 脚):电源端,接+5V。
(2)VSS(20 脚):接地端。
(3)RST/VPD(9脚):RST即为RESET,VPD为备用电源。该引脚是单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。当VCC电源降低到低电平时,RST/VPD线上的备用电源自动投入,以保证片内RAM中的信息不丢失。
(4)EA/VPP(31脚):EA为片内外程序存储器选用端。该引脚为低电平时,单片机只选用片外程序存储器;该引脚为高电平时,单片机先选用片内程序存储器,然后选用片外程序存储器。VPP片内EPROM编程电压输入端,当用作编程时,需输入21V编程电压。
2) 晶体振荡器接入或外部振荡信号输入引脚
(1)XTALl(19脚):晶体振荡器接入的一个引脚。采用外部振荡器时,此引脚接地。
(2)XTAL2(18脚):晶体振荡器接入的另一个引脚。采用外部振荡器时,此引脚作为外部振荡信号的输入端。
3) 地址锁存及外部程序存储器编程脉冲信号输出引脚
ALE/PROG(30脚):地址锁存允许信号输出/编程脉冲输入引脚。ALE为地址锁存允许信号输出引脚,当8051单片机上电正常工作时,自动在该引脚上输出频率为f osc/6的脉冲序列。当CPU访问外部存储器时,此信号作为锁存低8位地址的控制信号。PROG为编程脉冲输入引脚,当对片内ROM编程写入时,此引脚作为编程脉冲的输入端。
4)外部程序存储器选通信号输出引脚
PSEN(29脚):外部程序存储器选通信号,低电平时有效。当从外部程序存储器读取指令或数据时,每个机器周期,该信号两次有效,从而通过数据总线P0口读取指令或数据。
5) I/O引脚
(1)P0.0~P0.7:8位数据/低8位地址复用总线端口。
(2)P1.0~P1.7:静态通用I/O口。
(3)P2.0~P2.7:高位地址总线端口。
(4)P3.0~P3.7:双功能端口。
二、编译语言及软件
随着单片机开发技术的不断发展,目前已有越来越多的人在开发时开始使用高级语言来代替汇编语言,其中主要是以C语言为主。C语言[1]具有良好的模块化特性,易阅读和维护等优点,用C语言编写的程序有很好的可移植性,功能化的代码能够很方便地从一个工程移植到另一个工程,从而减少了开发时间。C语言的特点就是可以使程序员尽量少地减少对硬件的操作,它是一种功能性和结构性很强的语言。对于大多数51系列单片机,使用C语言这样的高级语言比使用汇编语言有优势。
使用C语言肯定要使用到C语言编译器,即把写好的C语言程序编译为机器码,这样单片机才能执行编写好的程序。Keil μVision2是众多单片机应用开发软件中优秀的软件之一。μVision2 IDE是基于Windows的开发平台,包含一个高效的编辑器、一个项目管理器以及MAKE工具。μVision2支持所有的Keil C51工具,例如C语言编译器、宏汇编器、连接/定位器、目标代码和HEX的转换器。
三、程序模块设计
设计的主要内容和基本要求包括:
(1)设计中采用CPU控制技术,即采用80c51系列的单片机,通过对单片机的编程,使它具有使电能表具有正确累计、显示用户耗电数。
(2)单片机的程序,即软件的设计,需满足IC卡预收费的相应的功能:
①应具有读取IC卡的电度数并显示用户可使用的电度数的功能。
②应具有限量供电功能:当电表中可供使用的电度数到达警戒位时,加以提示,当表中供使用的电度数为零时,自动断电。
③应具有过载保护功能。
④应具有保密功能,保证一卡一户,互不通用。
c语言编译器ide代码编辑⑤应具有掉电保护功能,使停电时,表中数据可靠保存等。
1)数据采集
在单片机的实时控制和性能测试等应用系统中,往往需要将一些连续变化的模拟量转换成数字量,这样
才能输入计算机中进行处理,这种完成模拟量向数字量转换的集成电路就是模数(A/D)转换芯片。ADC0809[2]是比较式8位CMOS模数A/D转换器,有8个通道,可输入8路模拟信号,芯片内设置了8路模拟选通开关,以及相应的通道地址锁存及译码电路,因此能对多路模拟信号进行分时采集与转换。ADC0809具有以下主要特性:
(1)8路8位A/D转换器,即分辨率为8位;
(2)具有转换启停控制器端;
(3)转换时间为100us;
(4)单个+5V电源供电;
(5)模拟输入电压范围为0 ~ +5V,不需零点和满刻度校准;
(6)工作温度范围为-40 ~ +85o C;
(7)低功耗,约15mW。
2) 时间显示
PCF8563[2]是PHILIPS公司推出的一款属于工业级,内含I2C总线接口功能,具有极低功耗的多功能时钟/日历芯片,通过C51嵌入式软件对PCF8563的各个功能寄存器进行当前时间值的写入初始化,再读出PCF8563相应寄存器的秒、分钟、小时、日、星期、月和年的值,并分别在1602液晶显示器和七段LED数码
管上进行实时显示,从而实现准确计时的功能。
I2C总线[3],即采用双线传输,一根为串行数据线(SDA),另一根为串行时钟线(SCL),这两根线均为开漏或集电极开路门输出,允许多个设备之间的相互连接。24C16是一种2Kx8串行EEPROM,它采用I2C总线与其它芯片连接,工作方式为从器件方式;每字节可擦/写100万次;数据保持时间可大于40年;有l6个字节的页面写缓冲地址区域;写入时带有自动擦除功能,并有自我写入定时的功能;页面写周期约为5~10ms。其总线规程定义为:(1)仅当总线不忙时,数据传送才能开始;(2)数据传送期间,无论何时时钟线为高,数据线必须保持稳定;(3)当时钟钱为高时,数据线的变化信号将作为传送的开始或停止的条件。
在家用电器、实时工控、仪器仪表等以单片机为核心的微处理器系统中,经常要求数据或状态参数不仅能够在线修改,而且在断电后也能够保持,以便在下次开机时,系统能够恢复到上次退出的状态,在系统中配置EEPROM就可以实现掉电保护功能,使停电时能够完整保存电表中的数据。
3)准确的电能计量
电度表的精度和电流电压互感器是影响用户用电量计量的准确度的直接因素。电度表的检定数据均由人工计算处理,所有数据送交微机室由人工录入计算机存档管理,人为判断校准国家计量检定规程的要求范围,检定结果的真实性不能确保。但是,非接触式IC卡预收费电度表的计费方式为用户持卡购电的消费方式,实现了电费收缴管理自动化,降低了错误率。
目前,电能计量[4]-[6]面临严重的用电非线性和随机性,这要求计量系统的智能化,要考虑到在谐波信号、非稳态畸变信号等复杂信号条件下的电能计量,确保电能计量的准确性。基波电能的计量主要有感应式电能表、机电式电能表、电子式电能表和智能电能表。谐波的计量主要有以下几种思路:
①采用综合功率的方式,基于基波型电能表计量包括基波功率、谐波功率在内的综合实际功率;
②采取检测与分离的手段分别计量;
③专用的谐波表进行计量。
采用功率分解测量方法,准确地计量非稳态畸变信号条件下的电能;
①FFT方法,是一种按频率点进行信号分解的方法;
②小波变换,具有多分辨率分析的特点,而且在时频领域一样具有表征信号局部特征的能力,是一种时间窗和频率窗都可以改变的时频局部化分析方法;
③傅里叶变换和小波变换结合的方法对电网畸变信号进行分析与检测。
4)干扰问题
单片机应用系统的可靠性是指在指定的应用环境和条件下,系统稳定工作的能力。解决抗干扰问题可以从两方面入手:一方面是从硬件设计角度,提高系统