你好,
提前感谢您的关注!
使用外部的XTAL32K和内部的RC32K有什么区别吗?
对于某些硬件缺陷,外部XTAL32K可能不稳定。设备停止工作。我改变LP CLK源
#define CFG_LP_CLK LP_CLK_RCX20,而不是
#定义CFG_LP_CLK LP_CLK_XTAL32
设备就好了。
请告诉我:
1.XTAL32K和RC32K之间的区别是什么?32K晶体是必要的吗?
2.即使使用了ARCH_SLEEP_OFF模式,是否有任何时间仍然使用/需要32K时钟?(我关闭了睡眠模式,设备仍在工作,但出现了一些意想不到的错误。)
设备:
嗨zhoujianhua,
从RC32K开始(有两个不同的RC振荡器RCX和RC32K不确定你的意思,因为你提到了这两个),在代码执行期间,RC32K不应该在任何情况下使用,RC32K只用于启动期间的内部时钟。RCX是生产低功率时钟的一种
XTAL32K是一个晶体振荡器和RCX只是一个简单的RC振荡器。与XTAL相比,RCX对电压和温度敏感,XTAL对上述参数有更大的容错性,并且比RCX更精确。XTAL32仅在设备在升压模式下运行时是强制性的,因为施加在振荡器上的电压在睡眠和唤醒模式之间变化(在睡眠期间关闭DCDC转换器,所以振荡器上的电压切换到电池电压,这意味着如果在boost模式下使用RCX,设备将不会在正确的时刻醒来以保持连接)。因此,总而言之,XTAL32只有在设备处于boost模式时才是强制的,在buck模式下可以省略它并使用RCX代替。
关于你的第二个问题,没有当没有睡眠时,低功率时钟没有开关,因为该设备一直与XTAL16一起工作。
Thansk MT_dialog
谢谢你的回复!
在我的例子中使用了Buck模式,我认为可以删除XTAL32。
我把XTAL32从板上拿下来,它被认为是坏的PCB。这样主板就能正常工作了。
此外,删除XTAL32还解决了另一个问题!
我们的应用程序是在启动时通过MCU UART下载bin文件,而不是烧毁OTP。“bad PCB”有时初始化DA14580失败,所以我们不得不重新下载bin文件。
在去掉XTAL32之后,令人惊讶的是DA14580可以在第一次正常初始化!
ROM引导也和XTAL32有关系吗?
嗨zhoujianhua,
在启动的两种情况下(正常和开发模式),低功率时钟在引导加载程序中没有使用,更具体地说,如果设备处于正常模式(这意味着它从OTP下载fw),而不是在开发中,引导加载程序检查OTP字段,该字段定义了XTAL或RCX是否用作低功耗时钟并激活它(只是启动它,不启用它)。在开发模式中,我没有看到任何激活或在启动过程中启动低功率时钟,并检查引脚与XTAL16完成。
由于MT_dialog
你好,
我们使用DA14580 R1和SDK 5.0.3。
我们想使用内部的RC32K,但没有等效的函数来启用RCX20的RC32K…arch_clk_is_RCX20()。
是否有一个函数调用或设置我可以修改在SDK中启用RC32K?
谢谢,
摩根大通
在配置头文件中,有一个选择lp clk源的定义,只需将定义更改为RCX20而不是XTAL32。
在system init功能中,SDK会按照定义对lp clk进行配置。
#定义CFG_LP_CLK LP_CLK_RCX20
你好,
但那将使RCX20,而不是RC32K,那是两个不同的RC振荡器。
#定义CFG_LP_CLK LP_CLK_RCX20
将不会启用RC32K。
我希望能找到这样的东西:
#定义CFG_LP_CLK LP_CLK_RC32K
-以上不是在SDK。
感谢Dialog SDK人员的澄清。
摩根大通
嗨jparver,
作为一个低功率时钟,你只能使用RCX或externak XTAL32,只有这两个时钟足够准确,以作为BLE中的低功率时钟。
由于MT_dialog