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.

[参考译文] CC1200EMK-868-930:频带和切换到 RX/TX 模式不起作用!

Guru**** 2560530 points
Other Parts Discussed in Thread: CC1200

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/725868/cc1200emk-868-930-strobing-and-switching-into-rx-tx-modes-not-working

器件型号:CC1200EMK-868-930
主题中讨论的其他器件:CC1200

尊敬的专家:

我一直在尝试使用与独立 Arduino MCU 连接的两个 CC1200EMK 模块发送和接收数据包。 我编写的 Arduino 库工作正常。 我们的想法是创建这样一种场景、即节点1向节点2发送数据包。 接收到后、节点2使用指向节点1的新数据包进行响应。 重复此过程、直到交换了预定义的包数量。 非常简单、对吧?  

我将   CC1200 GPIO2的 PKT_SYNC_RxTx 信号用作中断、以指示传输/接收成功。 数据表中的状态为"...脉冲为两个 XOSC 周期长"。 这意味着在使用板载40kHz 振荡器时、信号将被置为有效50毫秒。 我使用这种计时作为指导、以避免执行可能导致中断缺失的任务。 是否有任何方法将此信号保持在恒定高/低电平? 很好奇。 在等待中断时、我会检查 RX/TX FIFO 错误并将其处理在 while 循环中。

问题:
我有一个硬时间频带、并将芯片切换到 RX 和/或 TX 模式。 读取 MARC_STATUS[4:0]通常会提供声明为"保留"的代码。 这不能让人知道发生了什么。 是否有任何方法可以取消这个问题:代码24至31表示什么? 到 RX 和 TX 的频带有时不会使芯片进入这些模式。 如何解决此问题? 我的任务似乎是使用自动应答功能解决的、但使用  RXOFF_MODE 和  TXOFF_MODE 时、不会将  PKT_SYNC_RxTx 信号置为有效。 此外、Auto-Ack 要求我在进入 RX 之前填充 TXFIFO、这不符合我的目的:数据包是时间关键型的。  

现在、更大的问题是、实现 RX-TX 周转的最佳方法是什么? 我知道、这是一篇文章中的许多问题。 已经尝试过2个多月、只是感到沮丧。 我觉得自己也没有其他可利用的东西了。  

谢谢。 你好。

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

    您的计时有问题。 CC1200上的时钟以40MHz 而非40kHz 的频率运行、两个 XOSC 周期的时长为0.05us。 这些脉冲实际上非常短、以至于某些 MCU 无法捕获它们。

    我建议使用不同的信号(选项0x06)。 当数据包同步字离开芯片(TX 模式)或找到同步字(RX 模式)时、该信号将变为高电平、然后在接收到 CRC 中的最后一位后、该信号将再次变为低电平。

    一段时间前、我们编写了一个在 MSP430 LaunchPADS 上运行的非常简单的数据包 TX 和 RX 示例库。 我建议您获取其中一个、并将它们与软件一起用于调试您的问题。

    要进行调试、您需要将问题分解为已知良好的硬件和已知良好的软件。 现在您没有已知良好的硬件或软件。

    下面是一些已知良好的软件的链接。

    www.ti.com/.../swra493.pdf

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

    您好、TA12012、

    我已经尝试为    GPIO2使用0x06或 PKT_SYNC_RxTx 设置。 "我建议使用不同的信号(选项0x06)。"这话的意思是什么。 我在这里感到困惑。

    我希望 MCU 能够捕获至少一个脉冲。 当程序/数据包流是单向的时、它就会工作:一个节点处于 RX 中、另一个节点无限期地处于 TX 中、即没有模式切换、例如 TX 到 RX 或 RX 到 TX。 我面临的问题是 TX-RX 和 RX-TX 切换。 如何检查对讲机是否为切换做好准备/稳定? 此外、 MARC_STATE = REG_SETTING_MC (0x04) 表示什么? 大多数情况下、无线电会卡在那里。  

    此外、我的代码是为 MSP430编写的原始示例代码的翻译形式。 )

    谢谢。

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

    好的、我们使用相同的选项、但我认为您的结尾有问题 发送同步字后、使用此选项的信号从低电平变为高电平、然后在整个突发完成后恢复为低电平。 因此信号在几毫秒内保持高电平。

    Thomas