请求意外BOD重置硬件解决方案

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.wsdof.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
10个帖子/ 0个新帖子
最后发表
提到
离线
最后看到:6天4小时前
加入:2017-05-12 04:18
请求意外BOD重置硬件解决方案

嗨,对话框
我们设计的电路板上出现了意外的按需按钮复位。这很可能是由于硬件问题。但是我们在PCB布局和SOC组装上都没有发现明显的缺陷。你能给我们一些建议吗?附件是我们的硬件相关文件,包括pcb文件和组装照片。

设备:
MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 34
嗨,只

嗨,只

我想这个问题与这篇文章有关https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...所以它是1V8轨道上的实际BOD,你能确认吗?(如果您可以验证所有电压轨,只能验证所有电压轨,只能排除1V8导轨,当设备正常运行时,您还可以检查BOD_STATUS_REG,以确保当BOD发生时,由于1V8,因此当BOD发生时。我把你的照片发给我们的HW专家。来自HW Expert的报告提到,我们不能从图片中排出大会。在第一个看起来好像好的,左垫上的焊料似乎有点奇怪,但它不是100%证明焊接顺利或坏,因为去除装置可能导致这个,但一般来说它不是看起来太糟糕了。关于设计的一些额外评论,解耦帽相当遥远,地面连接不是通过遥控器完成的。你提到你已经探测了1V8铁路,你没有注意到任何显着差异,你能分享测量吗?示出在复位发生的时刻显示VDD 1V8和V33的示波器图片,探测器靠近芯片。

由于MT_dialog

提到
离线
最后看到:6天4小时前
加入:2017-05-12 04:18
嗨,太

嗨,太
在那篇文章(https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...),您说“如果禁用DCDC (dg_configUSE_DCDC,这在bsp_defaults.h中默认是启用的),并保持BOD为启用状态,您仍然能够重现问题吗?”默认情况下,当在睡眠模式下运行时,设备在8秒后最终进入睡眠状态时切换到DCDC,如果不是,那么您的问题应该是DCDC引脚GND_BUCK地面上的组装问题。我们通过禁用DCDC进行了测试,没有发现BOD复位。这能证明这不是一个实际的BOD重置吗?用示波器在相对功率轨上看不到明显的电压降。

MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 34
嗨,只

嗨,只

是的,你所做的很可能证明了这一点,但检查一个问题并检查多个点以验证问题总是好的,从你所附的图片中,hw团队不能给你任何关于你的组装程序的建议,同时,通过示波器检查电压,让我们对这个问题有了更深入的了解。

由于MT_dialog

提到
离线
最后看到:6天4小时前
加入:2017-05-12 04:18
嗨太,

嗨太,
附件是相对功率轨示波器图片。谢谢!

MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 34
嗨提到,

嗨提到,

我没有看到任何错误的电压,但关于BOD_STATUS_REG,请检查,并检查是否有任何启用的rails设置为0时,在设备重启的BOD_STATUS_REG。前你应该检查这个BOD是复位后重新启用,这意味着你将不得不陷阱的弗兰克-威廉姆斯SystemInit()在while循环设备重置BOD注册(hw_cpm_configure_bod_protection前()运行)为了能够附加和阅读BOD_STATUS_REG。

由于MT_dialog

提到
离线
最后看到:6天4小时前
加入:2017-05-12 04:18
嗨,太

嗨,太
我把测试代码放在SystemInit()函数中,像这样:
static void system_init(void *pvParameters)

BodStatusRegValue1 = CRG_TOP - > BOD_STATUS_REG;

/ *时钟做准备。注意:cm_cpu_clk_set()和cm_sys_clk_set()只能从
*任务,因为他们将暂停任务,直到XTAL16M已经解决,也许,PLL
*是锁着的。
*/
cm_sys_clk_init (sysclk_XTAL16M);/ / def: sysclk_XTAL16M
.....

BodStatusRegValue2 = CRG_TOP - > BOD_STATUS_REG;
OS_TASK_DELETE (OS_GET_CURRENT_TASK ());

有时BodStatusRegValue1是0x15,有时是0x13。但是BodStatusRegValue2总是0x17。

MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 34
检查BOD_STATUS_REG

检查的BOD_STATUS_REG SystemInit system_ARMCM0.c文件()函数,如前所述在我之前的帖子,不是system_init()函数,在函数,你检查身体状态寄存器的BOD由弗兰克-威廉姆斯已经被重置,所以你不会看到一个有效的什么给你重置的来源。检查通过读取该函数的状态寄存器,您是否得到了不同的BOD原因。

由于MT_dialog

提到
离线
最后看到:6天4小时前
加入:2017-05-12 04:18
嗨,太

嗨,太
这次我在hw_cpm_configure_bod_protection()运行之前将代码放在systeminit()中:
空白SystemInit(空白)

...
BodStatusRegValue1 = CRG_TOP - > BOD_STATUS_REG;
/ *
*激活BOD保护(仅针对AD;AE已经被引导加载程序启用)。
*/
dg_configUSE_BOD == 1
&& (((dg_configBLACK_ORCA_IC_REV == BLACK_ORCA_IC_REV_A))
&& (dg_configBLACK_ORCA_IC_STEP == BLACK_ORCA_IC_STEP_D))
| | ((dg_configUSE_AUTO_CHIP_DETECTION = = 1) & & CHIP_IS_AD))) {
hw_cpm_activate_bod_protection_at_init ();/ /使用生化需氧量

...

我得到了相同的结果:BOD重置后,BodStatusRegValue1是0x13或0x15。

MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 34
嗨提到,

嗨提到,

似乎您在每一个重置中获得不同的BOD结果,如果是这种情况,那么我唯一可以假设的是我最初说明了关于装配和DCDC接地焊接的情况(线路上没有电压下降,那就是为什么你在示波器上没有看到任何东西,但如果BUCK DCDC接地引脚的接地不好,则BOD将丢失参考,并在DCDC激活后立即采取行动)。如上所述,从您所附的图片中,我们的HW团队不能假设是否存在焊接问题,检查此问题的唯一方法是使用X射线来确定组件是否有任何错误,请确保遵循前一篇文章中提到的大会指南(AN-B-061 DA1468x应用硬件设计指南).

由于MT_dialog