新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 非接觸式IC卡工業(yè)水表及其售水系統(tǒng)設(shè)計

非接觸式IC卡工業(yè)水表及其售水系統(tǒng)設(shè)計

作者: 時間:2013-08-03 來源:網(wǎng)絡(luò) 收藏


3.1.2 基表(見圖4)。


圖4 基表電路描述圖

(1) 水量記錄:水表中有機械轉(zhuǎn)輪,通過干簧管與磁鐵配合完成采樣;內(nèi)部提供了強磁場干擾的判別處理,再加之基表埋入地下,基本可以忽略外部環(huán)境的影響。

(2) 穩(wěn)壓電源及反饋電路:正常情況下,基表部分的電池通過刷機的12V 電源充電。它為基表部分的MCU 和閥門電機供電??紤]到電路中同時出現(xiàn)三種電壓:3.3V、5V、12V,若干電容被使用,用來去除高頻、低頻毛刺,保證各電源不受污染以及信號的有效性。穩(wěn)壓電源電路的設(shè)計與刷機部分類似?;聿糠质褂昧?2V - 7.0Ah/20HR 的可充點蓄電池,電池特性說明,實際電壓隨電量的有效值同步變化。反饋電路采樣電池電壓,并把實時采樣結(jié)果返回給MCU,MCU 根據(jù)采樣結(jié)果判斷電池電量是否足夠維持當前系統(tǒng)的正常工作,并作出相應(yīng)處理。

(3) 閥門驅(qū)動及反饋電路:兩條電源線分別接閥門電機的兩端,電機工作的條件是兩端有電壓差;繼電器配合采樣電路,準確、及時地為電機提供接通、切斷電源的信號。實驗證明閥門驅(qū)動及反饋信號電路均能支持正常工作。

(4) MCU:微處理器選用Freescale 公司的8 位MCU 。

3.2 軟件設(shè)計

3.2.1 刷機部分。

由以下5 部分組成。

(1) 穩(wěn)壓電源及反饋:程序中主要以中斷的方式判斷220V 電源的供電情況是否正常,但MCU 在工作時,會有其他中斷和需要關(guān)閉中斷進行長時間操作的程序塊,因此存在丟失220V 中斷的情況;程序?qū)崿F(xiàn)時,結(jié)合查詢方式,很好的避免了上述意外情況。在確認市電斷電后,系統(tǒng)報警,錯誤指示燈閃爍。

(2) 漢字點陣LCD:該LCD 提供了漢字與ASCII 字符的顯示。

(3) IC 卡讀寫卡模塊:為了保證一戶一卡、一表一卡,IC 卡中添加了密碼與特定用戶信息,刷卡過程中,所有信息都吻合時才可以對其讀寫;從另一個角度來講,僅有系統(tǒng)設(shè)計人員才能更改其中的內(nèi)容。

(4) MCU:系統(tǒng)采用消息驅(qū)動的編程方式,上述任何一部分在發(fā)生或需要的時候,相應(yīng)功能模塊才會被執(zhí)行;同時考慮到各模塊及其他程序執(zhí)行時間的先后順序,系統(tǒng)給出了有效合理的安排。

(5) 串行通信:與閥門每隔約2.3 秒進行一次通信握手,如有通信線故障,系統(tǒng)會立刻報警并給出提示。

3.2.2 基表部分。

基表由以下六部分組成。

(1) 時鐘模塊:該模塊有兩個用途:

①為防止閥門銹蝕,系統(tǒng)會定期轉(zhuǎn)動閥門,該時間間隔是15 天;
②當部分的電源轉(zhuǎn)換器不能為基表電池充電,并且電池本身電量降到某一低限時,MCU 也要記時,并在一小時后關(guān)閉閥門。

(2) 水量記錄:水量記錄以中斷的方式觸發(fā),并及時給予處理。記錄信號的接收,需要考慮到了以下幾點:①接收的方法:以低電平觸發(fā),一個下降沿代表一個記錄脈沖,軟件上為正確判斷,使用兩個引腳并以互補的方式接收下降沿,保證不丟失和添加任何一個記錄信號;②屏蔽外接干擾:基表埋入地下,可以避免絕大多數(shù)干擾,另外自身提供了磁干擾的硬件判斷的電路,軟件上以中斷方式觸發(fā),一旦發(fā)現(xiàn)異常,閥門關(guān)閉。工業(yè)水表的口徑較大,單個記錄信號所需要的時間非常段,因此在單位時間內(nèi)會有若干記錄中斷信號;在其他處理時間比較長的過程中,肯定會出現(xiàn)記錄信號與此過程沖突的現(xiàn)象;基于上述兩種考慮,為了保證在刷卡時不丟失記錄信號,程序除了在中斷中及時處理記錄信號外,必須還要支持該信號的累加,而后再處理的記錄方法。

(3) 水量計算:所有關(guān)于水量的計算、存儲都是以BCD 碼為基礎(chǔ)。程序上,提供了多位BCD 碼的加、減和比較的子程序,具有很好的通用性。

(4) 電源模塊:中斷與查詢相結(jié)合的方式判斷電池的供電情況,功能與刷卡機部分電源模塊相同。

