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.

[参考译文] CC3235SF:器件卡在高功耗状态。

Guru**** 2484615 points
Other Parts Discussed in Thread: CC3200, CC3235MODASF, CC3235MODAS, CC3220MOD

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1260318/cc3235sf-device-stuck-in-high-consumption-state

器件型号:CC3235SF
主题中讨论的其他器件:CC3235MODASFCC3235MODASCC3220MOD、CC3200

我们有上万种设备配备了 cc3235 (CC3235modas 和 cc3235modasf)。 它们大部分情况下都可以正常工作、但存在一个低发生率的错误、这使得器件停止通信、并在大约 三天内消耗电池电量。  

它每年影响大约7%的器件。 它足够高、足以让人感到痛苦、但太低、无法轻松复制和调试。 因此、我将分享我们的思考和调试过程。 希望我们可以获得一些帮助/有用的指针。

我们的电池供电设备通常会使用慢时钟从休眠中唤醒、连接到接入点、连接到 http 服务器、执行一些请求、然后在几秒至24小时的时间内返回休眠状态。 当错误发生时、我们看到器件未在预期时间内连接、但电池耗电非常快。 当我们的电池拉杆观察程序电路重置 cc3235时、它随后可以正常运行(持续几周、直至电池电量完全耗尽)。

由于 看门狗捕获了其他错误、因此很可能是与启动/关闭相关的错误。 每次看门狗复位后、我们都会有一个 指数退避 休眠持续时间 、该时间可防止耗尽电池电量。

在进入休眠模式退出时、在 sl_start 和 任务创建之前、看门狗会立即启动。  

我们的电池为3000mA、这使得在错误状态下消耗的40mA 大于或小于4gb。

此时、我们怀疑发生了其中一件事:

  1.  器件以 uartload 模式启动
  2. sl_start  失败、看门狗在50秒后复位、依此类推。
  3. 在初始化看门狗之前、处理器启动但无法正确初始化。
  4.  当看门狗已停止(或看门狗损坏)时、器件无法进入休眠状态
  5. 指数退避处理前的看门狗三角

遗憾的是、我们不可能得到显示错误的 NWP 日志、因为我们必须测量大量器件才能可靠地捕获错误。

我们可以通过 OTA 更新固件、从而使其更加稳健、或添加一些调试信息、以尝试找出问题的根本原因。

谢谢!

塞德里克

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

    尊敬的 C é dric:

    这是一条评论、 什么是 SOP 模式(0-1-0)? 您是将 UART 用于引导程序、以连接到任何东西、还是它只是 NC 而不在 RX 线路上拉?

    以前我还记得、e2e 论坛的一些其他用户在某些特定情况下报告了 CC32xx 器件上的看门狗问题。 但我不记得更多的细节。

    1月

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

    如果没有 NWP 日志、就很难提供帮助。

    您是否经历过 此平台的设计审查过程?  

    您是否在 进入休眠模式之前停止看门狗? 您能试一下吗? (即 退出 hib -->启动看门狗--> sl_Start--> sl_Stop-->停止看门狗-->进入 hib)

    请提供 更多 有关问题发生后器件状态的详细信息。 我知道它未连接到服务器、但 它是否完全卡住? -您是否定期打印任何内容(到终端)? 您是否能够添加 SlDeviceGetPmStatAcc_t 参数的定期打印结果(请参阅 simplelink/sl_DeviceStatGet device.h (sl_DEVICE_STAT_PM、sizeof (SlDeviceGetPmStat_t)、...)")。  
     

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

    您好、Jan、感谢您的回复!

    SOP0和 SOP1未连接、SOP2由此连接到 FTDI 芯片。  

    这意味着缺省值为0-0-0 (功能性_4WJ ),当 FTDI 激活晶体管时,缺省值为1-0-0 (UARTLOAD)。

    我们的问题是在 USB 没有为 FTDI 芯片供电的情况下发生的、因此我看不到它如何 毫无顾忌地在 UARTLOAD 中启动。 但我还没有足够的证据来勾销它。

    UART0_RX 也连接到100K 上拉电阻和 FTDI 芯片。 不过、不确定为什么您会问、 UART0_RX 会产生什么影响 ?

    塞德里克

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

    你好 Kobi,谢谢你的答复!

    是的、这是一个棘手的问题。

     

    我将再次进行设计审查、以确保结果正确。

    否、实际上我们在进入休眠之前不会显式停止看门狗。 如果未停止、是否存在已知问题?  

    目前、我们没有关于发生错误时器件状态的更多详细信息。 器件大多远离我们的工作场所、并且知道存在问题和由于空电池过小而进行复位之间的时间窗口。  我们添加了一些日志、以尝试了解复位后发生的情况(退出休眠模式的次数、看门狗调用的次数、上电次数)。 但由于这是在闪存中写入的、因此只有 sl_start 正常时才有效...  

    塞德里克

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

    尊敬的 C é dric

    我询问 SOP 模式是因为当使用 SOP 模式0-1-0 (LDfrUART_FnWJ)时、进入 uartloader 模式取决于 RX 线的状态。 以及没有上拉的未连接浮动 RX 线路会导致错误地进入 uartloader 模式。

    我认为您的 SOP2电路看起来不错。 由于内部具有100k 下拉电阻器、其他 SOP 引脚也可以是 NC。

    在我使用 CC3220MOD 的设计中、我使用 FT232RL 通过 CBUSx 引脚控制 SOP0-2和 RST。 如果我在我们的测试中记住正确的话、我们发现了 GPIO 模式下 CBUSx 的一些潜在问题。 我们在 D2XX 驱动器需要时采用 CBUSx 引脚开关模式。 但我不确定这是否能与你的情况发生某种关系。

    我们的 SOP 控制电路如下所示:

    1月

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

    大家好、Jan、

    好的,谢谢你的解释!

    我们执行 与您类似的操作、但将 SOP2连接到 FTDI 芯片的 DTR。

    我已经查看了有无 USB 的 SOP2电压、 在两种情况下都是干净的0V 电压、启动时 VCC 产生3.7ms 脉冲。  

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

    有一个与看门狗相关的问题。  

    我请参阅 CC323x 技术参考手册的  10.4章中的以下内容。

    看门狗复位后、是否需要按照此处指定的方式对 cc3235进行任何特定处理?  

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

    您好!

    CC3220或 CC3235无特殊需要。 这对 CC3200器件有效、但别问我为什么 CC3235的 TRM 上是这样。

    1月

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

    感谢您的回复:)

    我们现在正在考虑添加事后信息。

    我们看到的一种可能是使用 OCR 寄存器、并在达到预定义步骤时设置位。 之后、当器件在故障之后重新启动时、这将发送至服务器。

    我的问题:

    - OCR 寄存器的写入次数是否受限?  

    - OCR 寄存器是否设置为0? 由引导加载程序或其他资源实现的?

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

    您好!

    我从未将 OCR 寄存器用于此类用途。 请等待 TI 的回答。

    我可以说、尽管这对您来说没有什么用处、但 RAM 在启动时由 ROM 引导加载程序清除。

    1月

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

    我不熟悉写入次数的限制、也不知道寄存器的默认值是多少。  

    我认为引导加载程序不会写入它。