常见问题

当前位置:主页 > 服务支持 > 常见问题 >

极海代理商:APM32F103xE_I2C_加入六轴传感器后,I2C通讯EEPROM会挂死

作者: admin 时间:2023-04-24 来源:未知
摘要:如果 APM32F103xE _I2C_加入六轴传感器后,大概率I2C通讯EEPROM会挂死。一旦挂死之后怎么解决?极海代理商有话说。 芯片型号 APM32F103xE 问题类型/涉及模块 I2C 简要描述 加入六轴传感器后,...

如果APM32F103xE_I2C_加入六轴传感器后,大概率I2C通讯EEPROM会挂死。一旦挂死之后怎么解决?极海代理商有话说。

芯片型号 APM32F103xE
问题类型/涉及模块 I2C
简要描述 加入六轴传感器后,发现I2C通讯EEPROM会挂死
对比测试:不加六轴后,I2C挂掉概率降低很多;但由于概率性发生没有抓到包。
原因分析
1、硬件上,I2C的上拉电阻是10k,驱动能力较弱。
2、软件上,MCU在接收数据失败后会一直死等,出现死机现象。
解决方案
1、硬件上,加入6轴后,传感器增加,总线电流有变化,将客户使用的10K上拉电阻调成成4.7K。
2、软件上,在原先代码中,加入I2C总线判定,若接收数据失败,产生9个CLK的时钟,模拟I2C时序,并释放总线,强制拉高引脚电平,然后重新进行收发数据,继续通信。
总结
1、按照推荐的硬件电路设计,电阻太大,驱动能力较弱,干干扰能力较弱。
2、建议增加通信过程中接收、失败异常的代码,以提高通信可靠性,避免MCU死等,出现死机现象。

[向上]