Hi,
Thanks for your attention in advance!
Is there any difference between using the external XTAL32K or the internal RC32K?
For some hardware drawbacks,the external XTAL32K may be unstable.then the device stop working.I change the LP CLK source by
#define cfg_lp_clk lp_clk_rcx20,而不是
#define CFG_LP_CLK LP_CLK_XTAL32
device becomes ok.
Could please tell me:
1.what's the difference between XTAL32K and RC32K? Is 32K crystal necessary?
2.Even though ARCH_SLEEP_OFF mode is used,Is there any time the 32K clock is still used/needed? (I disable sleep mode, the device keep working ,but some unexpected errors come out. )
Device:
Hi zhoujianhua,
要从RC32K开始(有两个不同的RC振荡器RCX和RC32K不确定自从您提及两者的意思)在代码执行期间不应在任何情况下使用,RC32K仅用于启动期间的内部时钟。RCX是产生低功耗时钟的RCX
The XTAL32K is a crystal oscillator and the RCX is just a simple RC oscillator. The RCX is sensitive to voltage and temperature in contrast of the XTAL which has more tollerance in the previous mentioned parameters and its more accurate than the RCX. The XTAL32 is only mandatory if the device is operating under boost mode since the voltage applied on the oscillator changes between sleep and awake modes (the DCDC converter is shut down during sleep so the voltage on the oscillator is switched to the battery voltage, that means that if use an RCX in boost mode the device would not wake up at the correct moment in order to keep a connection). So to sum up, the XTAL32 is manadatory only if the device is under boost mode, in buck mode it can be ommited and use the RCX instead.
Regarding your second question, no when there is no sleep, there is no switch to the low power clock since the device is operating with the XTAL16 all time.
Thansk MT_dialog
Thanks for your reply!
Buck mode is used in my case,and I think XTAL32 can be removed.
I take the XTAL32 off the board,which was regarded as bad PCB.then the board function well.
Besides,removing the XTAL32 solves another problem!
Our application is that downloading the bin file through MCU UART at start up,rather than burnning the OTP. the "bad PCB"sometimes fails to init the DA14580,so we have to re-download the bin file again.
After removing the XTAL32,It is amazing that the DA14580 can be inited normally at the first time!
Does the ROM bootloar also have some something to do with the XTAL32?
Hi zhoujianhua,
In both cases of booting (normal and development mode) the low power clock isn't used in the bootloader, more specifically if the device is in normal mode (that means it downloads fw from the OTP) and not in development, the bootloader checks the OTP field that defines if the XTAL or the RCX is used as a low power clock and activates it (just powers it up, doesn't enable it). In development mode i dont see any activation or powering up of the low power clock during the booting procedure and the checking of the pins is done with the XTAL16.
Thanks MT_dialog
Hi,
We're using DA14580 R1 and SDK 5.0.3.
We would like to use internal RC32K but there's no equivalent function all for enabling RC32K on for RCX20 ...arch_clk_is_RCX20( ).
Is there a function call or settings I can modify in the SDK to enable RC32K?
Thanks,
JP
In configure header file,there is a definition to select the lp clk source, just change the definition to RCX20 insted of XTAL32.
In system init function ,the SDK will configure the lp clk according to the definition.
#define CFG_LP_CLK LP_CLK_RCX20
Hi,
But that will enable RCX20 not RC32K - those are 2 different RC oscillators.
#define CFG_LP_CLK LP_CLK_RCX20
will not enable RC32K.
I was hoping to find something like this:
#define CFG_LP_CLK LP_CLK_RC32K
- the above is not in the SDK.
Will appreciate a clarification from Dialog SDK folks.
-JP
Hi jparver,
As a low power clock you can only use the RCX or an externak XTAL32, only those two clocks are accurate enough in order to serve as low power clocks in BLE.
Thanks MT_dialog