I2C总线初探

I2C是一种由飞利浦开发的2线接口,用于连接微控制器和外设。该总线包括SCL和SDA线,支持半双工通信。I2C分为主机和从机角色,通信中包含开始、结束和应答信号。SMBus是基于I2C的简化版本,频率限制在10kHz到100kHz之间。每个I2C设备拥有7位地址,允许最多127个设备连接在同一总线上。I2C设备地址由固定类型码和用户自定义寻址码组成,而同一型号的IC在同一总线上最多挂载8片。
摘要由CSDN通过智能技术生成

I2C(Inter-Integrated Circuit,内置集成电路)最初为飞利浦所开发,为2线接口。这2根线为时钟线和双向数据线,分别被称为SCL(Serial CLock,串行时钟)和SDA(Serial DAta,串行数据)。由于I2C总线仅需要一对总线,因此在电路板上占用的空间更少,带来的问题是带宽较窄。即使I2C支持双向数据交换,由于仅有一根数据线,故通信是半双工的。

由于I2C被大量的微控制器所支持,在当前的市场上可找到大量便宜的I2C设备。

I2C主机:master,一般来说是主控制器,也可以理解为CPU

I2C从机:slave,一般来说是外设

I2C 总线上有3 种类型的信号,分别是:开始信号,结束信号和应答信号。这些信号都是由SDA和SCL上的电平变化来表示的。

开始信号(S):当SCL为高电平时,SDA由高电平向低电平跳变,表示开始传输数据。

结束信号(P):当SCL为高电平时,SDA由低电平向高电平跳变,表示结束传输数据。

相应信号(ACK):从机接收到8位数据后,在第9个时钟周期,拉低SDA电平,表示已经接收到数据。

当总线空闲时,SDA 和SCL 都处于高电平,主机检测到总线空闲就可以向从机发送数据。主机首先发送开始信号S,接着发出8位数据(包括前7位的从机地址和1 为的方向位),然后等待从机发回确认信号ACK.

当第8位为0时,表示向从机传输数据,主机收到确认信号后就可以连续的向从机写入8 位数据;当第8 位为1时,表示向从读取数据,这时主机就可以接收来自从机的一系列数据。最后当总个数据传输过程完成后,由主机发送结束信号P,表示本次的数据传输完成。

说到I2C总线,就不得不提一下它的一个好基友——SMBus。

SMBus (System Management Bus,系统管理总线) 是1995年由Intel提出的。它大部分基于I2C总线规范,和I2C一样,SMBus不需要增加额外的引脚。

当然I2C和SMBus还是有很多差异的,比如以运作频率,I2C此方面相当宽裕,最低频可至0Hz(直流状态,等于时间暂停),高可至100kHz(Standard Mode)、400kHz(Fast Mode)、乃至3.4MHz(High Speed Mode),相对的SMBus就很局限,最慢不慢于10kHz,最快不快于100kHz。很明显的,I2C与SMBus的交集运作频率即是10kHz〜100kHz间。其它还有不少差异,这里不做细论。

I2C设备挂载到I2C总线下,是需要一个确定的地址的。一般来说I2C都使用7位地址,协议也支持10位地址,但大多数的设备仅响应7位地址,因此在总线上最多有127个设备,0号"设备"作为群呼地址。

I2C设备,第一个字节(为slave address)由7位地址和一位R/W读写位组成的,这字节是个器件地址。
首先,你要知道:常用IIC接口通用器件的器件地址是由种类型号,及寻址码组成的,共7位。
如格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
器件类型由:D7-D4 共4位决定的。这是由半导公司生产时就已固定此类型的了,也就是说这4位已是固定的。
用户自定义地址码:D3-D1共3位。这是由用户自己设置的,通常的作法如EEPROM这些器件是由外部IC的3个引脚所组合电平决定的(用常用的名字如A0,A1,A2)。这也就是寻址码。
所以为什么同一IIC总线上同一型号的IC只能最多共挂8片同种类芯片的原因了。
最低一位:就是R/W位。

 

就I2C的整体结构而言,I2C可以分为核心层、总线层、设备层。

简单来说:

核心层提供统一的接口。

总线层是用来驱动I2C总线的。

设备层这是用来驱动I2C设备的。

 

一般来说的I2C设备只要关注设备层的内容即可。

在kernel-4.9/include/l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值