嗨对话小组,
默认情况下,DA14580需要两秒钟才能稳定在电源期间睡眠前。但在我们的应用程序中,我们需要做一个广告,然后使DA芯片立即从电源开始深入睡眠。所以进行测试目的将稳定时间值从3200变为1(在RWIP.C中)。在调试SRAM时,首次广告后立即睡觉(它的工作正常!)。但是在OTP中编程后,在第一个广告上的电源期间,执行后跟额外的70毫秒的高峰(如图所示)!
所以我的问题是有没有办法去除这个额外的当前峰值,并使DA14580立即在拳头广告的电源后立即睡觉???
这种额外的电流仅在通电期间发生,当给出中断唤醒芯片时,没有当前的峰值,它宣传并立即睡觉!。
电源on - 广告:
https://www.dropbox.com/s/rcdgcdnn0vh658q/power%20on.png?dl=0
Durring中断:
https://www.dropbox.com/s/w2yw1eoyzbsxnex/interrupt.png?dl=0
我们更加认真地删除这些额外的当前,为我们的申请!所以我们正在等待你的反应!
(我们已经在旧线程中讨论过,因为波形的链接已过期,而且还有适当的解决方案,在此处发布)
谢谢
嗨Hrq,
在电源启动时,32kHz XTAL振荡器在靴子中激活。这是第一批所做的一件事之一,因为32khz Xtal振荡器需要很长时间才能稳定。我们为此设置了2秒。在修改Sysram中的设置时,32kHz XTAL振荡器已运行稳定一段时间。
在OTP中燃烧后,32kHz XTAL振荡器必须在上电时启动,直接接下来是您的广告。32kHz XTAL振荡器尚未稳定。
这可能导致您在上电时观察到的内容。
执行中断时,32kHz XTAL振荡器已运行一段时间,并运行稳定。
你能尝试使用设置> 1吗?
最好的问候,bb_dialog。
嗨对话小组
但是DA14580开始在稳定时间之前进行广告?(您可以验证当前波形)!那么,这种延迟或稳定功能的确切用途是什么?无论水晶稳定如何,都是广告!当你能在这方面详细解释。
谢谢
嗨Hrq,
对于BLE功能,不使用32kHz XTAL。BLE使用精确和修剪的16 MHz晶体振荡器。
16MHz XTAL振荡器刚刚开始之前启动。16MHz XTAL振荡器需要大约2毫秒进行启动并变得稳定。
32kHz XTAL振荡器已经在运行,以便在广告后首先睡眠前变得稳定。
32kHz是低功率时钟,用于睡眠模式。
由于Q系数高,频率低,在32K XTAL振荡器稳定之前可能需要2秒。
假设晶体Q系数为10.000,这是晶体的相对低的Q系数。
通常,假设需要(3 * Q)的周期数来获得稳定的XTAL振荡器幅度和频率。确保采取5 * Q因子。
3 * Q = 30.000循环,这将是32.768 kHz水晶的1秒。
如你所知,我们为它设置了2秒。
如果您想要更快,最好使用内部RCX20振荡器。这个是更快的,但有局限性。例如。只能用于降压模式。
请查看数据表。
最好的问候,bb_dialog。
如果我们的应用程序就像一个广告DA14580将关闭(它不会睡觉)。在这种情况下,如何删除此水晶时间.i.e我们不想使用32khz水晶?要做的软件修改是什么?
谢谢
嗨Hrq,
1st:选择在DA14580_CONFIG中的*低功耗时钟选择*中使用RCX20振荡器*
为RCX设置0xAA。0x00用于XTAL32K
2nd:可选但建议做:去激活XTAL32K振荡器,以节省一点电流:SetBits16(CLK_32K_REG,XTAL32K_ENABLE,0);//禁用xtal32khz.
将此添加为“else if(lp_clk_sel == lp_clk_rcx20)”在Arch_System.c中的*上电BLE核心和重置BLE定时器的最后一行“
=>http://support.dialog-semicondiondiondiondum/faq/how-fix-rcx20-bug-sdk-306
就这样。
最好的问候,bb_dialog。
谢谢你的信息 !由于我们不使用睡眠模式是RCX20 OSC也需要?您提到BLE使用16MHz OSC,那么为什么我们需要再次使用RCX?因为我们在一个adv后关闭了da14580!
嗨Hrq,
如果您真正关闭DA14580,而不是使用任何睡眠模式,则不必使用32kHz XTAL振荡器或RCX20振荡器。
通常在例如接近记者,在广告事件之间使用XTAL32K或RCX20,设备处于睡眠模式之间。
最好的问候,bb_dialog。
所以在“*低功率时钟选择* / #define cfg_lp_lk”中,要放置的值是什么,以便禁用32khz&rcx20?
谢谢
嗨Hrq,
选择任何您喜欢的,但最佳选择32khz XTAL振荡器(0x00),因为这一个已在运行以来,BootROM切换到它。
在软件中,通过添加以下行可以禁用32kHz XTAL振荡器:
SetBits16(CLK_32K_REG,XTAL32K_ENABLE,0);//禁用xtal32khz.
最好的问候,bb_dialog
嗨bb_dialog.
我按照禁用振荡器的说明,但是当我添加行SetBits16时(Clk_32k_reg,xtal32k_enable,0);//禁用xtal32khz,
DA14580没有启动,没有电源或广告!我用rcx20尝试了,仍然是同一个da芯片没有电源,似乎至少应该启用电源,!!!
我已附加了我试图禁用XTAL32 OSC的快照。
https://www.dropbox.com/s/co4zwadcz16t5g/tal.jpg?dl=0.
那么如何禁用两者?
谢谢
嗨Hrq,
我们认为必须将以下内容设置为UNDEF,其中一个现在定义,但请将它们设置为UNDEF。
禁用深延长的睡眠:在da14580_config.h中
#undef cfg_ext_sleep.
#undef cfg_deep_sleep.
最好的问候,bb_dialog。
嗨bb_dialog.
我试过禁用深延长的睡眠:在da14580_config.h中,仍然存在问题,da14580没有打开!你能试试一次吗?并尽快确认?由于我们需要尽量减少我们需要禁用振荡器的大部分不必要的功耗!
谢谢
嗨Hrq,
在我的情况下它有效。接近记者是广告的,没有睡眠模式。广告事件之间的基本电流高于正常。
我刚刚未定义两个睡眠模式,但xtal32k仍被选为LP时钟。
B.R.,BB_Dialog
嗨bb_dialog.
我尝试过32khz启用和undefine睡眠模式。当你说的基础电流很高,现在情况更糟!为什么这种多余的电流?32khz无条件操作!所以没有办法禁用这些OSC?
谢谢