嗨,对话小组,
By default ,it takes two secs for DA14580 to stabilize before going to sleep during power on.But in our application we need to do one advertisement and then make the DA chip to go to deep sleep immediately from power on.So for testing purpose we modified the stabilization time value from 3200 to 1 (in rwip.c ). While debugging in SRAm it was immediately goin to sleep after first advertisement (it's working fine ! ). But after programming in OTP , during power on first advertisement is performed followed by additional 70 msec of high peaks (as shown in the picture)!
所以我的问题是,有没有办法消除这个额外的电流峰值,使da14580立即进入睡眠后,从上电???
这个额外的电流只发生在通电广告期间,当中断被给予唤醒芯片时,如果没有这样的电流峰值,它就会广告并立即进入睡眠状态。
开机-广告:
https://www.dropbox.com/s/rcdgcdnn0vh658q/power%20on.png?dl=0
Durring interrupt :
https://www.dropbox.com/s/w2yw1eoyzbsxnex/interrupt.png?dl=0
we are more serious in removing these additional current , for our application ! so we are awaiting for your response asap !
(we already have discussed in an old thread ,since the links for waveforms got expired,& also there is proper solution ,am posting here )
Thankyou
嗨,hrq,
32KHz Xtal振荡器在开机期间启动。这是第一件要做的事情之一,因为32KHz xtal振荡器需要相当长的时间来稳定。我们设定了2秒。当修改系统内存中的设置时,32KHz xtal振荡器已经稳定运行了一段时间。
After burning in OTP, the 32KHz xtal oscillator must start during power-on, directly followed by your advertising. The 32KHz xtal oscillator is not stable yet.
这可能导致您在通电期间观察到的问题。
When doing the interrupt, the 32KHz xtal oscillator is running already for a while, and is running stable.
Could you try with settings > 1?
best regards, BB_Dialog.
Hi Dialog Team
但Da14580在企稳前就开始做广告了,对吧?(您可以验证当前波形)!那么这种延迟或稳定功能的确切用途是什么??不管晶体的稳定性如何??你能详细解释一下这方面的情况吗。
Thankyou
嗨,hrq,
对于BLE功能,不使用32KHz Xtal。BLE采用了精确和修剪16兆赫晶体振荡器。
The 16MHz Xtal oscillator is started just before advertisng is started. The 16MHz Xtal oscillator requires about 2 msec for starting-up and becoming stable.
The 32KHz xtal oscillator is already running in order to become stable before going into first sleep after the advertising.
The 32KHz is the low power clock, used for the sleep modes.
由于高Q因子,低频率,它可能需要长达2秒之前,32K Xtal振荡器已经稳定。
Assume a crystal Q-factor of 10.000, which is a relatively low Q-factor for a crystal.
In general, it's assumed that a (3 * Q) number of cycles is required to get a stable xtal oscillator amplitude and frequency. To be sure take 5 * Q factor.
3 * Q = 30.000 cycles, this will be 1 sec for a 32.768 KHz crystal.
As you know, we set 2 seconds for it.
如果你想要更快,最好使用我nternal RCX20 oscillator. This one is much faster, but has limitations. E.g. can only be used in Buck-mode.
请看数据表。
致以最诚挚的问候。
如果我们的应用程序像-一个广告后da14580将被关闭(它不去睡觉)。那么在这种情况下,如何删除这个晶体时间。即我们不想使用32khz晶体??软件修改要做什么?
Thankyou
嗨,hrq,
1st: select the use of the RCX20 oscillator in the section *Low Power Clock Selection* in da14580_config.h
Set 0xAA for the RCX. 0x00 is for Xtal32K
2nd: optional but advised to do: de-activate the Xtal32K oscillator to save a little current: SetBits16(CLK_32K_REG, XTAL32K_ENABLE, 0); // Disable Xtal32KHz
将此添加为arch\u system.c中*Power up BLE core&reset BLE Timers“else if(lp\u clk\u sel==lp\u clk\u RCX20)”一节的最后一行
=>http://support.dialog-semiconductor.com/faq/how-fix-rcx20-bug-sdk-306
That's all.
致以最诚挚的问候。
谢谢你的信息!既然我们不使用睡眠模式,是否还需要RCX20 osc?你提到ble使用16Mhz osc,那我们为什么还要使用RCX呢?因为我们要在一次adv后关闭Da14580!
嗨,hrq,
in case you really switch off the DA14580, and not using any sleep-mode, you don't have to use the 32KHz Xtal oscillator or the RCX20 oscillator.
通常情况下,例如在邻近报告器中,在广告事件之间,设备处于休眠模式,使用Xtal32K或RCX20。
致以最诚挚的问候。
所以在“*低功耗时钟selection*/ #define CFG_LP_CLK " ,what is the value to be put in order to disable both 32Khz & RCX20 ?
Thankyou
嗨,hrq,
select any you like, but maybe best to select the 32KHz Xtal oscillator (0x00), because this one is already running since the bootrom switched it on.
在软件中,您可以通过添加以下行禁用32KHz Xtal振荡器:
SetBits16(CLK_32K_REG, XTAL32K_ENABLE, 0); // Disable Xtal32KHz
Best regards, BB_Dialog
Hi BB_Dialog
我按照您的指示禁用振荡器,但是当我添加行SetBits16(CLK kňu REG,XTAL32Kňu ENABLE,0);//禁用Xtal32KHz,
da14580 is not starting up ,there is no power on or advertisement ! i tried with RCX20 also ,still the same da chip is not powering on ,it seems atleast any one should be enabled for power on , !!!
i have attached the the snapshot where i tried to disable xtal32 osc .
https://www.dropbox.com/s/cho4zwadcz16t5g/xtal.jpg?dl=0
So how to disable both ?
Thankyou
嗨,hrq,
we think the following must be set to undef, one of them is defined now, but please set them both to undef.
disable the deep and extended sleep: in da14580_config.h
#undef CFG_EXT_SLEEP
#深度睡眠
致以最诚挚的问候。
Hi BB_Dialog
I tried with disabling the deep and extended sleep: in da14580_config.h ,still the problem exists , DA14580 is not turning on ! Could you please try this setup once and acknowledge asap ? Since we need to minimize much of the unecessary power consumption we are in need of disabling the oscillators !
Thankyou
嗨,hrq,
in my case it works. Proximity reporter is advertising, without sleep mode. The base current between advertisement events is higher than normal.
I just undefined both sleep modes, but Xtal32K was still selected as LP clock.
B、 R.,BB\U对话框
Hi BB_Dialog
我尝试了同样的32Khz启用和取消定义睡眠模式。你说的基流很高,现在情况更糟了!为什么会有这么多的过剩电流?32khz是否无条件工作!那么,有没有办法禁用这些Osc??
Thankyou