你好:
当提供超过3.2V时,设备启动并发布一次,然后停止发布,但密钥仍然有效。如果供电电压低于3.2V,该设备将继续做广告,而“浅蓝色”则可以与之连接。如果先供应低于3.2V的电量,则继续广告,然后再供应高于3.2V的电量,则广告信号消失。
我的程序是基于proxr_reporter的。我还尝试将原始的ble_app_barebone项目刻录到设备上。问题仍然存在。我们生产了数百种设备,大约有20种设备有这个问题。但是如果将app_default_sleep_mode设置为ARCH_SLEEP_OFF,就会出现问题。
设备:
嗨ericxiong,
你能分享一些关于设置的额外信息吗,你是从OTP或FLASH启动的?你能看到设备进入睡眠状态,然后它永远不会醒来吗?当这种情况发生时,设备的状态是什么(它处于睡眠状态?它是空闲的吗?由于硬故障或看门狗导致复位或暂停?它什么都不做就能运行?设备是否击中任何错误断言?)你是使用RCX还是XTAL32作为低功耗时钟?我想,这最有可能与低功率时钟有关,尽管我不能确切地告诉为什么这发生在3.2V。你怎么恢复设备,你复位了吗? Also at the case when the device is running properly and by increasing the voltage the advertising stops, how exactly do you increase the voltage ? Please share the above information in order to figure out possible reasons for this kind of issue.
由于MT_dialog
嗨MT_dialog:
1.我的设备从FLASH启动。
2.我把钥匙设为唤醒源。当按键事件发生时,设备将启动led。当问题发生时,钥匙可以唤醒它并引导它。
3.设备是ARCH_EXT_SLEEP_ON,它是空闲的计时器或键事件。
4.如果出现停顿,设备将通过UART输出异常。当它发生时,我什么也看不见。
5.如果不关闭电源,设备将保持此状态。设备没有复位键。
6.我没有改变关于低功耗时钟的设置,CFG_LP_CLK是LP_CLK_XTAL32。
7.当这种情况发生时,我必须关闭设备来恢复。
我使用直流电源为测试设备供电,因此可以增加电压。
嗨ericxiong,
1)所以你的设备从flash正确启动(当启动时,你可以看到580下载从flash的fw) ?
2)据我可以理解的是,当设备启动和弗兰克-威廉姆斯,它进入睡眠模式,醒来时通过定时器或外部中断和电压3.2伏以上的设备醒来(取决于领导)但从未开始的广告吗?对吗?
4)设备要输出的打印信息在哪里?也许设备卡在断点(看门狗或硬故障除外)打印消息位于那里?-在SDK中有ASSERT_ERROR,只是使设备空闲,并卡住fw在断点)。如果我不知道完全中断的代码我不能够帮助你,所以它可以帮助很多,如果我们有一个聪明的片段捕捉看到电力消耗的时间(也许这将帮助)并且如果你能热附加的调试器和跟踪代码已停止。在最新的SDK你将能够连接调试器在睡眠模式,对于一个老一个您可以启用调试器模块在睡觉的时候,为了做到这一点你必须确保SetBits16 (SYS_CTRL_REG DEBUGGER_ENABLE 0);不在代码的任何地方调用。
6)所以您的设备的低功耗时钟是XTAL32,而您的PCB有XTAL32 ?
到目前为止,对于这种行为,我能想到的唯一的嫌疑人是XTAL32。
Thansk MT_dialog