物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

智能IC卡电能表设计

作者:庞桂云 瞿晓东 闫广明
来源:中国一卡通网
日期:2007-12-27 17:54:34
摘要:为了减少电能收费管理中人力、物力的浪费,减少不安全因素,本文进行了智能IC电能表设计研究,通过多种技术手段,降低了仪表的功耗,提高了仪表的测量精度.使仪表具有较高的可靠性.科学地计算用电量,为用电用户与供电公司之间提供了准确的收费依据;智能电能表具备预付费功能和密码保护功能,从根本上解决了供电公司收费难的问题。

0 引 言 

    IC卡的使用与其应用系统是密切相关的。一方面,采用IC卡可以使系统的运作更富创造性;另一方面.应用系统又会不断地对IC卡提出新的要求.促使其功能更加完善。因此.怎样把IC卡与实际应用有机地结合起来。充分发挥IC卡的优越性.一直是IC卡技术的一个重要课题.智能IC卡电能表就是IC卡技术的一种实际应用。

1 智能IC卡电能表的结构与工作原理 

    智能IC卡电能表是将传统的电能表的机芯和高水平的测控电路集成在一个整体的表壳内,既保持了计量精度.又具备了表计运行状态的自动化管理功能。同时能杜绝人为破坏系统和私自开启IC卡控制系统导致的控制失灵行为。根据上述功能其结构设计如图1所示。

图1 智能IC卡电能表的总体结构图

    智能IC卡电能表在电子计量工作原理基础上.加上西门子SLE4442IC卡控制器和PIC16C62B单片机构成智能IC卡控制功能。当计量模块发出脉冲号或用户插入IC卡时.仪表进入相应工作状态。首先,运算控制模块将存储在电能表数据存储模块中的用户电量剩余值取出并在LCD液晶显示模块上显示。接着,判断是否是计量脉冲到来,若是则启动计数及计算功能.计算此时的用电量.经过一定的运算得到这段时间中用户消耗的用电量。那么,上次用户预购电量剩余值减去用电量后,得到的就是新的用户预购电量剩余值。如果该值小于某一值时,仪表输出指令关闭开关,停止对用户的电能供应,电能表也进入低功等待状态。此时用户可以持IC卡到供电单位购电。 

    当该用户将已经购电的IC卡插入电能表的IC卡接口中,电能表被唤醒。如果IC卡是合法卡,电能表将IC卡中储存的预购电量数据解密后与原来用户预购电量剩余值相加得到新的用户电量剩余值,同时擦除IC卡中储存预购电量数据.打开继电器开关.从 而恢复了对用户的电能供应,电能表随后又进入计量状态。预购电量剩余值、累积电量等可用按键选择查看。若用户电量预购剩余值过少时,电能表将提示用户需要购电。

1.1运算控制模块 

    智能IC卡电能表选用PIC16C74作为其控制模块。PIC系列微控制器是美国Microchip公司率先推出的采用精简指令集计算机fRISC——Reduced Instruc.tion Set Computer)、哈佛(Harvard)双总线和两级指令流热线结构的高性能价格比的8位嵌入式控制器(Em.bedded Controller)。它具有高速度(每条指令最快可达160ns)、低工作电压(最低工作电压可为3V)、低功耗
