新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 射频识别技术软硬件系统研制

射频识别技术软硬件系统研制

作者:时间:2009-07-14来源:网络收藏
2.4.1 信号的读取

本文引用地址:http://www.eepw.com.cn/article/157988.htm

将TXCT置为Low,Delay 50 ms后,再将TXCT恢复成High.

此时约过3 ms,SCIO开始输出数据,第一个Byte即为START Byte,总共输出14 Bytes数据。见图6.

图6 信号读取控制

2.4.2 信号的写入

根据信号的写入格式,按照如下的写入时序,即可将数据写入卡内。见图7.

图7 射频卡写入控制

3 CRC数据校验算法

CRC校验是为了检查信息字段是否传送正确而设置的,它是信息字段的函数。建议采用CCITT推荐的16位的循环冗余校验码(CRC-CCITT),其生成多项式为:G(x)=X16+X12+X5+1.CRC 校验码由于其实现简单,验错率高,因而在许多通讯场合广泛采用。本文采用的CRC-CCITT,能检测出所有的双错、奇数位错、突发长度不大于16的突发错以及99.997%的突发长度为17的突发错和99.998%的突发长度大于或等于18的突发错。CRC校验码的数学原理本文在此不作介绍。本文在这里说明怎样实现CRC校验。CRC校验码的运算可以用移位寄存器和半加器来实现。如附图8所示。

图8 CRC校验实现原理

发送端的校验过程:

1)先设定CRC校验码(2个bytes) 的初始值为00H,00H(000000000000000).(图8中0-15表示CRC的bit0-15).

2)CRC校验码全部右移一位,由A处与要进行CRC校验的数据的第1个Bit作XOR运算。

3)步骤2运算后A处的结果为1时,反相MSB(Bit15),检查MSB是否为1,是为1时则反相Bit13和Bit10,不是则转到步骤4.

A处的结果为0时,检查MSB是否为1,是为1时则反相Bit3和Bit10,不是则转到步骤4.

4)检查A处是否已做64次,不是,重复步骤2到4.

5)重复2-4,做CRC运算,所得最后数值就是CRC校验码。

接收端校验的过程,其实就是所有信息码加上CRC校验码作为一个整体,再求一次CRC校验的过程,如果最后结果是全零,则表示CRC校验正确,否则表示错误。由于和发送端实现原理相同,这里就不再重复。

虽然上面是以一种硬件实现的方法为例说明,但按照其中描述的数据流向却可以轻松的由软件实现。由于所讨论的射频的传输速率不大,建议在这里不用专门硬件而用软件方式实现CRC校验,其计算量是很小的。限于篇幅,未列出源程序。

4 结 论

本文的射频已成功应用于投币式洗衣机的替代产品,具有较好的实际使用效果。射频卡中存有使用洗衣机的次数,射频识别到合法卡后,洗衣机开始运转,同时,射频卡中的使用次数相应减少,从而替代了投币。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