你好,
我们使用示波器来估计开关引脚(QFN40, no。21针),https://imgur.com/a/COPbF
我们知道,我们可以用这个引脚来知道DA14585是否处于扩展睡眠模式,对吗?
这真的很奇怪,如果我通过使用SmartSnippets的引导功能将代码烧入SysRAM, SWITCH将总是高(从不低)。
然而,如果我将相同的代码刻录到Flash中,SWITCH引脚将只有在DA14585清醒时才会高。
的原因是什么?
非常感谢!
关键词:
设备:
你好,
smarsnippet中用于引导功能的接口是什么?在使用调试器的情况下,该代码可以防止单片机进入休眠模式。您是否尝试使用UART下载代码并检查SWITCH引脚上的信号?
嗨Stanley_yeh,
请查看文档标签中的DA14585 datasheet部分(page 21),开关引脚(QFN40,no 21引脚)用作输入/输出(外部DC-DC转换器电感连接),与扩展睡眠模式无关。这个开关总是开着的,因为调试器已经连接上了,CPU仍然处于供电状态(时钟停止工作)。
谢谢,
STS_Dialog
你好,
当芯片处于清醒状态时,开关管脚将振荡(切换),而当芯片处于睡眠模式(深度睡眠或延长睡眠)时,开关管脚将不振荡(切换)。
DCDC电感的一侧连接到SWITCH引脚。
DCDC电感的另一侧连接到VDCDC,当芯片有功时,这一侧的直流电压为1.4V。
当处于睡眠模式时,SWITCH引脚电压将是稳定的(直流,不切换),SWITCH引脚状态解释如下:
当芯片处于休眠模式时,VDCDC电压(1.4V)将下降,最终降至0.9V左右。
这个VDCDC电压通过DCDC电感转移到SWITCH引脚。
预计在睡眠模式下,SWITCH引脚的电压大约在1V左右。
睡眠时间越长,测量的SWITCH/VDCDC电压越低,最终低于1V。
直到芯片唤醒:DCDC变为有源,SWITCH引脚将振荡/切换,VDCDC电压将恢复到1.4V。
最好的问候,BB_Dialog。
你好,
我遇到了上面提到的同样的情况。
在我离开我的设备一段时间后,VDCDC电压下降到大约1V,设备进入睡眠模式。
然而,它不能退出睡眠模式,VDCDC电压停留在1V左右,直到系统重新启动。
你怎么解释这个问题?
嗨Beyondpan,
请不要在线程中间发帖,因为这将使您的帖子对我们更难以跟踪,您可以总是创建一个新的线程,以问您的问题。
所以,关于你的问题,因为VDCDC保持固体在1 v这意味着设备从来没有醒来,所以有两种方式,设备可以醒来,要么通过一个已经编程BLE事件(广告或连接或计时器事件)或通过外部中断asyncronously。因此,如果你已经将设备与一个持续广告的fw编程,或者你连接到一个设备,那么当设备处于清醒状态时,VDCDC将必须接近1.4V,如果你有程序员的设备与fw进入睡眠,永远不会醒来,那么VDCDC将卡在1V,直到设备接受外部中断以唤醒。
由于MT_dialog
我使用J-Link(SWDIO接口)下载我的代码。
我不知道smarsnippet的booter功能如何重置DA14585,
但是,我使用自己的批处理脚本下载代码,并使用j-link命令“w2 50000012 A4”,将0xA4写入SYS_CTRL_REG寄存器(0x50000012)以重置DA14585。
我引用数据表,SYS_CTRL_REG的第7位是DEBUGGER_ENABLE,所以我认为调试器是启用的,因为我向寄存器写入0xA4。
我将尝试将0x24写入寄存器。
谢谢你们,我很感激你们的帮助。