IC卡自動加油機的設計
文章出處:http://5052h112.com 作者:李志虎 邵惠鶴 人氣: 發表時間:2011年10月10日
引言
眾所周知 ,“金卡”工程(即電子貨幣工程)是我國國民經濟信息化建設的重點工程之一。相對于磁卡而言,IC卡因具有防磁、防潮、安全、保密、不易磨損等特點,而作為“金卡”工程的首選產品,廣泛應用于金融、電訊、交通、服務等多個部門。我們為安徽省某集團公司的加油中心設計了一種新型的IC卡自動加油機,司機憑公司發放的“油量儲值IC卡”加油,管理人員通過“油量統計IC卡”對油料的使用情況進行結算管理,取代了傳統的人工登記、結算的管理方式,實現了加油與管理的自動化。
1 IC卡簡介
IC 卡 是將 一塊集成電路芯片鑲嵌在塑料基片中,封裝為卡片形式,其芯片具有寫人數據和存儲數據的能力。我們使用的是美國ATMEL公司生產AT24COIA存儲器型IC 卡。串行EEPROM AT24COIA的容量為1Kb ( 128x 8 位),擦寫次數為100001)周期,數據保存期可長達100年。這種IC卡所使用的模塊符合ISO/IEC7816協議,其觸點如圖1所示。這里cI(VCC)為電源端;c2(NC)未用,c3(SCL)為串行時鐘輸人端,c4 (GND)為接地端,c5(NC)未用;c6(SDA)為串行數據輸人/輸出端。
EEPROM模塊觸點示意圖
2 硬件構成
本加油機控制系統由單片機及存儲器、測量及控制、IC卡接口、鍵盤及顯示、看門狗等部分所組成,其硬件原理框圖如圖2所示。
圖2 加油機硬件原理框圖
整機控制系統的核心是一片性價比較高的89C51單片機,內含4K字節的EEPROM作為系統的程序存儲器,從而簡化了系統結構。另外擴展一片NVSRAM DCM0064(8K字節)作為系統的數據存儲器,用以存儲用戶的加油信息,因非易失性SRAM一NVSRAM(Nonvolatile SRAM)既有EPROM的不易失性,既斷電后數據不變,又像普通SRAM一樣可快速讀寫數據,讀寫次數無限制,并且它的功耗很小,在系統中的連接方法同一般SRAM6264完全相同。
加油量檢測我們使用精度較高的渦街流量傳感器,它輸出的電脈沖頻率和流量成線性關系,同時測量范圍寬,重復性好,且便于實現遠距離無損測量。其電脈沖信號經放大處理后,通過光電隔離(TLP521)作為單片機外部中斷0的輸人信號INTO,這樣結合定時器TO就可測頻。單片機的P2.5,通過晶體管功放(9013)后帶動12V低壓繼電器,(JRC 12M ),由繼電器的觸點控制油泵電機的啟停接觸器的線圈及油路通斷電磁閥的線圈,以實現自動加油。
根據 IC卡的電氣特性設計的IC卡接口電路原理圖見圖3。其中TO(單片機作為常規輸出)提供串行時鐘輸人信號;串行I/0通過單片機的P2.6 實現;TI(8 9C51作為常規輸人)檢測IC卡的供電情況,為保護IC卡我們采用了限流供電措施;卡座中有否IC卡由單片機INT1(同樣作為常規輸人)來檢測,并且,當IC卡插人后微動開關SWi一SW2吸合,LED亮,反之LED滅。
圖 3 IC卡接口電路原理圖
鍵盤、顯示接口是人機界面的重要組成部分。在此用單片機的P1口直接構成4x4非編碼鍵盤,包括0一9數字鍵、小數點、啟動鍵、停止鍵、統計鍵、查詢鍵、調校鍵等。其中啟動鍵:先由用戶插人IC卡,待工作人員鍵人預置油量,準備就緒再按啟動鍵實現自動加油,加到預置的油量便自動停止;停止鍵:用于加油過程的非正常情況的人為停機;統計鍵:管理人員插人統計IC卡,按統計鍵可將匯總的數據寫人此卡中;查詢鍵:用于查詢用戶信息;調校鍵:用于調校實時時鐘。
我們以方式0擴展89051的串行口,用8位串人并出移位寄存器74LS164和共陽極八段LED數碼管組成顯示器,共8位,用于顯示IC卡信息、加油信息和相關的工作狀態等。8個寄存器以串行方式連接,在同步時鐘TXD的作用下,顯示段碼從RXD快速移人寄存器,然后由LED數碼管顯示,采用這種靜態顯示方式不僅CPU控制簡單,而且可獲得較高的亮度。
“看門狗 ”電路是為了提高單片機系統的運行可靠性而設計的。系統受擾后可能出現程序跑飛現象,以至“死機”,影響到系統的正常工作,甚至涉及到設備及人身安全。但由MAX705組成了一“看門狗”后,使得在程序跑飛后89051自動復位,進而使CPU恢復運行。另外,也可對CPU進行手動復位。
3 軟件設計
加油機軟件用MCS一51匯編語言編制,采用結構化、模塊化程序設計方法,由鍵盤掃描及相關功能的實現、顯示處理、油量的計量,IC卡讀寫、油泵與電磁閥控制、20ms定時中斷服務、外部中斷0服務模塊等所組成,其主程序流程圖如圖4所示。
圖 4 加油機主程序流程圖
IC卡的可靠讀寫是本機系統軟件設計中的一個關鍵問題。經分析AT24COIA的讀寫時序,發現串行1/0數據線SDA上的狀態變化一定要發生在時鐘輸人SCL的低有效期間,在時鐘的上升沿將數據送人至EEPROM中;而在讀取卡上數據時,在時鐘的下降沿EEPROM輸出數據,同樣,SDA數據變化也發生在SCL的低有效期間,因而要在SCL高有效期內才能讀取卡的數據。下面以寫IC卡為例介紹編程實現:
;開始位
4 結語
以890C51單片機為核心設計成的IC卡自動加油機,數據存儲可靠性高,軟件保密性好。近一年的實際應用表明:操作簡單、讀寫穩定、效果良好,使加油中心的服務效率大為提高,對中心的現代化管理起到了極其重要的作用。此外,隨著經濟信息化進程的加快,該加油機在商業性加油站有廣闊的應用前景。(文/(上海交通大學自動化研究所 李志虎 邵惠鶴)
參考文獻
1、王愛英.智能卡技術〔M].北京:清華大學出版社,1996
2、何立民.單片機應用系統設計〔M].北京:北京航空航天大學出版社,1993