1.引言
非接觸式IC卡節(jié)水控制器(簡稱水控器或水控機),就是采用非接觸式IC卡讀寫器控制出水,對用水實行無人收費管理]。它是一種集計量功能及控制功能為一體的裝置,是一種利用現代微電子技術、現代傳感技術、非接觸式IC卡技術對用水量進行計量并能進行用水數據傳遞及結算交易的新型裝置。有水龍頭流水的場所都可以利用控制器達到節(jié)水的目的。如:浴室、集體和個人公寓、開水房等場所。該裝置采用國內最常見的Philips公司生產的Mifare1 S50非接觸式IC卡作為通訊卡,具有體積小、攜帶方便、防水防潮、堅固耐磨等優(yōu)點,并且能方便的配合售飯機、門禁系統(tǒng)、考勤系統(tǒng)等一起使用,構成校園一卡通、企業(yè)一卡通系統(tǒng)。
2.基于非接觸式IC卡的節(jié)水控制器總體方案及硬件設計
2.1 總體方案
由圖1的系統(tǒng)框圖可以看出,水控器主要以AT89C51主控MCU為核心,輔以射頻接口模塊、流量計量模塊、水控接口模塊、開關電源電路、數碼顯示電路、數據存儲電路、蜂鳴器報警電路等組成。
圖1非接觸式IC卡節(jié)水控制器系統(tǒng)框圖
只要在讀卡器讀卡范圍內有IC卡,則通過單片機控制射頻接口電路對IC卡進行操作,判斷IC卡的類型(用戶卡或管理員卡),根據卡內的信息內容進行相應的處理,并根據需求通過水控接口電路來控制電磁閥的狀態(tài)(開或關),系統(tǒng)運作過程中的有關信息通過數碼顯示電路顯示出來或將有關數據記錄到數據存儲器中。另外水表在用水的過程中通過流量傳感器發(fā)出脈沖信號,單片機接收脈沖信號進行運算和處理然后對IC卡進行相應的扣款處理并通過數碼顯示電路顯示有關信息,并在用水的過程中進行實時監(jiān)控,若IC卡的余額過低則通過蜂鳴器發(fā)聲報警。水控器的各部分協(xié)調運作從而可以實現用水的自動化管理。
2.2 水控器硬件設計
2.2.1 MCU模塊
水控器的核心MCU模塊選用內置功能強大,且具有高性價比的AT89C51單片機,它是一個低電壓、高性能CMOS 8位單片機,片內含4k bytes的可反復擦寫的Flash只讀程序存儲器和128 bytes的隨機存取數據存儲器(RAM),采用ATMEL公司的高密度、非易失性存儲技術,兼容標準MCS-51指令系統(tǒng)。另外MCU的外接電路,如:數據存儲器采用AT24C01A作為非易失的數據存儲(用于存儲設置參數和消費數據,如水價、累計消費等)。
數碼顯示電路可采用74HC164驅動數碼顯示。為了降低裝置的功耗和發(fā)熱,采用了開關電源作為供電電源,可選用L4962E/A的降壓型PWM控制開關穩(wěn)壓集成電路,它具有輸出電壓可調、過流保護、過熱保護和軟啟動功能。報警電路將蜂鳴器與MCU基本I/O口相連主要實現余額不足報警等功能。水控接口電路利用AT89C51單片機的基本I/O口輸出控制信號,經放大后用以控制電磁閥的開啟與關閉。來自流量傳感器的水流信號經前置電路處理后,轉換為一系列可供測量的電壓脈沖信號,這些脈沖信號可由單片機的定時器進行捕獲并由中斷服務程序實時記錄,經過計算處理可以準確轉換成用戶的耗水量,進而通過將耗水量轉換成用戶所要支付的金額并控制射頻接口模塊對IC卡進行扣款操作。
2.2.2射頻接口模塊
該模塊主要由MFRC500芯片及其天線電路組成。
1)MFRC500簡介
MFRC500是Philips公司于2000年給出的應用于13.56MHz非接觸式通信中高集成讀卡IC系列中的一員。利用了先進的調制和解調概念,符合ISO/IEC1443標準中TYPE A協(xié)議的規(guī)定,完全集成了在13.56MHz下所有類型的被動非接觸式通信方式和協(xié)議。它具有以下一些特點:
·接收器部分提供一個堅固而有效的解調和解碼電路,用于ISO14443A兼容的應答信號。
·數字部分處理ISO14443A幀和錯誤檢測(奇偶&CRC);此外,它還支持快速CRYPTO1加密算法用于驗證MIFARE系列產品。 方便的并行接口可直接連接到任何8位微處理器,這樣給讀卡器/終端的設計提供了極大的靈活性。
圖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系統(tǒng)在13.56MHz頻率下操作。該頻率由一個石英晶振產生用于驅動MFRC500以及作為驅動天線的13.56MHz能量載波的基頻。這樣除了產生13.56MHz的發(fā)射功率而且會發(fā)射更高的諧波。國際EMC條例定義了在廣播頻段中發(fā)射功率的幅值。因此,必須對輸出信號進行適當的濾波。接收電路由R1、R2、C3、C4組成。使用了內部產生的VMID電勢作為RX腳的輸入電勢。為了提供一個穩(wěn)定的參考電壓,還必須在VMID腳接一個對地的電容C4。讀卡器的接收部分在RX和VMID腳之間連接了一個分壓器。天線線圈和分壓器之間使用了一個串接電容。 EMC低通濾波器和接收電路的元件取值見下表1:
天線匹配電路由C1、C2a、C2b組成,這里設計成一個直接匹配天線的匹配電路,各元件的取值決定于天線的電氣特性和環(huán)境的影響。
對天線線圈的電感量的精確計算是不可行的。可以通過下面的公式來估算,天線一般設 計成環(huán)形或者矩形。
表1 EMC濾波器和接收電路元件的取值
式中,I1為導體環(huán)一圈的長度;D1為導線直徑或者PCB板上導體的寬度; K為天線形狀因素(環(huán)行天線K=1.07,矩形天線K=1.47);N1為圈數。
3. 軟件設計方案
控制器采用的是Mifare 1 S50型非接觸式IC卡,這里將IC卡設置成用戶卡和管理員卡兩種。用戶卡即為買水用卡;而管理員用卡用于對水控器進行參數設置和讀取消費額。管理員卡在使用前要在裝有系統(tǒng)管理軟件的PC機上進行設置,在IC卡的一個分區(qū)內寫有管理員特征碼,用于區(qū)分卡類型。
3.1 水控器總體流程
水控器總體流程圖如圖3所示。
圖3 水控器總體流程圖
3.2 讀寫器與IC卡通訊流程
讀寫器與IC卡通訊流程圖如下圖4所示。
圖4讀寫器與IC卡通訊流程圖
首先上電對MFRC500進行復位與初始化,當有IC卡靠近讀寫器的讀寫范圍之內時,讀寫器向IC卡發(fā)出請求命令,此時IC卡的ATR(復位應答信息)將啟動,并將IC卡中的2BIC卡類型傳送給讀寫器,建立IC卡與讀寫器的第一步通信聯絡。如果讀寫器天線工作范圍內有多張IC卡,防沖突模塊將啟動。讀寫器首先與每一張卡進行通訊,取得每一張卡的序列號,卡的序列號都是唯一的,根據IC卡的序列號來選定一張IC卡進行操作,未被選擇的IC卡處于等待狀態(tài)。序列號存儲在IC卡的block0中,共5B,其中有1B為序列號的檢驗字節(jié)(CRC碼)。完成了上述兩個步驟以后,讀寫器還必須對IC卡進行選擇,讀寫器將收到從被選中的IC卡傳送出的容量字節(jié)(存儲于block0)。當讀寫器收到這一字節(jié)后,就可以對IC卡進行密碼認證操作。非接觸式IC卡的密碼認證分為三個步驟進行,稱為三重認證,只有三重認證通過以后才可以對IC卡的這一分區(qū)進行讀、寫等操作。Mifare1型IC卡共有16個分區(qū),每個分區(qū)都可分別設置各自的密碼,互不干涉。如果改變分區(qū)還必須用該分區(qū)的密鑰重新完成三重認證。
4. 結論
本文介紹了一種非接觸式IC卡節(jié)水控制器的設計方案,進行了系統(tǒng)方案的整體設計,并且對射頻讀寫模塊進行了較詳細的設計,給出了射頻讀寫模塊的硬件電路圖,同時給出了系統(tǒng)的軟件設計流程,以及對電子標簽與讀寫器的通訊流程進行了說明。非接觸式IC卡節(jié)水控制器作為構成校園一卡通、企業(yè)一卡通系統(tǒng)的一部分,越來越深入人們的生活,提供了人們對水資源的利用與管理的自動化服務,為人們的生活帶來了便利。