非接觸IC卡熱量表預付費模塊的設計與應用
文章出處:http://hz-huyue.com 作者:張華強, 李玉峰, 張曉燕 人氣: 發表時間:2011年05月17日
隨著我國科技、經濟的發展和國家能源政策的調整,“集中供暖、分戶計量”的模式成為城鎮供暖系統中的首選模式,因而熱量表在供暖系統中得到了廣泛的應用。但由于此種模式的熱計量收費涉及到千家萬戶的直接利益,用熱情況復雜,從而造成了熱力公司收費比較困難。
MF RC522是Philips公司最新推出的一款非接觸式IC卡讀寫基站芯片,應用于13.56 MHz的非接觸式通信系統中。本文設計的基于MF RC522的熱量表預付費模塊,是以射頻IC卡作為信息的載體來存儲所購買熱量,熱量表讀取卡中數據后再把卡中數據清零,實現了“先購熱、后用熱”的消費模式,為解決供暖收費難、提高居民節約意識和提高資源利用率創造了條件。
1 預付費模塊組成及工作原理
熱量表是用于測量并顯示水流經熱交換系統所釋放或吸收能量的儀表,它通過采集入水口、出水口的溫度和水的流量,計算出系統所釋放的熱量。預付費模塊就是為實現“先購熱、后用熱”而設置的,基于MF RC522的預付費模塊如圖1所示。
系統工作原理:當需要讀卡操作時,先由按鍵電路把單片機從低功耗模式喚醒,單片機收到有效讀卡信息后打開射頻卡讀寫電路的電源,對進入射頻場的IC卡請求應答,當判斷有本系統的IC卡后進行通信,讀取卡中的熱量值,加到熱量表原有的熱量值中,對所購熱值和現有熱值進行存儲,并把IC卡中的熱量值清零,同時在LCD顯示器中顯示IC卡號、本次購買熱量和熱量表現有熱量等信息[1]。
若讀取IC卡之前熱量表中的熱值為0,讀取后現有熱值大于0,則打開閥門控制電路的電源,執行打開供暖管道進水口的操作,當微處理器檢測到閥門有效打開后,關閉閥門控制電路的電源。系統對射頻場掃描一段時間后關閉射頻讀寫模塊的電源。
當熱量表中的現有熱值等于0 KJ時,系統將打開閥門控制電路的電源,執行關閉供暖管道的進水閥門操作,當微處理器檢測到閥門有效關閉后,關閉閥門控制電路的電源。
2 硬件設計
熱量表預付費模塊的硬件主要由微處理器、IC卡讀寫電路、閥門驅動電路和按鍵及顯示電路等組成。
2.1 微處理器
由于熱量表是電池供電的儀器,1塊電池需要工作5年以上,這對微處理器的低功耗性能提出嚴格要求。MSP430F149是TI公司推出的16位超低功耗單片機,其供電電壓范圍是1.8~3.6 V,在休眠條件下工作電流只有0.8 μA,從休眠方式喚醒只需要6 μs;具有6個數據端口,P1和P2口全部可以做外中斷處理,2個串口通信模塊,且這兩個串口都可以通過軟件設置成UART方式或者SPI方式,5種節能模式非常適合用在超低功耗的產品中使用[2]。因此選用MSP430F149作為本系統的微處理器。
2.2 射頻IC卡讀寫電路
射頻IC卡讀寫電路的主要功能是完成對IC卡的識別、讀取卡中數據、對卡中數據清零等操作,該電路主要由MFRC522基站芯片及其匹配天線組成。MFRC522是Philips公司最新推出的一款非接觸式低功耗讀寫基站芯片,該讀卡芯片完全集成了13.56 MHz下所有類型的被動非接觸式通信方式和協議,支持ISO14443A所有的層[3],可以方便地讀取 Mifare 1 S50、S70等卡片,具有三種接口方式:SPI模式、UART模式、I2C模式,可與各種類型的MCU進行通信。
MSP430F149具有SPI接口,因此在本系統中射頻基站芯片和微處理器的通信就采用SPI方式,采用如圖2所示的典型應用電路[4]。該電路主要由電源控制電路、低通濾波電路、接收電路和天線匹配電路組成。本設計天線采用直接匹配天線方法。
電源控制電路(R15,R16,R17,Q5,Q12)使射頻電路電源的通斷處于可控狀態,只有當需要讀卡時才給射頻IC卡電路供電,平時不需要讀卡時射頻IC卡電路的電源處于斷開狀態,以降低系統功耗。低通濾波電路(L1,C17;L2,C20)是為抑制系統電路中由石英振蕩器產生的高階諧波而設置的,接收電路(R25,R26,C13,C14)用于接收返回信號,其中電阻、電感、電容的取值采用推薦值。天線匹配電路(C15, C18,C19;C23,C22,C21)的作用是將天線調諧到最優,具體取值的時候要根據所設計的天線的長寬和天線的電感來綜合考慮選取電容的值。
2.3 閥門驅動接口電路
閥門控制電路及低電壓電動閥門配合IC卡讀寫電路實現預付費功能,是預付費系統的執行機構,完成對供暖管道的開、關控制操作。該電路采用單獨電源供電,單片機只需提供相關操作信號即可。主要由電源電路、驅動電路和低電壓電動閥門組成,如圖3所示。
低電壓電動閥門選用天津珠峰閥門廠的電動銅球閥,其熱水工作溫度是0~100 ℃,工作電壓是DC 3 V~6 V,閥門控制引出4根線,分別是開閥線、關閥線、地線和反饋線,非常適合本系統。工作過程如下:當開閥線和地線接通電源后,閥門自動轉動到全開位置后內部自動斷電;當關閥線和地線接通電源時,閥門自動轉動到全閉位置后內部自動斷電;當執行閥門的開閥或關閥時,反饋線會輸出高電平;當閥門開到位或關到位時,反饋線輸出低電平,這樣用單片機控制就非常簡單、高效。
閥門控制電路電源部分主要由電池和電源電壓檢測電路組成,電源采用3.6 V的電池供電。由于電機的最低工作電壓是3 V,所以采用3.1 V的電壓檢測芯片,當電源電壓低于3.1 V時,觸發單片機中斷,系統會關閉進水閥,同時提示用戶更換閥門控制電路的電源。
驅動電路主要控制閥門電機的轉動方向,當需要開閥或關閥操作時,打開相應的電路即可。當檢測到閥門已打開或已關閉后,關閉電路的電源,以降低功耗。如圖3所示,關閥電路(Q2,Q7,Q11)受CLO_M端控制,當CLO_M為高電平時,Q2、Q7、Q11導通,關閥端為高電平,開閥端為低電平,執行關閥操作。當檢測到反饋端的電平變為低時使CLO_M端為低,切斷電源;開閥電路(Q9、Q10、Q3)受OPEN_M端控制,工作過程和關閥過程類似。
2.4 按鍵及LCD顯示電路
按鍵電路主要功能是完成把微處理器從低功耗模式喚醒并進行讀卡操作。本系統的按鍵電路選用由1個電阻、1個電容和1個按鍵組成的簡易鍵盤,按鍵電路的輸出端接到微處理器的具有邊沿中斷功能的端口,當按鍵按下時,觸發單片機中斷,執行讀卡操作。電路中的電阻是限流電阻,以防止電路中的電流太大損壞單片機的端口,電容的作用是消除按鍵抖動。
LCD顯示模塊對卡號、現有熱量、本次所購熱量等信息進行顯示??紤]到系統的低功耗,選用LCD12864芯片,其電路如圖4所示。它可以在3 V電壓下工作,不僅能顯示英文字符,還能顯示漢字,做到了信息的全中文顯示。不開啟背光,工作電流典型值也只有1.2 mA,在平時不顯示的時候關閉模塊電源,使顯示模塊消耗的能量很少,完全適合電池供電的低功耗系統。
3 軟件設計
軟件采用了模塊化設計,包括主程序和中斷服務程序。中斷服務程序如圖5所示。
主程序完成系統的初始化等操作后進入低功耗模式等待中斷,按鍵中斷服務程序完成讀卡功能、開關閥等操作。對于本預付費模塊,主要是按鍵中斷服務程序的設計。本按鍵中斷程序中,射頻卡開啟的時間采用定時器來控制,這樣軟件操作更加合理、功耗小、執行效率高。
本文設計的熱量表預付費模塊以MFRC522為核心,結合電動閥門實現了預付費功能。通過在軟件方面采用中斷方式,在硬件電路中加入電源控制端,使電源可控,因而降低了系統的功耗,實現了系統低成本、高效率,同時實現信息的全中文和標準量綱顯示。該模塊具有功耗低、運行穩定的特點,可以很方便地移植到其他系統中,進而提升產品的性能,在實際應用中具有較高的參考價值。