一種多SAM模塊的低功耗IC卡讀卡器設計與實(shí)現
文章出處:http://psychicreadingswithdeb.com 作者:武衛東 王光興 人氣: 發(fā)表時(shí)間:2011年10月16日
IC卡又叫智能卡,它將大規模集成電路(IC:Integrated circuit)封裝在卡片中,卡片上印有說(shuō)明文字和圖像,可以存儲大量信息.具有極強的保密性能,抗干擾、無(wú)磨損、壽命長(cháng)等優(yōu)點(diǎn)。
根據其內部結構Ic卡可以分為以下3類(lèi):1.存儲卡;2.邏輯加密卡;3.CPU卡。CPU卡內部帶有微處理器,把具有存儲加密及數據處理能力的芯片鑲嵌在塑料基片中;CPU卡采用密鑰管理機制認證過(guò)程,通過(guò)加密算法運算在SAM卡和CPU卡之間動(dòng)態(tài)進(jìn)行,CPU卡和SAM卡之間傳遞的是一種動(dòng)態(tài)變化的偽隨機碼,在實(shí)際應用中被破譯和攻擊的可能性非常??;在性能上比存儲卡有較好的安全性,兼容性和擴展性;CPU卡信息傳輸方式遵循ISO7816—3國際標準,芯片升級時(shí)不需要對系統內的微控制器程序進(jìn)行改動(dòng),這是存儲卡和邏輯加密卡所不能作到的。CPU卡采用文件方式對數據進(jìn)行存儲,可以對不同應用的數據文件進(jìn)行目錄管理,很容易實(shí)現一卡多用。
CPU卡的這些優(yōu)勢使其在智能卡表、通信、設備,交通收費網(wǎng)絡(luò )、安全金融設備等領(lǐng)域得到越來(lái)越廣泛的應用。但是目前市面上的CPU型IC卡種類(lèi)較多,彼此之間的安全認證過(guò)程不盡相同,且彼此保密。所以為了使瀆卡器兼容不同IC卡,需要設計一種可以使用不同的SAM卡來(lái)對不同的IC卡進(jìn)行安全認證的讀卡器,作者根據某通信有限公司的要求,設計了一種超低功耗的讀卡器。文章第一部分介紹了讀卡器的硬件結構和工作原理,第二部分介紹了系統的軟件設計,第三部分對系統進(jìn)行了低功耗測試和性能測試,最后給出了結論。
1 讀卡器的硬件結構和工作原理
(1)MSP430F149單片機是讀卡器主控制器,負責判斷讀卡器中是否插卡,若插卡,則通過(guò)對SAM卡卡座中的SAM卡的掃描,對CPU卡進(jìn)行型號判別。判定IC卡類(lèi)型后,使用相應的SAM 卡模塊,對該CPU進(jìn)行安全認證,認證結束,通知主機,IC卡合法,主機啟動(dòng)相應的業(yè)務(wù)進(jìn)行服務(wù).通過(guò)通信協(xié)議,主機可以發(fā)送讀余額、扣費等指令,MSP430F149單片機接到指令.通過(guò)標準協(xié)議向CPU卡發(fā)出讀余額、扣費等操作指令,CPU卡接到指令后自動(dòng)完成這些操作。
(2)電源:由于該讀卡器在實(shí)際使用中是嵌入到所應用的系統中,所以系統應該提供標準的5V電源(可以在RS一232 C接口端取),為了降低讀卡器的功耗,選用的MSP430F149需要3V的工作電壓,因此選用AS818 DC—DC芯片進(jìn)行電源轉換。
(3)用戶(hù)卡:用戶(hù)卡用CPU型IC卡,用戶(hù)卡卡座選用的是常開(kāi)型卡座,當用戶(hù)卡插入時(shí),迫使卡座中SW開(kāi)關(guān)的兩個(gè)腳短路,這兩個(gè)腳一端接地,一端接單片機具有中斷功能的I/0腳,通過(guò)外部上拉,中斷啟動(dòng)。在實(shí)際運行時(shí),由于大部分時(shí)間處于低功耗狀態(tài)(睡眠模式),所以在軟件上采用中斷喚醒的工作方式。用戶(hù)卡驅動(dòng)模塊電路圖如圖4所示,CD4066起開(kāi)關(guān)作用,在不讀卡時(shí)使其與主控器的控制信號隔離。
(4)SAM卡:為了兼容各種用戶(hù)卡,瀆取不同公司的SAM 卡,SAM卡卡座選用的是普通的卡座,通過(guò)CMOS電壓向rITrL電壓轉換電路和MSP430F149相連。電壓轉換電路利用雙電源電平移位器74LVC4245來(lái)實(shí)現。SAM 卡驅動(dòng)模塊電路圖與用戶(hù)卡類(lèi)似。
(5)RS一232 C接口:IC卡讀寫(xiě)器多數是采用RS232串口進(jìn)行通信的,其硬件的實(shí)現比較簡(jiǎn)單,一般的主機系統都具有RS一232 C接口,因此可以保證讀卡器具有很好的通用性。
2 讀卡器的軟件設計
軟件功能模塊,核心部分包括以下幾個(gè)模塊:SAM卡的操作模塊、用戶(hù)卡4436卡的操作模塊、IC操作模塊和串口發(fā)送和協(xié)議解析模塊。SAM卡的操作模塊主要完成對SAM卡進(jìn)行復位、基本寫(xiě)讀操作和命令的發(fā)送和返回字節數據的解析。4436卡的操作模塊主要完成對4436卡數據的讀取和認證的操作。IC卡的操作模塊主要完成對24c01卡和24c01管理卡的指定地址的讀寫(xiě)操作。串口發(fā)送和協(xié)議解析模塊主要完成對通信協(xié)議的解析和數據的讀取和發(fā)送。
讀卡器的軟件主流程圖從略。判斷有無(wú)卡,通過(guò)檢測SW引腳的狀態(tài)實(shí)現,置位為有卡,否則為無(wú)卡。當有卡時(shí)MSP430F149MCU向主機發(fā)出請求,讀卡器接收主機命令,模塊執行檢查卡類(lèi)型子程序,根據時(shí)序檢測卡的類(lèi)型,并返回數據。
3 綜合測試
系統的穩定性測試:采用了72小時(shí)重復認證和讀寫(xiě)的方法,通過(guò)編寫(xiě)專(zhuān)門(mén)的測試程序對讀卡器進(jìn)行了測試,測試結果表明該系統運行穩定可靠。
低功耗測試:根據技術(shù)指標要求先將演示系統的讀卡器進(jìn)行測試。
本測試方法采用VC9807電流表串聯(lián)測量的方法,測試時(shí)采用的測試程序為一循環(huán)認證程序,即設計的一個(gè)無(wú)限循環(huán)的連續認證的程序,因此所測的電流為系統的最大工作電流。設計時(shí),采用全貼片元器件的設計和焊接工藝,設計的讀卡器體積60mm*40mm*20mm。因此可以方便地嵌人到公用電話(huà)機、自動(dòng)會(huì )員機、自動(dòng)提款機等系統中,具有體積小的特點(diǎn)。
4 結論
綜上所述,通過(guò)對不同CPU卡和SAM卡的研究和分析,提出了通過(guò)使用多SAM卡模塊的循環(huán)掃描對多種用戶(hù)卡進(jìn)行認證管理,實(shí)現了對多種CPU卡的支持,讀卡器兼容多種用戶(hù)卡的方法,經(jīng)過(guò)聯(lián)合調試,系統完成了低功耗和項目所規定的技術(shù)要求,通過(guò)了某通信公司的項目驗收,很好完成了此項目,同時(shí)具有低功耗,運行穩定、體積小等特點(diǎn)。