APP下载

电动汽车充电桩基于CPU卡的消费系统设计与实现

2012-05-22尹婷婷朱振军林永君

山东电力技术 2012年4期
关键词:读卡主控板串口

尹婷婷,朱振军,林永君

(1.华北电力大学 控制与计算机工程学院,河北 保定 071003;2.山东大为电气有限公司,山东 潍坊 261061)

0 引言

针对面临进入市场的电动汽车交流充电桩,用户的计费管理系统处于其运营过程的最前端,因此如何实现计费管理系统的智能化,如何为用户提供稳定便捷的消费充电体验使得本系统成为充电桩整体设计中不可忽视的一部分。

在计量计费系统中,用户消耗的电能采用高精度的电能表计量,其收费过程为满足简洁直观迅速的要求,采用IC卡刷卡式扣费[1]。CPU卡由于具有卡上操作系统COS,被称为真正的智能卡,较之普通IC卡,具有优越的安全性能和拓展能力[2]。

选用的CPU卡符合《中国金融集成电路(IC)卡规范》,COS系统符合 《中国金融集成电路(IC)卡应用规范》[3],以便为后期向卡片加入联网银行账户功能做准备。

1 充电桩CPU卡消费系统设计

电动汽车充电桩采用基于ARM架构32位微处理器芯片的AT91RM9200主控板作为控制器,搭配嵌入式Linux操作系统实现整桩的控制设计方案(图1),可以满足对各功能模块——CPU卡消费应用模块、电能表计量模块、充电控制模块、后台通讯模块的控制、数据传输的要求,具备良好的可靠性和扩展能力[4]。本文主要研究以此平台为基础,通过读卡器、触摸显示屏、打印机,以及消费程序设计实现充电终端的CPU卡应用管理过程。

图1 电动汽车充电桩控制结构图

消费过程设计思路是用户插入CPU卡,充电桩读卡程序对卡片进行识别并显示出用户卡号、余额等信息;用户通过触摸屏的提示信息输入密码并验证后进入消费操作。充电桩提供多种充电模式供消费者选择,按时间充电、按电量充电以及自动充满;充电结束后,充电桩提供票据的打印功能,用户可打印本次充电的用户信息、具体电量、充电时间、总费用等相关信息[1,4]。

2 硬件构成

2.1 主控单元硬件环境搭建

为保证系统运行的高可靠性和稳定性,在硬件设计时硬件平台选择了英贝德的EAC-0923工控板作为核心控制器,其CPU采用的是Cirrus Logic公司基于ARM9架构的EP9315。工控板具有三个 RS232串口,支持2路独立USB的USBHost,支持最大分辨率1024×768的四线电阻触摸屏接口,支持10 M/100 M以太网网络。在硬件连接时,核心控制板需要以一个RS232串口连接读卡模块,一个RS232串口通过RS232和RS485转换器来实现与电能表的通信,另外一个RS232串口连接充电控制模块,用一路USB接口与打印机相连接,触摸屏则通过专用接口连接到主控板上[1]。

2.2 CPU卡应用系统的硬件设计

选用的读卡模块型号为RDM-IX-MEM,其控制芯片为STC89C55RD+,负责读写卡功能的实现。在读卡模块上配有芯片MAX3221用于3.3 V的TTL电平向RS232电平的转换,因此可以直接由RS232串口连接到核心控制板上进行数据通讯。选用的读卡模块能够对符合ISO7816标准协议T=0、T=1的CPU卡进行操作,支持Win32下VB、VC、C++以及Linux下C语言的开发。

在应用于充电终端时,通过工控板提供读卡模块的工作电源;进行调试时,可直接由USB口连接到PC机上,由PC机提供其工作电源。

3 软件实现

3.1 嵌入式Linux操作系统移植

主控单元选择了基于ARM9架构的EAC0923,在操作系统上选择嵌入式Linux操作系统,符合国际通用标准,强大的兼容性,先进的网络特征,拥有真正的多用户、多任务能力;具有动态链接能力,系统性能十分稳定,具有灵活的可移植性等,是开源软件,很容易根据源代码修改驱动程序,添加自己需要的硬件接口模块。

