非接觸式IC卡工業(yè)水表及其售水系統(tǒng)設計
以PHILIPS 公司的MF-RC500 作為讀寫卡模塊,F(xiàn)REESCALE 公司的M68HC08JL8 作為主控芯片,設計了一款非接觸式IC 卡讀寫卡器。讀寫卡器還包括非接觸式IC 卡和射頻發(fā)射天線。讀寫卡器與PC 機通過串行口相連,提供售水系統(tǒng)操作卡的硬件平臺;刷卡機中的讀寫卡模塊,讀取經(jīng)售水系統(tǒng)售水后的IC 卡,并將其中相應信息記錄到MCU 中。數(shù)據(jù)讀寫的過程中,時刻需要驗證密碼,只有獲得正確的密碼才可以操作卡的內(nèi)容,因此卡中的數(shù)據(jù)具有非常好的保密性。刷卡機中的讀寫卡模塊同樣有讀寫卡的功能,但更主要是讀卡中內(nèi)容,并傳送給基表,基表返回固定信息再寫入卡中相應區(qū)域,所以不會對超出其范圍的區(qū)域有寫數(shù)據(jù)的操作。售水系統(tǒng)則可以提供讀寫卡器,實現(xiàn)對卡的完全操作,包括清卡。
5 關鍵技術
閥門驅(qū)動及反饋模塊雖然能完成驅(qū)動和反饋的功能,但是存在如下問題:閥門操作完成時刷卡機串行通信指示燈偶爾持續(xù)閃爍的現(xiàn)象。指示燈閃爍說明基本有數(shù)據(jù)發(fā)送到刷卡機,而閥門操作時不會有雙方的數(shù)據(jù)傳輸,因此初步分析為基本MCU 復位(啟動代碼現(xiàn)象)。
雖不是每次出現(xiàn),但此現(xiàn)象的嚴重性不可忽略,MCU 復位前一次水量記錄到復位時刻所用水量會丟失。根據(jù)反饋信號采樣電路可知,閥門操作完成時的電路功耗比較大,于是軟件上把采樣的時間間隔縮短,硬件上在添加了大容量電容穩(wěn)定電壓,并經(jīng)過示波器顯示波形平穩(wěn),說明MCU 的供電正常。再一次做閥門試驗,發(fā)覺仍然存在上述問題,而且沒有任何改善。
用PC 機接收串行線上的數(shù)據(jù),分析得出為MCU 上電復位的通信握手信號,至此可以確定上述現(xiàn)象是由基本MCU 復位造成。MCU 的復位情況有看門狗復位, RESET 鍵復位,程序死鎖復位,低電壓復位。進一步的試驗排除了前三者的可能性,問題的確出自低電壓,這說明閥門關閉的最后時刻功耗非常大,導致MCU 供電不足。硬件上要解決此問題,有兩種方法:① MCU 電源直接從串行線的12V 轉(zhuǎn)換得來;② MCU 電源由另外的電池提供,脫離現(xiàn)有的電池和串行線。兩種方法雖然能暫時解決問題,但考慮到其他各種以外情況,上述方法均不能徹底解決該問題。軟件上解決的辦法是禁止低電壓。系統(tǒng)復位狀態(tài)寄存器上LVD位控制著MCU 低電壓時復位是否允許,置1 則允許低電壓情況下的復位,置0 則不復位。現(xiàn)置LVD 位為0。問題解決后,用示波器顯示原電路MCU 管腳上電壓,結(jié)果與原先一樣,仍然看不出明顯變化??梢苑治鲩y門操作完成的瞬間,有毛刺影響了MCU 的工作。
前文提到的刷卡正常,是指刷卡過程中不隨便挪開卡,直到最好刷卡結(jié)束,這樣的刷卡過程能夠完成一次正確的卡操作;但如果在刷卡過程中把卡拿開,即使是一會兒,也可能導致刷卡失敗。刷卡過程是卡、刷卡機、基本三方通信的過程,除了三者之間交互的信息量大之外,還有寫卡、寫FLASH 操作,它們之間在時間上有先后順序,并且是分步進行,一旦前面操作完成而后面操作不能正常完成,那刷卡肯定就不會成功,而且先前的寫卡或?qū)慒LASH 操作必然導致下次刷卡不成功。要解決此問題,必須把寫卡和寫FLASH 操作推遲到刷卡結(jié)束前一刻?;鞰CU 程序首先開辟一塊FLASH 空間,專門用作存儲FLASH 中即將被修改的信息;不改變刷卡過程,而只是在刷卡結(jié)束前判斷是否刷卡成功,如果成功則結(jié)束,如果不成功則把原先備份的數(shù)據(jù)還原,系統(tǒng)又回復到刷卡前的狀態(tài)。對于寫卡,把表示是否刷卡的標志位和購水次數(shù)的寫入放到刷卡機與卡通信的最后第二步(最后一步發(fā)送成功與否的標志)。試驗證明上述方法非常有效,無數(shù)次測試過程中沒有出現(xiàn)一次錯誤。
6 結(jié)束語
非接觸式IC 卡工業(yè)水表已經(jīng)完成開發(fā)。售水系統(tǒng)界面友善、操作簡便,操作員只需要輸入購水金額或者水量,系統(tǒng)便可完成數(shù)據(jù)庫更新、寫卡、打印發(fā)票等工作;正常的刷卡,補卡后的刷卡,多次水量累積的刷卡,都不會丟失任何一次所購水量或者添加額外水量,刷卡后系統(tǒng)會顯示“本次購水”、“剩余水量”,如果此刻剩余水量較少,“水量報警”、“水量透支”或“透支關閥”也會相應顯示,如果購水后水量較多,上述內(nèi)容會相應不顯示;用水、購水等水量的計算完全正確;用水過程中,當水量超過之前設定的透支限額,閥門會自行關閉,直到剩余水量恢復到該限額內(nèi);電池電量降到設定值時,閥門也會自行關閉,直到電池電量恢復;拔斷刷卡機與基表之間的串行線,系統(tǒng)會立刻識別到“通信故障”,重新接好,系統(tǒng)也能立刻消除該錯誤標志;當出現(xiàn)用戶持續(xù)刷卡的不正當操作,系統(tǒng)會給予識別并提示“請正確刷卡”,同時根據(jù)情況考慮是否終止接收用戶刷卡;上述任何一種錯誤或非正常情況的發(fā)生,都會伴隨刷卡機上紅色LED 的閃爍,告知用戶系統(tǒng)出現(xiàn)故障,一切正常時,該LED 不發(fā)光。
非接觸式IC 卡工業(yè)水表吸收其他同類產(chǎn)品的優(yōu)點,進一步完善不足,從功能、可靠性上給予提高。工業(yè)水表智能化是發(fā)展的必然趨勢,智能化水表的推出,不僅改變了逐月入戶驗表的收費方式,而且其科學性、可靠性,為水資源管理部門實現(xiàn)計算機的全面管理提供了堅實的基礎,能從根本上杜絕遲繳、欠繳、漏繳水費的現(xiàn)象,提供準確的用水信息,因此必將帶來良好的經(jīng)濟效益和社會效益。
參考文獻
[1] 陸永寧編著.IC 卡應用系統(tǒng).東南大學出版社,2000.
[2] 南京國顯電子公司.SED1520 中英文手冊.2003.
[3] 謝瑞和,楊明編著. Motorola 68HC08 微控制器與嵌入式系統(tǒng)基礎.清華大學出版社,2003.
[4] 王宜懷編著.單片機原理及其嵌入式應用教程.北京希望電子出版社,2002.
[5] 賴金福編著.數(shù)字集成電路簡明手冊(MOTOROLA).電子工業(yè)出版社,1997.
[6] 邵貝貝編著.Motorola DSP 型16 位單片機原理與實踐.北京航天航空大學出版社,2003.
[7] John Catsoulis.嵌入式硬件設計.中國電力出版社,2004
[8] 張友德編.飛利浦80C51 系列單片機原理與應用技術手冊. 北京航空航天大學出版社 1992.8
[9] 陳章龍,韓光編. Motorola 單片機接口技術手冊.復旦大學出版社,1993.
[10] 王愛英編著.智能卡技術.清華大學出版社,2000.
蜂鳴器相關文章:蜂鳴器原理
評論