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