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.

[参考译文] CC2642R:CC2642R

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1430135/cc2642r-cc2642r

器件型号:CC2642R

工具与软件:

您好!

我们已开发出一种由 CC2642作为直通模式的应用。 该解析器通过低功耗蓝牙连接移动应用、解析命令并通过 SPI 线路将其发送到主 MCU。

时钟频率- 3 MHz

设置- POL0 PHA1
时钟极性-低
时钟相位-上升沿

CC2642充当 SPI 从器件、主 MCU 是 SPI 主器件。 CS 配置为软件驱动、其中 CC2642在调用 SPI Transfer ()之前等待主设备就绪(HW 引脚中断)。 由于此器件由电池供电、因此为了节省功耗、我们有两个 SPI 握手信号、一个是 SRDY -从设备就绪、另一个是 MRDY -主设备就绪。 任何人都可以通过先将各自的线路置为有效来向其他人发起请求、然后等待其他线对将另一对线置为逻辑低电平。 PIN HW Interrupt 会检测此断言、我们会在这段时间内启动时间并调用 SPI Transfer 将产生相应的数据。 一次 MRDY 被取消置位、CC2642了解可能有数据作为响应或新请求可用。 上层可以理解这一点、因为它遵循协议。

最近、我们修复了超时计时器(用于消息交换超时的协议计时器)和 MRDY 生效同时发生的竞态条件。 (我之前在社区上发布了同样的主题)。 我们已经将 MRDY 使中断处理程序的执行置于关键段中、因为这段代码会停止计时器。

最近、我们观察到、当我们从主 MCU 收到请求时、RX 缓冲区中有一个位翻转、这会使 CRC 错误和数据包被 CC2642 MCU 丢弃。 当我们将 MRDY 中断代码保存在关键段中时(使用 ICALL API)、发生的频率要大得多。

我们使用 Saleae Logic Pro 16验证了电压电平和时钟信号是正确的。 请建议我们是否需要在示波器上看到它?  

请帮助我指南说明 SPI RX 缓冲区中可能发生数据损坏的所有可能情况。

谢谢。此致、

