1 序言
IC卡按其工作方式分為接觸式IC卡和非接觸式IC卡兩大類。在接觸IC卡中,按其工作原理,一般可分為存儲IC卡和智能卡即CPU卡兩類。存儲卡內(nèi)部不含CPU,只能由硬件邏輯完成密碼校驗(yàn),具有一定的安全性但其密碼容易在線路中被跟蹤破譯,一般在安全性要求不高的情況下使用。CPU卡由于內(nèi)部帶有微處理器在性能上比存儲卡有很大提高,CPU卡的這些優(yōu)勢使其在智能卡表、通信設(shè)備、交通收費(fèi)、網(wǎng)絡(luò)安全、金融設(shè)備等領(lǐng)域得到越來越廣泛的應(yīng)用。主要表現(xiàn)為:
安全性:CPU卡采用密鑰管理機(jī)制,認(rèn)證過程通過加密算法運(yùn)算動(dòng)態(tài)進(jìn)行,在實(shí)際應(yīng)用中被破譯和攻擊的可能性很小。
兼容性:CPU卡信息傳輸方式遵循ISO7816.3國際標(biāo)準(zhǔn),這樣芯片升級時(shí)不需要對系統(tǒng)內(nèi)的微控制器程序進(jìn)行改動(dòng),這是存儲卡和邏輯加密卡所不能做到的。
可擴(kuò)展性:由于CPU卡采用文件方式對數(shù)據(jù)進(jìn)行存儲,并且可以對不同應(yīng)用的數(shù)據(jù)文件進(jìn)行目錄管理,這樣很容易實(shí)現(xiàn)一卡多用的方案。規(guī)范性:采用CPU卡的COS操作系統(tǒng)一般都滿足金融卡規(guī)范, 如SMARTCOS符合中國人民銀行PBOC金融卡規(guī)范,這樣就可以很方便地實(shí)現(xiàn)收費(fèi)管理與金融系統(tǒng)的接軌。
2 CPU卡智能水表系統(tǒng)的總體設(shè)計(jì)
CPU卡智能水表采用了超低功耗的微處理器MSP430F413,采用低功耗模式和晶振設(shè)置,使得工作功耗進(jìn)一步降低。CPU卡不同于普通的IC存儲卡,是一種自帶COS(CardOperation System)嵌入式操作系統(tǒng)的做控制器。COS系統(tǒng)由文件管理、傳輸管理、安全管理和命令解釋四個(gè)功能模塊組成。
CPU卡智能水表系統(tǒng)由繳費(fèi)系統(tǒng),讀卡器,CPU卡智能水表構(gòu)成。CPU卡智能水表是通過CPU充值卡在繳費(fèi)系統(tǒng)和水表間進(jìn)行數(shù)據(jù)交換。用戶將CPU卡在繳費(fèi)點(diǎn)對卡進(jìn)行充值后,再使用CPU卡對水表進(jìn)行充值。智能水表模塊對用戶的用水量進(jìn)行計(jì)費(fèi),扣除相應(yīng)金額。且液晶屏實(shí)時(shí)顯示用水量,剩余金額,閥門控制狀態(tài)等。
CPU卡較IC邏輯加密卡而言,增添了密鑰管理機(jī)制認(rèn)證系統(tǒng),通過加密算法(采用DES加密算法)運(yùn)算在用戶卡和ISAM 卡/ESAM 模塊之問動(dòng)態(tài)進(jìn)行。用戶卡與ISAM 卡/EsAM 模塊之間傳遞的是一種動(dòng)態(tài)的偽隨即碼。在實(shí)際應(yīng)用過程中被破譯和攻擊的可能性非常小。在性能上比IC存儲卡有較好的安全性,兼容性和擴(kuò)展性,并且升級不需要對MSP430F413芯片內(nèi)的程序進(jìn)行改動(dòng),只需對上位機(jī)發(fā)卡系統(tǒng)上對CPU卡內(nèi)的數(shù)據(jù)文件進(jìn)行改動(dòng)。
3 CPU卡硬件設(shè)計(jì)框圖
CPU卡智能水表硬件采用TI公司的超低功耗16位微處理器MSP430F413及其外圍電路組成。硬件框圖如圖1所示,主要包括:控制芯片MCU、電源管理模塊、流量檢測電路、閥門控制電路、LCD顯示電路、CPU卡接口電路、ESAM模塊接口電路。
4 CPU卡智能水表各模塊的硬件及軟件設(shè)計(jì)
4.1控制芯片MCU
單片機(jī)采用MSP430F413,它采用了FLASH存儲器,并具有以下一些特點(diǎn):
1)超低功耗:MSP430F413運(yùn)行在2.2V,1MHz時(shí)鐘條件下,其工作電流根據(jù)工作模式的不同在0.1 A~300~A之間,其工作電壓范圍1.8V~3、6V。
2)處理能力強(qiáng)大:采用RISC指令集,核心指令27條,并具有豐富的尋址方式。片內(nèi)寄存器數(shù)量多,有高效的查表處理方法。
3)片上外圍模塊豐富:MSP430F413具有FLL+(頻率鎖相環(huán))時(shí)鐘系統(tǒng),看門狗帶,有三個(gè)捕獲/比較寄存器的16位定時(shí)器(Timer A),片內(nèi)比較器,96段LCD驅(qū)動(dòng)器,48個(gè)通用I/O引腳,并且端口P1和P2具有中斷能力,每一引腳都可以單獨(dú)選擇中斷觸沿、單獨(dú)允許中斷。
4)開發(fā)方式簡便高效:MSP430F413具有JTAG接口,可以方便的通過JTAG控制器實(shí)現(xiàn)程序的下載和調(diào)試。
5)具有5種節(jié)電模式,掉電電流(RAM數(shù)據(jù)保持)最低可為0.1uA,提供從待機(jī)模式中快速喚醒功能,喚醒時(shí)間小于6um。平時(shí)單片機(jī)處于低功耗模式3,流量檢測,CPU卡數(shù)據(jù)操作等都以中斷方式喚醒,以節(jié)省功耗。
4.2電源管理
采用3.6V的電池對系統(tǒng)供電, 當(dāng)電池電壓小于3v時(shí),由于利用MSP430F413內(nèi)部的比較器,以中斷方式喚醒單片機(jī),及時(shí)關(guān)閉水表閥門并保存相應(yīng)數(shù)據(jù),提示用戶更換電池。對LCD顯示,CPU卡接口電路等的供電在需要操作時(shí)才打開,以減小不必要的電流損失。原理圖如圖2所示。
比較器內(nèi)寄存器設(shè)置如下:CACTL2=P2CA1;//CA1選擇外部信號輸入,CA0不選擇外部信號輸入CACTL1=CAREF 3+CAON;11基準(zhǔn)電壓采用第三種模式CAPD:CAPD6+CAPD7
4.3流量檢測
將用水量轉(zhuǎn)換為脈沖信號,采用兩個(gè)脈沖傳感器對脈沖信號進(jìn)行接收,防止抖動(dòng)產(chǎn)生的多計(jì)數(shù)現(xiàn)象。通過一定的程序設(shè)置,判斷兩個(gè)傳感器是否正常工作,若不正常,則認(rèn)為是外界強(qiáng)磁干擾,關(guān)閉閥門。原理圖如圖3所示。
4.4 閥門控制電路
特殊情況下,控制水表閥門的開關(guān),選用飽和壓降為0.2V的三極管8550和8050的對管構(gòu)成電機(jī)驅(qū)動(dòng)電路,既可以保證電機(jī)的驅(qū)動(dòng)電流又可在故障時(shí)限制最大電流<500mA。原理圖如圖4所示。
4.5 CPU卡以及ESAM模塊接口
CPU卡的外部引腳有8根,實(shí)際用到的有5根,即VCC、RST、CLK、GND和I/o。MSP430是64腳QFP封、蟪有48個(gè)通用I/O口。這里采用P1.2/TA1,利用定時(shí)器A模擬實(shí)現(xiàn)與CPU卡通信,原理圖見圖5。
模塊工作的時(shí)鐘,由于MSP430單片機(jī)獨(dú)特的性能,可以利用P1.1/MCLOCK 口輸出1M 到5M 的時(shí)鐘,利用此時(shí)鐘可以很好地實(shí)現(xiàn)MSP430和CPU卡的通訊時(shí)鐘同步。
單片機(jī)的P1.2口用來實(shí)現(xiàn)單片機(jī)和CPU卡的雙向數(shù)據(jù)通信,由于CPU卡的VO口采用的是集電極開路方式,使用時(shí)要在口線上外接上拉電阻。
單片機(jī)的P1.3口用來控制CPU卡的復(fù)位CPU卡采用的是低電平復(fù)位方式P1-3口平時(shí)為低電平。CPU卡工作時(shí)為高電平。
5 結(jié)束語
智能預(yù)付費(fèi)水表是智能小區(qū)抄表系統(tǒng)的一個(gè)重要組成部分,徹底地改變了傳統(tǒng)的抄表模式。高性能的智能水表的設(shè)計(jì)是基于低功耗和數(shù)據(jù)安全性的,低功耗設(shè)計(jì)使得水表在電池供電情況下也能正常工作長達(dá)數(shù)年時(shí)間(>8a)。本文所介紹硬件設(shè)計(jì)已通過實(shí)際的開發(fā)和運(yùn)行,達(dá)到預(yù)期效果,并提出了用CPU卡替代IC邏輯加密卡的新觀點(diǎn),增添了密鑰管理機(jī)制認(rèn)證系統(tǒng),在實(shí)際應(yīng)用過程中被破譯和攻擊的可能性非常小。另外,在傳統(tǒng)抄表系統(tǒng)的基礎(chǔ)上增加了電源管理及流量監(jiān)測,避免了電流損失和外界干擾。