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邏輯加密卡的新觀點,增添了密鑰管理機制認證系統,在實際應用過程中被破譯和攻擊的可能性非常小。另外,在傳統抄表系統的基礎上增加了電源管理及流量監測,避免了電流損失和外界干擾。