DA14681通过I2C适配器读取I2C传感器时出现硬故障

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
5个职位/ 0个新职位
最后发表
mahmed106
离线
最后看到:1个月3个星期前
加入:2019-05-03所
DA14681通过I2C适配器读取I2C传感器时出现硬故障

嗨对话框

我们正在开发一个基于DA14681的定制板,出现了一个不寻常的问题。

我们目前正在测试4到5个板相同的硬件和相同的固件。但是只有一个是重新启动的,在调试时,我们发现,这个特殊的进入了hard_fault状态。在进一步调试之后,发现当ad_i2c_write()被调用时,它进入硬故障状态。

关于这一点有两件奇怪的事情:
它只发生在5块板中的一块板上,相同的硬件相同的固件。

2 -独立的I2C读写通过I2C传感器工作良好。但在完整的代码中,所有BLE、外围设备和所有的东西都在上,板在试图写入I2C设备时停止。

请告诉我该如何处理这个问题。
谢谢

设备:
PM_Dialog
离线
最后看到:2周3天前
工作人员
加入:2018-02-08 11:03
嗨mahmed106,

嗨mahmed106,

谢谢你的在线问题。这听起来像是硬件相关的问题,因为使用了相同的固件和PCB。硬故障触发是结果,在硬故障之前可能有一个很长的序列。

这可能是由于部件装配不良或接地不良造成的。电压下降可能是这个问题的根本原因。这种行为不能在非ble项目(仅I2C活动)中复制的原因是总体功耗较低,因此不会出现电压降。

我的建议是用高精度示波器检查电压轨,这样你就可以检测到任何电压降。

另外,您能否让我们知道,在开发原理图/PCB时,是否遵循了HW设计指南文件(链接如下)?

//www.xmece.com/sites/default/files/an-b-061_da1468x_application_hardware_design_guidelines_v1.9.pdf

谢谢,PM_Dialog

mahmed106
离线
最后看到:1个月3个星期前
加入:2019-05-03所
非常感谢你的帮助

非常感谢你提供的有用信息。

你的回答很有道理。

到目前为止,我已经做到了以下几点

1 -我们的硬件团队根据你上面提到的硬件设计指南设计了原理图和pcb。

2 -我已经改变了我给板供电的方式,我们在PCB中有两个不同的线路连接电池(VBAT),我也连接了5V适配器,即VBUS和数据表说VBUS也给板供电。所以在所有这三种不同的方式给板供电,它仍然处于硬故障状态。

3 -检查高压示波器的电压降,你是指在SOC的电源引脚处吗?

4 -我检查了拆装,很清楚,当BLE和一切都是开着的时候,当我试图写I2C设备时,它进入硬故障,它恰好在

ad_i2c_device_acquire:

resource_acquire (DEVICE_RESOURCE_MASK (dev), OS_EVENT_FOREVER);

尽管i2c读取工作良好。

PM_Dialog
离线
最后看到:2周3天前
工作人员
加入:2018-02-08 11:03
嗨mahmed106,

嗨mahmed106,

是的,我想用一个高精度示波器来检查DA14681 Soc的电压轨道。你能看到电压下降吗?

谢谢,PM_Dialog

PM_Dialog
离线
最后看到:2周3天前
工作人员
加入:2018-02-08 11:03
嗨mahmed106,

嗨mahmed106,

我们已经直接从论坛离线了。一封电子邮件已发送到您的注册电子邮件地址。

谢谢,PM_Dialog