上电时附加电流

15个员额/ 0个新员额
最后发表
hrg
离线
最后看到:2年10个月前
大师
加入:2014-08-05 37
上电时附加电流

嗨,对话团队,

默认情况下,DA14580需要2秒的时间才能稳定下来,然后在上电时进入睡眠状态。但在我们的应用程序中,我们需要做一个广告,然后使DA芯片从电源上立即进入深度睡眠。因此,为了测试目的,我们将稳定时间值从3200修改为1(在rwip.c中)。当在SRAm中调试时,它会在第一次广告后立即进入休眠状态(它工作得很好!).但是在OTP编程之后,在上电期间,第一个广告被执行,随后是额外的70毫秒的高峰(如图所示)!
所以我的问题是,有没有一种方法来消除这额外的电流峰值,并使da14580立即去睡觉后第一个广告从电源上??
这个额外的电流只发生在电源广告期间,当一个中断被给予唤醒芯片没有这样的峰值电流,它广告并立即进入睡眠!.

开机广告:

https://www.dropbox.com/s/rcdgcdnn0vh658q/power%20on.png?dl=0

大调的中断:

https://www.dropbox.com/s/w2yw1eoyzbsxnex/interrupt.png?dl=0

为了我们的应用,我们更认真地移除这些额外的电流!所以我们正在等待您的回复!

(我们已经在一个旧的线程中讨论过了,因为波形的链接已经过期了,而且也有适当的解决方案,我在这里发帖)

谢谢

BB_Dialog
离线
最后看到:1年4个星期前
工作人员
加入:2013-12-05 14:44
嗨hrq,

嗨hrq,

32KHz Xtal振荡器在开机期间启动。这是首先要做的事情之一,因为32KHz xtal振荡器需要相当长的时间来稳定。我们设定了2秒。当在sysram中修改设置时,32KHz xtal振荡器已经稳定运行了一段时间。

在OTP燃烧后,32KHz xtal振荡器必须在开机期间开始,直接跟随您的广告。32KHz xtal振荡器还不稳定。
这可能会导致您在开机期间所观察到的情况。

当进行中断时,32KHz xtal振荡器已经运行了一段时间,并且运行稳定。
你能把>设置为1吗?

最好的问候,BB_Dialog。

hrg
离线
最后看到:2年10个月前
大师
加入:2014-08-05 37
嗨对话小组

嗨对话小组

但是Da14580在稳定时间之前就开始做广告了对吗?(您可以验证当前波形)!那么,这种延迟或稳定函数的确切用途是什么?BLE广告与晶体稳定性无关!??你能详细解释一下吗?

谢谢

BB_Dialog
离线
最后看到:1年4个星期前
工作人员
加入:2013-12-05 14:44
嗨hrq,

嗨hrq,

对于BLE功能,不使用32KHz Xtal。BLE使用精确和修剪的16 MHz晶体振荡器。
16MHz Xtal振荡器是在广告开始之前开始的。16MHz Xtal振荡器需要大约2毫秒的启动和变得稳定。
32KHz xtal振荡器已经在运行,以便在广告后进入第一个睡眠前变得稳定。

32KHz是低功耗时钟,用于睡眠模式。
由于高q系数和低频率,它可以花费2秒的32K Xtal振荡器已经稳定。
假设晶体q系数为10.000,这对晶体来说是一个相对较低的q系数。
一般情况下,我们假设需要(3 * Q)周期数才能得到稳定的xtal振荡器振幅和频率。取5 * Q因子。
3 * Q = 30.000周期,这将是1秒的32.768 KHz晶体。
如你所知,我们设定了2秒。

如果你想更快,最好使用内部的RCX20振荡器。这个速度快得多,但有局限性。例如只能在buck模式下使用。
请参阅数据表。

最好的问候,BB_Dialog。

hrg
离线
最后看到:2年10个月前
大师
加入:2014-08-05 37
如果我们的应用程序是

如果我们的应用程序像-在一个广告后da14580将被关闭(它不去睡觉)。那么在这种情况下,如何去除这个水晶时间。我们不想用32千赫晶体??要做的软件修改是什么?

谢谢

BB_Dialog
离线
最后看到:1年4个星期前
工作人员
加入:2013-12-05 14:44
嗨hrq,

嗨hrq,

在da14580_config.h的*低功率时钟选择*部分选择RCX20振荡器的使用
将RCX设置为0xAA。0x00表示Xtal32K

