嵌入式裸机之I2C通信学习笔记

本文详细介绍了I2C通信协议,包括其定义、物理接口、通信特征及主要用途。接着,探讨了I2C的通信时序,解析了起始位、结束位、数据传输格式。然后,深入剖析了S5PV210 SoC的I2C控制器结构,以及其内部的时钟系统和主要寄存器。最后,以X210板载的gsensor为例,介绍了I2C从设备的设备地址、通信速率以及通信流程。
摘要由CSDN通过智能技术生成

一. 什么是I2C通信

1.1 定义

I2C(Inter-Integrated Circuit)总线是用于连接微控制器及其外围设备。

1.2 物理接口:SCL + SDA

(1)SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道。
(2)SDA(serial data): 数据线,通信数据都通过SDA线传输

1.3 通信特征:串行、同步、非差分、低速率

(1)I2C属于串行通信,所有的数据以位为单位在SDA线上串行传输。
(2)同步通信就是通信双方工作在同一个时钟下,一般是通信的A方通过一根CLK信号线传输A自己的时钟给B,B工作在A传输的时钟下。所以同步通信的显著特征就是:通信线中有CLK
(3)非差分。因为I2C通信速率不高,而且通信双方距离很近,所以使用电平信号通信。
(4)低速率。I2C一般是用在同一个板子上的2个IC之间的通信,而且用来传输的数据量不大,所以本身通信速率很低(一般几百KHz,不同的I2C芯片的通信速率可能不同,具体在编程的时候要看自己所使用的设备允许的I2C通信最高速率,不能超过这个速率)

1.4 突出特征

1:主设备+从设备
(1)I2C通信的时候,通信双方地位是不对等的,而是分主设备和从设备。通信由主设备发起,由主设备主导,从设备只是按照I2C协议被动的接受主设备的通信,并及时响应。
(2)谁是主设备、谁是从设备是由通信双方来定的(I2C协议并无规定),一般来说一个芯片可以只能做主设备、也可以只能做从设备、也可以既能当主设备又能当从设备(软件配置)。

2:可以多个设备挂在一条总线上(从设备地址)
(1)I2C通信可以一对一(1个主设备对1个从设备),也可以一对多(1个主设备对多个从设备)。
(2)主设备来负责调度总线,决定某一时间和哪个从设备通信。注意:同一时间内,I2C的总线上只能传输一对设备的通信信息,所以同一时间只能有一个从设备和主设备通信,其他从设备处于“冬眠”状态。
(3)每一个I2C从设备在通信中都有一个I2C从设备地址,这个设备地址是从设备本身固有的属性,然后通信时主设备需要知道自己将要通信的那个从设备的地址,然后在通信中通过地址来甄别是不是自己要找的那个从设备。(这个地址是一个电路板上唯一的,不是全球唯一的)

1.5 主要用途

SoC和周边外设之间的通信(典型的如EEPROM、电容触摸IC、各种sensor等)

二. 由I2C学通信时序

2.1 什么是时序

时序:字面意思,时序就是时间顺序,实际上在通信中时序就

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值