0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

I2C子系統(tǒng)ACK error

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:嵌入式Linux系統(tǒng)開 ? 2023-07-22 14:39 ? 次閱讀

在應該收到 ACK 信號的時候沒有收到 ACK 信號,i2c controller 就會產(chǎn)生一個 ACK error 的中斷,告訴 i2cdriver 發(fā)生了 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 是否已經(jīng)上電使能,以及正確的 init

3、檢查 i2c speed 是否適配,speed 大于 device 支持的 max speed 也會造成 ACKError。降低速度,如果仍然可以工作的話就說明是 clk 相關問題。

4、檢查 i2c device 信號電平是否與 AP 匹配。

5、GPIO check 以下幾個部分

GPIO 電流驅動能力

GPIO 工作模式是否是 I2C 模式

GPIO 是否有內(nèi)部上拉電阻

GPIO 默認電平狀態(tài)

從 i2c spec 看,如下情況 NACK

I2C 寫

圖片

主機向從機發(fā)送數(shù)據(jù)時,最后一個 Byte數(shù)據(jù)時,從機可能應答也可能非應答,但不怎樣主機都可以產(chǎn)生停止條件,如果主機在向從機發(fā)送數(shù)據(jù)(甚至包括從機地址在內(nèi))時檢測到從機非應答,則會及時停止傳輸。

I2C 讀

圖片

主機從從機接收數(shù)據(jù)時,最后一個 Byte 數(shù)據(jù)時,主機不回應該從機,即 NACK.

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1477

    瀏覽量

    123061
  • 系統(tǒng)
    +關注

    關注

    1

    文章

    1006

    瀏覽量

    21293
收藏 人收藏

    評論

    相關推薦

    Linux內(nèi)核中I2C系統(tǒng)的設計思路

    [ 導讀] 本文通過閱讀內(nèi)核代碼,來梳理一下I2C子系統(tǒng)的整體視圖。在開發(fā)I2C設備驅動程序時,往往缺乏對于系統(tǒng)整體的認識,沒有一個清晰的思路。所以從高層級來分析一下
    發(fā)表于 09-06 09:40 ?453次閱讀
    Linux內(nèi)核中<b class='flag-5'>I2C</b><b class='flag-5'>系統(tǒng)</b>的設計思路

    linux I2C子系統(tǒng)的相關資料分享

    文章目錄linux I2C子系統(tǒng)框架在設備樹中添加從設備信息,mpu5060I2C driver 程序的編寫mpu6050 I2C程序具體實現(xiàn)linux
    發(fā)表于 02-10 06:06

    i2c總線ppt(I2C總線器件應用)

    I2C總線器件應用第一節(jié) I2C總線器件應用概述I2C總線工作原理I2C總線系統(tǒng)結構I2C總線
    發(fā)表于 08-13 17:34 ?0次下載

    I2C Guid I2C指南

    I2C Guid  I2C指南 The I2C bus is used in a wide rangeof applications because it is simpleand
    發(fā)表于 04-23 13:55 ?36次下載

    i2c

    單片機i2c總線操作;單片機i2c總線操作;單片機i2c總線操作;
    發(fā)表于 05-17 11:09 ?35次下載

    I2C總線應用系統(tǒng)設計運用

    I2C總線應用系統(tǒng)設計運用
    發(fā)表于 09-22 11:44 ?10次下載
    <b class='flag-5'>I2C</b>總線應用<b class='flag-5'>系統(tǒng)</b>設計運用

    Linux內(nèi)核中I2C子系統(tǒng)的整體視圖

    本文通過閱讀內(nèi)核代碼,來梳理一下I2C子系統(tǒng)的整體視圖。在開發(fā)I2C設備驅動程序時,往往缺乏對于系統(tǒng)整體的認識,沒有一個清晰的思路。所以從高層級來分析一下
    的頭像 發(fā)表于 12-31 10:40 ?2138次閱讀
    Linux內(nèi)核中<b class='flag-5'>I2C</b><b class='flag-5'>子系統(tǒng)</b>的整體視圖

    linux I2C子系統(tǒng)(及相關程序設計MPU6050)

    文章目錄linux I2C子系統(tǒng)框架在設備樹中添加從設備信息,mpu5060I2C driver 程序的編寫mpu6050 I2C程序具體實現(xiàn)linux
    發(fā)表于 12-06 13:36 ?9次下載
    linux <b class='flag-5'>I2C</b><b class='flag-5'>子系統(tǒng)</b>(及相關程序設計MPU6050)

    嵌入式內(nèi)核及驅動開發(fā)-09IIC子系統(tǒng)框架使用(I2C協(xié)議和時序,I2C驅動框架,I2C從設備驅動開發(fā),MPU6050硬件連接

    文章目錄I2c協(xié)議和時序I2c介紹I2c硬件連接I2c總線的信號I2c總線寫時序I2c總線讀時序
    發(fā)表于 12-06 14:06 ?17次下載
    嵌入式內(nèi)核及驅動開發(fā)-09IIC<b class='flag-5'>子系統(tǒng)</b>框架使用(<b class='flag-5'>I2C</b>協(xié)議和時序,<b class='flag-5'>I2C</b>驅動框架,<b class='flag-5'>I2C</b>從設備驅動開發(fā),MPU6050硬件連接

    I2C接口配置ES7243錄音芯片,MCU(STM32)收不到I2C ACK的問題

    I2C接口配置ES7243錄音芯片,MCU(STM32)收不到I2C ACK的問題
    發(fā)表于 12-08 16:36 ?10次下載
    <b class='flag-5'>I2C</b>接口配置ES7243錄音芯片,MCU(STM32)收不到<b class='flag-5'>I2C</b> <b class='flag-5'>ACK</b>的問題

    硬件I2C與模擬I2C

    硬件I2C對應芯片上的I2C外設,有相應I2C驅動電路,其所使用的I2C管腳也是專用的,因而效率要遠高于軟件模擬的I2C;一般也較為穩(wěn)定,但
    發(fā)表于 12-28 19:14 ?81次下載
    硬件<b class='flag-5'>I2C</b>與模擬<b class='flag-5'>I2C</b>

    I2C子系統(tǒng)debug的常見問題

    常見問題 1、同一條 i2c bus 上所有的外設的 i2c addr 要不同 1)相同 address 注冊時沖突 [ 2.059184 ][xxx]i2c i2c- 1 :Fail
    的頭像 發(fā)表于 07-22 14:52 ?890次閱讀

    I2C子系統(tǒng)SW Architecture

    I2C SW Architecture 【driver 驅動層】由普通驅動工程師負責,【i2c 核心層】由 Linux 提供,【i2c 核心層】以下由芯片原廠負責。 I2C
    的頭像 發(fā)表于 07-22 16:01 ?898次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>子系統(tǒng)</b>SW Architecture

    I2C子系統(tǒng)幾個主要的結構體

    I2C Data Structure 我們要搞懂一個 Linux 子系統(tǒng),必須研究它的數(shù)據(jù)結構,搞懂每個結構體存儲了什么東西,才能梳理清楚該子系統(tǒng)的架構。 I2C
    的頭像 發(fā)表于 07-22 16:04 ?770次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>子系統(tǒng)</b>幾個主要的結構體

    I2C轉UART子系統(tǒng)設計

    電子發(fā)燒友網(wǎng)站提供《I2C轉UART子系統(tǒng)設計.pdf》資料免費下載
    發(fā)表于 08-28 10:27 ?1次下載
    <b class='flag-5'>I2C</b>轉UART<b class='flag-5'>子系統(tǒng)</b>設計