I2C接口及驱动
Posted Arrow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了I2C接口及驱动相关的知识,希望对你有一定的参考价值。
1. 简介
- I2C总结的基本的特征:
- 电路简单,只需要两根线,时钟线SCL和数据线SDA
- I2C为总线型结构,主设备依靠从设备地址进行寻址
- I2C总线上的设备可以为一主多从或者多主多从,多主多从模式下,需要提供仲裁和冲突检测机制
- I2C主设备提供时钟,SDA可以双向传输数据
- I2C标准的传输速率可以达到100Kbit/s,快速模式下可以达到400Kbit/s,高速模式下可以到达3.4Mbit/s。一般最为常用的传输速率<=100Kbit/s
2. 硬件
2.1 硬件电路
- I2C硬件电路特征:
- 连接到I2C总线上的设备,必须是以开漏或开集电极的方式连接,这样才能实现线与
- SCL和SDA必须接上拉电阻,电阻的大小为4.7K到10K之间
- 连接到总线上的设备数量受400pF电容的限制
2.2 数据传输
- I2C在进行数据传输时的一般规则如下:
- 发送到SDA 线上的每个字节必须为8 位,每次传输可以发送的字节数量不受限制
- 首先传输的是数据的最高位(MSB),每个字节后必须跟一个响应位,所以,一帧数据共有9位
- 如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟线SCL 保持低电平,迫使主机进入等待状态,当从机准备好接收下一个数据字节并释放时钟线SCL后数据传输继续
3. Linux驱动
以上是关于I2C接口及驱动的主要内容,如果未能解决你的问题,请参考以下文章