【提要】本文介紹了一種非接觸式IC卡節水控制器的設計方案,首先給出了基于AT89C51單片機的水控器的總體設計方案,接著對基于MFRC500芯片的射頻讀寫模塊進行了較詳細的設計,然后給出了系統的軟件設計流程,最后對讀寫器與IC卡通訊的流程進行了說明。
1.引言
非接觸式IC卡節水控制器(簡稱水控器或水控機),就是采用非接觸式IC卡讀寫器控制出水,對用水實行無人收費管理]。它是一種集計量功能及控制功能為一體的裝置,是一種利用現代微電子技術、現代傳感技術、非接觸式IC卡技術對用水量進行計量并能進行用水數據傳遞及結算交易的新型裝置。有水龍頭流水的場所都可以利用控制器達到節水的目的。如:浴室、集體和個人公寓、開水房等場所。該裝置采用國內最常見的Philips公司生產的Mifare1S50非接觸式IC卡作為通訊卡,具有體積小、攜帶方便、防水防潮、堅固耐磨等優點,并且能方便的配合售飯機、門禁系統、考勤系統等一起使用,構成校園一卡通、企業一卡通系統。
2.基于非接觸式IC卡的節水控制器總體方案及硬件設計
2.1總體方案
由圖1的系統框圖可以看出,水控器主要以AT89C51主控MCU為核心,輔以射頻接口模塊、流量計量模塊、水控接口模塊、開關電源電路、數碼顯示電路、數據存儲電路、蜂鳴器報警電路等組成。
圖1非接觸式IC卡節水控制器系統框圖
只要在讀卡器讀卡范圍內有IC卡,則通過單片機控制射頻接口電路對IC卡進行操作,判斷IC卡的類型(用戶卡或管理員卡),根據卡內的信息內容進行相應的處理,并根據需求通過水控接口電路來控制電磁閥的狀態(開或關),系統運作過程中的有關信息通過數碼顯示電路顯示出來或將有關數據記錄到數據存儲器中。另外水表在用水的過程中通過流量傳感器發出脈沖信號,單片機接收脈沖信號進行運算和處理然后對IC卡進行相應的扣款處理并通過數碼顯示電路顯示有關信息,并在用水的過程中進行實時監控,若IC卡的余額過低則通過蜂鳴器發聲報警。水控器的各部分協調運作從而可以實現用水的自動化管理。
2.2水控器硬件設計
2.2.1MCU模塊
水控器的核心MCU模塊選用內置功能強大,且具有高性價比的AT89C51單片機,它是一個低電壓、高性能CMOS8位單片機,片內含4kbytes的可反復擦寫的Flash只讀程序存儲器和128bytes的隨機存取數據存儲器(RAM),采用ATMEL公司的高密度、非易失性存儲技術,兼容標準MCS-51指令系統。另外MCU的外接電路,如:數據存儲器采用AT24C01A作為非易失的數據存儲(用于存儲設置參數和消費數據,如水價、累計消費等)。數碼顯示電路可采用74HC164驅動數碼顯示。為了降低裝置的功耗和發熱,采用了開關電源作為供電電源,可選用L4962E/A的降壓型PWM控制開關穩壓集成電路,它具有輸出電壓可調、過流保護、過熱保護和軟啟動功能。報警電路將蜂鳴器與MCU基本I/O口相連主要實現余額不足報警等功能。水控接口電路利用AT89C51單片機的基本I/O口輸出控制信號,經放大后用以控制電磁閥的開啟與關閉。來自流量傳感器的水流信號經前置電路處理后,轉換為一系列可供測量的電壓脈沖信號,這些脈沖信號可由單片機的定時器進行捕獲并由中斷服務程序實時記錄,經過計算處理可以準確轉換成用戶的耗水量,進而通過將耗水量轉換成用戶所要支付的金額并控制射頻接口模塊對IC卡進行扣款操作。
2.2.2射頻接口模塊
該模塊主要由MFRC500芯片及其天線電路組成。
1)MFRC500簡介
MFRC500是Philips公司于2000年給出的應用于13.56MHz非接觸式通信中高集成讀卡IC系列中的一員。利用了先進的調制和解調概念,符合ISO/IEC1443標準中TYPEA協議的規定,完全集成了在13.56MHz下所有類型的被動非接觸式通信方式和協議。它具有以下一些特點:
內部的發送器部分不需要增加有源電路就能夠直接驅動近操作距離的天線(可達100mm)。
接收器部分提供一個堅固而有效的解調和解碼電路,用于ISO14443A兼容的應答信號。
數字部分處理ISO14443A幀和錯誤檢測(奇偶&CRC);此外,它還支持快速CRYPTO1加密算法用于驗證MIFARE系列產品。方便的并行接口可直接連接到任何8位微處理器,這樣給讀卡器/終端的設計提供了極大的靈活性。
射頻接口模塊的硬件電路設計圖如下圖2所示。
圖2射頻接口模塊硬件電路圖
2)單片機與MFRC500接口電路設計
單片機與MFRC500的接口采用了獨立讀/寫選通復用地址總線的接口模式,將MFRC500的并口(P0~P7)與單片機的P0口連接,片選信號NCS與P2.7相連,MFRC500的中斷與單片機的INT1相連,復位腳RSTPD與單片機的P1.2相連。另外該模式下MFRC500的A2、A1、A0分別與GND、VCC、VCC相連,保證A2、A1、A0的輸入電平分別為低、高、高。
3)天線電路設計
天線電路由4個部分組成,即EMC(電磁兼容性)低通濾波器、接收電路、天線匹配電路和天線。
EMC低通濾波器由L0和C0組成。Mifare系統在13.56MHz頻率下操作。該頻率由一個石英晶振產生用于驅動MFRC500以及作為驅動天線的13.56MHz能量載波的基頻。這樣除了產生13.56MHz的發射功率而且會發射更高的諧波。國際EMC條例定義了在廣播頻段中發射功率的幅值。因此,必須對輸出信號進行適當的濾波。接收電路由R1、R2、C3、C4組成。使用了內部產生的VMID電勢作為RX腳的輸入電勢。為了提供一個穩定的參考電壓,還必須在VMID腳接一個對地的電容C4。讀卡器的接收部分在RX和VMID腳之間連接了一個分壓器。天線線圈和分壓器之間使用了一個串接電容。EMC低通濾波器和接收電路的元件取值見下表1:
天線匹配電路由C1、C2a、C2b組成,這里設計成一個直接匹配天線的匹配電路,各元件的取值決定于天線的電氣特性和環境的影響。
對天線線圈的電感量的精確計算是不可行的。可以通過下面的公式來估算,天線一般設計成環形或者矩形。
表1EMC濾波器和接收電路元件的取值
式中,I1為導體環一圈的長度;D1為導線直徑或者PCB板上導體的寬度;K為天線形狀因素(環行天線K=1.07,矩形天線K=1.47);N1為圈數。
3.軟件設計方案
控制器采用的是Mifare1S50型非接觸式IC卡,這里將IC卡設置成用戶卡和管理員卡兩種。用戶卡即為買水用卡;而管理員用卡用于對水控器進行參數設置和讀取消費額。管理員卡在使用前要在裝有系統管理軟件的PC機上進行設置,在IC卡的一個分區內寫有管理員特征碼,用于區分卡類型。
3.1水控器總體流程
水控器總體流程圖如圖3所示。
圖3水控器總體流程圖
系統初始化包括了單片機的初始化、讀24C01A操作、顯示處理、以及MFRC500初始化。其中讀24C01A操作是為了顯示單價的需要,MFRC500的初始化即對MFRC500的內部寄存器進行設置。當有IC卡靠近讀寫器時,先讀取系統識別碼(判斷該卡是否適用于該系統),然后判斷卡類型并進入相對應的用戶卡或管理員卡處理流程。在用戶卡以及管理員卡處理流程中考慮長期使用可能出現壞卡,因而設置有寫卡累計次數限制流程,如果寫卡累計6次仍不能成功則退出并報警。
3.2讀寫器與IC卡通訊流程
讀寫器與IC卡通訊流程圖如下圖4所示。
4.結論
自動化服務,為人們的生活帶來了便利。