CC1101无线接收终止定时器解析与应用

需积分: 5 31 下载量 103 浏览量 更新于2024-08-07 收藏 3.89MB PDF 举报
"CC1101 数据手册" 本文档详细介绍了CC1101无线通信芯片的接收终止定时器和数据FIFO的特性,这些特性对于理解和优化无线通信系统的性能至关重要。 19.7 接收终止定时器: CC1101芯片提供了一个接收终止定时器功能,允许在预设时间后自动停止接收过程。这个功能主要用于无线唤醒场景,但也可应用于其他情况。当进入接收(RX)状态时,用户可以通过编程MCSM2.RX_TIME设置超时时间。当定时器到期后,无线控制器会检查是否满足继续接收的条件。有两种可编程的条件: - MCSM2.RX_TIME_QUAL=0:若检测到同步字,接收将继续。 - MCSM2.RX_TIME_QUAL=1:若检测到同步字或前导质量高于阈值(PQT),接收将持续。 此外,MCSM2.RX_TIME_RSSI特性可用于期望在开启接收器时立即启动传输的场景。如果第一个有效的载波感应(CS)样本显示没有载波(RSSI低于阈值),接收将被终止。在ASK/OOK调制模式下,只有在检测到1信号的8个连续周期后,才会考虑载波监听。 当使用MCSM2.RX_TIME_RSSI功能时,如果由于没有CS或超时未检测到同步字导致接收终止,若WOR(Wake On Radio)功能被禁用,芯片将回到IDLE状态,如果启用WOR,则回到SLEEP状态。为了在WOR模式下正确工作,建议始终唤醒微控制器(MCU),可以通过配置GDO输出引脚并设置MCU从中断唤醒来实现。 20 数据 FIFO: CC1101有两个64字节的FIFO,分别用于接收和发送数据。SPI接口用于从RX FIFO读取数据和向TX FIFO写入数据。FIFO控制器会检测RX FIFO的上溢和TX FIFO的下溢。MCU在写入TX FIFO时需避免下溢,而在读取RX FIFO时应防止读取空值,以防止错误的发生。 状态寄存器RXBYTES.NUM_RXBYTES和TXBYTES.NUM_TXBYTES可以读取FIFO中的字节数量。在读取RX FIFO的最后一个字节时,如果此时刚好有新的数据写入,最后读出的字节会被复制,因此在接收数据包的最后一个字节到来之前,RX FIFO不应为空。对于小于64字节的数据包,应等待整个包接收完毕后再读取,对于大于64字节的包,MCU需要动态判断可以读取多少字节。 总结: CC1101的接收终止定时器和数据FIFO管理是其高效无线通信的关键特性。正确理解和使用这些功能可以优化无线通信系统的能效和可靠性,确保数据的准确传输和接收。在设计基于CC1101的无线通信系统时,必须充分考虑这些机制,以实现最佳性能。