你好
我正在使用DA14683开发一个硬件板,我刚刚收到了生产的第一个原型。
我设法启动一个二进制文件使用SEGGER j-link EDU到基于free_rtos retarget样本代码的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
- Drive Level 100µW
石英已被焊接尽可能接近CPU使用对称的4.1毫米长度布线。
你能给我一些程序来逐步调试16MHz时钟,这样我就可以弄清楚SDK的默认设置是否适合我?
提前谢谢你
设备:
嗨bobspam@free.fr,
您能否尝试使用一个外部晶体振荡器,以确保您正在使用的XTAL工作正常?此外,我建议您使用默认修剪值,并检查启动顺序是否正确启动。你能告诉我你对SDK做了什么修改吗?
谢谢,PM_Dialog
你好
谢谢你的第一个答案。
我试图运行未修改的freertos_retarget。它不太依赖外部硬件,因此它应该允许我验证我正在使用的DA14683的最小行为。我的硬件设计非常基本,只有两个例外:所有的外部IO都是3.3V(闪存和外设)。
在测试过程中,VBAT由JTAG探头在3.7V下测量。
我不能使用外部时钟。它没有连接在我的PCB上。我试着用示波器触摸振荡器的垫片,但探针的内部电容与石英本身的数量级相同,所以我相当肯定它会产生不稳定的结果。
我还没有开始改变修剪值。考虑到我使用的振荡器是低于推荐的10pF 2pF,微调功能应该是非常有用的,以获得稳定和准确的东西。
你能确认给我吗
-解决方案,所以我只使用RC时钟
-两个时钟的硬件设计要求,以便我准备我的运行2 ?
谢谢你!
嗨bobspam@free.fr,
如果我理解正确的话,你提到过你正在使用非规格的晶体振荡器。你能告诉我你在用哪个晶体振荡器吗?你的问题可能的原因是由于xtal。为了使用RC16,您应该将system_init()函数中的cm_sys_clk_init()和cm_sys_clk_set()的syclk_xtal16m输入更改为syclk_rc16。虽然,代码在main()函数之前得到堆栈,所以我认为使用RC16不会解决你的问题。顺便说一下,你可以检查一下,然后告诉我。
谢谢,PM_Dialog
你好
我目前正在使用- IQD 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时钟,因此我必须深入了解代码。
谢谢
嗨bobspam@free.fr,
拜托,让我保持联系,让我知道是否有其他问题。如果您发现上述任何答案有用请标记其中一个接受。
谢谢,PM_Dialog
你好
我设法改变了32k石英,我确实确认IQD 009709, 32.768kHz, 7pF与DA14683工作。
我仍然没有改变16M石英,结果还是一样。16MHz未启动。
这石英是在规格内,所以微调功能应该能够稳定它。
你能确认一下,可以用微调功能来补偿16MHz时钟缺失的2pF吗?
在我的例子中,0x50000002 / CLK_FREQ_TRIM_REG等于0x200。
提前谢谢你
你好
你能确认一下ECS-160-10-33-AGM-TR和DA14683一起工作吗?
提前谢谢你
嗨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
你好
我有三张董事会:
-一个IQD 064296, 16MHz, 8pF
-两个ECS-160-10-33-AGM-TR, 16MHz, 10pF
它们都不能使用默认的BSP设置。
我的问题可能是一些明智的建议来解决这个问题,因为我浪费了很多时间(如设置/石英参考)
我不能使用RC16作为“救援”,因为UART信号没有正确计时,我的应用程序不能工作。
提前谢谢你
我花时间比较了各种石英,我不明白你所说的石英在规格的边缘。
请附上有关石英的详细资料。ECS-160-10-33-AGM-TR规格非常接近USB演示板上使用的7m - 16000meeq - t。特别地,它们的最大Pdrv都是100µW(而DS v2.2的注意23规定它应该是最小值)
提前谢谢你
一个小细节:1V4没有上电。0 v。
似乎问题不在XTAL部分!
未完待续……
嗨bobspam@free.fr,
我强烈建议您检查您定制板的所有电源轨道。也许,晶体振荡器可能不是你的板子不工作的原因。另外,对董事会进行一次全面的审查也会很有帮助,以便把事情搞清楚
谢谢,PM_Dialog
你好,
不幸的是,我的3个板都没有所有的电源轨。
我只有一个1.4V可用,我确认IQD 064296 16MHz, 8pF工作正常。
振荡具有250mV振幅稳定。直流偏移350mV。这不是一个完美的窦波形。
我将不得不与演示板进行比较,以更好地了解其符合DA14683。
谢谢你的帮助。
嗨bobspam@free.fr,
将您的定制栏与我们的Dev-kits进行比较是值得的。如果您有任何其他后续问题,请创建一个新的论坛线程。
谢谢,PM_Dialog
你好
请您确认一下D14683 Device Specification v2.2中Note 23的重要性,即石英的Pdrv至少要有100µW。
USB演示板具有最大100μW的石英。
提前谢谢你
嗨bobspam@free.fr,
根据DA14683数据表,选择一个至少可以处理100µW的驱动器级别的晶体。
谢谢,PM_Dialog
你好
我刚刚又收到了制作的三块板子。
我确实证实了
- IQD 009709, 32.768kHz, 7pF
和
- IQD 064296,16MHz,8PF
ECS-160-10-33-AGM-TR, 16MHz, 10pF
DA14683可以。
嗨bobspam@free.fr,
很高兴你新设计的板子功能齐全,谢谢你让我知道。
谢谢,PM_Dialog
你好,对话框专家。我在DA14683上收到了女儿板。尝试实现ble_adv示例。当尝试调试时,我看到ble_peripherial_start卡住了。这是什么原因呢。
嗨,斯巴达,
你能不能在调试模式下运行它,并指出代码在哪里卡住了?另外,我建议你创建一个新的论坛帖子,因为这个与你的问题无关。
谢谢,PM_Dialog