基于2.4G射频技术的远距离考勤读卡器的设计
扫描二维码
随时随地手机看文章
摘要:设计了一种基于2.4G无线射频传输技术的移动式远距离考勤读卡器,同时给出该读卡器的原理框图,并且详细阐述了用于传输数据的2. 4G射频芯片nrf24101+,读卡芯片RC522与处理器STC89C52RC的外围电路,以及整个读卡器的软件构架。该系统通过13.56 MHz(RC 522)模块读取IC卡的ID号,当车辆通过考勤门口时不需要下车而是使用2.4G无线射频电路将所读到的数据传送到接收端,接受端通过串口将数据发送至上位机端。即可实现远距离考勤。由于2.4G无线射频技术具有网络布线少且灵活,性能稳定,传输距离远,传输速度快等优点,所以非常适合应用于学校不停车考勤系统。
RFID(Radio Frequency Identification)技术,无需接触只需通过无线射频信号即可自动识别并获得特定对象的数据,整个过程并不需要人工的干预,是一种自动识别技术。在射频领域,把电磁波按频率划分为6大部分。RFID主要工作在3个频段上;低频(30~300 kHz主要用在短距离低成本的应用中,如门禁控制,校园卡等),高频(3~30 MHz用于需要传输大量数据的系统)和超高频(300 MHz~3 GHz用于需要较长的读写距离和高度写速度的场合,如高速公路收费系统中)。近年来,随着RFID技术的迅速发展,同时由于其具有标签体积小、寿命长、移动识别、可工作于各种恶劣环境等优点,RFID技术广泛应用于公共安全、生产管理、物流管理、交通管理等多个领域。
本文所设计的移动式远距离读卡器采用2.4GHz+13.56 MHz的双频段模式,一方面使用13.56 MHz射频技术读取职工IC卡的ID号,这种做法便于兼容职工原有的IC卡,从而在降低成本的同时减少了额外携带一张卡带来的繁琐。另外一方面由于2.4GHz射频技术具有传输距离远(可达到10~20m);采用专用数据通道干扰少并搭载有跳频技术和数据加密从而传输信号稳定;属于免费频段无需当局许可即可使用等优点,从而可以可以使整个系统实现目标功能。
1 读卡器的系统组成
整个考勤系统由读卡器,接收器,上位机3部分组成。读卡器主要负责读取IC卡中的信息,并通过2.4 G无线通信将数据发送到接收端。接收端收到读卡器发送来的信息后,通过串口将数据传送给上位机,卡片信息的最终处理由上位机完成。本文主要完成读卡器的设计。移动式RFID读卡器属于便携式设备,由电池供电,因此低功耗,高性能价格比的原则贯穿于整个设计之中。读卡器的组成框图如图1所示。
STC89C52RC与RC522,NRF24L01+之间都使用SPI方式通信,具体接口电路将在下面一节中详细介绍。人机互动通过键盘和1602液晶得以实现,从而使读卡器具有更加好的用户体验度。上位机通过串口获得MCU的数据。
2 移动式RFID读卡器的硬件设计
2.1 主控芯片STC89C52RC的硬件电路设计
STC89C52是STC公司研发的一种基于51内核微控制器,其特点是速度快、功耗低、抗干扰能力强,单指令代码完全兼容传统8051单片机,且ISP(在系统可编程)/IAP(在应用可编程),免去了使用专用编程器,仿真器带来的不必要的麻烦,可通过串口(RXD/P3.0,TXD/ P3.1)直接下载用户程序,速度非常快仅需要几秒钟,这些特点非常有利于产品的开发,同时缩小了产品的体积,大幅度缩减了产品的成本,非常有利产品迅速占有市场。其外围电路结构设计如图2所示。
2.2 数据传送芯片nRF24L01+的外围硬件电路
设计过程中发现在有些设计中使用的是Zigbee技术进行数据传输,但是通过分析发现,Zigbee虽然传输距离更加远,能够达到本设计的要求,但是,在满足本文所设计系统指标的情况下无需那么远的传输距离一方面价格贵出了好几倍增加成本,同时由于传输距离远反而可能出现多个多点之间的信号干扰问题。因此综合考虑使用2.4 GHz射频技术。2.4 G技术是一种低功耗,低成本,低复杂度,高速率的近距离无线通信技术,在设计中选用的是NORDIC公司研发的nRF24L01+芯片。该款芯片属于2.4 GHz无线射频频段收发芯片,但是工作频率在2.4~2.4835GHz之间可调,可以同时接收6路不同通道数据。通讯速度最高可调至2 Mbps,芯片内部固化有CRC与地址校验校验协议,并支持自动应答功能,在确认收到数据,可以自动回应应答方,从而提高了通信的安全可靠性,在ShockBurstTMC模式下低速单片机也可以与其通信,这些功能都可以用MCU经芯片提供的SPI接口配置相应的寄存器得以实现。其外围电路如图3所示。
2.3 读卡芯片RC522的外围硬件电路
读卡芯片使用恩智浦公司研发的RC522,这款芯片目前在相应领域得到广泛的应用。其特点是支持ISO/IEC 14442TypeA接口和MIFARE协议,调制电路高度集成,天线的驱动只需要少量的外围器件,特有的掉电机制可以关闭天线,即关闭射频场,从而降低功耗。作者在相关论文上看到有设计者选用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所示。
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号。
对于2.4 GHz发送数据模块处理的函数除了必要初始化设置外最主要的是发送函数nRF24L01_TxPacker(unsigned char*tx_buf)。该函数可以把之前读到的员工ID卡发送至用于接收数据的2.4 GHz模块。这部分功能也是整个远距离读卡器的核心部分。
4 结论
文中对基于2.4 G技术的RFID读卡器的硬件设计和软件设计做了详细的论述介绍并和其他类似设计进行了多方面比较。实验测试,其传输距离可以达到目标要求并且性能稳定,并在学校考勤系统中得到了实际应用。由于2.4 G无线射频技术是无线通讯省去了布线的麻烦,传输速度快,性能稳定,因此相信其将具有越来广泛的应用前景。