尹婷婷,朱振軍,林永君
(1.華北電力大學(xué) 控制與計(jì)算機(jī)工程學(xué)院,河北 保定 071003;2.山東大為電氣有限公司,山東 濰坊 261061)
針對(duì)面臨進(jìn)入市場(chǎng)的電動(dòng)汽車交流充電樁,用戶的計(jì)費(fèi)管理系統(tǒng)處于其運(yùn)營(yíng)過程的最前端,因此如何實(shí)現(xiàn)計(jì)費(fèi)管理系統(tǒng)的智能化,如何為用戶提供穩(wěn)定便捷的消費(fèi)充電體驗(yàn)使得本系統(tǒng)成為充電樁整體設(shè)計(jì)中不可忽視的一部分。
在計(jì)量計(jì)費(fèi)系統(tǒng)中,用戶消耗的電能采用高精度的電能表計(jì)量,其收費(fèi)過程為滿足簡(jiǎn)潔直觀迅速的要求,采用IC卡刷卡式扣費(fèi)[1]。CPU卡由于具有卡上操作系統(tǒng)COS,被稱為真正的智能卡,較之普通IC卡,具有優(yōu)越的安全性能和拓展能力[2]。
選用的CPU卡符合《中國(guó)金融集成電路(IC)卡規(guī)范》,COS系統(tǒng)符合 《中國(guó)金融集成電路(IC)卡應(yīng)用規(guī)范》[3],以便為后期向卡片加入聯(lián)網(wǎng)銀行賬戶功能做準(zhǔn)備。
電動(dòng)汽車充電樁采用基于ARM架構(gòu)32位微處理器芯片的AT91RM9200主控板作為控制器,搭配嵌入式Linux操作系統(tǒng)實(shí)現(xiàn)整樁的控制設(shè)計(jì)方案(圖1),可以滿足對(duì)各功能模塊——CPU卡消費(fèi)應(yīng)用模塊、電能表計(jì)量模塊、充電控制模塊、后臺(tái)通訊模塊的控制、數(shù)據(jù)傳輸?shù)囊?,具備良好的可靠性和擴(kuò)展能力[4]。本文主要研究以此平臺(tái)為基礎(chǔ),通過讀卡器、觸摸顯示屏、打印機(jī),以及消費(fèi)程序設(shè)計(jì)實(shí)現(xiàn)充電終端的CPU卡應(yīng)用管理過程。
圖1 電動(dòng)汽車充電樁控制結(jié)構(gòu)圖
消費(fèi)過程設(shè)計(jì)思路是用戶插入CPU卡,充電樁讀卡程序?qū)ㄆM(jìn)行識(shí)別并顯示出用戶卡號(hào)、余額等信息;用戶通過觸摸屏的提示信息輸入密碼并驗(yàn)證后進(jìn)入消費(fèi)操作。充電樁提供多種充電模式供消費(fèi)者選擇,按時(shí)間充電、按電量充電以及自動(dòng)充滿;充電結(jié)束后,充電樁提供票據(jù)的打印功能,用戶可打印本次充電的用戶信息、具體電量、充電時(shí)間、總費(fèi)用等相關(guān)信息[1,4]。
為保證系統(tǒng)運(yùn)行的高可靠性和穩(wěn)定性,在硬件設(shè)計(jì)時(shí)硬件平臺(tái)選擇了英貝德的EAC-0923工控板作為核心控制器,其CPU采用的是Cirrus Logic公司基于ARM9架構(gòu)的EP9315。工控板具有三個(gè) RS232串口,支持2路獨(dú)立USB的USBHost,支持最大分辨率1024×768的四線電阻觸摸屏接口,支持10 M/100 M以太網(wǎng)網(wǎng)絡(luò)。在硬件連接時(shí),核心控制板需要以一個(gè)RS232串口連接讀卡模塊,一個(gè)RS232串口通過RS232和RS485轉(zhuǎn)換器來實(shí)現(xiàn)與電能表的通信,另外一個(gè)RS232串口連接充電控制模塊,用一路USB接口與打印機(jī)相連接,觸摸屏則通過專用接口連接到主控板上[1]。
選用的讀卡模塊型號(hào)為RDM-IX-MEM,其控制芯片為STC89C55RD+,負(fù)責(zé)讀寫卡功能的實(shí)現(xiàn)。在讀卡模塊上配有芯片MAX3221用于3.3 V的TTL電平向RS232電平的轉(zhuǎn)換,因此可以直接由RS232串口連接到核心控制板上進(jìn)行數(shù)據(jù)通訊。選用的讀卡模塊能夠?qū)Ψ螴SO7816標(biāo)準(zhǔn)協(xié)議T=0、T=1的CPU卡進(jìn)行操作,支持Win32下VB、VC、C++以及Linux下C語言的開發(fā)。
在應(yīng)用于充電終端時(shí),通過工控板提供讀卡模塊的工作電源;進(jìn)行調(diào)試時(shí),可直接由USB口連接到PC機(jī)上,由PC機(jī)提供其工作電源。
主控單元選擇了基于ARM9架構(gòu)的EAC0923,在操作系統(tǒng)上選擇嵌入式Linux操作系統(tǒng),符合國(guó)際通用標(biāo)準(zhǔn),強(qiáng)大的兼容性,先進(jìn)的網(wǎng)絡(luò)特征,擁有真正的多用戶、多任務(wù)能力;具有動(dòng)態(tài)鏈接能力,系統(tǒng)性能十分穩(wěn)定,具有靈活的可移植性等,是開源軟件,很容易根據(jù)源代碼修改驅(qū)動(dòng)程序,添加自己需要的硬件接口模塊。
嵌入式Linux操作系統(tǒng)的移植過程。要運(yùn)行編寫的刷卡應(yīng)用程序,首先要有完備的編譯調(diào)試環(huán)境。采用裝有REDHAT9.0的PC機(jī)作為宿主機(jī)進(jìn)行程序初始開發(fā),使用交叉編譯的方式進(jìn)行程序的編譯,在生成可執(zhí)行文件后,通過掛載添加到充電終端的主控制板上[2-3]。
主控板在此之前要進(jìn)行操作系統(tǒng)的移植,在其Norflash上,首先需要裝載Bootloader、移植內(nèi)核,然后移植自己制作的根文件系統(tǒng),用以支持上層應(yīng)用程序。應(yīng)用程序使用API(用戶編程接口)函數(shù)負(fù)責(zé)整個(gè)函數(shù)中和串口等各個(gè)部分的通信[2]。
依據(jù)用戶刷卡消費(fèi)的實(shí)際情況,設(shè)計(jì)程序流程圖2所示。
圖2 消費(fèi)程序流程圖
主程序的部分代碼如下:
void effectiveCard(unsigned char icReadpart[])∥有效卡響應(yīng)函數(shù)包括:對(duì)卡號(hào)、金額的數(shù)據(jù)轉(zhuǎn)換并存儲(chǔ)到dat文件,向人機(jī)交互界面程序發(fā)送狀態(tài)信息
由于要通過主控板的串口對(duì)讀卡模塊進(jìn)行數(shù)據(jù)的讀寫,因此要先對(duì)其進(jìn)行配置;包括對(duì)波特率的設(shè)定、串口設(shè)備在“/dev”下的初始化定義。功能程序的開發(fā)在虛擬機(jī)安裝的Linux系統(tǒng)下進(jìn)行,在調(diào)試成功后使用交叉編譯器生成可在ARM平臺(tái)上執(zhí)行的代碼。需要注意動(dòng)態(tài)鏈接庫在虛擬機(jī)的Linux系統(tǒng)下調(diào)試使用的是基于Win32的版本,因此需要將讀卡模塊函數(shù)庫通過交叉編譯制作成適用于工控板運(yùn)行的動(dòng)態(tài)鏈接庫,然后方可進(jìn)行程序的交叉編譯。
CPU卡被稱為真正的智能卡,是因其具有專用的集成電路芯片——MCU(微控制單元),在控制單元中有程序存儲(chǔ)器ROM、隨機(jī)存儲(chǔ)器RAM、EEPROM(用戶存儲(chǔ)器)和CPU,并且在ROM中封裝著芯片操作系統(tǒng) COS(Chip Operate System)[2]。EEPROM存放用戶應(yīng)用數(shù)據(jù),當(dāng)讀寫設(shè)備與卡片進(jìn)行通訊時(shí),只能和卡內(nèi)的CPU進(jìn)行通訊,數(shù)據(jù)交換是和RAM進(jìn)行的,無法對(duì)EEPROM中的數(shù)據(jù)直接訪問,從而具備了保護(hù)用戶數(shù)據(jù)安全的功能[2-3]。憑借 COS的監(jiān)控?cái)?shù)據(jù)存儲(chǔ)、命令處理、響應(yīng)的實(shí)現(xiàn),CPU卡在性能上比其他普通IC卡有以下特點(diǎn):首先其存儲(chǔ)空間較大,讀取速度快,支持一卡多用,并且支持DES、3DES加密算法,在安全性上可達(dá)到金融級(jí)別的安全等級(jí)[2]。
CPU卡的核心是芯片操作系統(tǒng)COS(Chip Operate System),它管理著硬件資源、向用戶提供應(yīng)用接口、應(yīng)用管理功能及增強(qiáng)CPU卡的安全性[3]。COS主要可分為文件管理、通訊管理、安全管理、應(yīng)用管理四部分。
通過對(duì)卡上文件系統(tǒng)的設(shè)計(jì)管理,自主選擇需要的文件結(jié)構(gòu)、數(shù)目,如應(yīng)用文件DF的個(gè)數(shù),基本數(shù)據(jù)文件EF的設(shè)置等,構(gòu)建符合本應(yīng)用的卡上文件系統(tǒng)。通過對(duì)其安全管理功能應(yīng)用,為文件設(shè)置不同的安全權(quán)限,以區(qū)分不同應(yīng)用的安全級(jí)別,如密鑰文件的修改可設(shè)置為高權(quán)限,在滿足認(rèn)證的情況下才能執(zhí)行,防止一般性誤操作,保證各級(jí)文件、應(yīng)用的安全[2-3]。CPU卡文件系統(tǒng)基本結(jié)構(gòu)圖如圖3所示。
本文給出了采用嵌入式控制器在顧客刷卡消費(fèi)應(yīng)用下的設(shè)計(jì)方案,以及選用CPU卡的應(yīng)用程序設(shè)計(jì)思路并實(shí)現(xiàn)。為充電終端的消費(fèi)應(yīng)用功能提供了具有較高穩(wěn)定性和可靠性軟硬件平臺(tái),能適應(yīng)新能源電動(dòng)汽車充電需求,滿足消費(fèi)者對(duì)完善的充電體驗(yàn)的要求。
圖3 卡片文件系統(tǒng)圖