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.

[参考译文] CC2640:信标广播问题

Guru**** 2587365 points
Other Parts Discussed in Thread: CC2640

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/593726/cc2640-beacon-advertisement-issue

器件型号:CC2640

 我的 CC2640 硬件有问题。  问题是、有时标签会停止广播、即使在下电上电后也不会再次开始广播。

经过调查、发现此问题与电容器放电相关、以便验证移除此电源的时间更长(即超过30秒)、从而允许所有电容器放电。 一旦所有电容器放电并为 TAG 供电、它就会开始工作。

经过进一步调查、发现 VDDS 去耦10uF 电容器(下图中的 C6)导致了该问题、因此移除该10uF 电容器后、该广播问题得到解决

我的问题是、我们已经根据 TI 推荐的原理图设计了电路、而这个10uF 电容器是 TI 推荐的、因此我们提请您检查设计并让我们知道问题指南、了解主要问题。

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

    这种特定电容器似乎存在问题。 为确保正常运行、我们建议在 VDDS 上使用10uF 或22uF 去耦电容器。 这已用于所有测试和表征。

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

    感谢您的快速响应。

    我们使用了 TI 推荐的电容器"CL10A106MQ8NNNC"、该电容器在一个电路中工作、在另一个电路中工作、但不工作。 我们是否可以从电路中永久移除该电容器、是否会产生任何后果?

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

    我不建议移除10uF 去耦电容器。 DCDC 需要在打开无线电时处理瞬变。

    您为什么认为电容器存在问题? 此结论基于什么测量?

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

    您能否向我发送您的电子邮件 ID、以便我可以向您发送设计文件和测试视频。

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

    您好、Fredrik、

    您是否阅读了我的最后一条消息?

    此致、
    Sumair

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

    我无法共享我的电子邮件地址。 如果您可以提供更多信息、说明您认为故障是由 VDDS 上的10uF 去耦电容器导致的原因(测量等) 我可以为你提供帮助。 如果没有、我只能重复一遍、建议在设计中使用该电容器、以避免在更改电源状态、启用无线电等时在电流瞬态期间触发 BOD。

    此致、
    Fredrik
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的
    如果它在一个电路板上工作而不在另一个电路板上工作、则可能是焊接问题。 这可以是吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问题不在电路中、此问题是一批问题。
    在数千个电路板中的一个生产中、某些电路板存在此问题、而在另一批电路板中、此问题非常突出(超过90%)。 组件和硬件设计都是相同的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    一批 TI 芯片是否有可能出现此问题?

    此致、
    Sumair

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

    没有与您看到的内容相关的已知问题。

    您仍然没有回答这个问题:为什么您认为电容器存在问题? 此结论基于什么测量?

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

    [引用 USER="Fredrik K"> HI Sumair、

    没有与您看到的内容相关的已知问题。

    您仍然没有回答这个问题:为什么您认为电容器存在问题? 此结论基于什么测量?

    此致、
    Fredrik

    [/报价]

    您好 Fredrik、

    分析了情况后,我得出结论,这个问题与“欠压”情况有一定关系。

    有时、如果断电并立即插入电源、则标签不会重新启动、并且进入未知状态、它不会发送广播数据、除非在特定时间断电并允许所有电容器放电。  
    请参阅随附的视频以更好地理解。

    请注意、即使在这种未知状态下、work.e2e.ti.com/.../8561.Product_5F00_issue_5F00_1.mp4也会"外部硬件中断"

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

    您好  

    如果您能研究这个问题、我将不胜感激。


    谢谢

    Sumair Qureshi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以尝试在 main.c 中添加一个计时器、以延迟任务的其余部分、看看这是否有用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    感谢您的快速响应。 我已经尝试过,但我不起作用:(


    此致、
    Sumair

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

    请使用 task_sleep 而不是 delay_ms。  以便器件在尝试引导时能够保持低功耗状态。

    以下是示例代码。  

    /*********
    *@fn 主页
    *
    @简介 Application Main
    *
    *输入参数
    *
    *@参数 无。
    *
    *输出参数
    *
    *@参数 无。
    *
    *@返回 无。
    //
    
    void delayTaskFxn (uintptr_t a0、uintptr_t A1)
    {
    
    Task_sleep (5000 *(1000 / Clock_tickPeriod));
    
    
    Task_disable();
    
    /*初始化 iCall 模块*/
    iCall_init();
    
    /*启动外部映像的任务-优先级5 */
    iCall_createRemoteTasks();
    
    /*退出配置文件-优先级3 */
    GAPRole_createTask();
    
    SimpleBLEPeripheral_createTask();
    
    Task_enable();
    
    }
    
    Task_StructdelayTaskStruct;
    uint8_t delayTaskStack[1024];
    
    
    int main()
    {
    //注册应用程序回调以捕获堆栈中提出的断言*/
    RegisterAssertCback (Assert1350);
    
    PIN_init (BoardGertInitTable);
    
    #ifeDef CCXL_SwitchNotify
    
    (#rade/Categrastate_power)#randrularnatedruln = 2.4GHz 无线电
    
    (#rackning_rackning_de= 2.4GHz)
    
    PowerCC26XX_entering_standby | PowerCC26XX_awarK_STANDBY、
    (POWER_NotifyFxn) rFSwitchNotifyCb、NULL);
    #endif //power_saving
    #endif // CC1350_LAUNCHXL
    
    #ifndef power_saving//
    设置待机、断电和空闲模式的限制*/
    Power_setConstraint (PowerCC26XX_SB_disallow);
    taskparasit_params
    
    
    
    
    (task_partask_params
    )
    
    ;task_deltask_parature_params (task_partask_params = task_deltask_params;task_parature_params (task_partask_params);task_partask_parature_params (task_pared.partask_partask_params = task_pared.params delayTaskFxn、&taskParams、NULL);
    
    //启用中断并启动 SYS/BIOS */
    BIOS_start();
    
    返回0;
    } 

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

    我合并了您的两个主题、因为它们与同一主题有关。

    我们建议在使用纽扣电池时使用22uF 电容器、您可以尝试将 C6更改为22uF、看看这是否有用?

    谢谢、
    Fredrik
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您使用的电池的状态是什么? 是完全充电还是放电?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Fredrik

    电池已充满电。
    我将更改电容器并尽快通知您。

    尊敬的 Christine:
    感谢您提供示例代码、我将更改代码、这将在一段时间内更新您的代码。

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

    我按照您的建议更改了代码、但都没有成功。 结果相同。

    让我向您详细介绍一下情况;
    -我们在不同批次中生产了15、000多个标签。 在过去的两个批次中、我们遇到了这个问题。
    -生产和 QC 后、标签会发送给客户(标签在发货期间已开启)。
    -当标签被接收到客户端时、发现一些标签不工作、在调查之后、发现标签进入未知状态、停止发送信标、除非所有电容器都放电、否则无法工作。

    为了重复这种情况、我们编写了一个代码、通过向 UART 发送命令来手动停止广播、我们按照以下步骤关闭广播;

    -打开标签电源
    -将标签与中央设备连接
    -在 UART 上向外设发送"广播关闭"命令
    -接收到命令外设后、通过禁用标志"initalAddertEnable = false;"来禁用广播
    -拔下电池并插入。

    在执行这些步骤后、我们能够重复我们在上次生产中遇到的相同情况、在这种情况下、标签不会开始广告、除非所有电容器都已放电。

    我希望你们现在更了解这种情况。 如果您有任何困惑、请告诉我。

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

    那么、您可以始终引发问题吗? 还是仅在某些器件上? 该状态下的 VDDR 电压和 DCOUPL 电压是多少? 您是否在32k 晶振上看到任何振荡?

    拔下并重新连接电池以触发问题的时序窗口是什么?

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

    是的、我可以始终在所有设备上引发问题。

    有3个状态;

    状态1:正常工作

    状态2:悬挂未知状态(在该状态下广播自动停止)

    此问题的解决方案:

    将电池拔出5-10秒、然后再拔出所有电容器以进行放电。

    状态3:广播未知状态(在该状态下、广播会手动停止)

    此问题的解决方案:

    1 -拔下电池5-10秒、连接到所有电容器以进行放电。

    2-使用外部中断通过 "initialAdvertEnable"标志启用广播。

    以下是所有3种状态下的电压值;

    -状态1上的 VDDR 电压:1.675V

    状态2处的 VDDR 电压:0.00V

    -状态3上的 VDDR 电压:从1.5V 波动至1.6V


    -状态1上的 DCOUPL 电压:3.66V

    -状态2上的 DCOUPL 电压:3.66V

    -状态3上的 DCOUPL 电压:3.66V


    此致、

    Sumair Qureshi

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

    您好、Sumair、

    我指的是 DCOUPL 引脚、而不是 VDDS 去耦电容器。 无论如何、这并不重要、如果 VDDR 为0V、那么 DCOUPL 也将为0V  

    在触发问题时、您能否使用示波器捕获 VDDS 曲线和 VDDR 曲线?

    此致、
    Fredrik

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

    您好 Fredrik、

    如前所述、有3个状态。

    状态1 (正常工作状态)和状态2 3 (通告手动关闭)是可重复的、 处于状态1和状态2 3的 DCOUPL 引脚上的波形是正常的(即1.2V)、而状态3 2 (未知状态、 这是主要问题)不可重复、因此我现在无法捕获波形。  


    此致、
    Sumair

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

    与您进一步编写的内容相比、您是否将状态2和3混合在一起?

    参阅您5月17日的帖子:
    状态2:触发问题时、我想查看 VDDS 和 VDDR 的示波器图。 我想看看它是否与 CC2640数据表中表6-2下的注释2相关。

    状态3:您能否提供更多详细信息? 广告停止"手动"意味着什么? 如果 VDDR 在1.5V 至1.6V 之间波动、则器件处于待机状态。

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

    很抱歉混用、我已更正先前帖子中的拼写错误。

    状态2:正如我在上一篇文章中提到的、这不容易重复、如果问题再次触发、我将捕获波形。

    第3点:我认为这不是一个问题。
    让我详细解释一下这种情况;

    -要实现此状态、请在 UART 上向外设发送"advertised_off"命令

    -如果(CMD=Advertisement_off)
    //接收到命令外设后,通过禁用标志"initalAddertEnable = false;"来禁用广播

    初始化地址使能= false;
    GAPRole_SetParameter (GAPROLE_Advert_enabled、sizeof (uint8_t)、&initalAddertEnable);
    Util_stopClock (周期时钟);//周期性事件时钟


    在此状态下(禁用广播)、电流消耗降至最低、这就是在给定正常功率周期后 VDDS 去耦网络不会耗尽且需要更多时间放电的原因。

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

    状态3听起来像正常行为。

    状态2是有趣的事情、我认为您可以轻松地重现它。

    此致、
    Fredrik