导航:首页 > 源码编译 > rfid算法实现

rfid算法实现

发布时间:2025-03-02 17:17:37

Ⅰ rfid技术标准采用了哪些crc检验算法

一般用CRC16的C语言算法:
#define PRESET_VALUE 0xFFFF
#define POLYNOMIAL 0x8408
unsigned int uiCrc16Cal(unsigned char const * pucY, unsigned char ucX)
{
unsignedchar ucI,ucJ;
unsignedshort int uiCrcValue = PRESET_VALUE;
for(ucI = 0; ucI < ucX; ucI++)
{
uiCrcValue = uiCrcValue ^ *(pucY + ucI);
for(ucJ = 0; ucJ < 8; ucJ++)
{
if(uiCrcValue& 0x0001)
{
uiCrcValue= (uiCrcValue >> 1) ^ POLYNOMIAL;
}
else
{
uiCrcValue= (uiCrcValue >> 1);
}
}
}
return uiCrcValue;
}
pucY是要计算CRC16的字符数组的入口,ucX是字符数组中字符个数。
上位机收到数据的时候,只要把收到的数据按以上算法进行计算CRC16,结果为0x0000表明数据正确。像UR6258 UR5002等超高频读写器都是用这样的算法的

Ⅱ 关于RFID防碰撞算法中的Q值算法

Q=S/G,CN=1/Q,so C=G/(S*N)

Ⅲ 求解释RFID的防碰撞算法中的查询树QT算法麻烦详细说一下算法原理,如何防碰撞的谢谢~

查询树QT(QueryTree)是一种典型的树结构算法,其算法原理:读写器发送长度为k的prefix(前置代码,一般为置于一组号码前的数字或字母,表示所属区域等);标签ID中前kbit与prefix匹配的tag反馈第(k+1)bit至最后1bit。如果读写器收到的标签ID碰撞,再分别将prefix加“1”和“0”,作为新的prefix发送出去。如果没有碰撞,就表明一个标签被识别了。


举例:设有三个标签ID分别为“010”,“011”,“100”,读写器的查询序列首先置为“0”、“1”,读写器先发送序列“0”进行查询,发生碰撞,此时将序列置为“00”、“01”,再次分别发送,序列“00”没有响应,序列“01”发生碰撞,将序列置为“010”、“011”,成功识别。回溯到序列“1”,只有标签“100”响应,成功识别。如图所示

阅读全文

与rfid算法实现相关的资料

热点内容
安卓机看视频怎么没有小窗口 浏览:456
minecraft服务器怎么布置 浏览:306
怎么把安卓的东西转到已激活苹果 浏览:852
停止服务doss命令 浏览:877
u盘占内存但该文件夹为空 浏览:611
服务器怎么更换重生点 浏览:34
收费api调用平台源码 浏览:646
安卓怎么自检病毒 浏览:560
布卡云服务器 浏览:770
程序员是怎么做系统的 浏览:742
燕窝溯源码最大加工厂 浏览:936
黑马程序员第28集 浏览:485
lcd单片机驱动 浏览:647
通达信主力拉升出货指标公式源码 浏览:639
廉洁pdf 浏览:18
批量用修改多个文件夹及子目录 浏览:321
王者每个服务器爆满怎么办 浏览:951
安卓手机如何清除所有的数据 浏览:983
激光打标机加密狗驱动无法启动 浏览:912
硅谷程序员题库 浏览:565