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