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

14个职位/ 0个新职位
最后一篇
martinfehre
离线
最后一次露面:1周3天前
加入:2018-04-17 13:41
BOR事件每8秒

嗨对话框,

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

的DA14680处于aQFN-60封装。
此外,我们使用ble_peripheral例子略加修改版本和鲈SDK(SDK_1.0.14.1081)

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

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

另外,相同的代码运行,而无需对DA14681开发工具包的问题 - 基础。

你能给我更多的帮助?

关键词:
依恋:
设备:
PM_DIALOG.
离线
最后一次露面:18分钟10秒前
职员
加入:2018-02-08 11:03
嗨martinfehre,

嗨martinfehre,

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

谢谢,PM_DIALOG.

martinfehre
离线
最后一次露面:1周3天前
加入:2018-04-17 13:41
嗨PM_Dialog,

嗨PM_Dialog,

请看看附的PDF文件。这是我们的顶层GERBER文件的一部分。
有16个孔与附近的DCDC地面存根一个接地焊盘。你有什么建议?

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

依恋:
PM_DIALOG.
离线
最后一次露面:18分钟10秒前
职员
加入:2018-02-08 11:03
嗨martinfehre,

嗨martinfehre,

根据布局,680似乎得到了很好焊接到中心垫。16个孔接地应该够了。我们有块,以减少噪音专用接地焊盘,所以并不是所有的地垫应在芯片上连接。我们强烈建议您在PCB上提供了坚实的基础。

谢谢,PM_DIALOG.

martinfehre
离线
最后一次露面:1周3天前
加入:2018-04-17 13:41
嗨PM_Dialog,

嗨PM_Dialog,

我仍在寻找BOR问题,在这个论坛的支持没有帮助迄今。你基本上是重复了什么是写在硬件设计指南。

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

我们还与不同的模板厚度和板切口试验,以确保接地焊盘连接正确。焊接过程是明显好转,但它并没有解决问题BOR。

最后,我开始怀疑BOR是由于接地不良。于是我跳下水的源代码。后的读取数据片,调试和测试小时我发现这个hw_cpm_dcdc_config代码(无效):

#如果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.
离线
最后一次露面:18分钟10秒前
职员
加入:2018-02-08 11:03
嗨martinfehre,

嗨martinfehre,

你已经发布的代码不与BOD问题有关。正如我在我以前的帖子原因BOD问题已经提到的是,因为接地不好的,所以它是你的自定义PCB上的问题。你尝试提高你的PCB上的接地不好?

谢谢,PM_DIALOG.

point85
离线
最后一次露面:8个月5天前
加入:2018年6月29日15:31
我也有一模一样的

我也有完全相同的问题。

现在我们已经取得了两块电路板和8秒后仍然得到BOR。

PM_DIALOG.
离线
最后一次露面:18分钟10秒前
职员
加入:2018-02-08 11:03
嗨point85,

嗨point85,

能否请您检查您的定制电路板的接地?正如我在以前的文章中提到,最可能的原因BOD问题是因为接地不好的。

谢谢,PM_DIALOG.

point85
离线
最后一次露面:8个月5天前
加入:2018年6月29日15:31
是的,我看到后,

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

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

嗨point85,

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

point85
离线
最后一次露面:8个月5天前
加入:2018年6月29日15:31
谢谢Martinfehre。不完全的

谢谢Martinfehre。不太清楚,这将使在设计上虽然什么区别。

point85
离线
最后一次露面:8个月5天前
加入:2018年6月29日15:31
谢谢Martinfehre。不完全的

谢谢Martinfehre。不太清楚,这将使在设计上虽然什么区别。

point85
离线
最后一次露面:8个月5天前
加入:2018年6月29日15:31
我已经尝试了新感应器

我试图在这两个板的新感应器,仍然有同样的问题。真的坚持了这一点。

JTL
离线
最后一次露面:1周20小时前
加入:2018-06-15 13:14
嗨point85,

嗨point85,

答案是martinfehre给出。4层基板固定我BOR问题。