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 ,instead of
#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 oscillators RCX and RC32K not sure what you mean since you mention both) it should not be used in any case during code execution, the RC32K is only used for internal clocking during start up. The RCX is the one that produces the low power clock
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