嗨对话框
我们正在开发一个基于DA14681的定制板,出现了一个不寻常的问题。
我们目前正在测试4到5个板相同的硬件和相同的固件。但是只有一个是重新启动的,在调试时,我们发现,这个特殊的进入了hard_fault状态。在进一步调试之后,发现当ad_i2c_write()被调用时,它进入硬故障状态。
关于这一点有两件奇怪的事情:
它只发生在5块板中的一块板上,相同的硬件相同的固件。
2 -独立的I2C读写通过I2C传感器工作良好。但在完整的代码中,所有BLE、外围设备和所有的东西都在上,板在试图写入I2C设备时停止。
请告诉我该如何处理这个问题。
谢谢
设备:
嗨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
非常感谢你提供的有用信息。
你的回答很有道理。
到目前为止,我已经做到了以下几点
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读取工作良好。
嗨mahmed106,
是的,我想用一个高精度示波器来检查DA14681 Soc的电压轨道。你能看到电压下降吗?
谢谢,PM_Dialog
嗨mahmed106,
我们已经直接从论坛离线了。一封电子邮件已发送到您的注册电子邮件地址。
谢谢,PM_Dialog