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