基于SAM模塊的CPU型IC卡燃氣表的設計
1預付費型智能CPU IC卡燃氣表的工作原理
本文引用地址:http://www.j9360.com/article/173577.htm預付費型智能CPU型IC卡燃氣表是在常規機械燃氣表體上安裝以單片機為主的智能測控系統而構成的。該測控系統主要由單片機、SAM(Secure Access Module)模塊、CPU IC卡接口、計量電路、保護檢測電路以及氣路控制閥等組成,其系統結構如圖1所示。
工作原理:當用戶將含有一定購氣量的CPU型IC卡插入表內時,控制閥在電控系統軟件控制下打開氣路閥門。用戶每使用一個微小的計量單位(如1/1000L,該值根據機械表的參數設定)的氣體時,計量電路便發出1個計量脈沖,該脈沖如經電控系統判定為有效,即進入軟件進行累計,當達到一定數目(如1/100L)時可以從存于SAM模塊中的已購氣量中減去1個計量單位。當剩余氣量為某一設定值時,燃氣表進入報警狀態,并關閉控制閥,切斷氣路以便提醒用戶購氣。用戶此時按一次按鍵后,仍然可以打開閥門繼續用氣;當剩余氣量為零時,控制閥再次關閉,用戶只有將存儲一定購氣量的卡插入后才能打開閥門。
2預付費型智能IC卡燃氣表實現的功能
(1)計量和控制功能:充分利用單片機計量各種煤氣用量;通過控制閥控制用戶用氣。
(2)加密功能:采用加密強度極高的CPU卡且一戶一卡,通過完善的多重內部和外部認證后,達到一定的權限才可實現購氣及其他操作。
(3)顯示功能:可顯示剩余煤氣、月累計和季度累計煤氣等;各種系統狀態顯示,如電池欠壓、報警狀態、氣體過流等。
(4)提示功能:當剩余氣不多(等于某一設定值)時,關閥一次提醒用戶購氣。
(5)報警功能:電池欠壓報警、防止管道破裂的氣體過流報警、閥門打開及關閉故障報警、外接可燃氣體報警器接口的報警、卡非正常操作報警、燃氣表開蓋報警等。在發生報警情況時,首先關閉控制閥,然后蜂鳴器發聲、LCD顯示。每次報警事件都會記錄在SAM模塊中,在用戶下次購氣時返寫到用戶購氣卡,再由購氣卡返回到售氣部門,從而可供主管部門或銀行查詢。
(6)自我保護功能:防止IC卡口和電池接線處的高電壓攻擊和短路行為、開蓋檢測、無電池檢測、選用不怕強磁場的特殊脈沖傳感器等。
3預付費型智能IC卡燃氣表的硬件設計
因為本預付費型IC卡燃氣表是一種面向家庭的民用產品,因此,在設計硬件時要兼顧以下的原則:低成本;低功耗,盡量延長電池壽命;高可靠型,不允許死機以及已購氣數據丟失的情況發生。
3.1 控制單片機的選擇
控制單片機選用NEC公司生產的8位單片機uPD789167。uPD789167是44pin封裝的低成本單片機,具有24KB ROM、512B RAM、8路8位A/D轉換器、外部32kHz副時鐘、6個定時器、4個外部中斷等資源,在掩模后具有非常低的成本。
3.2 時鐘電路的設計
本設計使用了uPD789167單片機的3.58MHz的主時鐘和32kHz的副時鐘。前者在單片機高速工作時運行,并經過內部2分頻后提供給SAM模塊和外部CPU型IC卡。為了降低功耗,在上電、訪問SAM模塊和IC卡以外的時間里,3.58MHz的主時鐘停止振蕩,而32kHz晶體則一直振蕩,完成內部軟件走時、氣量的累計和統計,并協助對單位時間內的用氣量進行判斷,確定是否氣體過流,必要時驅動LCD模塊的顯示。
3.3 SAM模塊及CPU型IC卡的選擇
CPU卡同普通的存儲卡和邏輯加密卡相比,由于采用了CPU、片上操作系統(COS)、文件系統、加解密算法等先進技術,因而具有更高的安全性。為了提高智能燃氣表的保密性能,本設計選取了北京握奇公司的SAM模塊和CPU卡作為安全認證、數據存儲和傳輸的介質。該產品擁有自主知識產權,符合ISO7816、PBOC等國際標準和行業標準;支持層次化文件結構,可建立三級應用目錄,適合一卡多用的要求;支持包括二進制、定(變)長記錄、錢包記錄等多種文件類型;包含可擦寫50萬次的E2PROM,其容量從0.5K~16KB可選;已有在電表等行業成功應用的經驗。CPU與SAM模塊的接口如圖2所示。標準規定CLOCK頻率必須大于1MHz,本設計中CLOCK為1.79MHz;在不訪問SAM模塊時,SAM模塊的電源被切斷,同時CPU的-RST、CLOCK腳也輸出低電平,CPU的I/O腳被置為輸入、內部不上拉模式。
3.4 電源電路
如圖3所示,電源分為2路,一路是3節電池經過3V穩壓后,由VCC給CPU等供電;另一路不穩壓,由VDD給開關閥門電路供電。2路分別使用各自的法拉電容,互不干擾,保證了掉電時閥門的可靠關閉以及數據傳輸到SAM模塊的可靠保存。
電源電路提供了3.3V、3V的電池電壓檢測機制,電壓分壓后進入單片機的A/D轉換輸入端,單片機按照固定時間間隔檢測1次電壓,當發現低于3.3V時LCD顯示低壓告警;低于3V時則關閉閥門。此外,電源電路還提供了電池拔去或短路檢測電路。當出現此類情況時,9015的集電極變高,以外部中斷的方式激活單片機,使單片機及時關閉閥門。配合BAT54雙二極管,達到了防止電池短路攻擊行為的目的。
為了防止從電池接線端子進行的高電壓攻擊,配置了TVS管和200mA的可恢復保險絲。再結合IC卡口的保護,保證了本燃氣表的自身安全。
評論