全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

I2C子系统ACK error

时间:2023-07-22 14:39

人气:

作者:admin

标签: 系统 

导读:在应该收到 ACK 信号的时候没有收到 ACK 信号,i2c controller 就会产生一个 ACK error 的中断,告诉 i2cdriver 发生了 ACK error。通常情况是 slave 本身的问题。 1、检查 device 是否存在,i2c bus num...

在应该收到 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.

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信