嵌入式Linux操作系统的移植过程。要运行编写的刷卡应用程序,首先要有完备的编译调试环境。采用装有REDHAT9.0的PC机作为宿主机进行程序初始开发,使用交叉编译的方式进行程序的编译,在生成可执行文件后,通过挂载添加到充电终端的主控制板上[2-3]。

主控板在此之前要进行操作系统的移植,在其Norflash上,首先需要装载Bootloader、移植内核,然后移植自己制作的根文件系统,用以支持上层应用程序。应用程序使用API(用户编程接口)函数负责整个函数中和串口等各个部分的通信[2]。

3.2 读卡模块的功能实现

依据用户刷卡消费的实际情况,设计程序流程图2所示。

图2 消费程序流程图

主程序的部分代码如下:

void effectiveCard(unsigned char icReadpart[])∥有效卡响应函数包括:对卡号、金额的数据转换并存储到dat文件,向人机交互界面程序发送状态信息

由于要通过主控板的串口对读卡模块进行数据的读写,因此要先对其进行配置;包括对波特率的设定、串口设备在“/dev”下的初始化定义。功能程序的开发在虚拟机安装的Linux系统下进行,在调试成功后使用交叉编译器生成可在ARM平台上执行的代码。需要注意动态链接库在虚拟机的Linux系统下调试使用的是基于Win32的版本,因此需要将读卡模块函数库通过交叉编译制作成适用于工控板运行的动态链接库,然后方可进行程序的交叉编译。

4 CPU卡的操作

CPU卡被称为真正的智能卡,是因其具有专用的集成电路芯片——MCU(微控制单元),在控制单元中有程序存储器ROM、随机存储器RAM、EEPROM(用户存储器)和CPU,并且在ROM中封装着芯片操作系统 COS(Chip Operate System)[2]。EEPROM存放用户应用数据,当读写设备与卡片进行通讯时,只能和卡内的CPU进行通讯,数据交换是和RAM进行的,无法对EEPROM中的数据直接访问,从而具备了保护用户数据安全的功能[2-3]。凭借 COS的监控数据存储、命令处理、响应的实现,CPU卡在性能上比其他普通IC卡有以下特点:首先其存储空间较大,读取速度快,支持一卡多用,并且支持DES、3DES加密算法,在安全性上可达到金融级别的安全等级[2]。

CPU卡的核心是芯片操作系统COS(Chip Operate System),它管理着硬件资源、向用户提供应用接口、应用管理功能及增强CPU卡的安全性[3]。COS主要可分为文件管理、通讯管理、安全管理、应用管理四部分。

通过对卡上文件系统的设计管理,自主选择需要的文件结构、数目,如应用文件DF的个数,基本数据文件EF的设置等,构建符合本应用的卡上文件系统。通过对其安全管理功能应用,为文件设置不同的安全权限,以区分不同应用的安全级别,如密钥文件的修改可设置为高权限,在满足认证的情况下才能执行,防止一般性误操作,保证各级文件、应用的安全[2-3]。CPU卡文件系统基本结构图如图3所示。

5 结语

本文给出了采用嵌入式控制器在顾客刷卡消费应用下的设计方案,以及选用CPU卡的应用程序设计思路并实现。为充电终端的消费应用功能提供了具有较高稳定性和可靠性软硬件平台,能适应新能源电动汽车充电需求,满足消费者对完善的充电体验的要求。

图3 卡片文件系统图

猜你喜欢

读卡主控板串口
煤矿井下车辆乘人防漏识别读卡基站设计
一种快速可靠的主控冗余及切换机制的设计与实现
智能会议预约终端内置读卡器性能的改善*
浅谈AB PLC串口跟RFID传感器的通讯应用
升级双主控板交换机ISO
变频器检测台的设计、制作及主控板的维修
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
基于LINUX的PBOC3.0关键读卡技术的研究与应用