一种基于2.4G无线射频传输技术的远距离考勤读卡器设计
量的外围器件,特有的掉电机制可以关闭天线,即关闭射频场,从而降低功耗。作者在相关论文上看到有设计者选用RC500作为读卡芯片。它们本属于同一个系列的产品,但是相对于RC 500,RC522具有如下优势。
1)两者和MCU的通讯方式不同,RC500仅支持并口通讯,而RC522是UART,SPI,I2C 3种方式可配置,因此RC522使用范围更广,同时因为并口存在8位数据通道相互干扰,以及时序不一致等缺点,因此串口的传输速度相比于并口更快,因此无论从安全稳定性与速度上来分析RC5 22更加具有优势。
2)RC522的工作电压是3.3 V,而RC500的工作电压是5 V的因此在功耗上RC500同时具有比较大的优势,作为移动设备功耗的大小在设计中我们严格注意。
3)RC522相对于RC500在价格上具有明显的优势。
经过上面的分析,及实际需要因此选择RC522作为读卡芯片。RC522硬件电路图如图4所示。
![](../img/eep/emb/emb-45098gfzy43suek5.jpg)
2.4 RC522与主控芯片的通信接口的设计
本文所设计的读卡器中,RC522与MCU之间采用SPI方式进行通信,SPI采用主从模式工作最高传输速率达到10 Mbps。只需要四条信号线及RST复位端口,因为STC89C52RC内部不具有SPI寄存器,所以需要使用MCU进行模拟SPI时序,实现RC522寄存器数值的读写。四条信号线分别为(时钟线SCK,输入数据线MOSI,输出数据线及芯片选通线CSN),在对芯片进行读写的时候需要先通过拉低CSN选通芯片选通芯片,在SCK低电平期间可以通过王MOSI引脚上写值,一旦将SCK拉高后即将MOSI口数据写入RC522,亦可以从从MISO管脚读出数据。由于SPI属于串口通信所以每读写一个寄存器的值(一个字节)需要8个回合的MOSI管脚或MISO管脚的读写。
3 移动式RFID读卡器系统软件设计
移动远距离读卡器程序流程如图5所示。软件总体上分为两部分,1)实现对RC522芯片进行初始化设置,读卡等功能。2)实现nRf24L01+发送数据等功能。对RC522处理的主要函数主要包括InitRC522(void)其功能是对RC522相应寄存器进行配置初始化、pcdRequest(unsigned charreq_ code,unsigned char*pTagType)寻找天线范围内的卡片、可能存在多张卡片处于读卡的范围之内,所还需要有防碰撞处理函数pcdAnticoll(unsingned char*psnr)其原理是利用了RC522内部固化的防碰撞协议,通过这个函数可以获得众多IC卡唯一一个UID,进而可以使用选择函数选择该卡,便于进一步的卡片的读写操作。以得到多个IC卡中确定的一个卡的ID号。
![](../img/eep/emb/emb-451002vxiumaond0.jpg)
对于2.4 GHz发送数据模块处理的函数除了必要初始化设置外最主要的是发送函数nRF24L01_TxPacker(unsigned char*tx_buf)。该函数可以把之前读到的员工ID卡发送至用于接收数据的2.4 GHz模块。这部分功能也是整个远距离读卡器的核心部分。
4 结论
文中对基于2.4 G技术的RFID读卡器的硬件设计和软件设计做了详细的论述介绍并和其他类似设计进行了多方面比较。实验测试,其传输距离可以达到目标要求并且性能稳定,并在学校考勤系统中得到了实际应用。由于2.4 G无线射频技术是无线通讯省去了布线的麻烦,传输速度快,性能稳定,因此相信其将具有越来广泛的应用前景。
STC89C52RC RC522 相关文章:
- 从易到难学习单片机(单片机DIY制作、毕业设计、课程实例)(06-04)
- 初始的STC89C52RC单片机小实验(12-03)
- STC89C52RC单片机8位流水灯程序(11-29)
- 单片机STC89C52RC内部EEPROM(11-26)
- STC89C52RC特点及引脚介绍(11-25)
- 基于STC89C52RC+TEA5767的收音机(10-15)