您的位置 首页 博主推荐

CC1100接收模式下的数据包滤波

CC1100接收模式下的数据包滤波

CC1100支持2种不同的数据包滤波标准:地址滤波和最大长度滤波。置PKTCTRL1.ADR_CHK大于0将开启数据包地址滤波。数据包处理机制将数据包种的目的地址字节同ADDR寄存器中已设定的节点地址及0x00广播地址(PKTCTRL1.ADR_CHK=10时)或同时0x00和0xFF广播地址(PKTCTRL1.ADR_CHK=11时)相比较。如果接收地址同有效地址匹配,则数据包被接收且被写入RX FIFO。若地址匹配失败,则数据包被丢弃。

可变数据包长度模式下,PKTLEN.PACKET_LENGTH寄存器的值用来设置最大允许数据包长度。若接收长度字节值比这个值大,则数据包被丢弃。

这2种情况下,在丢弃当前数据包后接收模式会重新开启(与MCSM1.RXOFF_MODE中的设置无关)。

传输模式下的数据包处理

将被传送的有效载荷必须写入TX FIFO。当可变数据包长度可得时,第一个待写入的字节必须是长度字节。长度字节的值等于数据包(包括可选地址字节)的有效载荷。如果固定数据包的长度可得,则第一个写入TX FIFO的字节被解释为目的地址,若此功能在接收端可用的话。

调制器会先送入控制数目的前导字节。如果TX FIFO中的数据可用,调制器会发送2字节(或4字节)同步词汇,接着是TX FIFO中的有效载荷。若CRC可用,则计算所有拉入TX FIFOZ中数据的检验合。然后在有效载荷数据末端,这个结果被以2个额外字节发送。

若白化可用,则长度字节,有效载荷数据合2个CRC字节将被白化。这一步在可选FEC/交错器阶段完成。设置PKTCTRL0.WHITE_DATA=1,则白化可用。

若FEC/交错器可用,则长度字节,有效载荷数据合2个CRC字节将被交错器混杂。在被调制之前,FEC被编码。

接收模式下的数据包处理

在接收模式下,解调器和数据包处理装置将会搜寻有效的前导和同步词汇。找到后,解调器就得到了位和字节同步,然后开始接收第一个有效载荷字节。

若FEC/交错开启,则FEC译码器将开始对第一个有效载荷字节进行译码。交错装置将在任何其他处理数据的过程之前对比特进行反交错运算。

如果白化开启,则这个阶段数据将被反白化。

若可变数据包长度开启,则第一个字节为长度字节。数据包处理装置把这个值作为数据包长度存储,且接收长度字节数目的字节。如果固定数据包长度开启,则数据包处理装置会接收程序控制数目的字节。

然后,数据包处理装置随意地检查地址,地址匹配时才继续进行接收。若自动CRC检查开启,则数据包处理装置计算CRC,并将它同附加CRC检验和相匹配。

在有效载荷末端,数据包处理装置将随意写入2个包含CRC状态,连接质量指示和RSSI值的额外数据包状态字节。

https://www.pianshen.com/images/965/e736446735f1ffbd2b50ba2fe83971ad.png

注:整理自网络

 

版权所有,如未注明,均为原创,转载请注明
齐东汽车电子博客 qidongyy.com
本文标题:CC1100接收模式下的数据包滤波
如有疑问:请转到这里联系我
网站建设:推荐老薛主机-优质海外主机服务商

热门文章