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.

[参考译文] CC1101:如何使用 ASK/OOK 调制实现载波传感功能

Guru**** 2386610 points
Other Parts Discussed in Thread: CC1101
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1403554/cc1101-how-does-carrier-sense-work-with-ask-ook-modulation

器件型号:CC1101

工具与软件:

大家好!

我一直在查看 CC1101数据表、具体来说是一节 19.7 RX 终止定时器 . 它提到:

"对于 ASK/OOK 调制、缺乏载波传感仅在八个符号周期后才被视为有效。"

这种说法给我提出了一些关于 ASK/OOK 调制中的载波感测机制的问题:

  1. 对 RX 终止定时器的适用性 :此声明是否仅适用于 RX 终止计时器的功能、如一节中所述?

  2. ASK/OOK 的一般机制 :或者,这是一个更广泛的机制,适用于 ASK/OOK 调制,不仅仅是 RX 终止计时器?

如果能够澄清说明这是否特定于 RX 终端、或者它是否反映了 ASK/OOK 模式下的载波检测的一般行为、我将不胜感激。

提前感谢您的帮助!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这种说法的意思是、如果您使用 ASK/OOK 调制、那么如果您要评估接收器端的 RSSI (例如使用 RX 终止计时器)、那么您不能有很长的0序列。

    为了使接收器能够检测有效 CS 并决定是否应该端接 RX、"1"之间的距离必须为8位或更少。

    Siri

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Siri、

    感谢您的解释、它完全符合我的理解。

    我询问关于 ASK/OOK 的承运人感知的一般机制的原因是:  

    我在我的应用中同时使用2-FSK/GFSK 和 ASK/OOK、我已经回顾了关于载波传感的第17.3节、并对我的产品进行了测试、但是到目前为止仅使用 FSK 调制。 设置 CS 绝对阈值的基本方法涉及调整以下寄存器字段:

     可以根据第17.3节中提供的表32/33来设置这些字段、以确定 CS 绝对阈值。

    现在、我们开始实现 ASK/OOK。 然而、对于幅移 键控(ASK/OOK)、应根据设计说明 DN022而不仅仅是 SmartRF Studio 给出的设置推导出最佳寄存器设置。 经过深入研究后、我获得了以下见解:   

    这就是:…

    • 在 AGCCTRL2寄存器中、AGCCTRL2.MAX_LNA_GAIN 和 AGCCTRL2.MAX_DVGA_GAIN 均固定为0、
    • 在 AGCCTRL1寄存器中、AGCCTRL1.CARRIER_SENSE_ABS_THR 也为0。
    • AGCCTRL2.MAGN_TARGET 可以 从0x03变为0x07。 (并且可能会对特定的价值产生影响、以找到最佳性能)

    这意味着在考虑 CS 绝对阈值时、MAGN_TARGET 似乎是唯一的变量字段。  

    在使用 ASK/OOK 时、我们之前用于查找阈值的表格似乎无效、导致我的最后出现一些困惑 希望在查看数据表时找到一些见解、我遇到了这样的说法:"对于 ASK/OOK 调制、缺乏载波感应仅在八个符号周期后才被视为有效。" 第19.7节。

    我现在的问题是:

    使用 ASK/OOK 调制时、应该如何设置 CS 绝对阈值?  第17.3节中介绍的机制是否仍然适用?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    使用 ASK/OOK 时、无法通过其他方式设置 CS 阈值、因此如果 MAGN_TARGET 是唯一可以改变的参数、这意味着您只能对几个不同的阈值进行编程。

    记住您在 DN022中找到的是用于查找 ASK/OOK 最佳设置的指南。

    如果特定 CS 阈值的设置比射频性能更重要、则可以使用其他设置来测试  MAX_LNA_GAIN 和 MAX_DVGA_GAIN 等。

    不幸的是,我们没有做任何测试,这将是你需要做自己的事情。

    BR

    Siri

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Siri、

    感谢您的澄清、这真的很有帮助。

    我需要再确认一件事。

    正如您所解释的、""1s 之间的距离必须为8位或更少。"

    现在考虑下面所示的波形、"1"之间的距离是 算作8还是9?  

    为了 确保我对 "对于 ASK/OOK 调制、缺乏载波侦听仅在八个符号周期后才被视为有效"这一表述有准确的理解。

     

    除了第19.7节 "RX 终止计时器" 的上下文外、"对于 ASK/OOK 调制、缺乏载波侦听仅在八个符号周期后才被视为有效"仍然适用、尤其是在关注 CS 阈值时?

    如果是、这是否意味着在使用 ASK/OOK 调制时、除了正确设置相关的 AGC 寄存器字段之外、我必须确保我传输的数据不超过8个连续的"0"?

    此致  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我假设、这条语句意味着两个1之间不应超过7个零。 但是、我无法肯定、因为我没有机会访问设计、也没有设法吸引研发部门的人员来帮助解决这个问题(因为这是一款旧器件)。

    如果你可以尝试解释你想如何使用 CS、如果你在使用它时发现了任何问题、然后我可以尝试调查该特定问题、也许会更好。

    RX_TIME_RSSI 功能一样、CS 主要用于确定是否存在无线信号。

    此功能用于 WOR 应用、无线电必须编程为足够频繁地唤醒才能检测到前导码。

    由于前导码将是10101010....sequence、因此您不必担心每1之间的距离过长。

    BR

    Siri

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Siri。

    我的应用中不使用 WOR、因为该器件设计为在异步模式下运行。 根据我的理解、WOR 通常与 FIFO 运行模式一起使用(如果使用了数据包处理功能、也可以与同步模式一起使用)。 数据表第19.5节中经常提到"数据包"、让我得出这个结论。 如果我的理解有误、请随时纠正。

    当前我将重点关注器件以 ASK/OOK 调制运行时的载波侦听(CS)阈值。 我回顾了 WOR 部分、主要是因为它在 ASK/OOK 的上下文中引用了载波侦听、我希望更深入地了解它在这种调制模式下的工作原理。

    我会在电路板到货时做一些测试。

    BR

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我强烈建议您在收到电路板时进行一些测试。

    一个神的开始是使用电缆和传输一定信号强度的前导码。 读取 RSSI (续) 检查代码是否正确、并确保读数为正确的值。

    之后、在发送相同的前导码(高于编程阈值的 nad)时、试用不同的 CS 阈值、查看 CS 信号是否在预期的情况下置为有效

    一旦您将其启动并运行、您就可以尝试发送其他内容(每个1之间更长的0序列)来查看 RSSI/CS 的行为。

    BR

    Siri

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Siri、

    感谢您的推荐、非常感谢。

    当您提到"使用电缆"时、是指通过 CC 调试器(电缆)?将电路板连接到 SmartRF Studio

    如果是、根据您在另一篇文章中的建议、从之前的实验中、我对该过程有一些经验。 不过、该测试是在市场上购买的第三方模块上进行的。 下一步是在我们自己的产品上对其进行全面测试。

    此外、我如何验证 我正在读取的 RSSI 值是否确实准确?

    我知道有一个 rssi_offset 用于确定 RSSI 值、它随不同的数据速率以及相关的响应时间而变化(到目前为止、它似乎不会影响我的读数)。

    DN505文档提到"当使用指定表中的数据速率以外的数据速率时、可通过施加一个已知的输入功率、然后读出 RSSI 值来找到 RSSI 偏移。  "

    "已知输入功率"是否 意味着我直接在 CC1101的射频端口上测量差分信号电平、然后读取 RSSI 以确定 RSSI_OFFSET?

    BR

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Siri、

    正如您提到的、正如我可以尝试发送"10101010序列"一样、我还想测试 RSS/CS 如何与每个1之间较长的0序列配合工作。 也许使用一些额外的设置、是否可以在 SmartRF Studio 上执行此操作?

    BR

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    为了能够测试 RSSI 的可靠性、您应该使用信号发生器并以已知信号强度进行传输。 您应该使用信号发生器与天线之间的电缆、以便控制信号并知道应该读取什么 RSSI。

    如果不这么做、就无法知道读取的 RSSI 是否正确。

    使用信号发生器、您还可以发送要测试的定序。

    如果您没有使用信号发生器并使用 CC1101作为发送器和接收器、那么您至少应该在每块板上的天线连接器之间有一条电缆。

    要使用101011010其他模式进行测试、只需将要测试的模式写入 TXFIFO、然后以数据包形式发送即可。 您将需要传输无限长的数据包、并让模式在有效载荷中自我重复。 SmartRF Studio 不支持此操作、您需要自己实施测试代码。