(5) 閥門驅(qū)動及反饋模塊:閥門設(shè)置了三種狀態(tài):堵塞、打滑、正常,程序根據(jù)開、關(guān)閥過程對閥門狀態(tài)做出判斷,在閥門動作失敗后,程序會再一次嘗試其他方法完成上述動作,并記錄最終的狀態(tài)。

(6) MCU:系統(tǒng)同樣采用消息驅(qū)動的編程模式;基表部分MCU 的RAM 內(nèi)存放著當前用戶的水量信息,記錄信號累加到RAM,并定期寫入FLASH;水表的水量和用戶信息存在于FLASH 內(nèi),掉電后數(shù)據(jù)不會丟失,可以保存十年以上的時間?;聿糠諱CU 內(nèi)程序的特殊考慮,使其具有很強的獨立性,并表現(xiàn)在這樣兩個方面:①任何一個刷卡機都可以與用戶特定的基表匹配;②基表可以脫離刷卡機單獨工作??紤]到用戶刷卡過程中交互的數(shù)據(jù)量大,操作時間相對比較長的問題,MCU 在刷卡機與基表的通信和基表數(shù)據(jù)的更新上做了許多保護性措施,可在刷卡結(jié)束后判斷是否刷卡成功,支持失敗后的可以重新刷卡?;聿糠值腗UP 在初次上電并進入正常工作后,MCU 內(nèi)RAM 和FLASH 內(nèi)記錄了用戶水量等重要信息,絕不允許其掉電,原則上不會出現(xiàn)掉電現(xiàn)象,但為了避免不可能中的萬一,系統(tǒng)還是設(shè)置了冷熱復(fù)位的判斷和處理,該操作既可以保證RAM 區(qū)水量正確,更保證了水量的一致性,也即累計用水、剩余水量、本次購水之間的數(shù)值關(guān)系。

3.2.3 監(jiān)控程序

Freescale 公司的 是剛剛推出的一款具有16 位單片機性能的8 位單片機。它的封裝形式從傳統(tǒng)MCU 的DIP 轉(zhuǎn)為LQFP,焊接時帶來了許多困難,不適合取下重新寫入程序。因此,在開發(fā)前編寫了GB32 的監(jiān)控程序及其在線編程系統(tǒng),通過串口便可方便對開發(fā)板上的GB32 編程。

4 售水系統(tǒng)設(shè)計

售水系統(tǒng)包括售水系統(tǒng)軟件和讀寫卡器。軟、硬件結(jié)合

4.1 售水系統(tǒng)軟件

售水系統(tǒng)實現(xiàn)發(fā)行IC 卡(開戶)、售水、用戶信息查詢、售水信息查詢、圖表打印、系統(tǒng)維護等功能。同時含有發(fā)行清零卡、反讀卡、工作卡、清卡、讀取反讀卡等卡操作,和用戶過戶、數(shù)據(jù)備份等功能。系統(tǒng)分管理員、操作員兩種模式進入。管理員主要實現(xiàn)查詢、特殊功能和系統(tǒng)維護等操作;操作員主要實現(xiàn)查詢、特殊功能、開戶和售水等操作。

系統(tǒng)提供了多種查詢方式:

①用戶信息查詢:可根據(jù)用戶號、姓名、開戶日期、公司地址四種方式查詢用戶信息;
②售水信息查詢:管理員可以查詢統(tǒng)計售水情況,該功能模塊有四個字功能模塊,即組合查詢模塊、收盤統(tǒng)計模塊、按用戶名稱查詢模塊和黑名單統(tǒng)計模塊。

特殊功能有用戶過戶、數(shù)據(jù)備份、數(shù)據(jù)導(dǎo)入、清卡、讀反讀卡,管理員模式下多一個修改操作員密碼的功能。系統(tǒng)維護包括參數(shù)設(shè)置(具體參數(shù)有:每表附加費、每噸附加費、水價類型、卡類型、口徑、報警水量、透支水量、管理員、操作員、單位名稱)、發(fā)行清零卡、發(fā)行反讀卡、發(fā)行工作卡。開戶和售水是用水的前提,也是售水系統(tǒng)最基本的功能;開戶或每次售水后,相應(yīng)的數(shù)據(jù)均寫入數(shù)據(jù)庫;如果用戶卡丟失,系統(tǒng)可以根據(jù)之前記錄補卡。

售水系統(tǒng)基于客戶服務(wù)器模式(C/S)設(shè)計的,后臺數(shù)據(jù)庫用的是Microsoft SQLServer2000,適用于基于分布式網(wǎng)絡(luò)售水的應(yīng)用。同時,根據(jù)公司要求,考慮到本售水系統(tǒng)也能適用于規(guī)模比較小的單點售水,在數(shù)據(jù)庫設(shè)計時,使其兼容ACCESS 2000。這樣,售水系統(tǒng)管理軟件在實際應(yīng)用時,可以根據(jù)應(yīng)用規(guī)模的大小,選擇不同的后臺數(shù)據(jù)庫管理軟件,增強了軟件的適應(yīng)性,可擴充性,使之具有更大的靈活性。

圖5 描述了售水系統(tǒng)中操作員可執(zhí)行的系統(tǒng)功能。


圖5 售水系統(tǒng)軟件功能模塊圖(操作員)

蜂鳴器相關(guān)文章:蜂鳴器原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