RFID中高频读写器的开发
时间:11-07
来源:电子技术应用
点击:

15693-3 规定的请求格式如表1所示。

3.2 响应结构
VICC响应的基本格式如表2所示。


4.1 Inventory 及程序流程
Inventory 请求指令和响应结构分别如表3、表4所示,其中请求Flags设置为06,即选择16时隙(slot),不显示AFI域。 Inventory 命令代码为01,防冲撞算法参数为Mask length和Mask value。只进行16时隙时,Mask length设为 0。
命令流程是SOF/发送Inventory请求命令/EOF后进入slot 1, 以EOF切换到下一时隙直到slot 16为止。在一时隙中遇到有冲撞或是无标签响应时,切换到下一时隙。Inventory流程图如图所示。

从以上分析 ISO15693 的通信协议和时序可知,阅读器软件设计主要工作是按照 ISO15693 的通信格式及时序要求进行接口驱动程序的编 写。下面是底层驱动的实现方法,主要是写命令函数 Write_cmd(char cmd)、写数据函 数 Write_data(char data_buf)和读数据函数Read_data(char *cdata)。
void Write_cmd(char cmd)
{for (char Bitnum=8;Bitnum>0;Bitnum--)
{PB5=0; //DIN=0
if(cmd&0x80)
PB5=1; //DIN=1
PE5=1; //SCLOCK=1
PE5=0; //SCLOCK=0
cmd<<=1;
}}
void Write_data(char data_buf)
{while(PA1); //FIFO Manage
for (char Bitnum=8;Bitnum>0;Bitnum--)
{ while(PA1);
PB5=0; //DIN=0
if(Data_buf&0x01)
PB5=1; //DIN=1
PE5=1; //SCLOCK=1
PE5=0; //SCLOCK=0
Data_buf>>=1;
} }
void Read_data(char *cdata)
{char Readin;
for (char Bitnum=0;Bitnum<8;Bitnum++)
{ while(PE5==1); //等待SCLOCK=0
while(PE5==0); //等待SCLOCK=1
Readin>>=1;
if(PA1==1) //判断 DOUT=1?
Readin "=80; }
Cdata(bitnum)=Readin; }
本文主要介绍射频识别系统中读写模块的软硬件设计,其读写器模块通过PC机和串口通信软件测试,实现了识别与数据通信,能成功用Inventory命令 识别出电子标签的唯一序列号。通过进一步地改进硬件设计与优化软件编程,将会进一步提高读写距离、识别效率、防冲撞性能和稳定性。
- 赛普拉斯半导体CEO将RFID系统用在自家酿酒厂(11-18)
- 金属对RFID系统影响研究(12-01)
- RFID温度标签解决食品冷藏和加热问题(05-28)
- RFID 技术在矿灯管理中的应用(10-06)
- 基于FM 1702SL的射频读写器(01-25)
- 远距离RFID读写天线的研究(03-01)
