基于nRF2401的牲畜信息读写器的研究
0 引言
畜产品溯源系统对加强畜牧业的信息化建设,实现畜产品优质优价,进而规范畜产品市场的持续、稳定和健康的发展具有重要意义。牲畜出生后利用“耳标”作为记录载体赋予标签惟一标识码,记录牲畜在流通的各环节中的必要信息并用与之相应的读写器进行读取以作为畜产品溯源系统的信息输入,是目前畜产品溯源系统普遍采用的技术。但是,动物移动频繁,会导致读/写角度和读/写距离变化较快,并使读/写过程常常出错,目前普遍采用的RFID读写器由于工作频率不高,难以解决这个问题。本文设计出一种工作在微波频段的高可靠性读写器,从而较好地解决了这一问题。
1 RFID读写器的工作原理
1.1 RFID系统介绍
RFID系统由电子标签、读写器、天线系统组成。当标签处于读写器的读写范围时,标签和读写器就可以通过他们携带的天线进行通信,计算机可通过串口与读写器进行通信,将要写入标签的信息、写指令(或读标签指令)传输到读写器上,由读写器来完成对标签的写入(或读)操作(见图1)。
1.2 RFID读写器介绍
RFID读写器是RFID系统的重要组成部分,它最核心的器件是射频芯片,由射频芯片决定数据的编码以及与电子标签的通信协议,从而决定该读写器的使用范围。读写器的设计直接影响了读写器的方便,易用以及读写信息的可靠性。它一般可与计算机通信,在人机界面的支持下可由计算机的上位机软件控制读写器对电子标签进行读写/操作。典型的工作流程图如图2所示,首先要将系统配置到一个合适的环境,然后输入要读/写标签的ID号,找到对应的标签然后转入读/写标签的子程序进行相应处理。
2 读写器的基本组成
RFID读写器一般由控制单元、射频单元、通信接口、人机界面、存储器及电源电路等部分组成。其中控制单元、射频单元和通信接口是读写器的基本组成部分,下面分别介绍它们。
2.1 单片机ATmega128
控制单元是读写器的重要组成部分,它负责协调该系统各个单元模块的工作以及提供一些通信接口。这里选用Atmel公司的ATmega128作为读写器的控制单元,ATmega128是一款基于AVR RISC的低功耗CMOS的8位单片机。它具有丰富的外围接口,128 KB的FLASH程序储存器,4 KB的E2PROM,4 KB的SRAM,53个可编程的I/O口线,内外中断源,可编程的USART,可编程的看门狗定时器,SPI口等。它具备的USART,SPI,IIC口以及较高的工作频率很好地满足了本设计的需求,另外它丰富的引脚为系统的扩展提供了条件。
2.2 射频模块
2.2.1 射频芯片接口
射频模块是读写器的核心组成部分,它的工作频率以及编码、通信协议等决定了它的性能。为了设计出一种读写距离远并保证通信可靠的读写器,选用工作频率较高的nRF2401芯片。它是挪威Nordic公司生产的单片射频收发芯片,工作于2.4~2.5 GHz ISM频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,并且它的输出功率和通信频道可通过程序进行配置。
该射频芯片主要用来通过天线与电子标签进行信息交互,单片机主要通过控制它的CS,CE,DR1,PWR_UP,CLK1,DATA等几个引脚来操作它。芯片的外围元件及引脚连接方式电路原理如图3所示。
2.2.2 射频芯片编程
使用nRF2401收发数据要先配置它,本设计中将芯片配置成ShockBurstTM收发模式,在这种模式下系统的程序编写会更加简单,且系统稳定性也会更高。配置过程如下:设置CS为高电平,CE为低电平使芯片进入配置模式,延时5μs以上,单片机将配置数据通过I/O引脚写进nRF2401,再置CS引脚为低电平即可完成nRF2401的配置。配置芯片为TX模式时,将nRF2401的CE引脚置为高电平,延时5μs以上后,将要发送的数据写入nRF2401的发送数据缓存中,再将nRF2401的CE引脚置为低电平就可以将要发送的数据通过天线发射出去。
接收数据的过程与发送数据的过程类似,配置nRF2401为RX模式。然后置CE引脚为高电平经过200μs延时后芯片进入接收状态,当检测到DR1引脚变为高电平时,表明nRF2401的FIFO缓冲区已收到数据,单片机执行读数据子程序将nRF2401中的数据全部读出,当全部数据读完后DR1引脚变为低电平,此时可利用DR1引脚的状态变换跳转去执行其他处理程序。
2.3 通信接口设计
2.3.1 串口电路设计
在本设计中,读写器与PC机的通信通过RS 232串行接口,但单片机I/O管脚的电平是TTL电平与PC机不能直接进行通信,需要通过芯片进行电平转换才能通信,本设计中选用MAX232E来完成电平转换,T1IN和R1OUT与单片机串行发送口和串行接收口相连,T1OUT和R1IN通过DB9连接器连到PC机COM口的RXD和TXD端口,电路连接方式如电路原理图3所示。
2.3.2 串口编程
单片机与PC机通过握手信号连通后,在PC机发送的控制状态信号的作用下,单片机通过USART发送、接收数据与PC机的串口通信。本设计中USART工作在异步收发模式下,操作过程如下,首先初始化USART,然后将要发送的数据放在数据寄存器中,配置控制寄存器相关位使数据通过引脚能够发送出去;接收数据的情况类似,初始化控制寄存器后,使能接收控制寄存器的相应控制位,然后去数据寄存器中读取数据。
2.4 系统基本组成原理图
系统基本组成原理图如图3所示。
3 读写器系统的扩展
以上介绍的是读写器的基本组成,为了设计一个方便完整的读写器还要加上人机界面,存储器,电源电路等。人机界面提供读/写过程中需要人干预的接口,可选用独立式键盘和LCD12864来实现;存储电路用于暂存读写器读到的数据或者将要写到电子标签中的数据暂存到读写器中,再由读写器发给电子标签,可选用AT24C08芯片来实现,它是一种I2C接口的器件。电源电路为整个读写器的各个芯片提供电源,可以选用各种稳压模块通过变换来获得所需电源。
4 结语
实现设计的过程中,电磁干扰问题很突出。将读写器的PCB设计成双层板,底层作为地层不放置元件,顶层的空地方敷上铜,并将敷铜通过过孔与底层的地相连,可大大降低电磁干扰。整个系统做了抗电磁干扰处理后,工作在微波频段的本读写器能够在远距离、动物快速移动的状态下具备非常高的可靠性。