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