色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

I2C子系統debug的常見問題

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:嵌入式Linux系統開 ? 2023-07-22 14:52 ? 次閱讀

常見問題

1、同一條 i2c bus 上所有的外設的 i2c addr 要不同

1)相同 address 注冊時沖突

[2.059184][xxx]i2c i2c-1:Failed to register i2c client 24c02 at 0x51(-16) 
[2.059189][xxx]i2c i2c-1:Can't create device at 0x51

對應的錯誤碼是 -16

/kernel-5.10/include/uapi/asm-generic/errno-base.h

#define EPERM   1 /* Operation not permitted */
#define ENOENT   2 /* No such file or directory */
#define ESRCH   3 /* No such process */
#define EINTR   4 /* Interrupted system call */
#define EIO   5 /* I/O error */
#define ENXIO   6 /* No such device or address */
#define E2BIG   7 /* Argument list too long */
#define ENOEXEC   8 /* Exec format error */
#define EBADF   9 /* Bad file number */
#define ECHILD  10 /* No child processes */
#define EAGAIN  11 /* Try again */
#define ENOMEM  12 /* Out of memory */
#define EACCES  13 /* Permission denied */
#define EFAULT  14 /* Bad address */
#define ENOTBLK  15 /* Block device required */
#define EBUSY  16 /* Device or resource busy */
......

可以執行 ls /sys/bus/i2c/devices 查看對應的 i2c-1 下是否已經有注冊相同的 address 的外設

若返回 -11,-EAGAIN。代表總線正忙,或無法申請到總線鎖。如果總線正忙,請 retry 等待,或查看是哪個 device 一直在發送。如果無法申請到總線鎖,請查看是否在中斷函數或原子上下文調用了 i2c_transfer。

2)隱藏的 i2c address,即外設存在多個 i2c addr 或外設 HW bug,導致 i2c 通訊異常。

示例:eeprom 在 i2c-1 上注冊了 0x50 地址,而 type c 雖然注冊到 0x60 地址,但對 0x50 也能產生響應,type c 拉低了 SDA ,從而 timeout 。

debug 方法:

  1. 軟件上確認數據及對應的 driver 是否正確。
  2. 硬件上逐一去掉外設,確認是哪個外設導致。

2、示波器 ACK 的地方有毛刺

slave 在第 9 個 clk 產生 ACK 應答后,換成 mater 端來控制時產生的毛刺。此毛刺不會影響 I2C 總線讀寫時序,無需處理。

即 slave 和 master 控制總線切換間隔,沒有人控制總線,帶來的毛刺。

**3、**半高電平

在外接上拉電阻的情況下,有 enable 內部下拉電阻,導致總線上有半高電平。

4、總線上電平拉不到地。

  1. master 端發送數據時電平拉不到地,可以增大驅動電流或者上拉電阻。
  2. slave 端拉不到地,可以咨詢供應商看是否能增大 slave 端驅動電流或者上拉電阻。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1484

    瀏覽量

    123620
  • DEBUG
    +關注

    關注

    3

    文章

    93

    瀏覽量

    19907
  • 系統
    +關注

    關注

    1

    文章

    1014

    瀏覽量

    21332
收藏 人收藏

    評論

    相關推薦

    Linux內核中I2C系統的設計思路

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

    linux I2C子系統的相關資料分享

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

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

    I2C總線器件應用第一節 I2C總線器件應用概述I2C總線工作原理I2C總線系統結構I2C總線
    發表于 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
    發表于 04-23 13:55 ?36次下載

    i2c

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

    Linux內核中I2C子系統的整體視圖

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

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

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

    嵌入式內核及驅動開發-09IIC子系統框架使用(I2C協議和時序,I2C驅動框架,I2C從設備驅動開發,MPU6050硬件連接

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

    硬件I2C與模擬I2C

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

    可編程USB轉 UART/I2C Wire常見問題及注意事項

    可編程USB轉 UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S 常見問題及注意事項
    的頭像 發表于 08-23 14:38 ?1447次閱讀

    I2C子系統ACK error

    在應該收到 ACK 信號的時候沒有收到 ACK 信號,i2c controller 就會產生一個 ACK error 的中斷,告訴 i2cdriver 發生了 ACK error。通常
    的頭像 發表于 07-22 14:39 ?1845次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>子系統</b>ACK error

    I2C debug出現問題怎么解決

    RK 平臺 I2C debug 1、I2C 通信失敗,出現 log: “timeout, ipd: 0x00, state: 1” 請檢查硬件上拉是否給電。 2、調用
    的頭像 發表于 07-22 15:00 ?3670次閱讀

    I2C子系統SW Architecture

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

    I2C子系統幾個主要的結構體

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

    I2C轉UART子系統設計

    電子發燒友網站提供《I2C轉UART子系統設計.pdf》資料免費下載
    發表于 08-28 10:27 ?2次下載
    <b class='flag-5'>I2C</b>轉UART<b class='flag-5'>子系統</b>設計
    主站蜘蛛池模板: 熟妇久久无码人妻AV蜜桃| 国产福利视频在线观看福利| 麻豆XXXX乱女少妇精品-百度| 一二三四在线高清中文版免费观看电影 | 国产老头与老太hd| 甜性涩爱在线播放| 国产毛A片啊久久久久久A| 亚洲 中文 自拍 无码| 一区二区三区国产| 久久 这里只精品 免费| 野花韩国中文版免费观看| 精品国产免费观看久久久| 丝瓜视频在线免费| 国产成人久久精品AV| 午夜日本大胆裸艺术| 穿白丝袜边走边尿白丝袜| 蜜柚视频高清在线| AV多人爱爱XXx| 久久亚洲精品无码A片大香大香| 伊人久久大香线蕉综合电影网| 久久亚洲精品永久网站| 7723日本高清完整版在线观看| 精品蜜臀AV在线天堂| 在线视频 国产精品 中文字幕| 久久视频在线视频观看精品15| 99re6久久在热线视频| 欧美香蕉大胸在线视频观看| 成人国产免费| 全彩acg无翼乌火影忍者| 高清欧美一区二区三区| 日本粉嫩学生毛绒绒| 国产精品国产三级国产专区53| 色偷偷网址| 国产亚洲人成网站在线观看播放 | 大桥未久电影在线观看| 无止侵犯高H1V3无止侵犯| 黄色a三级三级三级免费看| 最近中文字幕MV高清在线| 久久久午夜精品福利内容| 影音先锋男人资源813.| 久久99热这里只有精品66|