来源:中国一卡通网 作者:芦博,郭金旭 发布时间:2009-12-22 15:24:06 字体:[大 中 小]
摘 要:CPU卡作为特殊的嵌入式操作系统的微控制器,已经呈现出越来越旺盛的生命力。介绍了用l6位超低功耗单片机MSP430F413来开发CPU卡智能水表,分析了各模块的硬软件设计。
1 序言
IC卡按其工作方式分为接触式IC卡和非接触式IC卡两大类。在接触IC卡中,按其工作原理,一般可分为存储IC卡和智能卡即CPU卡两类。存储卡内部不含CPU,只能由硬件逻辑完成密码校验,具有一定的安全性但其密码容易在线路中被跟踪破译,一般在安全性要求不高的情况下使用。CPU卡由于内部带有微处理器在性能上比存储卡有很大提高,CPU卡的这些优势使其在智能卡表、通信设备、交通收费、网络安全、金融设备等领域得到越来越广泛的应用。主要表现为:
安全性:CPU卡采用密钥管理机制,认证过程通过加密算法运算动态进行,在实际应用中被破译和攻击的可能性很小。
兼容性:CPU卡信息传输方式遵循ISO7816.3国际标准,这样芯片升级时不需要对系统内的微控制器程序进行改动,这是存储卡和逻辑加密卡所不能做到的。
可扩展性:由于CPU卡采用文件方式对数据进行存储,并且可以对不同应用的数据文件进行目录管理,这样很容易实现一卡多用的方案。规范性:采用CPU卡的COS操作系统一般都满足金融卡规范, 如SMARTCOS符合中国人民银行PBOC金融卡规范,这样就可以很方便地实现收费管理与金融系统的接轨。
2 CPU卡智能水表系统的总体设计
CPU卡智能水表采用了超低功耗的微处理器MSP430F413,采用低功耗模式和晶振设置,使得工作功耗进一步降低。CPU卡不同于普通的IC存储卡,是一种自带COS(CardOperation System)嵌入式操作系统的做控制器。COS系统由文件管理、传输管理、安全管理和命令解释四个功能模块组成。
CPU卡智能水表系统由缴费系统,读卡器,CPU卡智能水表构成。CPU卡智能水表是通过CPU充值卡在缴费系统和水表间进行数据交换。用户将CPU卡在缴费点对卡进行充值后,再使用CPU卡对水表进行充值。智能水表模块对用户的用水量进行计费,扣除相应金额。且液晶屏实时显示用水量,剩余金额,阀门控制状态等。
CPU卡较IC逻辑加密卡而言,增添了密钥管理机制认证系统,通过加密算法(采用DES加密算法)运算在用户卡和ISAM 卡/ESAM 模块之问动态进行。用户卡与ISAM 卡/EsAM 模块之间传递的是一种动态的伪随即码。在实际应用过程中被破译和攻击的可能性非常小。在性能上比IC存储卡有较好的安全性,兼容性和扩展性,并且升级不需要对MSP430F413芯片内的程序进行改动,只需对上位机发卡系统上对CPU卡内的数据文件进行改动。
3 CPU卡硬件设计框图
CPU卡智能水表硬件采用TI公司的超低功耗16位微处理器MSP430F413及其外围电路组成。硬件框图如图1所示,主要包括:控制芯片MCU、电源管理模块、流量检测电路、阀门控制电路、LCD显示电路、CPU卡接口电路、ESAM模块接口电路。
4 CPU卡智能水表各模块的硬件及软件设计
4.1控制芯片MCU
单片机采用MSP430F413,它采用了FLASH存储器,并具有以下一些特点:
1)超低功耗:MSP430F413运行在2.2V,1MHz时钟条件下,其工作电流根据工作模式的不同在0.1 A~300~A之间,其工作电压范围1.8V~3、6V。
2)处理能力强大:采用RISC指令集,核心指令27条,并具有丰富的寻址方式。片内寄存器数量多,有高效的查表处理方法。
3)片上外围模块丰富:MSP430F413具有FLL+(频率锁相环)时钟系统,看门狗带,有三个捕获/比较寄存器的16位定时器(Timer A),片内比较器,96段LCD驱动器,48个通用I/O引脚,并且端口P1和P2具有中断能力,每一引脚都可以单独选择中断触沿、单独允许中断。
4)开发方式简便高效:MSP430F413具有JTAG接口,可以方便的通过JTAG控制器实现程序的下载和调试。
5)具有5种节电模式,掉电电流(RAM数据保持)最低可为0.1uA,提供从待机模式中快速唤醒功能,唤醒时间小于6um。平时单片机处于低功耗模式3,流量检测,CPU卡数据操作等都以中断方式唤醒,以节省功耗。
4.2电源管理
采用3.6V的电池对系统供电, 当电池电压小于3v时,由于利用MSP430F413内部的比较器,以中断方式唤醒单片机,及时关闭水表阀门并保存相应数据,提示用户更换电池。对LCD显示,CPU卡接口电路等的供电在需要操作时才打开,以减小不必要的电流损失。原理图如图2所示。
比较器内寄存器设置如下:CACTL2=P2CA1;//CA1选择外部信号输入,CA0不选择外部信号输入CACTL1=CAREF 3+CAON;11基准电压采用第三种模式CAPD:CAPD6+CAPD7
4.3流量检测
将用水量转换为脉冲信号,采用两个脉冲传感器对脉冲信号进行接收,防止抖动产生的多计数现象。通过一定的程序设置,判断两个传感器是否正常工作,若不正常,则认为是外界强磁干扰,关闭阀门。原理图如图3所示。
4.4 阀门控制电路
特殊情况下,控制水表阀门的开关,选用饱和压降为0.2V的三极管8550和8050的对管构成电机驱动电路,既可以保证电机的驱动电流又可在故障时限制最大电流<500mA。原理图如图4所示。
4.5 CPU卡以及ESAM模块接口
CPU卡的外部引脚有8根,实际用到的有5根,即VCC、RST、CLK、GND和I/o。MSP430是64脚QFP封、蟪有48个通用I/O口。这里采用P1.2/TA1,利用定时器A模拟实现与CPU卡通信,原理图见图5。
模块工作的时钟,由于MSP430单片机独特的性能,可以利用P1.1/MCLOCK 口输出1M 到5M 的时钟,利用此时钟可以很好地实现MSP430和CPU卡的通讯时钟同步。
单片机的P1.2口用来实现单片机和CPU卡的双向数据通信,由于CPU卡的VO口采用的是集电极开路方式,使用时要在口线上外接上拉电阻。
单片机的P1.3口用来控制CPU卡的复位CPU卡采用的是低电平复位方式P1-3口平时为低电平。CPU卡工作时为高电平。
5 结束语
智能预付费水表是智能小区抄表系统的一个重要组成部分,彻底地改变了传统的抄表模式。高性能的智能水表的设计是基于低功耗和数据安全性的,低功耗设计使得水表在电池供电情况下也能正常工作长达数年时间(>8a)。本文所介绍硬件设计已通过实际的开发和运行,达到预期效果,并提出了用CPU卡替代IC逻辑加密卡的新观点,增添了密钥管理机制认证系统,在实际应用过程中被破译和攻击的可能性非常小。另外,在传统抄表系统的基础上增加了电源管理及流量监测,避免了电流损失和外界干扰。
(文/武汉理工大学,芦博,郭金旭)
推荐文章
论坛热帖