⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
7个帖子/ 0新
最后一篇
ddustin
离线
最后一次露面:1 year 2 months ago
加入:2016-04-20 22:12
没有16khz水晶配置

我如何配置custom_config_qspi.h给定我的电路没有16khz水晶?

The system appears to attempt to use the 16khz crystal before switching over to the internal crystal. A few seconds later, the app closes with an "unhandled exception." Since this board has no 16khz crystal and the development daughter board does, I'm assuming this is the issue.

该代码在Devepment女儿板上完美地工作,但在我的电路板上失败,没有16khz水晶。

我从lp_clk_32000改变了这个设置:

#定义dg_configuse_lp_clk lp_clk_rcx.

但问题仍然存在。

设备:
PM_DIALOG.
离线
最后一次露面:4 hours 30 min ago
职员
加入:2018-02-08 11:03
Hi ddustin,

Hi ddustin,

I think that you have created a similar forum thread which is the following:

https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bluetooth-low-energy-%e2%80%93-hardware-device-reference-designs/chip-seeming

In custom_config_qspi.h you could define the Low Power (LP) clock of the system.

  • 定义DG_CONFIGUSE_LP_CLK LP_CLK_32768:使用EXTERNA XTAL32K Crystal振荡器,该振荡器是SDK emperpels的默认选项
  • 定义DG_CONFIGUSE_LP_CLK LP_CLK_RCX:使用内部RCX
  • 定义DG_CONFIGUSE_LP_CLK LP_CLK_32000:使用外部数字波发生器

如果你16khz或16MHz,你能澄清一下吗?如果您的意思是16kHz,则无法实现这一点,因为对于LP,我们正在使用32.768kHz的时钟。当系统进入睡眠模式时,LP时钟一直在使用。除了LP之外,您应该有一个系统时钟,当设备处于活动模式时,它将在运行时运行。系统时钟应在System_Init()函数中定义。

如果您使用外部XTAL16:

  • cm_sys_clk_init(sysclk_xtal16m);
  • cm_sys_clk_set(sysclk_XTAL16M);

Please check the system_init() function from the pxp_reporter example for the SDK. In case you don’t want to have an external crystal oscillator, you should replace the sysclk_XTAL16M with sysclk_RC16.

我强烈建议您看看图21:DA14682数据表的唤醒/电动时序和PMU操作。

谢谢,PM_DIALOG.

ddustin
离线
最后一次露面:1 year 2 months ago
加入:2016-04-20 22:12
你好,

你好,

Ah right, yes I’m using a 16Mhz primary crystal but don’t have a sleeping crystal. So I specified this setting in the config to use the internal crystal for sleeping: define dg_configUSE_LP_CLK LP_CLK_RCX.

我拍摄了BLE_Peripheral示例代码并在女儿开发板和我自己的电路板上运行它,煞费苦地删除代码并将它们放回去,直到我找到了在我的板上突破但不是子板上的特定线路。我从永远改变了这条线。

RET = OS_TASK_NOTIFY_WAIT(0,OS_TASK_NOTIFY_ALL_BITS,&NOTIF,OS_TASK_NOTIFY_NO_WAIT);

// ret = os_task_notify_wait(0,OS_TASK_NOTIFY_ALL_BITS,&NOTIF,OS_TASK_NOTIFY_FOREVER);

This seemingly corrects the problem (albeit by wasting tons of cycles). I believe this implies that sleeping is failing on my board. Similarly changing the sleep mode to idle instead of extended sleep resovles the issue. How much power is this going to waste?

pm_set_sleep_mode(pm_mode_idle);

// pm_set_sleep_mode(pm_mode_extended_sleep);

什么是进一步诊断这一诊断的最佳方法?是否有这种特殊的芯片有一个有缺陷的内容 - 如果是这样,我会如何检查?

Thanks for your help.

编辑:在视觉上比较子板和我的电路板 - 最大的区别是L1电感的大小。我在我的板上使用了一个物理上更小的电感。如果设备睡着的同时,是否有可能将其与DC-DC拧紧的东西?

PM_DIALOG.
离线
最后一次露面:4 hours 30 min ago
职员
加入:2018-02-08 11:03
Hi ddustin,

Hi ddustin,

让我检查你的问题,我会尽快回复你。

谢谢,PM_DIALOG.

PM_DIALOG.
离线
最后一次露面:4 hours 30 min ago
职员
加入:2018-02-08 11:03
Hi ddustin,

Hi ddustin,

OS_TASK_NOTIFY_FOREVER属性,将强制底层任务输入阻塞状态,只要没有待处理通知即可。如果在活动模式下没有其他任务,则将执行空闲特殊任务,并且设备将进入睡眠模式。此外,一旦通知来自BLE管理器或代码本身,就将执行该任务。所以,你的陈述是错误的。

pm_set_sleep_mode(pm_mode_idle) will set the M0+ Core to the IDLE state only if there is not any functionality that requires the CPU interference.

虽然芯片处于睡眠模式,但DC-DC将被解除激活,只有LDO接通电源。请检查图11:DA14682数据表中的电源管理单元框图。仅在睡眠模式下激活红色bocks。每个用户的要求激活/去激活绿色块。

谢谢,PM_DIALOG.

ddustin
离线
最后一次露面:1 year 2 months ago
加入:2016-04-20 22:12
Okay that's fine.

Okay that's fine.

现在为什么用你们提供的例子,ble_peripheral,*不起作用?我之前描述了这个问题,但我会再次描述。

When the device enters OS_TASK_NOTIFY_FOREVER, the program haults in approxiately 3 seconds.

这通过将睡眠模式更改为PM_Mode_Idle来解决。

其他睡眠模式做*不*工作。为什么他们not work? How do we investigate why they do not work?

请帮忙。告诉我我的陈述是错的不是有用!!请告诉我如何实际调查这个问题!

PM_DIALOG.
离线
最后一次露面:4 hours 30 min ago
职员
加入:2018-02-08 11:03
Hi ddustin,

Hi ddustin,

I ran the ble_peripheral example of the SDK1.0.14.1081 in the Pro-DK with the internal RCX enabled and it is working perfectly. The default example of the SDK is fully functional. You could clarify it in your Pro-DK as well and use the ble_peripheral project without any modifications in a clean SDK path. Just change the dg_configUSE_LP_CLK macro from LP_CLK_32768 to LP_CLK_RCX. In addition, I would suggest you to run the same project with only the aforementioned modifications in your custom board. If it is working in the Pro-Dk and not in your custom board, this means that is a hardware issue on your custom board and not in the DA14682 SoC. So, my recommendation would be to review your own board.

你可以读到AN-B-061应用笔记:DA1468X应用程序硬件设计指南从我们的支持门户寻找硬件设计指南,可以帮助您查看您的原理图和PCB。如果您能够分享您的原理图和PCB,我将不得不审核它们。

谢谢,PM_DIALOG.