了解更多常见问题解答教程

14个职位/ 0个新职位
最后一篇
Martinfehre.
离线
最后一次露面:1周前1周前
加入:2018-04-17 13:41
每8秒一次

嗨对话框,

我们为DA14680开发了一个定制板,并体验了BOD重置每8秒。
BOR仅在DCDC上发生。
在BOR事件之后,CRG_TOP->BOD_STATUS_REG寄存器读取Decimal值19,有时是21。这表明1V8或1V8P轨道有问题,但我找不到原因。

DA14680处于AQFN-60封装。
此外,我们使用BLE_Peripheral示例和Lates SDK的略微修改版本(SDK_1.0.14.1081)

请查看附件中关于BOR事件的线索。
GPIO输出的高信号如下:
1.Peak: GPIO端口在进入main()函数时设置为HIGH(端口配置为输入+下拉),然后立即设置为LOW(端口配置为输入+下拉)。
2.峰值:进入VLPTIMARCLACKBORCHING时,GPIO端口设置为高(配置为输入+上拉的端口)。它被设置为低于我猜的Bor的一部分,因为我没有手动将其设置为低电平。
3.Peak:在BOR事件之后再次调用main()函数。

如其他论坛帖子和硬件指南中所述,DCDC接地垫的正确连接很重要,并且良好的地面连接可能是原因。另一方面,您可以在QFN封装的底部看到所有接地焊盘互连。

在DA14681开发套件上没有问题,同一代码运行 - 基本。

你能给我额外的帮助吗?

关键词:
设备:
PM_DIALOG.
离线
最后一次露面:13小时52分钟前
职员
加入:2018-02-08 11:03
嗨Martinfehre,

嗨Martinfehre,

BOD问题最可能的原因是接地不良。8秒后,芯片第一次进入睡眠状态,然后开始使用DCDC。所以,当接地不好(BOD ref被提起)时,会引起POR。请注意,680 qfn60包装需要接地垫的牢固接地。强烈建议在接地垫中应用大约9个通道到接地层,一个通道靠近DCDC降压接地脚。这个引脚是VBAT1, VBUS, VBAT2之间的接地。

谢谢,PM_DIALOG.

Martinfehre.
离线
最后一次露面:1周前1周前
加入:2018-04-17 13:41
嗨pm_dialog,

嗨pm_dialog,

请看看附带的PDF。它是我们顶层格柏文件的一部分。
接地垫中有16个通孔,其中一个靠近DCDC接地存根。你有什么建议?

能否确认GND pad在芯片上是连接在一起的?

依恋:
PM_DIALOG.
离线
最后一次露面:13小时52分钟前
职员
加入:2018-02-08 11:03
嗨Martinfehre,

嗨Martinfehre,

根据布局,680似乎焊接到中心垫。16个通孔到地面应该足够了。我们有专用地板为块减少噪音,因此并非所有接地焊盘都应该连接在芯片上。强烈建议在PCB上提供实心地面。

谢谢,PM_DIALOG.

Martinfehre.
离线
最后一次露面:1周前1周前
加入:2018-04-17 13:41
嗨pm_dialog,

嗨pm_dialog,

我仍在寻找BOR问题,迄今为止,该论坛的支持并不是有用。您基本上重复了在硬件设计指南中写的内容。

要仔细检查是否是我的PCB的布局问题,我的一位同事设计了第二个PCB - 结果是相同的。

我们还尝试使用不同的模板厚度和垫切口,以确保GND焊盘正确连接。焊接过程明显更好,但它没有解决鲍尔问题。

最终我开始怀疑鲍尔是由于差的接地。所以我潜入源代码。在阅读数据表之后,调试和测试我在HW_CPM_DCDC_CONFIG(void)中找到了此代码:

#if dg_configblack_orca_ic_rev == black_orca_ic_rev_a
dcdc-> dcdc_v14_0_reg&=〜(reg_msk(dcdc,dcdc_v14_0_reg,dcdc_v14_cur_lim_min)|
REG_MSK(DCDC,DCDC_V14_0_REG,DCDC_V14_FAST_RAMPING));

