基于2.4G射頻技術(shù)的遠(yuǎn)距離考勤讀卡器的設(shè)計
摘要:設(shè)計了一種基于2.4G無線射頻傳輸技術(shù)的移動式遠(yuǎn)距離考勤讀卡器,同時給出該讀卡器的原理框圖,并且詳細(xì)闡述了用于傳輸數(shù)據(jù)的2. 4G射頻芯片nrf24101+,讀卡芯片RC522與處理器STC89C52RC的外圍電路,以及整個讀卡器的軟件構(gòu)架。該系統(tǒng)通過13.56 MHz(RC 522)模塊讀取IC卡的ID號,當(dāng)車輛通過考勤門口時不需要下車而是使用2.4G無線射頻電路將所讀到的數(shù)據(jù)傳送到接收端,接受端通過串口將數(shù)據(jù)發(fā)送至上位機端。即可實現(xiàn)遠(yuǎn)距離考勤。由于2.4G無線射頻技術(shù)具有網(wǎng)絡(luò)布線少且靈活,性能穩(wěn)定,傳輸距離遠(yuǎn),傳輸速度快等優(yōu)點,所以非常適合應(yīng)用于學(xué)校不停車考勤系統(tǒng)。
RFID(Radio Frequency Identification)技術(shù),無需接觸只需通過無線射頻信號即可自動識別并獲得特定對象的數(shù)據(jù),整個過程并不需要人工的干預(yù),是一種自動識別技術(shù)。在射頻領(lǐng)域,把電磁波按頻率劃分為6大部分。RFID主要工作在3個頻段上;低頻(30~300 kHz主要用在短距離低成本的應(yīng)用中,如門禁控制,校園卡等),高頻(3~30 MHz用于需要傳輸大量數(shù)據(jù)的系統(tǒng))和超高頻(300 MHz~3 GHz用于需要較長的讀寫距離和高度寫速度的場合,如高速公路收費系統(tǒng)中)。近年來,隨著RFID技術(shù)的迅速發(fā)展,同時由于其具有標(biāo)簽體積小、壽命長、移動識別、可工作于各種惡劣環(huán)境等優(yōu)點,RFID技術(shù)廣泛應(yīng)用于公共安全、生產(chǎn)管理、物流管理、交通管理等多個領(lǐng)域。
本文所設(shè)計的移動式遠(yuǎn)距離讀卡器采用2.4GHz+13.56 MHz的雙頻段模式,一方面使用13.56 MHz射頻技術(shù)讀取職工IC卡的ID號,這種做法便于兼容職工原有的IC卡,從而在降低成本的同時減少了額外攜帶一張卡帶來的繁瑣。另外一方面由于2.4GHz射頻技術(shù)具有傳輸距離遠(yuǎn)(可達到10~20m);采用專用數(shù)據(jù)通道干擾少并搭載有跳頻技術(shù)和數(shù)據(jù)加密從而傳輸信號穩(wěn)定;屬于免費頻段無需當(dāng)局許可即可使用等優(yōu)點,從而可以可以使整個系統(tǒng)實現(xiàn)目標(biāo)功能。
1 讀卡器的系統(tǒng)組成
整個考勤系統(tǒng)由讀卡器,接收器,上位機3部分組成。讀卡器主要負(fù)責(zé)讀取IC卡中的信息,并通過2.4 G無線通信將數(shù)據(jù)發(fā)送到接收端。接收端收到讀卡器發(fā)送來的信息后,通過串口將數(shù)據(jù)傳送給上位機,卡片信息的最終處理由上位機完成。本文主要完成讀卡器的設(shè)計。移動式RFID讀卡器屬于便攜式設(shè)備,由電池供電,因此低功耗,高性能價格比的原則貫穿于整個設(shè)計之中。讀卡器的組成框圖如圖1所示。
STC89C52RC與RC522,NRF24L01+之間都使用SPI方式通信,具體接口電路將在下面一節(jié)中詳細(xì)介紹。人機互動通過鍵盤和1602液晶得以實現(xiàn),從而使讀卡器具有更加好的用戶體驗度。上位機通過串口獲得MCU的數(shù)據(jù)。
2 移動式RFID讀卡器的硬件設(shè)計
2.1 主控芯片STC89C52RC的硬件電路設(shè)計
STC89C52是STC公司研發(fā)的一種基于51內(nèi)核微控制器,其特點是速度快、功耗低、抗干擾能力強,單指令代碼完全兼容傳統(tǒng)8051單片機,且ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),免去了使用專用編程器,仿真器帶來的不必要的麻煩,可通過串口(RXD/P3.0,TXD/ P3.1)直接下載用戶程序,速度非??靸H需要幾秒鐘,這些特點非常有利于產(chǎn)品的開發(fā),同時縮小了產(chǎn)品的體積,大幅度縮減了產(chǎn)品的成本,非常有利產(chǎn)品迅速占有市場。其外圍電路結(jié)構(gòu)設(shè)計如圖2所示。
2.2 數(shù)據(jù)傳送芯片nRF24L01+的外圍硬件電路
設(shè)計過程中發(fā)現(xiàn)在有些設(shè)計中使用的是Zigbee技術(shù)進行數(shù)據(jù)傳輸,但是通過分析發(fā)現(xiàn),Zigbee雖然傳輸距離更加遠(yuǎn),能夠達到本設(shè)計的要求,但是,在滿足本文所設(shè)計系統(tǒng)指標(biāo)的情況下無需那么遠(yuǎn)的傳輸距離一方面價格貴出了好幾倍增加成本,同時由于傳輸距離遠(yuǎn)反而可能出現(xiàn)多個多點之間的信號干擾問題。因此綜合考慮使用2.4 GHz射頻技術(shù)。2.4 G技術(shù)是一種低功耗,低成本,低復(fù)雜度,高速率的近距離無線通信技術(shù),在設(shè)計中選用的是NORDIC公司研發(fā)的nRF24L01+芯片。該款芯片屬于2.4 GHz無線射頻頻段收發(fā)芯片,但是工作頻率在2.4~2.4835GHz之間可調(diào),可以同時接收6路不同通道數(shù)據(jù)。通訊速度最高可調(diào)至2 Mbps,芯片內(nèi)部固化有CRC與地址校驗校驗協(xié)議,并支持自動應(yīng)答功能,在確認(rèn)收到數(shù)據(jù),可以自動回應(yīng)應(yīng)答方,從而提高了通信的安全可靠性,在ShockBurstTMC模式下低速單片機也可以與其通信,這些功能都可以用MCU經(jīng)芯片提供的SPI接口配置相應(yīng)的寄存器得以實現(xiàn)。其外圍電路如圖3所示。
2.3 讀卡芯片RC522的外圍硬件電路
讀卡芯片使用恩智浦公司研發(fā)的RC522,這款芯片目前在相應(yīng)領(lǐng)域得到廣泛的應(yīng)用。其特點是支持ISO/IEC 14442TypeA接口和MIFARE協(xié)議,調(diào)制電路高度集成,天線的驅(qū)動只需要少量的外圍器件,特有的掉電機制可以關(guān)閉天線,即關(guān)閉射頻場,從而降低功耗。作者在相關(guān)論文上看到有設(shè)計者選用RC500作為讀卡芯片。它們本屬于同一個系列的產(chǎn)品,但是相對于RC 500,RC522具有如下優(yōu)勢。
1)兩者和MCU的通訊方式不同,RC500僅支持并口通訊,而RC522是UART,SPI,I2C 3種方式可配置,因此RC522使用范圍更廣,同時因為并口存在8位數(shù)據(jù)通道相互干擾,以及時序不一致等缺點,因此串口的傳輸速度相比于并口更快,因此無論從安全穩(wěn)定性與速度上來分析RC5 22更加具有優(yōu)勢。
2)RC522的工作電壓是3.3 V,而RC500的工作電壓是5 V的因此在功耗上RC500同時具有比較大的優(yōu)勢,作為移動設(shè)備功耗的大小在設(shè)計中我們嚴(yán)格注意。
3)RC522相對于RC500在價格上具有明顯的優(yōu)勢。
經(jīng)過上面的分析,及實際需要因此選擇RC522作為讀卡芯片。RC522硬件電路圖如圖4所示。
2.4 RC522與主控芯片的通信接口的設(shè)計
本文所設(shè)計的讀卡器中,RC522與MCU之間采用SPI方式進行通信,SPI采用主從模式工作最高傳輸速率達到10 Mbps。只需要四條信號線及RST復(fù)位端口,因為STC89C52RC內(nèi)部不具有SPI寄存器,所以需要使用MCU進行模擬SPI時序,實現(xiàn)RC522寄存器數(shù)值的讀寫。四條信號線分別為(時鐘線SCK,輸入數(shù)據(jù)線MOSI,輸出數(shù)據(jù)線及芯片選通線CSN),在對芯片進行讀寫的時候需要先通過拉低CSN選通芯片選通芯片,在SCK低電平期間可以通過王MOSI引腳上寫值,一旦將SCK拉高后即將MOSI口數(shù)據(jù)寫入RC522,亦可以從從MISO管腳讀出數(shù)據(jù)。由于SPI屬于串口通信所以每讀寫一個寄存器的值(一個字節(jié))需要8個回合的MOSI管腳或MISO管腳的讀寫。
3 移動式RFID讀卡器系統(tǒng)軟件設(shè)計
移動遠(yuǎn)距離讀卡器程序流程如圖5所示。軟件總體上分為兩部分,1)實現(xiàn)對RC522芯片進行初始化設(shè)置,讀卡等功能。2)實現(xiàn)nRf24L01+發(fā)送數(shù)據(jù)等功能。對RC522處理的主要函數(shù)主要包括InitRC522(void)其功能是對RC522相應(yīng)寄存器進行配置初始化、pcdRequest(unsigned charreq_ code,unsigned char*pTagType)尋找天線范圍內(nèi)的卡片、可能存在多張卡片處于讀卡的范圍之內(nèi),所還需要有防碰撞處理函數(shù)pcdAnticoll(unsingned char*psnr)其原理是利用了RC522內(nèi)部固化的防碰撞協(xié)議,通過這個函數(shù)可以獲得眾多IC卡唯一一個UID,進而可以使用選擇函數(shù)選擇該卡,便于進一步的卡片的讀寫操作。以得到多個IC卡中確定的一個卡的ID號。
對于2.4 GHz發(fā)送數(shù)據(jù)模塊處理的函數(shù)除了必要初始化設(shè)置外最主要的是發(fā)送函數(shù)nRF24L01_TxPacker(unsigned char*tx_buf)。該函數(shù)可以把之前讀到的員工ID卡發(fā)送至用于接收數(shù)據(jù)的2.4 GHz模塊。這部分功能也是整個遠(yuǎn)距離讀卡器的核心部分。
4 結(jié)論
文中對基于2.4 G技術(shù)的RFID讀卡器的硬件設(shè)計和軟件設(shè)計做了詳細(xì)的論述介紹并和其他類似設(shè)計進行了多方面比較。實驗測試,其傳輸距離可以達到目標(biāo)要求并且性能穩(wěn)定,并在學(xué)??记谙到y(tǒng)中得到了實際應(yīng)用。由于2.4 G無線射頻技術(shù)是無線通訊省去了布線的麻煩,傳輸速度快,性能穩(wěn)定,因此相信其將具有越來廣泛的應(yīng)用前景。