DA14683 - 16MHz时钟不启动

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
21个员额/ 0个新员额
最后发表
bobspam@free.fr
离线
最后看到:3个月2个星期前
加入:2018-06-20 08:07
DA14683 - 16MHz时钟不启动

你好

我正在开发一个硬件板使用DA14683,我刚刚收到了从生产的第一个原型。
我使用SEGGER j-link将EDU连接到基于free_rtos重定向示例代码的Cortex-M来启动一个二进制文件。
正确执行引导顺序,直到:

sys_clock_mgr.c: 397
while (!hw_cpm_is_xtal16m_started()){//阻塞直到XTAL16M启动

我设计我的硬件板使用
IQD 064296
- 16兆赫
- ESR 70欧姆
-负载电容8pF(比推荐值少2pF,但仍在4-10pF范围内)
-频率公差20ppm
频率稳定性20ppm
-驱动器级别100µW
石英已焊接尽可能接近CPU使用对称的4.1毫米长电线。

你能给我一些程序来一步一步调试16MHz时钟,这样我就可以弄清楚SDK的默认设置是否适合我?

先谢谢你

设备:
PM_Dialog
离线
最后看到:7小时30分钟前
工作人员
加入:2018-02-08 11:03
嗨bobspam@free.fr,

bobspam@free.fr

请您试着使用一个外部晶体振荡器,以确保您正在使用的XTAL工作正常?此外,我建议您使用默认的修剪值,并检查启动顺序是否正确启动。请问SDK有什么修改吗?

谢谢,PM_Dialog

bobspam@free.fr
离线
最后看到:3个月2个星期前
加入:2018-06-20 08:07
你好

你好

谢谢你的第一个答案。

我试图运行freertos_retarget未修改。它不太依赖于外部硬件,因此它应该允许我验证我正在使用的DA14683的最小行为。我的硬件设计非常基础,只有两个例外:所有外部IO都是3.3V(闪存和外设)。

VBAT在测试期间由JTAG探头在3.7V下测量。

我不能使用外部时钟。它不在我的PCB上接线。我试着用一个示波器触摸振荡器的衬垫,但探头的内部电容与石英本身的量级相同,所以我非常肯定它应该产生不稳定的结果。

我还没有开始改变修剪值。考虑到我使用的振荡器比推荐的10pF低2pF,微调功能应该是非常有用的,以获得稳定和准确的东西。

  • 我试用了Windows下的Eclipse env,使用DA14683的最新SDK,没有修改
    • JTAG ENV需要重新配置,以便识别我的硬件。特别是硬件重置经常发送,并且DA1468x切割链接到JTAG。
    • 首先使用J-Link Commander。我设法正常启动J-Link Env,从而保持GDB服务器打开。
    • 在此之后,我能够一步一步地运行应用程序,并在系统被阻塞在hw_cpm_is_xtal16m_started的无限循环中结束在hw_watchdog_handle_int中
  • 我还尝试了在linux下编译的应用程序,使用更新版本的GCC调试使用Segger Ozone
    • 在等式中,整体行为更加直接。
    • 我没有在堆栈的开始处设置0xdeadbeef,但是臭氧设法在启动汇编代码的开始处捕获断点。
    • 代码执行,直到等待hw_cpm_is_xtal16m_started
    • 在这个conf中,我试图避免XTAL16M的验证,它永远不会在系统初始化中结束,但然后freertos不会启动它的调度器,任务中没有达到断点,这意味着系统没有正确启动。
  • 我检查了我的32K水晶。负载电容为12.5pF,可接受范围为6-9pF。
    • 我试图使用lp_clk_rcx配置,但结果是相同的。
  • 我最终修改SDK,以使用32k RC和16M RC为我的原型,删除所有校准相关功能。
    • 我以这种方式到达了freertos任务,但外围设备init的麻烦仍在继续。

你能向我证实一下吗
-工作,所以我只使用RC时钟
-两个时钟的硬件设计要求,以便我准备Run 2 ?

谢谢你!

PM_Dialog
离线
最后看到:7小时30分钟前
工作人员
加入:2018-02-08 11:03
嗨bobspam@free.fr,

bobspam@free.fr

如果我没理解错的话,你提到你用的是无规格的晶体振荡器。你能告诉我你用的是哪种晶体振荡器吗?你的问题可能的原因是由于xtal。为了使用RC16,您应该使用syclk_rc16更改system_init()函数中cm_sys_clk_init()和cm_sys_clk_set()的syclk_xtal16m输入。虽然,代码在main()函数之前得到堆栈,所以我认为使用RC16不会解决您的问题。顺便说一下,你可以检查一下,然后告诉我。

谢谢,PM_Dialog

bobspam@free.fr
离线
最后看到:3个月2个星期前
加入:2018-06-20 08:07
你好

你好

    我目前正在使用
  • qd 064296, 16MHz, 8pF
  • IQD 009678, 32.768kHz, 12pF
    我只是要求
  • ecs - 160 - 10 - 33 - agm - tr, 16兆赫,10 pf
  • IQD 009709, 32.768kHz, 7pF

来取代它们。

我会试着开始改变32k石英,看看微调功能是否能够稳定16MHz/8pF。如果它不那么我将改变16MHz也。

如果我设法仅使用RC振荡器,我会通知您。BSP时钟Init功能主要基于16M时钟,因此我必须深入了解代码。

谢谢

PM_Dialog
离线
最后看到:7小时30分钟前
工作人员
加入:2018-02-08 11:03
嗨bobspam@free.fr,

bobspam@free.fr

请让我保持联系,让我知道是否有任何其他问题。如果您发现任何上述答案有用,请将其中一个标记为已接受。

谢谢,PM_Dialog

bobspam@free.fr
离线
最后看到:3个月2个星期前
加入:2018-06-20 08:07
你好

你好

我设法改变了32k石英,我确认IQD 009709, 32.768kHz, 7pF与DA14683工作。
我还是没有换16M石英,结果还是一样的。16MHz无法启动。

这石英是在规格内,所以修剪功能应该能够稳定它。

是否可以用微调功能来补偿16MHz时钟缺失的2pF ?
在我的例子中,0x50000002 / CLK_FREQ_TRIM_REG等于0x200。

先谢谢你

bobspam@free.fr
离线
最后看到:3个月2个星期前
加入:2018-06-20 08:07
你好

你好

请确认ECS-160-10-33-AGM-TR正在和DA14683一起工作。

先谢谢你

PM_Dialog
离线
最后看到:7小时30分钟前
工作人员
加入:2018-02-08 11:03
嗨bobspam@free.fr,

bobspam@free.fr

很抱歉耽搁了。你能把你的问题说清楚吗?问题是,如果修剪值是正确的,或者你可以如何改变修剪值?关于你关于ECS-160-10-33-AGM-TR XTAL的第二个问题,我们的设计中从未使用过这种类型的晶体振荡器。根据其规格,10p负载电容将是好的,但ESR偏高,最大驱动功率在边缘。我建议您检查DA14683 datasheet中的16MHz晶体振荡器的推荐操作条件。您将看到ECS-160-10-33-AGM-TR在我们的规范的边缘,但这可能不是一个问题,这种类型的XTAL可能与DA14683一起工作。此外,你可以看看我们在开发板中使用的晶体振荡器。

谢谢,PM_Dialog

bobspam@free.fr
离线
最后看到:3个月2个星期前
加入:2018-06-20 08:07
你好

你好

我有三张董事会:
-一个IQD 064296, 16MHz, 8pF
- 2个ECS-160-10-33-AGM-TR, 16MHz, 10pF

使用默认的BSP设置,它们都不起作用。

我的问题可能是解决这个问题的一些明智的建议,因为我浪费了很多时间(即设置/石英参考)。

我不能使用RC16作为“救援”,因为UART信号没有正确计时,我的应用程序没有工作。

先谢谢你

bobspam@free.fr
离线
最后看到:3个月2个星期前
加入:2018-06-20 08:07
我花时间比较

我花时间比较了各种石英,我不理解你的评论,说石英是在规格的边缘。

请在附件中找到有关石英的详细资料。ECS-160-10-33-AGM-TR规格非常接近USB演示板上使用的7M-16.000MEEQ-T。特别地,它们的Max Pdrv都是100µW(而DS v2.2的注释23指出它应该是一个最小值)

先谢谢你

bobspam@free.fr
离线
最后看到:3个月2个星期前
加入:2018-06-20 08:07
一个小细节:1V4不是

一个小细节:1V4没有启动。0 v。
看来问题不在XTAL部分!

未完待续……

PM_Dialog
离线
最后看到:7小时30分钟前
工作人员
加入:2018-02-08 11:03
嗨bobspam@free.fr,

bobspam@free.fr

我强烈建议你检查一下你们定制板的所有动力轨。可能,晶体振荡器可能不是你的板不工作的原因。此外,对你的董事会进行一次全面的审查将非常有帮助,以便理清问题

谢谢,PM_Dialog

bobspam@free.fr
离线
最后看到:3个月2个星期前
加入:2018-06-20 08:07
你好,

你好,

不幸的是,我的3个板都没有任何电源轨道。

我只有一个1.4V可用,我确实确认IQD 064296 16MHz, 8pF是工作的。
振荡稳定,具有250mV振幅。直流偏移350mV。它不是一个完美的窦波形。
我将不得不与演示板进行比较,以更好地了解它与DA14683的遵从性。

谢谢你的帮助。

PM_Dialog
离线
最后看到:7小时30分钟前
工作人员
加入:2018-02-08 11:03
嗨bobspam@free.fr,

bobspam@free.fr

将您的定制栏与我们的dev-kits进行比较是值得的。如果您有任何其他后续问题,请创建一个新的论坛线程。

谢谢,PM_Dialog

bobspam@free.fr
离线
最后看到:3个月2个星期前
加入:2018-06-20 08:07
你好

你好

请您确认一下D14683设备规格v2.2中Note 23的重要性,说明石英的Pdrv应至少为100µW。

USB演示板具有最大100μW的石英。

先谢谢你

PM_Dialog
离线
最后看到:7小时30分钟前
工作人员
加入:2018-02-08 11:03
嗨bobspam@free.fr,

bobspam@free.fr

根据DA14683数据表,您选择一个晶体,它可以处理至少100µW的驱动器级别。

谢谢,PM_Dialog

bobspam@free.fr
离线
最后看到:3个月2个星期前
加入:2018-06-20 08:07
你好

你好

我刚收到我的三块生产板。

我确认了
- IQD 009709, 32.768kHz, 7pF

- IQD 064296,16MHz,8PF
- ECS-160-10-33-AGM-TR, 16MHz, 10pF

DA14683没问题。

PM_Dialog
离线
最后看到:7小时30分钟前
工作人员
加入:2018-02-08 11:03
嗨bobspam@free.fr,

bobspam@free.fr

很高兴你的新设计的板是完整的功能,谢谢让我知道。

谢谢,PM_Dialog

斯巴达
离线
最后看到:1年2个月前
加入:2016-03-14第14章22节
你好,对话框专家。我

你好,对话框专家。我在DA14683上收到了子板。尝试实现ble_adv示例。当尝试调试时,我看到ble_peripherial_start卡住了。这是什么原因呢?

PM_Dialog
离线
最后看到:7小时30分钟前
工作人员
加入:2018-02-08 11:03
嗨,斯巴达,

嗨,斯巴达,

你能不能在调试模式下运行,并指出代码卡住的地方?另外,我建议你创建一个新的论坛帖子,因为这一个与你的问题无关。

谢谢,PM_Dialog