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.

[参考译文] CC1200:CC1200在几个 RX/TX 开通后不响应

Guru**** 2537110 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/684988/cc1200-cc1200-does-not-respond-after-few-rx-tx-turnarounds

器件型号:CC1200

您好!

我的无线电链路项目处于停滞状态。 我有几种情形、如下所示

我使用具有0.5前导码和24个同步字的 SmartRF Studio 进行4-GFSK 调制。 数据包长度为12

2.我已将 RXOFF_MODE 和 TXOFF_MODE 更改为 RX。 这意味着每次 CC1200完成 RX 或 TX 时、它默认为 RX。

2.传输的数据包速率约为每秒3500个数据包。

3.测试设置使得每当 CC1200接收到数据包时、它就会尽快响应。

在示波器上、观察到从最后一位接收到 FPGA 到第一个 SCLK 开始向 TX FIFO 填充的时间低至25µs μ s。

5、出现了一种情况:在成功完成几次 RX/TX 开通后、CC1200将电流降低约20mA、不响应。

请提供帮助

-Pawan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Pawan、
    我请一位同事下周研究一下。 感谢您的耐心等待。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    上面步骤5)中的 Marc 状态是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、
    我完成最后一个数据包的 TX、然后接收到一个数据包、其中 GPIO2会切换为高电平、然后再切换为低电平

    完成 TX 后、我接收到一个数据包、其中接收到的数据包数量仅为2个、不等于我发送的数据包数量、即12个。
    接收到两个字节后、其余时钟字节的 Marc 状态保持在0x6f、为我提供 RX_FIFO 错误。

    我的状态机在出错后不会等待、并尝试发送另一个数据包、其中 MISO 上看到的 Marc 状态仍然为0x6f、此外、GPIO2也不会切换。

    此外、如果有两个寄存器设置、请与我们分享
    RFEND_CFG0 -> 0x30
    RFEND_CFG1 ->0x3F

    -Pawan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    之三、
    在示波器上观察到、在"STX"选通后、在某些情况下、GPIO2会在较短的时间内(超出所需时间)切换、表明它接收到一些数据。 这是它将电流降低约20mA 并停止响应的地方。

    如果此时的 Marc 状态为 RX_FIFO 错误、这是否也意味着 CC1200稳定至空闲状态?

    为了摆脱这种死锁、我们必须选通'SPRx'、然后选通'SPR'或
    “闲置”、“故障”和“接收”?

    请提供帮助。



    -Pawan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    从提供的信息中我发现很难评论。

    首先:您声明 GPIO2切换。 但您在该引脚上输出了哪个信号?

    您的代码中是否有使您能够处理 FIFO 错误的错误处理? 如 www.ti.com/.../swru346b.pdf 中的图2所示 、当遇到 FIFO 错误时、芯片退出 TX/RX。

    "完成 TX 后、我接收到一个数据包、其中接收到的数据包数量只有两个、不等于我发送的数据包数量、即12。":我假设您是指"接收数据包、其中数据包的长度"? 如果是、这是否总是发生? 如果是、我假设您未正确读取 FIFO。 您是否监测过 FIFO 内容和 FIFO 指针?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    之三、
    它是 GPIO2上的 PKT_SYNC_RX_TX 信号 I 输出。 我确实遇到 FIFO 错误、但在发生 FIFO 错误后、我需要刷新 FIFO、使我进入空闲状态、还是需要选通空闲、然后刷新 FIFO?

    -Pawan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉、有点忘记了。 您是否设法解决了这一问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的。 在"STX"之后的一段短暂时间内、CC1200稳定至 TX、在这段时间内、可以进行"RX"、但它不接收完整的数据包。 在这种情况下、我会得到这些 FIFO 错误。 我解析它的方法是进入空闲状态、刷新 TX/RX FIFO、然后选通 TX/RX。 我在这里面临的唯一问题是周转时间更长。 您是否有更好的解决方案来应对这种情况?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不确定我是否理解您的意思。

    那么、如果 TX 端发送数据包、而您在第二个 DUT 上从空闲状态转至 TX、那么您会通过这种方式接收数据包(将内容接收到 RXFIFO 中)?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    之三、
    我设置 DUT0的方法是、一旦它接收到数据包、它就会再次进入 RX 模式。 在这种情况下、如果 DUT0想发送一个数据包、它必须填充 TXFIFO、然后选通"TX"。 在填充 TX FIFO 的最后一位和 strobbing "SCX"之间有一段短暂的时间、在此期间 CC1200仍处于 RX 模式。 如果 DUT1在 DUT0的这个短暂周期内发送一个数据包、则 DUT0的 GPIO2会切换为高电平、但是一旦 DUT0稳定至"TX"模式、它就会切换为低电平。 因此、我看到 GPIO2脉冲的持续时间很短。 在这里、我确实遇到 RX_FIFO 错误、我使用上述方法来解决这些错误。

    我已将 RXOFF_MODE 更改为趋稳至 FSTX、从而在一定程度上减少了我的错误、但如果我得到任何错误、我仍然可以使用进行解决
    空闲刷新 TX/RX 流程、在 DUT0上具有更长的周转时间。

    -Pawan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否成功解决了这一问题?

    如果您在选通 STX 之前在 RX 中找到了同步、则可以通过添加一些额外代码来解决该问题。 换言之、如果您发现同步、则必须先清空 FIFO、然后再转到 TX。