傳統(tǒng)的煤氣表的收費(fèi)是由抄表人員走進(jìn)千家萬戶的居民家中讀取煤氣表數(shù)據(jù),,然后計(jì)算當(dāng)月用量。計(jì)算出應(yīng)收費(fèi)用后再向用戶收取,。這樣的過程存在著工作量大收費(fèi)時(shí)間長,、效率低等問題。更主要的問題是由于用戶及其它方面的原因,。往往不能按時(shí)收費(fèi),,造成用戶對(duì)燃?xì)夤?yīng)方的資金拖欠等。采用預(yù)付費(fèi)煤氣表,,使用戶與燃?xì)夤?yīng)方的資金結(jié)算方式發(fā)生變化,,可以有效地解決以上問題,,也有利于住宅小區(qū)實(shí)現(xiàn)智能化物業(yè)管理。當(dāng)前國內(nèi)已有許多廠家開始或已經(jīng)生產(chǎn)出采用接觸式IC卡的預(yù)付費(fèi)煤氣表,,但是此類表中的IC卡觸點(diǎn)在櫥房等易污染的環(huán)境中長期使用,,會(huì)造成接觸不良的現(xiàn)象。由價(jià)格較低的非接觸IC卡所構(gòu)成的煤氣表可以改善表的性能,。
1 非接觸式IC卡預(yù)付費(fèi)煤氣表的功能
非接觸式IC卡預(yù)付費(fèi)煤氣表是采用目前現(xiàn)成的機(jī)械式煤氣表為基表,。通過光電或霍爾元件將基表的氣體流量信號(hào)取出并轉(zhuǎn)換成電信號(hào)輸入單片機(jī)進(jìn)行處理,并與表內(nèi)已由IC卡預(yù)先讀入E²PROM 中的預(yù)置值進(jìn)行計(jì)算并扣除相應(yīng)量,,在預(yù)置值減至最小設(shè)定值后表將發(fā)出提示信號(hào)提醒用戶提前購氣,,否則預(yù)置值減為零后將關(guān)閉氣閥,直至用戶重新購買的用氣量經(jīng)IC卡讀入煤氣表后才會(huì)重新開閥供氣,。隨著燃?xì)夤┬桕P(guān)系的變化,,可以在表內(nèi)設(shè)計(jì)有實(shí)時(shí)時(shí)鐘電路,對(duì)用戶的用氣量進(jìn)行費(fèi)用分時(shí)計(jì)價(jià)這樣可引導(dǎo)用戶避開用氣高蜂時(shí)間用氣,,實(shí)現(xiàn)燃?xì)夤?yīng)方對(duì)用戶在每日24 h內(nèi)按供氣的高峰與低谷點(diǎn)在不同的時(shí)間段以不同的價(jià)格收費(fèi),,有利于燃?xì)饽茉吹暮侠碛行Ю谩?/p>
2 非接觸式IC卡煤氣表的基本結(jié)構(gòu)及原理
該表組成框圖如圖1所示。由電源部分,、 卡讀寫電路、單片機(jī),、串行E²PROM及串行實(shí)時(shí)時(shí)鐘電路,、閥門控制等組成。
2.1 電源部分
合理選擇儀表的電源的是很重要的,,考慮到煤氣表的防爆安全性,,首先是不能用市電228 V供電。應(yīng)采用電池供電,,但電池的使用壽命及儀表的功耗在設(shè)計(jì)中應(yīng)當(dāng)認(rèn)真考慮,。該表中選用3,6 V 1,,2 A的高能量鋰電池供電,,其存儲(chǔ)壽命可達(dá)6年。電路設(shè)計(jì)中為使功耗降到最低,,單片機(jī)89C2051在不用氣時(shí)及用氣計(jì)數(shù)時(shí)間間隔內(nèi)均運(yùn)行于掉電方式,,一塊標(biāo)稱流量為4m3/h的城鎮(zhèn)居民戶的煤氣表,當(dāng)脈沖信號(hào)以0,,01 為單位計(jì)數(shù)時(shí),,最大流量時(shí)也只在每9 s才產(chǎn)生一個(gè)計(jì)數(shù)信號(hào),而實(shí)際使用中往往達(dá)不到如此流量,,在每個(gè)計(jì)數(shù)信號(hào)作用時(shí)單片機(jī)僅運(yùn)行30ms時(shí)間,,工作電流為l5mA, 這樣可以大大地降低電源功耗,。
另外,由于IC卡讀寫電路的工作是不連續(xù)的,,通常只在對(duì)IC卡操作時(shí)(一個(gè)月或更長時(shí)間)才工作一次,,因此平時(shí)可由單片機(jī)控制使它不供電,由于大多數(shù)的機(jī)械表為金屬殼體,,對(duì)射頻信號(hào)有屏蔽作用,,因此可在表殼上開一個(gè)類似接觸卡的讀卡槽(但無觸點(diǎn)),當(dāng)需要讀寫卡時(shí),,將卡插入槽內(nèi),,槽底部有一個(gè)小開關(guān)觸發(fā)單片機(jī)接通IC卡讀寫電路的電源,卡讀寫完后,,無論卡是否從槽內(nèi)取出,,IC卡讀寫電路都會(huì)斷電,這樣可以降低電池消耗,。
2.2 IC卡讀寫電路及其數(shù)據(jù)結(jié)構(gòu)
非接觸式IC卡采用德國TEMIC公司生產(chǎn)的E5550芯片所封裝的射頻卡,,該卡的成本較低,最主要的是它的讀寫電路無論結(jié)構(gòu),、成本及體積等方面的特殊優(yōu)點(diǎn)使它與其它非接觸卡相比更適宜于該表的應(yīng)用,,其讀寫電路的核心也是該公司生產(chǎn)的U2270B芯片,該芯片只需較少的外圍元件即可與單片機(jī)連結(jié)構(gòu)成讀寫電路,,但該蒼片需至步不低于5v的電源供電,,因此,由3,,6V供電的鋰電池需經(jīng)過一個(gè)簡單的DC-DC升壓后為它供電,,通過一個(gè)安裝在卡槽側(cè)面直徑約3.5 cm的電感線圈對(duì)卡進(jìn)行讀寫。
F5550 IC卡是一種可靠性較好的可進(jìn)行邏輯加密的射頻(RF)串行IC卡,,其可存儲(chǔ)的數(shù)據(jù)量為28字節(jié),。可分為7塊,,每塊4字節(jié)并附加l位寫保護(hù)位,,用于塊寫保護(hù),除外還有4字節(jié)32位的加密口令,。同時(shí)配合其可編程的模式操作控制中對(duì)射頻信號(hào)的載波頻率,、調(diào)制方式及,al3R功能的編程,,可保證數(shù)據(jù)的安全性,,以實(shí)現(xiàn)一卡一表的對(duì)應(yīng)關(guān)系,用戶與用戶之間不能互使用??砂垂δ茉O(shè)計(jì)為用戶卡與超級(jí)用戶卡,,用戶卡發(fā)給用戶用來購氣,卡上記錄為購氣預(yù)置值(金額),,超級(jí)用戶卡由燃?xì)夤?yīng)方的管理人員使用,,用來對(duì)煤氣表的內(nèi)部參數(shù)調(diào)整和設(shè)置,如定期的實(shí)時(shí)時(shí)鐘調(diào)整(校對(duì)時(shí)間),,高峰時(shí)與低谷時(shí)的單價(jià)調(diào)整,,與基表同步的內(nèi)部初始值的設(shè)定等。單片機(jī)內(nèi)部有一個(gè)與基表同步的計(jì)數(shù)值,,當(dāng)用戶每次將所購氣的預(yù)置值(金額)讀入表內(nèi)的同時(shí),,表內(nèi)的這一計(jì)數(shù)值會(huì)自動(dòng)回寫到卡上,這樣,,用戶再到燃?xì)夤?yīng)方指定的購氣點(diǎn)購氣時(shí),,管理系統(tǒng)先讀取卡內(nèi)數(shù)據(jù)存入系統(tǒng),然后再將新購氣值寫到卡上,,由于用戶與系統(tǒng)之間的這種數(shù)據(jù)交換方式,,可使燃?xì)夤?yīng)方檢查監(jiān)督用戶燃?xì)饧氨淼氖褂们闆r,以提高系統(tǒng)及煤氣表數(shù)據(jù)的安全可靠性,。
2.3 單片機(jī),、串行E²PROM及串行實(shí)時(shí)時(shí)鐘電路
單片機(jī)采用ATMEL公司生產(chǎn)的產(chǎn)品,該芯片具有空閑與掉電兩種節(jié)電工作方式,,在掉電工作方式下單片機(jī)處于睡眠狀態(tài),,功耗可降到最低,取自基表的計(jì)數(shù)脈沖信號(hào)將單片機(jī)從睡眠中喚醒,,當(dāng)完成一個(gè)計(jì)數(shù)的操作過程后,又進(jìn)入睡眠狀態(tài),,用戶不用氣時(shí)及在基表的計(jì)數(shù)脈沖的間隔內(nèi)使單片機(jī)處于睡眠狀態(tài),。由于AT89C2051單片機(jī)只能用復(fù)位的方式才能從睡眠狀態(tài)喚醒,因此可將計(jì)數(shù)脈沖加在它的復(fù)位端,,即每來一個(gè)計(jì)數(shù)信號(hào),,單片機(jī)口u復(fù)位一次,程序運(yùn)行一次,,將上一次的數(shù)據(jù)從串行E²PROM中讀出,,處理完后再寫入串行E²PROM然后單片機(jī)就進(jìn)入掉電(睡眠)狀態(tài)。同樣,,IC卡槽內(nèi)讀卡開關(guān)信號(hào)也是加在復(fù)位端的,,但不同之處是它同時(shí)還產(chǎn)生一個(gè)脈寬大于復(fù)位脈沖并滯后于復(fù)位脈沖的信號(hào)作用于P1.0端,如圖2所示。
采用這樣的工作方式,,一方面可以利用AT89C2051單片機(jī)掉電工作方式,,單片機(jī)實(shí)際上常期處于睡眠狀態(tài)使功耗降為極低。另一方面讀卡信號(hào)和復(fù)位信號(hào)是由復(fù)位端注入,,可以使單片機(jī)省去看門狗及上電復(fù)位等電路而使煤氣表保持可靠的工作,,提高儀表的整體可靠性。
串行E²POM用來保存流量計(jì)數(shù)值,、單價(jià),、高峰與低谷的切換時(shí)間以及其它的中間參數(shù)等。采用24(181串行存儲(chǔ)器芯片,,該芯片具有256字節(jié)的存儲(chǔ)容量,,為二線式I²C總線串行接口,數(shù)據(jù)擦寫次數(shù)為10萬次,,數(shù)據(jù)保存時(shí)間為100年,。串行時(shí)鐘同樣用I²C串行接口芯片PCF8583,該芯片內(nèi)部具有實(shí)時(shí)時(shí)種功能,,時(shí)鐘運(yùn)行不需單片機(jī)管理,,并能夠保證一定的走時(shí)精度。
2.4 閥門控制部分主要是選用雙位置煤氣表專用閥門,,目前已有廠家開發(fā)生產(chǎn),,該閥門具有較好的密封性與抗腐蝕性、抗老化性,。此閥的功耗極小并且只有在開啟和關(guān)閉時(shí)才耗電,,平時(shí)靜止?fàn)顟B(tài)不耗電,通過改變電磁線圈中的電流方向可以控制開啟與關(guān)閉,。
3 軟件設(shè)計(jì)
煤氣表的軟件部分由兩個(gè)分支程序組成,,即計(jì)數(shù)與IC卡讀寫兩部分。這兩部分由復(fù)位后根據(jù)P1,,0端的信號(hào)狀態(tài)而決定產(chǎn)生相應(yīng)的分支,,計(jì)數(shù)部分是先將前次脈沖計(jì)數(shù)所得運(yùn)算結(jié)果從E²PROM中讀出,包括高峰時(shí)低谷時(shí)的不同單價(jià),、高峰與低谷的切換時(shí)間,、實(shí)時(shí)時(shí)鐘與基表同步的累計(jì)量。分時(shí)計(jì)費(fèi)的方法就是先由峰谷切換時(shí)間將每日24 h劃分為不同的時(shí)間段,,由實(shí)時(shí)時(shí)間確定當(dāng)前時(shí)間段是高峰期還是低谷期,,并根據(jù)運(yùn)行標(biāo)志判別前次計(jì)數(shù)信號(hào)累計(jì)與當(dāng)前時(shí)間是否在同一時(shí)間段內(nèi),如相同,,則只進(jìn)行該時(shí)間段內(nèi)的累計(jì)計(jì)數(shù),,然后程序結(jié)束。如不相同,則根據(jù)前一次時(shí)間段的用氣單價(jià)進(jìn)行用氣費(fèi)用結(jié)算并由表內(nèi)預(yù)置值中遞減扣除,,新的時(shí)間段累計(jì)清零后重新計(jì)數(shù),。當(dāng)余值小于設(shè)定最小值時(shí),發(fā)出報(bào)警信號(hào)提醒用戶購氣,,此后如最小值低于零時(shí)關(guān)閉閥門停止供氣,。程序結(jié)束時(shí)將所有數(shù)據(jù)寫回E²POM中。
IC卡讀寫部分首先校對(duì)看口令是否正確,,如正確后根據(jù)卡上的標(biāo)識(shí)字區(qū)分用戶卡與超級(jí)用戶卡,;如果是用戶卡則將購氣的預(yù)置值讀入表內(nèi),并與表內(nèi)原有的剩余值進(jìn)行正負(fù)累計(jì),,然后將表內(nèi)的氣體累計(jì)流量回寫到卡上,,以便用戶下次購氣時(shí)與管理系統(tǒng)交換數(shù)據(jù)。如果是超級(jí)用戶卡根據(jù)其不同功能,,如:初始化卡,、校時(shí)卡、調(diào)價(jià)卡等,,完成相應(yīng)的讀寫功能,。
4 結(jié)束語
目前,國內(nèi)原來生產(chǎn)機(jī)械式煤氣表的企業(yè)不斷地轉(zhuǎn)向IC卡煤氣表的生產(chǎn),,但多數(shù)為接觸式IC卡,,本文提出的非接觸式IC卡煤氣表是采用目前認(rèn)為成本最低的非接觸IC卡系統(tǒng)來實(shí)現(xiàn)的,而其它的非接觸IC卡,,如MIFARE卡等,,其讀寫裝置的成本遠(yuǎn)遠(yuǎn)高于上述表中所選的E5550卡。因此,,選用E5550卡是實(shí)現(xiàn)IC卡煤氣表非接觸化的關(guān)鍵,,雖然成本只比用接觸式IC卡表增加幾十元,但其優(yōu)點(diǎn)則是很突出的,。上述其它部分的軟硬件的設(shè)計(jì)方法實(shí)踐證明也是很有意義的,。