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