我正在尝试在433 Mhz频率上反转发射器(由PCF7952芯片控制)和接收器之间的某些通信协议

我知道如何准备“正确”的程序包,该程序包将在接收器一侧接收并由控制器100%将由该命令执行。 br />
现在,每次我发送的4条命令具有相同的“ body”,但最后都带有00、01、11、10。接收器,但是目标是从第一次尝试开始执行命令(现在,由于最后2位错误,第一次尝试成功的可能性为25%)例如,标准的CRC计算方法和程序只是在为命令主体生成的CRC8 / CRC16 / CRC32序列中添加了一些低位。

我试图给我们来自http://www.lammertbies.nl/comm/info/crc-calculation.html的可能的CRC算法,但未在这些序列中找到任何正匹配项

我也尝试检查任何奇偶校验位算法也没有运气

这里是位序列的样本(最后2位是校验和(也许),从末尾开始的第三位始终为0,至少在我抓到的2200个样本中)从工作设备(发送器)中获取

0111 1001 1101 1011 0001 1000 1100 0111 1100 1010 1010 1001 1010 1010 1101 10 010
0111 1001 1101 1011 0001 1000 1100 0111 1100 0100 1111 0101 0100 1101 0101 11 000
0111 1001 1101 1011 0001 1000 1100 0111 1100 1010 1010 1011 1010 1000 1111 10 011
0111 1001 1101 1011 0001 1000 1100 0111 1100 0100 1101 1101 1101 0101 1010 01 010
0111 1001 1101 1011 0001 1000 1100 0111 1100 1011 0011 0011 1011 0000 1111 10 010
0111 1001 1101 1011 0001 1000 1100 0111 1100 0101 1111 1101 1101 1101 1100 11 010
0111 1001 1101 1011 0001 1000 1100 0111 1100 0101 1111 1111 1111 1101 1110 11 001
0111 1001 1101 1011 0001 1000 1100 0111 1100 1100 1000 0000 0101 0000 0011 01 011
0111 1001 1101 1011 0001 1000 1100 0111 1100 1010 0110 0010 0010 0100 0011 11 010
0111 1001 1101 1011 0001 1000 1100 0111 1100 1100 1000 1000 1101 0000 1011 01 010


这也是具有所有位序列被获取的文件-https://drive.google.com/file/d/0B6VO67TWi9UOSkt4VHJNQmtSTXc / view

老实说,我不知道还能去哪里。

任何提示/帮助或其他任何东西都非常感谢。

评论

至少这似乎不是比特的简单xor编码。您是否有彼此更接近的示例,例如,大多数有效负载相同,但是2或3位分别从0到3递增。 7吗?

例如我有这个

01111001110110110001100011000111110000001000000010010000100001001 01111001110110110001100011000111110000001000000010010000101001011

这是2个具有2个不同位的样本的示例,一个用于主体,一个用于crc

这也是指向包含所有已获取样本的excel文件的链接,您可以使用过滤选项来获取更多接近的样本-drive.google.com/file/d/0B6VO67TWi9UOSkt4VHJNQmtSTXc/…

#1 楼

(我试图将其添加为评论,但没有足够的信誉度) 1100个样本,其中8个样本之间有19个样本,而数据仍然是随机/不同。

例如
<431校验和可能基于时间/时钟?当然只有2位校验和重复是很可能的,但是不确定在这种情况下是否只是“巧合”。

{11,01, 11,11,01}。不确定是否有帮助,这只是我注意到的内容。

评论


谢谢!该芯片上绝对没有定时器,只有不断变化的值是按钮按下的计数器。也许这取决于它?

–亚历山大·迪姆琴科(Alexander Dimchenko)
2015年9月1日9:04