Linux I2C 基础知识

什么是I2C

I2C
I2C是一条PCB内部集成电路的总线,用于CPU和各类芯片(PMICs, GPIO 扩展器, 视频传感器等等)的低速传输交流。
I2C总线仅需要两根线:数据线(SDA,Serial Data Line)和时钟线(SCL,Serial Clock Line)。数据以串行方式传输,SDA线上的数据在SCL线上的时钟信号同步。
I2C总线上的设备没法被CPU检测,也不支持热插拔,只能由设备树在启动时提供给CPU设备信息。
I2C也可以被称为IIC, TWI, TWSI, 取决于不同的生产商。

I2C上的主设备和从设备

  • 主设备(Master)
    • 也被称为Adapter, Controller
    • 通常一条总线上只有一个,负责发起传输
    • 没有地址
  • 从设备(Slave)
    • 也被称为Client, Device
    • 一条总线上可以由多个,负责响应主设备发起的传输
    • 每个硬件由7-bit的地址(也可以扩展到10-bit),并且该地址是设置在硬件里的,不会被动态分配

I2C在Linux驱动模型里是如何实现的

I2C-Linux
这部分还没仔细看,就先记录到这吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值