★ 使能RFID
使能是使RFID工作的必要条件,在整个工作期间是默认保持RFID使能的。具体的时序如下所示。默认的RFID使能置位后,Ready未置位,则表示总线模块与RFID通讯异常。
★ 命令执行
命令的执行以xRead或xWrite上升沿信号开始,在给Trigger信号置位之前,先将命令/参数/数据填充好。在命令执行期间保持xRead或xWrite信号置位,若取消当前命令的执行,将xRead或xWrite复位即可。命令执行装填可根据xDone或xError信号来判断,命令执行完后可从Read datas/Errcode取命令执行的结果。
★ 从标签读取数据
当标签在读取范围时,通过读取功能可从标签指定起始地址读取特定长度的数据。命令的执行以”xRead”引脚上升沿触发,在进行读取时,需要先填充部分引脚参数,涉及到的参数如下:
★ 写入数据至标签
当标签静止在读取范围时,通过写入功能可以向一个标签指定的地址写入特定长度的数据。命令的执行以”xWrite”引脚上升沿触发,在命令触发前,需要填写以下参数:
本例程使用RFID1第1个接口进行测试。
当读写器成功连接上后,可对读写器进行读/写操作。
“xReady”信号置1,表明读写器连接成功,xTP表示感应到芯片。
a) 标签靠近读写器,读写器自动感应标签,标签到位信号“xTP”变为“TRUE”;
b) 自动获取所靠近标签的UID数据,固定长度8个字节,可在arrUIDData0查看;
UID数据出厂时设定,可读不可写,数据序列是仅有的;
a) 标签靠近到位,标签到位信号xTP信号的值为“1”;
b) 在arrwriteData数组中填充数据要写入的数据;
c) 标签到位,标签到位信号xTP信号的值为“TRUE”;
d) 修改数据长度bLength的值8,单位为字节;
e) 修改起始地址wAddress的值为16#0000;
在“xWrite”信号命令触发前,务必先填充好“a~e”项参数。
f) 修改写入命令xWrite 为 “1”;
g) 查看功能块反馈回来的完成信号xDone和错误信号xError。
如果xDone值为“1”且xError值为“0”,则说明数据已写入完成;
如果xError为“1”,则说明数据写入失败;
如下图所示:从起始地址0开始,写入8个字节数据进入标签的用户区成功。
a) 标签到位,标签到位信号xTP信号的值为“TRUE”;
b) 修改数据长度bLength的值为8,单位为字节;
c) 修改起始地址wAddress的值为16#0000;
在“xRead”信号命令触发前,务必先填充好“a~c”项参数。
d) 修改写入命令xRead 为 “1”(必须先复位xWrite信号);
e) 查看功能块反馈回来的完成信号xDone和错误信号xError。
如果xDone值为“1” 且xError值为“0”,则说明数据已读取完成;
如果xError为“1”,则说明数据读取失败;
如下图所示:从起始地址0开始,读取8个字节标签的用户区数据成功。
对比3.3的写入User区的数据,可验证写入和读取数据无误。