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.

[参考译文] CC2640R2F-Q1:BLE 链路失败

Guru**** 2614265 points

Other Parts Discussed in Thread: CC2640

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1248444/cc2640r2f-q1-ble-link-fail

器件型号:CC2640R2F-Q1
主题中讨论的其他器件:CC2640

尊敬的

   客户使用 CC2640有大批量生产,但 似乎 蓝牙断开连接→蓝牙软复位故障→蓝牙不广播→蓝牙无法连接

  1、堆栈版本: Simplelink 捕获了一个数据屏幕截图,这将揭示内部的串行端口协议。

  2 屏幕截图的红色部分显示了硬件复位。 硬件复位前的数据表示2640接收到断开事件并调用软复位。

  3.每条链路相隔30秒;测试流程:连接-和 GT;中断软复位;软复位30秒后-& GT;连接;重复10,000次、不会发生无线电卡塞。

 任何建议?提前感谢

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

    您好!

    我不确定在此开始时会有什么相关信息、所以我们先尝试获取更多信息。

    您能否更清楚地说明问题到底是什么? 您说存在断开连接、但您是否有空气监听器跟踪?

    正在使用哪个版本的 SDK?  

    蓝牙设备扮演什么角色?

    它处于哪个应用领域?

    器件连接到了什么目标?

    问题是如何重现的?

    什么是蓝牙软复位故障? 我从来没有听说过这个。


    请提供更具体的信息、以便我们提供帮助。 谢谢你。  

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

    1、 不     使用空气嗅探器探头。    手机 主动 断开  cc2640后、  cc2640 将收到  GAP_LINK_ENTERMIND_EVENT 、 然后 主动 执行 软件 复位。    此时、 CC2640 未   成功复位;


    2、 版本 号:simplelink_cc2640r2_sdk_4_20_00_04__1;
    3、 外围 角色;
    4、 广播 、连接、 通信。
    5、  手机
    6、   在  GAP_LINK_ENTERMIND_EVENT 中进行软件复位

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

    您好、Wang、

    如果您说器件未成功复位、您能否详细说明您最终看到了什么?

    电话上的用户是否终止连接或移动设备是否自动驱动断开?

    也许更重要的是、您为什么要在接收到链路终止事件后对器件进行确切复位?  

    请执行空气嗅探器探查。  

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

    1、在正常条件下、软复位后、BOOT 将输出 A1 00/A2 00、如图中红色标记部分所示。 发生故障时、执行将进入 GAP_LINK_ENTERMIND_EVENT、串行输出为16 00。 但没有输出 A1 00/A2 00。 硬件复位如图所示。

    2、 移动电话用户终止连接。

    3、 我希望2640在每次连接之前保持其初始状态。  

    4、 好的、补充图表中标记为16 00的红色框表示已经接收到 GAP_LINK_ENTERMIND_EVENT。

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

    你(们)好!
     如果器件在故障中结束、它不一定会复位、除非您特别调用了故障/异常处理程序中的复位函数。 这将解释您没有看到 A1 00/ A2 00的原因。 如果希望能够在遇到故障后将芯片复位、我建议使用看门狗计时器。 然后、这将冷复位芯片、从而允许再次发生启动序列。

    看看您发送的代码片段,您是否尝试过在调试会话中运行代码以查看 SysCtrlSystemReset();是否实际上被调用? 在实际访问 SysCtrlSystemReset 函数之前、芯片可能会在故障/异常处理程序中结束、这意味着从未调用该函数、因此不会进行复位。 请尝试通过调试会话来运行软件、看看是否出现了这种情况。

    要确保 SysCtrlSystemReset()函数实际复位设备,可以尝试从不同上下文调用该 API,以查看复位是否实际发生。

    此致!
    阿赫尤特·雷

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

    请注意,如果您在调试会话中,然后运行 SysCtrlSystemReset()函数,则会断开调试器的连接,从而中断会话。 这不是问题、是预期行为。 要避免这种情况,可以在 SysCtrlSystemReset()函数上设置断点,然后查看是否到达该断点。

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

    1、对不起、我说故障的时候、是软件复位 故障、不是硬件故障...

    2、软复位的失败概率很低、很难调试。

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

    您好!

    感谢您的澄清。

    1.您是否尝试过在调试会话中运行代码? 此外、您是否能够在 link_terminated_event 情况中设置一个断点、以查看是否曾调用重置函数? 我知道在您的最终重现问题是很棘手的、但除非我知道发生了什么、以及原因、否则我将无法提供更多的见解。

    2.此外,您是否曾尝试使用看门狗计时器来避免代码未正确复位的情况?  

    此致!
    阿赫尤特·雷

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

    1、 尝试使用调试会话、在事件中设置断点以调用软复位函数。 由于故障率很低、并且软复位后调试无法继续、因此无法知道故障发生了什么。

    2、 当前项目有正在运行的看门狗。

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

    你(们)好!
    您能否检查您是否已在您身边启用"热复位转换为系统复位"? 您可以通过查看 PRCM 寄存器、然后查看 WARMRESET 字段来检查此情况。 这是为了确保软件复位能够实际复位整个器件而不仅仅是其中的一部分。 您可以在技术参考手册的6.7.1.3和6.7.2节中阅读有关此内容的更多信息。
    为便于访问、此处是 TRM 的链接: www.ti.com/.../swcu117i.pdf

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

    而不是使用"热复位到系统复位"、而是使用冷复位。

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

    抱歉、您还在线吗?

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

    有几个可能需要我更清楚地说明:
    -看门狗是否超时?
    -软件复位失败时设备的状态是什么? 设备是否仍显示处于活动状态的迹象? 您可以通过定期切换 LED 来检查这一点。 如果器件处于未知状态、则 LED 不会切换。
    -当你说重置失败,我无法理解什么重置不起作用,你能解释你看到的行为吗?
    -这一问题的周期性是什么? 这有多好的重现性?