2:可选,但建议做:去激活Xtal32K振荡器,以保存小电流:SetBits16(CLK_32K_REG, XTAL32K_ENABLE, 0);/ /禁用Xtal32KHz
在arch_system.c中的"else if (lp_clk_sel == LP_CLK_RCX20)" of * Power up BLE core & reset BLE Timers"的最后一行添加这个

=>http://support.dialog-semiconductor.com/faq/how-fix-rcx20-bug-sdk-306

这是所有。

最好的问候,BB_Dialog。

hrg
离线
最后看到:2年10个月前
大师
加入:2014-08-05 37
谢谢你的信息!自

谢谢你的信息!既然我们不使用睡眠模式,是否还需要RCX20 osc ?你提到ble使用16Mhz的osc,为什么我们需要再次使用RCX ?因为我们打算在一次广告后关闭Da14580 !

BB_Dialog
离线
最后看到:1年4个星期前
工作人员
加入:2013-12-05 14:44
嗨hrq,

嗨hrq,

如果你真的关掉DA14580,不使用任何睡眠模式,你不需要使用32KHz Xtal振荡器或RCX20振荡器。
通常在接近报告中,在广告事件之间,设备处于睡眠模式,使用Xtal32K或RCX20。

最好的问候,BB_Dialog。

hrg
离线
最后看到:2年10个月前
大师
加入:2014-08-05 37
所以在“*低功耗时钟

所以在“*低功率时钟选择*/ #define CFG_LP_CLK”中,要禁用32Khz和RCX20的值是什么?

谢谢

BB_Dialog
离线
最后看到:1年4个星期前
工作人员
加入:2013-12-05 14:44
嗨hrq,

嗨hrq,

选择任何你喜欢的,但可能最好选择32KHz Xtal振荡器(0x00),因为这个已经在运行,因为引导打开它。
在软件中,你可以禁用32KHz Xtal振荡器,添加以下行:

SetBits16 (CLK_32K_REG XTAL32K_ENABLE 0);/ /禁用Xtal32KHz

最好的问候,BB_Dialog

hrg
离线
最后看到:2年10个月前
大师
加入:2014-08-05 37
嗨BB_Dialog

嗨BB_Dialog
我遵循您的指令禁用振荡器,但当我添加行SetBits16(CLK_32K_REG, XTAL32K_ENABLE, 0);//禁用Xtal32KHz,
Da14580没有开机,没有开机,没有广告!我也尝试了RCX20,仍然是相同的da芯片没有上电,似乎至少任何一个应该启用上电,!!
我已经附加了我试图禁用xtal32 osc的快照。

https://www.dropbox.com/s/cho4zwadcz16t5g/xtal.jpg?dl=0

那么如何禁用两者呢?

谢谢

BB_Dialog
离线
最后看到:1年4个星期前
工作人员
加入:2013-12-05 14:44
嗨hrq,

嗨hrq,

我们认为以下内容必须设置为undef,其中一个已经定义,但请同时设置为undef。

禁用深度和扩展睡眠:在da14580_config.h

# undef CFG_EXT_SLEEP

# undef CFG_DEEP_SLEEP

最好的问候,BB_Dialog。

hrg
离线
最后看到:2年10个月前
大师
加入:2014-08-05 37
嗨BB_Dialog

嗨BB_Dialog

我尝试禁用深度和扩展睡眠:在da14580_config.h中,仍然存在问题,DA14580没有打开!你能试一下这个设置并尽快确认吗?因为我们需要最小化不必要的功耗,所以我们需要禁用振荡器!

谢谢

BB_Dialog
离线
最后看到:1年4个星期前
工作人员
加入:2013-12-05 14:44
嗨hrq,

嗨hrq,

在我的例子中,它是有效的。接近记者是广告,没有睡眠模式。广告事件之间的基流量高于正常水平。

我只是未定义两种睡眠模式,但Xtal32K仍然被选择为LP时钟。

B.R。BB_Dialog

hrg
离线
最后看到:2年10个月前
大师
加入:2014-08-05 37
嗨BB_Dialog

嗨BB_Dialog

我尝试了同样的32千赫启用和未定义的睡眠模式。基极电流像你说的高,现在情况更糟了!为什么会有这么多的过剩电流?是32khz无条件运行!所以没有办法让这些Osc失效吗?

谢谢

主题锁定