Thread 中讨论的其他器件: CC113L、CC1200、CC1120
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好
即使前导码不是101010序列、CC1101和 CC113L 都可以接收数据包。
因此、对于 CC1101、要求 不 使用 PQT、因为这要求前导码为1010110
前导码用于位同步和 AGC 趋稳等、0x55或0xAA 前导码比0xCC 更好、但两者都可行。
如果前导码为0xCCCC、同步字为0xCCCS、则可能最大的问题应该是您只能使用2字节的同步字而不是4、 而且前导码和 SYNC 是如此相似、所以在错误位置找到 SYNC 的概率非常小。
Siri
你好、Siri、谢谢你给我回复。
CC113L 数据表多次指出、前导码需要是交替位序列。
如果前导码为0xCCCC (0b110011001100...) 芯片如何实现位同步?
我不知道您是否实际使用了带此前导码的芯片、但我上周进行了详细测试、只是无法接收到任何带0xCCCC 前导码的数据包。 其他项保持不变。
同步与前导码类似根本不是问题。 我在现场有前导码为0xAAAA、与0xAAAS 同步的产品、可实现出色的数据包接收速率。
我希望在禁用 PQT 的情况下使用 CC1101时、芯片不会太关心前导码。
您能否说明一下您是否实际使用了带此前导码的芯片?
谢谢!
我在 CC113L 数据表的任何地方都没有找到前导码需要交替位的序列才能接收。
数据表显示以下内容:
"前导码模式是一个1和0的交替序列、接收器用于位同步。"
这意味着 CC113L (和 CC1101)发送的前导码为0101010101、但并不意味着如果前导码不同、CC113L 无法接收。 它只是不能传输不同的前导码。
此外、所有 RX 特性都 是用它(0x55或0cAA)作为前导码来完成的、因此如果您在发送器上更改它并尝试使用 CC113L 进行接收、灵敏度可能会与数据表中所述的数字不同。
我刚刚在 RX 模式下测试了 CC113L、并使用 CC1200作为发送器。 CC1200被编程为发送0xCCCCCCCC 作为前导码。
同步字为0xD391D391。 CC113L 能够接收所有数据包。
将同步字更改为0xCCCD、只需寻找一个2字节的同步字、就可以大大减少接收到的数据包数量、这是我在上一篇文章中介绍的原因。
如果您使用 SmartRF Studio 测试 CC113L 并将其设置为使用2字节的同步字0xCCCD、您将看到它收到了很多错误数据包、即使您根本不传输任何数据也是如此。
如果您使用正确的4字节同步字、 即使前导码为0xCCCCCCCC、接收也没有问题
就这种行为而言、CC1101和 CC113L 没有区别。
CC1101具有 CC113L 没有的 PQT 功能、但仅当使用0x55或0xAA 前导码时才可以使用该功能。
Siri
下面是我的测试结果。
如果发送了20个数据包、我收到了19个数据包正常、8个数据包不正常。 第20个数据包很可能没有收到、因为无线电正忙于接收虚假数据包。
将 SYNC 模式更改为使用 CS 门控(仅接受信号强度高于可编程阈值的同步字)我收到了所有20个数据包都正常(没有错误的数据包)。
CS 门控的缺点是您不会接收 RSSI 低于阈值的数据包、因此阈值只是 "限制"灵敏度。
Siri
你好。
在今天进行进一步测试时、我发现的"最佳"配置是:
AGCCTRL2 = 0xF7、
AGCCTRL1 = 0x08、
AGCCTRL0 = 0x11
两点说明:波特率为19.2Kbps 并且我不使用载波侦听。
SmartRF 中没有此波特率的默认设置、但如果使用38.4kbps 设置、则无法获得任何帧。
更改 AGCCTRL0时、我的性能没有看到太大变化。
但 AGCCTRL2_MAX_DVGA_GAIN 中的0b11以外的任何值都会导致该信号中断。
我可以在 AGCCTRL2_MAX_LNA_GAIN 上添加的最大增益为5。 任何较低的值(较高的增益)都会开始表现出性能迅速下降。 尽管数值7得出的结果仍然更好。
这里有太多的组合需要尝试、我希望你可以指导我一些您希望最有效的设置、所以我会有一个起点。
我没有运行你请求的测试,因为我一直使用曼彻斯特前置放大器(0xAAAA 和0x5555)与默认设置,他们工作正常。 由于使用0xCCCC 前导码、问题才会开始出现。
侧注:我正在阅读这里的两行内容、较短的前导码可能需要不同的 AGC 设置、因为 Siri 提到默认设置是为4字节前导码构建的。 因此、我想知道您是否可以推荐特定的 AGC 设置、因为我不介意降低分组差错率。 我的所有项目都使用2字节前导码和2字节同步。 大多数是曼彻斯特(0xAAAA)、但有些是双相(0xCCCC)。 和波特率19,200,38400和76800。
感谢您的帮助。
尊敬的 Felipe:
这是一个非常有趣的对话、我想知道这对您有多好。
我们使用 CC1200接收以 FFFE 开头的双相编码数据已经有很多年了、但是将 CC1200用作"射频接收器"、并将原始比特流输入到外部状态机来检测和提取实际数据。 这种方法效果非常好、我们可以在 测试设置中以-100dBm 提取99%以上的消息、但令我非常沮丧的是、我们没有使用 CC1200对实际数据进行解码。
遗憾的是、CC1200本机仅支持曼彻斯特编码/解码、不直接支持双相(尤其是考虑到在使用双相的大型细分市场中存在常见用途:-)、 但我喜欢您为前导码/同步 PATTEN 查找原始双相位流的方法(如果我了解正确执行的操作)。 (我假设您稍后会在软件中进行双相解码?
我将需要一些时间来挖掘我们的 CC1200开发板,并在这种方法和我们的外部状态机之间进行比较:-)
此致、
马克·勒曼