I2C子系统ACK error

在应该收到 ack 信号的时候没有收到 ack 信号,i2c controller 就会产生一个 ack error 的中断,告诉 i2cdriver 发生了 ack error。通常情况是 slave 本身的问题。
1、检查 device 是否存在,i2c bus number 和 device address 是否正确。示例如下:i2c number 为6,addr 为 0x28:
[31.092951][xxx]i2c i2c-6:addr:0x28,ack error
2、检查 device 是否已经上电使能,以及正确的 init
3、检查 i2c speed 是否适配,speed 大于 device 支持的 max speed 也会造成 ackerror。降低速度,如果仍然可以工作的话就说明是 clk 相关问题。
4、检查 i2c device 信号电平是否与 ap 匹配。
5、gpio check 以下几个部分
gpio 电流驱动能力
gpio 工作模式是否是 i2c 模式
gpio 是否有内部上拉电阻
gpio 默认电平状态
从 i2c spec 看,如下情况 nack
i2c 写
主机向从机发送数据时,最后一个 byte数据时,从机可能应答也可能非应答,但不怎样主机都可以产生停止条件,如果主机在向从机发送数据(甚至包括从机地址在内)时检测到从机非应答,则会及时停止传输。
i2c 读
主机从从机接收数据时,最后一个 byte 数据时,主机不回应该从机,即 nack.

人工智能在医疗领域的发展史与五大应用现状分析
中兴的发展现状和未来策略
灭蚊灯有用吗?买不好还不如蚊香!
关于手机屏幕性能的知识
三菱PLC源型和漏型的区别
I2C子系统ACK error
智能猫眼较之传统猫眼有哪些优化功能?
讨论一下封装的发展简史
在实现“双千兆”的路上,还需不断突破关键技术
最新Qorvo技术支持更高性能的GaN分立式LNA和驱动器
关于NS-BZ变压器中性点接地电阻柜的介绍
ADI 宣布推出 Power by Linear LTC4041
江淮新能源推出5款纯电动汽车
pcb信号完整性详解
SL651协议解析网关有什么功能?有什么应用场景?
监控报警系统方案433M无线收发芯片动能世纪DP4306F的应用案例
谱写芯篇章,openKylin与赛昉达成深度合作,共推RISC-V软硬件生态繁荣发展!
养猪场检测实验室设备的特点是怎样的
差压式流量计对于流体的性质和状态必须要求满足哪些条件
Jeep智能手表怎么样 值不值得买