你好
我正在开发一个硬件板使用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的默认设置是否适合我?
先谢谢你
设备:
你好bobspam@free.fr那
请您试着使用一个外部晶体振荡器,以确保您正在使用的XTAL工作正常?此外,我建议您使用默认的修剪值,并检查启动顺序是否正确启动。请问SDK有什么修改吗?
谢谢,PM_Dialog
你好
谢谢你的第一个回答。
我试图运行Freertos_Retarget未修改。它不是依赖于外部硬件,因此它应该允许我验证我正在使用的DA14683的最小行为。我的硬件设计非常基本,两个例外:所有外部IO都是3.3V(闪光灯和外设)。
VBAT在测试期间由JTAG探头在3.7V下测量。
我不能使用外部时钟。它不在我的PCB上有线。我试图使用范围触摸振荡器的垫,但探头的内部电容与石英本身相同的数量级,所以我非常确定它应该产生不稳定的结果。
我尚未开始更改修剪值。考虑到振荡器我使用的是2PF在推荐的10PF下方,修剪功能应该非常有用,以获得稳定和准确的东西。
你能向我证实一下吗
- 解决方法所以我只使用RC时钟
-两个时钟的硬件设计要求,以便我准备Run 2 ?
谢谢
你好bobspam@free.fr那
如果我理解正确,您提到您使用的使用规格晶体振荡器。你能告诉我你使用哪个水晶振荡器?您问题的发布可能原因是由于Xtals。要使用RC16,您应该使用sysclk_rc16更改system_init()函数中的cm_sys_clk_init()和cm_sys_clk_set()的sysclk_xxtal16m输入。虽然,代码在main()函数之前堆栈,所以使用RC16我假设不会修复您的问题。顺便说一下,你可以检查它并让我知道。
谢谢,PM_Dialog
你好
我目前正在使用- qd 064296, 16MHz, 8pF
- IQD 009678, 32.768kHz, 12pF
我刚订购- ECS-160-10-33-AGM-TR,16MHz,10PF
- IQD 009709, 32.768kHz, 7pF
来取代它们。
我会试着开始改变32k石英,看看微调功能是否能够稳定16MHz/8pF。如果它不那么我将改变16MHz也。
如果我只使用RC振荡器,我会让你知道。BSP时钟初始化函数主要基于16M时钟,所以我必须深入研究代码。
谢谢
你好bobspam@free.fr那
请与我保持联系,如果你有任何其他问题,请告诉我。如果你发现上面的任何一个答案有用,请标记其中一个为接受。
谢谢,PM_Dialog
你好
我设法改变了32K Quartz,我确认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-16.000MEEQ-T。特别地,它们的Max Pdrv都是100µW(而DS v2.2的注释23指出它应该是一个最小值)
先谢谢你
一个小细节:1V4没有通电。0V。
似乎问题不在XTAL部分中!
未完待续...
你好bobspam@free.fr那
我强烈建议你检查一下你们定制板的所有动力轨。可能,晶体振荡器可能不是你的板不工作的原因。此外,对你的董事会进行一次全面的审查将非常有帮助,以便理清问题
谢谢,PM_Dialog
你好,
不幸的是,我的3个板都没有所有的电力轨道可用。
我只有一个有1.4伏的人,我确实确认IQD 064296 16MHz,8PF正在运作。
振荡稳定,振幅250mV。直流偏置350mV。这不是一个完美的窦性波形。
我必须与演示板进行比较,以更好地遵守其与DA14683的遵守情况。
感谢您的帮助。
你好bobspam@free.fr那
将你的定制板与我们的开发套件进行比较是值得的。如果您有任何其他后续问题,请创建一个新的论坛线程。
谢谢,PM_Dialog
你好
请您确认一下D14683设备规格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 example。当尝试调试时,我看到ble_perpherial_start困扰着。什么是可能的原因。
嗨斯巴达,
请在调试模式下运行它,并指出代码卡住的位置?此外,我建议您创建一个新的论坛帖子,因为这一个与您的问题无关。
谢谢,PM_Dialog