(3V,32kHz时耗电151µA) 及较大的输入输出直接驱动LED能力(灌电流可达25mA)。芯片的低价位、小体积、指令简单易学易用(35~37条指令1及优秀的抗干扰能力都体现了微控制器工业发展的新趋势。其中PIC16C74型单片机更具有静态低功耗休眠功能和通过内部或外围中断方式唤醒转入正常工作方式功能。考虑到经济性和实用性.智能IC卡电能表开发调试阶段采用紫外线可擦除双列直插式芯片.最后现场运行产品选用的是一次性用户可编程型器件OTP。PIC16C74作为智能IC卡电能表的核心器件,采用串行通信方式与IC卡、EEPROM,DS1302等外围器件连接、通信,简化了件电路,从而降低成本。

1.2 计量模块 

    最早的电子式电能表只能通过使用分立元件来实现,但是随着微电子技术的发展,电能计量新技术和新产品不断问世,目前已开发出用于各种电能计量的专用集成电路,如单相电子式电能表专用集成电路BL0931、单相全电子式电能表专用集成电路BLo932、静止式电子电能表专用大规模集成电路GW6832PA等。虽然这些电路在内部集成了电能检测电路.但是其外围电路的设计和调整比较复杂,因此在设计中采用了电能表专用厚膜电路HDB6作为电能测量芯片。 

    电能表专用厚膜电路HDB6是一种采用厚膜工艺技术,把计量IC与其相关的阻容元件二次集成到陶瓷基板上的模块化单元电路。由于采用厚膜工艺技术,使得电路的绝缘性能、阻值精度、温度特性、外部环境适应性都比一般分立焊接的电路有明显的改善,而且计量电路外围芯片的高度集成减少了贴装(插装1元件及焊接点,提高工效,增加产品可靠性及设计产量。同时HDB6还采用单排直插式引脚.使得电能表内部结构简单,便于装配、调试和维修。

    HDB6的实际工作电路如图2所示。其中AC— OUT1是220V交流电压的火线输入;AC_OUT是220V交流电压的火线输出;DATA1是经过光耦隔离输出的功率脉冲。由于220V交流电压不能直接加到芯片内部的计量IC的输入端,所以计量IC中所需的
电压采样值和电流采样值是通过电阻网络对电压进行分压和对锰铜合金上的负载电流采样得到的。获得的电压及电流采样值被送入计量IC中的乘法器相乘.乘法器输出经过转换器转换为占空比反应瞬态功率的脉冲序列输出。

图2 HDB6工作电路图

    图2中R3 是一个小电阻的锰铜片电流采样电阻,从R3 上采样得到的电流经过能R2和R 5输入到计量IC的采样电流输入端,可在电能表的小电流线性出现正偏差或负偏差时通过调整保证输出的线性化,其取值与R3 上2线端选取的位置有关。电流采样电 阻R3 的大小选取一般存在以下问题:选取的电流采样电阻过小时,芯片对于小信号的处理就比较差,特别是小信号时的非线性误差和启动电流的指标容易变坏;而若电流采样电阻选取得太大,则会因为受到电流输入端动态范围的限制,使电能表的过量程指标降低。为此在设计中,与HDB6一同购买了370µΩ 的电流采样电阻,这样直接选取100µΩ的R2 和R5 就可以基本实现输出的线性化。在这里输出的脉冲为3750P/kWh。

    c3和c5用于实现电源滤波,在HDB6内部的计量IC需要输入+5V和一5V电压,所以HDB6中通过阻容分压、半波整流、电压箱位来实现供电,通过接入C3、C5 ,可滤除交流电所带有高频信号。

    在HDB6的电路中采用高精度的手表晶体谐振器作为时钟基准源。在电能表正常工作时要求该晶体必须稳定可靠的工作。也就是说在长时间工作中,晶体必须保持在一定的振荡幅度范围内,若晶体出现老化将导致频率漂移、停振而影响电能表的正常工作。在设计中使用的是谐振频率为32768Hz的晶体振荡器。接在11脚的R,用来调整电能表输出的相对误差,只要选取适当的阻值便可使此电路的相对误差控制在规定范围内。在实际应用前,通过比较功率表与测量的功率值,手动调整R,来实现测量模块的精度。

1.3 IC卡读写及接口模块 

    IC卡读写接口电路主要由IC卡卡槽和保护电路构成。当卡插入卡槽时,各引脚一一相连,实现了PIC单片机和IC卡的串行通信,并对插卡进行保护,硬件电路图如图3所示。与SLE4442相连3个I/0 口(RST,CLK,t/o)均需接上拉电阻,若选用的单片机I/0口内有上拉电阻,则可以省去;也可以加钳位保护二极管,抑制由于线路干扰和逻辑电平变化的边沿抖动所带来的瞬态过压。在电压稳定、干扰很小的情况下,可以不加。

图3 IC卡接口电路

    智能IC卡电能表的拔插式卡槽采用滑动触点.具有电路接触良好、通信可靠的优点。其卡插入检测开关K2在无卡插入时为高电平;当卡插入到位时,该引脚为低电平(与K1短接),使得单片机能检测到IC卡插入。IC卡的电源Vcc应受控于单片机,即IC卡插入卡座后才给IC卡供电,取卡后则不供电。具体方法为采用能提供IC卡所需10mA电流的受控三态门或三极管,这样可以有效地防止带电拔插,延长IC卡的使用寿命。若被铁片插入,单片机能检测到短路.则不让RAO输出低电平,从而使IC卡断电。

1.4 液晶显示模块 

    在显示控制上,为了建立良好的人机交互界面.选用段式液晶显示器SMSO868。显示模块用于根据不同按键操作,分别显示当前系统时间、用户设定的时间、预存金额、流量、温度、压力以及出错信息等。显示部分采用的是段式液晶显示模块,可以显示8个数字和6组提示符。该模块为反射式正显示,用三线式串行接1:I与计算机进行通信,其外观如图4。

图4 SMS0868界面

    上电初始化时,应先依次输入“100”,再输入8位指令码.对LCD进行相应设置,送完指令码后CLK脚需再送一个空脉冲。接着,用户可以将需要显示的数据,按映象位顺序转换成对应二进制显示代码,放在固定数据存储地址进行调用显示。本系统即将其存放在数据寄存器BCD0~BCD7中。在CS、CLK均为低电平时,先从DI脚输入“101”,然后只需按照时序将待显示数据的代码逐次移位输入DI脚,CS跳变将所输入的数据锁存,进行显示。

2 软件设计 

    智能IC卡电能表的功能是在软件支持下完成的。其软件采用PIC系列单片机的汇编语言编写。由于汇编语言编写的程序,结构紧凑,效率高,程序全部固化在PIC16C62B单片机的2K字节的程序存储器中。 

2.1 主程序 

    图5是主程序流程图。上电初始化后进入主循环:首先是按键检测。然后是电源电压检测,用来检测电源掉电和电池电压不足。IC卡检测是为了判断是否有卡插入。在卡正确插入的条件下,对卡进行识别和读写。电能表脉冲检测程序则是根据有无脉冲来判断是否正常用电。并根据不同的检测结果进行相应的处理。经以上检测之后,通过液晶显示出电能表控制电路的相关信息以及用电量。



图5 智能IC卡电能表设计主程序流程

2.2 IC卡检测 

    IC卡检测流程采用了模块化设计。首先检测是否有IC卡插入。在正确插入的前提下。对IC卡进行密码校验。读取IC卡存储单元中的内容后。对卡进行鉴别,识别出是哪一类型的卡,其中包括初始化卡、定量卡、清零卡、用户卡四种类型。根据鉴别结果进行相应的处理。图6为IC卡检测流程图。



图6 IC卡检测程序流程图

2.3 电量检测

    电能表的脉冲检测实际上就是对数字量的采样。为防止外界干扰。对电能表电量的采样是通过两个脉冲的检测后确定一个有效脉冲。脉冲存在时就在现有电量的基础上减1。直到电量达到报警值时,蜂鸣器进行声音报警,提示购电。 

3 数据加密 

    本智能IC卡电能表数据加密是通过对密码存储器的操作实现的。通过校验密码校验输入密码与芯片内的密码是否相符。若相符则对主存储器的写操作使能,以及对密码存储器的读写使能;若错误,计数器则将失败的校验次数记录下来。为了防止通过多次校验以获取密码的可能性。设计了连续3次错误校验芯片自锁功能。 图7是密码校验的程序框图。



图7 密码校验的程序流程图

    同时。IC卡作为预付费电能表的信息传送载体,其加密卡的密码安全关系到其加密数据的保密性。新购入的批量IC卡,一般都拥有相同的通用密码GP。为此实行一张卡一个密码。同时,电能表如何安全、方便地获得IC卡新密码NP,也是必须加以关注的。其实现步骤如下:

    (1)收费站计算机系统安装初始化收费站特征号,比如CH、ZH。系统将数据存入加密钥模块。
    (2)在进行新用户开户时,按次序分配一个唯一的ID,计算出中间密码值MP=f1(CH,ZH,ID),将MP写在IC卡的应用存储区,ID写在IC卡上的保护存储区,生成新密码FP=f2(MP),取代原通用密码GP。
    (3)第一次电能表插卡,电能表读取用户号ID、MP,生成IC卡新密钥FP=f2(MP),存储户号ID 和FP,擦除MP。
    (4)再次购电时,系统软件将读卡上户号ID以及加密钥内的CH、ZH,生成新密钥FP=f2(f1(CH,ZH,ID)),核对正确后进行购电写卡操作。
    (5)电能表再次插卡,电能表首先将对储存在表内的FP值与IC卡密码进行校核.正确后方可进行读入购电量等操作。

    利用上述操作,IC卡电能表就有了新的IC卡密码,并保持不变,电能表和IC卡储值卡之间建立了一对一对应关系。这种IC卡密码安全方案最大优势在于管理系统内不保存每一新卡的新密码,每一次购电时可根据公开的用户号ID运行不公开的算法生成, 这就从各个环节最大限度保证了IC卡密码不被泄露,从而预防了非法用电现象的发生,保护了供需双方的利益。 

4 试验结果
 
    经实验表明.该电能表具有精度高、抗干扰能力强、并且不受功率因数大小影响的特点。计量精度达到0.5等级。而市场销售的同类电能表的计量精度为1.0等级或更低。该电能表在长时间的实际使用测试过程中没有出现死机等情况。另外,该电能表还具有体积小、成本低、工作可靠、便于安装调试和电量低等特点。完全能满足工业及民用的要求。

5 结束语 

    智能IC卡电能表运用脉冲扫描解决了收费难问题,保障了供电公司和消费者双方的利益不受侵害。这是本电能表设计中的一大特色。该电能表在硬件电路设计中紧跟电子产品市场走向,采用当前功能比较强的PIC系列单片机、总线结构技术、SLE4442逻辑加密存储卡以及LCD液晶显示电路。同时,从IC卡密码安全、卡上数据加密、数据校验等几个方面进行工作,提出了一个新的“一卡一密,数据加密,双向鉴别”的综合数据安全方案,该方案简单实用、安全可靠.为IC卡预付费仪表提供了一个新的思路。 

参考文献
【1】王爱英.智能卡技术[MI.清华大学出版社,2000.
【2】李刚健,刘鹏,程宪平.微功耗智能IC卡燃气表的研制叨.微型机与应用.2902,(4).
【3】谢红,林海英,张文鑫.PIC系列单片机的特点及其在IC卡预收费水表的应用.应用科技,2002,(3). 

作者简介:
庞桂云(1974一),女,哈尔滨人,讲师,毕业于哈尔滨工业大学,硕士研究生。主要研究方向为测试控制。Email:pangguiyun1974@163.com
瞿晓东(1974一),男,湖北宜昌人,讲师,哈尔滨理工大学硕士研究生。主要研究方向为P/C单片机及模拟电路设计。
闫广明(1975一),男,黑龙江呼兰人,讲师,哈尔滨工程大学硕士研究生。主要研究方向为PIC单片机及嵌入式系统开发。