基于RFID應(yīng)用的通用型控制器設(shè)計
摘要:文章以門禁控制為例,介紹一款基于RFID應(yīng)用的通用型控制器的設(shè)計原理,并給出了利用Proteus軟件進(jìn)行仿真調(diào)試的方法。該控制器由RFID卡、天線、讀卡模塊、單片機、LCD1602顯示器等組成,采用AT89SXX系列單片機作為控制芯片,采用EEPROM保存卡號,不怕掉電。采用125kHz射頻讀卡模塊,讀卡模塊工作方式為主動方式,當(dāng)RFID卡靠近讀卡模塊時,卡號連續(xù)以串行方式輸出,經(jīng)串口送入單片機或PC機進(jìn)行處理??捎糜诠矆鏊拈T禁管理,具有成本低、性能可靠、通用性好、用途廣泛等優(yōu)點,在此電路基礎(chǔ)上進(jìn)行簡單應(yīng)用功能擴展,便能滿足各種場合用戶的需求。
關(guān)鍵詞:RFID;單片機;通用型;控制器
0 引言
RFID卡應(yīng)用系統(tǒng)由RFID卡、讀卡器、控制器等組成,讀卡器將載波信號經(jīng)天線向外發(fā)射,當(dāng)RFID卡進(jìn)入讀卡器的工作區(qū)域后,卡中的電感線圈和電容組成的諧振回路接收讀卡器發(fā)射的載波信號,卡中芯片的射頻接口模塊由此信號產(chǎn)生出電源電壓、復(fù)位信號及系統(tǒng)時鐘,使芯片“激活”,芯片讀取存儲器中的數(shù)據(jù),經(jīng)過調(diào)相編碼后調(diào)制在載波上,經(jīng)卡內(nèi)天線回送給讀卡器,讀卡器對接收到的信號進(jìn)行解調(diào)、解碼后送至控制器或計算機,對卡號的合法性進(jìn)行鑒別,并做出相應(yīng)的處理和控制。
1 系統(tǒng)設(shè)計
控制器由RFID卡、天線、讀卡模塊、單片機、只讀儲存器、液晶顯示器等組成,系統(tǒng)結(jié)構(gòu)框圖如圖1所示??刂破鞑捎酶咝詢r比的AT89S 51單片機作為控制芯片,顯示器件采用LCD1602液晶顯示器顯示相關(guān)操作信息,采用AT24WC02作為只讀儲存器,存儲容量為2kbit,通過I2C總線接口進(jìn)行操作,具有寫保護(hù)功能,用于儲存RFID卡號,掉電不消失。
讀卡模塊采用125kHz射頻讀卡模塊(型號為M106BXN),其電源為5V±10%,讀卡電流為29mA,讀寫距離為6~16cm,適用于PC機或8位UART的單片機,波特率9600、19200可選,射頻讀卡模塊可工作于主動方式和被動方式,在主動方式下,當(dāng)RFID卡靠近模塊時,卡號連續(xù)從串口輸出;在被動方式下,當(dāng)有RFID卡靠近模塊,同時模塊的CLK端為下降沿時,串口才輸出卡號。本設(shè)計采用11.05926MHz晶體,波特率為19200的讀卡模塊,工作方式為主動方式,讀卡模塊引腳功能如表1所示。
串口通信采用的幀數(shù)據(jù)格式為1個起始位,8個數(shù)據(jù)位,無奇偶校驗位,1個停止位。讀卡模塊輸出數(shù)據(jù)共有5個字節(jié)數(shù)據(jù),高位在前,低位在后,其中前面4個字節(jié)為卡號,最后1個字節(jié)為效驗碼。例如:卡號為01FAB401,則讀卡模塊輸出為0X01 0XFA0XB4 0X01 0X41,其中效驗碼0X41由前面4個字節(jié)卡號進(jìn)行異或計算得到,即0X01^0XFA^0XB4^0X01=0X41。
2 單片機資源分配
單片機引腳功能分配如表2所示。
3 電路工作原理
控制器仿真電路原理圖,如圖2所示,工作原理如下:
當(dāng)按下K按鍵(用于記錄卡號)并開機,進(jìn)入記錄狀態(tài),這時將RFID卡靠近讀卡器,卡號被讀出并送入單片機,單片機將卡號寫入EEPROM,關(guān)機再開機,進(jìn)入正常工作狀態(tài)。
在正常工作狀態(tài)下,當(dāng)有RFID卡靠近讀卡模塊時,RFID卡從讀卡模塊的天線獲得能量并開始工作,卡號以串行方式發(fā)送給單片機,單片機接收到卡號后,將其與預(yù)先寫入EEPROM的卡號進(jìn)行比較,如果兩個卡號相同,視為卡號有效,則輸出開鎖信號,顯示器顯示“come in please!”;如果兩個卡號不相同,視為卡號無效,顯示器顯示“error!”。
4 程序流程圖
5 調(diào)試與仿真
5.1 LCD1602仿真電路
LCD1602仿真電路原理圖如圖4所示。編寫一段LCD測試程序在1602的第1行顯示一個字符串“Hello!”用于測試LCD顯示是否正常,運行仿真后,液晶顯示器顯示“Hello!”,說明測試成功。
5.2 EEPROM讀寫仿真電路
EEPROM讀寫仿真電路原理圖如圖5所示。編寫一個EEPROM測試程序,用于測試EEPROM讀寫功能是否正常,運行仿真后,液晶顯示器第1行顯示“Hello!”,第2行顯示“EEPROM test pass”說明測試成功。
5.3 串口通信仿真程序
編寫一個串口通信仿真程序,用于測試串口通信是否正常。串口通信參數(shù)設(shè)置,如圖6所示。運行串口通信仿真程序后,從PC機鍵盤輸入“1 2 3 4 5 67 8 9 a b c d”,在仿真終端窗口顯示相應(yīng)的字符,如圖7所示,表明串口通信成功。
6 結(jié)論
本控制器軟件、硬件均通過調(diào)試并獲得成功,達(dá)到設(shè)計要求,適用單卡單用戶的應(yīng)用場合,比如可用于賓館客房、住宅小區(qū)單元出入口門禁控制,也可以用作考勤、電子車票、商品電子標(biāo)簽,還可以用于超市、游泳館、健身中心、體育館等公共場所作為門鎖控制,本控制器具有成本低、性能可靠、通用性好、用途廣泛等優(yōu)點,在此電路基礎(chǔ)上進(jìn)行簡單的應(yīng)用功能擴展,便能滿足各種場合用戶的需求,比如只要適當(dāng)選擇EEPROM的容量,簡單修改程序,就可以將單卡單用戶擴充為多卡多用戶,用戶量取決于EEPROM的存儲容量。
評論