问题类型: I2C 加入六轴传感器后,发现12C通讯 EEPROM 会挂死
问题描述:对比测试:不加六轴后,I2C挂掉概率降低很多:但中干概率性发生没有抓到 包。
原因分析:1、硬件上,I2C的上拉电阻是 10k,驱动能力较弱
2 软件上,MCU 在接收数据失败后会一直死等,出现死机现象。
解决方案:1. 硬件上,加入6轴后,传感器增加,总线电流有变化,将客户使用的10K 上拉电阻调成成 4.7K。
2. 软件上,在原先代码中,加入12℃总线判定,若接收数据失败,产生 9 个 CLK的时钟,模拟IC时序,并释放总线,强制拉高引脚电平,然后重新进行收发数据,继续通信。
总结:1、按照推荐的硬件电路设计,电阻太大,驱动能力较弱,干干扰能力较弱。
2、建议增加通信过程中接收、失败异常的代码,以提高通信可靠性,避免MCU 死等,出现死机现象。
广东联科芯微电子有限公司旗下品牌Linkchip是一家提供嵌入式物联网解决方案的高科技企业。公司多年来致力于物联网行业的技术及市场推进,拥有嵌入式微控制技术、射频软硬件研发、通信等技术的深厚背景与丰富的实践经验。公司主要以半导体产品,单片机,蓝牙芯片,NFC读卡芯片、步进电机驱动/直流电机驱动、CAN FD RS485、LIN、RS232、CAN等产品为主,获得多个原厂品牌授权代理权(其中包含Geehy半导体),以专业行业经验为客户提供产品选型设计,协助客户研发产品。业务范围已涉及:网络设备、移动市场、M2M、消费类电子、工业控制、游戏产业、智能仪表、汽车电子、存储和服务器等行业。
广东联科芯微电子有限公司代理的
Geehy半导体APM32F103系列产品大量现货供应,欢迎大家
免费申请样品测试!
免费索样电话:13258153536,QQ:3467466742