一種基于2.4G無線射頻傳輸技術(shù)的遠距離考勤讀卡器設(shè)計
本文引用地址:http://cafeforensic.com/article/246388.htm
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è)計
移動遠距離讀卡器程序流程如圖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模塊。這部分功能也是整個遠距離讀卡器的核心部分。
4 結(jié)論
文中對基于2.4 G技術(shù)的RFID讀卡器的硬件設(shè)計和軟件設(shè)計做了詳細的論述介紹并和其他類似設(shè)計進行了多方面比較。實驗測試,其傳輸距離可以達到目標(biāo)要求并且性能穩(wěn)定,并在學(xué)??记谙到y(tǒng)中得到了實際應(yīng)用。由于2.4 G無線射頻技術(shù)是無線通訊省去了布線的麻煩,傳輸速度快,性能穩(wěn)定,因此相信其將具有越來廣泛的應(yīng)用前景。
評論