Chinmay Lotake.

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

    尊敬的 Chinmay:

    感谢您联系我们。 您能否共享您使用的 SDK 版本? 您曾提到您的应用通过 BLE 连接到手机。 这种行为是否可以在不易重现的示例中重现?

    此致、

    1月

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

    您好 Jan:

    感谢您的快速响应。 SDK 版本为5.10.00.48。

    是的、该应用程序通过 BLE 连接到手机/笔记本电脑、我提到了有关我的应用程序的所有详细信息、以便大致了解我们正在使用的所有资源。 CC2642充当直通(协议转换器)、它通过 SPI 线路将其通过 BLE 获取的命令传递给专有命令给主 MCU。 主 MCU 可以是任何可以通过 SPI 线路通信的 MCU。
    来自射频侧的请求由 CC2642传递到主 MCU、而来自主 MCU 的响应被传递到射频侧。

    我们遇到的问题发生在 CC2642处于广播模式以及 BLE 连接模式时。 但需要注意的一点是、当我们禁用射频侧时、我们不会遇到问题。

    如前所述、主 MCU 是主 MCU、BLE MCU 是从 MCU、但由于握手信号、任何一次都可以发起请求。 通信速度大多取决于握手线路。 如果任何 MCU 无法处理请求、它将不会提升其 MRDY/SRDY 线。 当我们强制以更高的速度进行通信时、例如每隔10-15毫秒发出一个请求/响应、我经常会遇到这个问题。

    如果您需要更多信息、请告诉我。

    谢谢。此致、
    Chinmay Lotake.

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

    您好!

    明白了。 感谢您提供更多详细信息。 您提到您最近修复了一个比赛条件问题。 在应用修复之前是否存在此新问题? 如果没有、那么您能否分享修复其他问题的代码?

    此致、

    1月

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

    您好 Jan:

    感谢您的答复。 很抱歉我迟到了答复。 几天我都在休假。

    我想我们已经找出了这个问题,因为这种情况正在发生。

    我们正在经历一个帖子

    https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1049588/cc2642r-q1-timing-parameters---cc2642-s-ssi


    主 MCU 是 Kinetis K24。 下面是与 K24相关的图像


    在n`t 邮报中、我们将 K24的 TOSC 增加到220ns、并且在几分钟的运行时不会观察到该问题(这很好、因为我们之前在10秒内看到过上述问题)

    CC2642是否有任何用于获取类似时序参数的文档? 如何找到正确的 TOSC 值。

    我们将进行长期的跑步、并在下周进行上述更改。 所以,让你保持张贴。

    请告诉我您的想法和意见。

    提前感谢。

    此致、
    Chinmay Lotake.

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

    尊敬的 Chinmay Lotake:

    我认为、找到最大值和最小值这一主题中提到的策略是最好的选择。 您能否尝试使用220ns 图来执行一些更长期的测试?

    此致、

    1月

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

    您好 Jan:

    感谢您的答复。

    我肯定会在未来数天内进行长远的测试。

    我在团队中分享的同样的观察。 但是、仍然有一个问题、那就是 TASC 与关键部分之间的关系是什么。 下面仍然有一些点没有得到解答(假设旧的 TOSC 值~90ns、在连续通信的10秒内就会出现该问题)

    1.当我们减少临界区的持续时间时,问题的出现时间不超过3000秒。

    2.当我们禁用 RF 时、至少 400秒内未发现该问题。

    请帮助我更详细地调试该问题、因为上述两种情况与 TOSC 值无关。

    谢谢。此致、

    Chinmay Lotake.

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

    尊敬的 Chinmay Lotake:

    您能否共享关键段的一些代码片段、包括这些段周围的 ICall API?

    此致、

    1月

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

    您好 Jan:

    请查看下面的代码

    "prepareMessageExchange()"->将填充 SPI 事务结构并执行 SPI_Transfer()

    "MRDYActiveInterrupt ()"-针对启用/禁用 RESP 将标志修改为 true/false、并针对 MRDYActiveInterrupt 启用/禁用 PIN 中断

    上述代码是处理握手的一部分。 所看到的关键部分就是我在上面的帖子中所提到的内容

    谢谢。此致、

    Chinmay Lotake.

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

    尊敬的 Chinmay:

    明白了。 代码对我来说是正确的。 你能分享什么是  iCall_enterCriticalSection ()的返回值吗?

    此致、

    1月

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

    您好 Jan:

    只是想知道在什么情况下你需要  iCall_enterCriticalSection()的返回值。

    是在问题发生时还是在正常运行时。

    每个传输(RX 或 TX)都会发生 MRDY 激活中断。  当主 MCU 想要或准备好进行数据传输时、MRDY 线路处于运行状态。 有时、主/主 MCU 将驱动 SPI 时钟来进行数据传输。 只是想知道 iCall_enterCriticalSection 的返回值将提供什么详细信息?

    此致、

    Chinmay Lotake.

     

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

    尊敬的 Chinmay:

    您能否同时提供正常实例、故障发生前的良好实例和故障发生时的实例? 我想看看是否有任何腐败或意外价值被退还。

    此致、

    1月

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

    您好 Jan:

    只需查看您是否为我提供了任何输入。

    此致、

    Chinmay Lotake.

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

    很抱歉、我漏掉了您先前的帖子。 没关系。

    我将在1-2天内获得数据。

    此致、

    中国

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

    您好 Jan:

      在正常情况下以及发生故障时,iCall_enterCriticalSection()的返回值都是零(0)。

    请指导我如何进一步分析该问题。

    此致、

    中国

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

    尊敬的 Chimnay:

    这些值似乎是正确的。 我想缩小硬件原因的范围。 您是否能够在 LaunchPad 上重现行为?

    此致、

    1月

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

    您好 Jan:

    我们在 CC2652 LaunchXL LaunchPad 上运行主 MCU 的仿真器。 但我们尚未在 LaunchXL 上看到该问题。

     您正在考虑哪种硬件原因。 请向 我们提供更多信息。

    此致、

    中国

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

    尊敬的 Chinmay:

    我不确定硬件组件可能会导致这种行为、但看到 LP 上不会重现此问题、这意味着问题可能出在硬件方面。 您是否已在 https://www.ti.com/tool/SIMPLELINK-2-4GHZ-DESIGN-REVIEWS?上对设计进行了审查

    此致、

    1月

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

    您好 Jan:

    我不确定是否审查了设计。 我会在团队中提问、然后就此问题与您联系。

    握手和 协议内容将直接从中获取  TI 的 NPI 协议。

    关闭 RF 电源后、不会再次出现此问题。  

    可以触发此行为的硬件组件。

    此致、

    中国  

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

    尊敬的 Chinmay:

    我不确定此行为可能是什么硬件原因、但如果此行为在定制电路板上可靠发生、但在 LaunchPad 上根本不发生、则表明 LP 和定制电路板之间可能存在硬件差异、这可能会导致此行为发生。 要 确认、在 LP 上运行相同的测试根本不会产生该行为?

    此致、

    1月

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

    您好 Jan:

    在 LP 上运行相同的代码需要花费一些精力。  如果存在硬件差异、则可以快速完成任何其他操作以得出结论。

    请告诉我。

    此致、

    中国

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

    尊敬的 Chinmay:

    我已在硬件专家中循环评论。 您是否已验证设计是否已通过审核?

    此致、

    1月