• I2C相关知识学习


    1. 通过I2C访问的模块:

    SFP、XSFP、QSFP、QSFP28等等

    通过MDIO访问的模块:

    X2、CFP/CFP2/CFP4、XENPARK等等

    1. SDA:数据线,主机从机都能够控制。

    SCL:时钟线,由主机控制

    1. 数据在时钟为高电平时有效:

    SCL

    H

    H

    H

    H

    L

    SDA

    H->L

    L->H

    L

    H

    ALL

    FLAG

    Start

    Stop

    0

    1

    invalid

    1. I2C中一个完整的数据包由9个字节组成:

     

    器件地址有7位,总共地址128个,预留16个地址(0xFxxx, 0x0xxx),剩余112个地址,也就是说最多可以有112个器件。

    1. I2C写操作:

    由主机控制start然后由器件地址寻址从机,从机下拉ack,由寄存器地址寻址写入内存,每个字节应答,最后由主机控制stop结束写操作。

    1. I2C读操作:

    当前地址读:在I2C从机中存在一个当前地址寄存器,记录当前寄存器地址,改地址是最近一次I2C读写操作的寄存器地址+1。主机控制start然后由器件地址寻址从机,从机应答然后从当前地址发送数据,没字节主机应答一次,最后主机not ack并控制stop,结束读操作。

    随机读:在当前地址读的方式前先将要读取的寄存器地址写入当前地址寄存器,然后主机控制restart(有些芯片需要先stop在start),紧着着进行当前地址读操作。

  • 相关阅读:
    利用反馈字段给帝国cms添加留言板功能(图文教程)
    对程序员的不尊重是中国it产业的悲哀。
    网站原创文章被盗用怎么办?
    Vector
    iptables
    spark geoip
    geoip scala api
    matlab解三元二次方程组
    统计一个目录下所有普通文本文件的总行数
    awk多模式匹配
  • 原文地址:https://www.cnblogs.com/shucome/p/7487571.html
Copyright © 2020-2023  润新知