= ~(reg_msk (Dcdc, dcdc_v18_0_reg, dcdc_v18_cur_lim_min)
REG_MSK(DCDC,DCDC_V18_0_REG,DCDC_V18_FAST_RAMPING);

= ~(reg_msk (Dcdc, dcdc_v18p_0_reg, dcdc_v18p_cur_lim_min)
REG_MSK(DCDC,DCDC_V18P_0_REG,DCDC_V18P_FAST_RAMPING));

= ~(reg_msk (Dcdc, dcdc_vdd_0_reg, dcdc_vdd_cur_lim_min)
REG_MSK(DCDC,DCDC_VDD_0_REG,DCDC_VDD_FAST_RAMPING));
其他#
Dcdc -> dcdc_v14_0_reg &= ~ reg_msk (Dcdc, dcdc_v14_0_reg, dcdc_v14_ramping);

Dcdc -> dcdc_v18_0_reg &= ~ reg_msk (Dcdc, dcdc_v18_0_reg, dcdc_v18_ramping);

Dcdc -> dcdc_v18p_0_reg &= ~ reg_msk (Dcdc, dcdc_v18p_0_reg, dcdc_v18p_fast_ramping);

dcdc-> dcdc_vdd_0_reg&=〜reg_msk(dcdc,dcdc_vdd_0_reg,dcdc_vdd_fast_ramping);

reg = DCDC - > DCDC_CTRL_2_REG;
REG_SET_FIELD(DCDC, DCDC_CTRL_2_REG, DCDC_LSSUP_TRIM, reg, 0);
REG_SET_FIELD(DCDC,DCDC_CTRL_2_REG,DCDC_HSGND_TRIM,REG,0);
DCDC - > DCDC_CTRL_2_REG =注册;
#万一

如果我编译了用#else编写的代码,并将固件写入DA14680,那么BOR就不再发生了。
所以我看起来更接近并将整个东西缩小到4行:

reg = DCDC - > DCDC_CTRL_2_REG;
REG_SET_FIELD(DCDC, DCDC_CTRL_2_REG, DCDC_LSSUP_TRIM, reg, 0);
REG_SET_FIELD(DCDC,DCDC_CTRL_2_REG,DCDC_HSGND_TRIM,REG,0);
DCDC - > DCDC_CTRL_2_REG =注册;

这4行防止微控制器重新启动。这些注册表设置应该是什么?

PM_DIALOG.
离线
最后一次露面:13小时52分钟前
职员
加入:2018-02-08 11:03
嗨Martinfehre,

嗨Martinfehre,

您发布的代码与BOD问题无关。正如我在我以前的帖子原因中提到的,因为BOD问题是因为接地不好,所以它是您的自定义PCB上的问题。您是否尝试改善PCB的糟糕接地?

谢谢,PM_DIALOG.

POINT85.
离线
最后一次露面:8个月3天前
加入:2018-06-29 15:31
我也完全相同

我也有完全相同的问题。

我们现在已经制作了两个板,8秒后仍然仍然获得BOR。

PM_DIALOG.
离线
最后一次露面:13小时52分钟前
职员
加入:2018-02-08 11:03
嗨point85,

嗨point85,

您可以查看您的定制董事会的接地吗?正如我在上一篇文章中提到的那样,BOD问题的最可能原因是因为接地差。

谢谢,PM_DIALOG.

POINT85.
离线
最后一次露面:8个月3天前
加入:2018-06-29 15:31
是的,我明白了

是的,我看到第一板之后,所以我们做了一秒钟。仍然收到同样的问题。
我刚刚发现所用的470nH感应器不符合规格。这可能会导致同样的问题吗?

Martinfehre.
离线
最后一次露面:1周前1周前
加入:2018-04-17 13:41
嗨point85,

嗨point85,

在切换到4层设计后,我们摆脱了BOR。地面层现在比顶部层低0.15毫米。之前是1.5毫米。

POINT85.
离线
最后一次露面:8个月3天前
加入:2018-06-29 15:31
谢谢Martinfehre。不完全的

谢谢Martinfehre。不太确定在设计上的差异。

POINT85.
离线
最后一次露面:8个月3天前
加入:2018-06-29 15:31
谢谢Martinfehre。不完全的

谢谢Martinfehre。不太确定在设计上的差异。

POINT85.
离线
最后一次露面:8个月3天前
加入:2018-06-29 15:31
我尝试了新的电感

我已经尝试过两个板上的新电感,仍然存在相同的问题。真的坚持这个。

JTL.
离线
最后一次露面:5天17小时前
加入:2018-06-15 13:14
嗨point85,

嗨point85,

答案由Martinfehre提供。4层板固定了我的BOR问题。