i方c总线协议

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

竭诚为您提供优质文档/双击可除

i方c总线协议

篇一:i2c总线协议

1.i2c协议

2条双向串行线,一条数据线sda,一条时钟线scl。

sda传输数据是大端传输,每次传输8bit,即一字节。

支持多主控(multimastering),任何时间点只能有一个主控。

总线上每个设备都有自己的一个addr,共7个bit,广播地址全0.

系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看datasheet。

1.1i2c位传输

数据传输:scl为高电平时,sda线若保持稳定,那么sda上是在传输数据bit;

若sda发生跳变,则用来表示一个会话的开始或结束(后面讲)数据改变:scl为低电平时,sda线才能改变传输的

bit

1.2i2c开始和结束信号

开始信号:scl为高电平时,sda由高电平向低电平跳变,开始传送数据。结束信号:scl为高电平时,sda由低电平向高电平跳变,结束传送数据。

1.3i2c应答信号

master每发送完8bit数据后等待slave的ack。

即在第9个clock,若从ic发ack,sda会被拉低。

若没有ack,sda会被置高,这会引起master发生RestaRt或stop流程,如下所示:

1.4i2c写流程

写寄存器的标准流程为:

1.master发起staRt

2.master发送i2caddr(7bit)和w操作0(1bit),等待ack

3.slave发送ack

4.master发送regaddr(8bit),等待ack

5.slave发送ack

6.master发送data(8bit),即要写入寄存器中的数据,等待ack

7.slave发送ack

8.第6步和第7步可以重复多次,即顺序写多个寄存器

9.master发起stop

写一个寄存器

写多个寄存器

1.5i2c读流程

读寄存器的标准流程为:

1.master发送i2caddr(7bit)和w操作1(1bit),等待ack

2.slave发送ack

3.master发送regaddr(8bit),等待ack

4.slave发送ack

5.master发起staRt

6.master发送i2caddr(7bit)和r操作1(1bit),等待ack

7.slave发送ack

8.slave发送data(8bit),即寄存器里的值

9.master发送ack

10.第8步和第9步可以重复多次,即顺序读多个寄存器读一个寄存器

读多个寄存器

2.powerpc的i2c实现

mpc8560的ccsR中控制i2c的寄存器共有6个。

2.1i2cadR地址寄存器

cpu也可以是i2c的slave,cpu的i2c地址有i2cadR 指定

2.2i2cFdR频率设置寄存器

theserialbitclockfrequencyofsclisequaltotheccbclock dividedbythedivider.

用来设置i2c总线频率

篇二:i2c总线协议详解

i2c总线协议详解

i2c总线定义

--------------------------------------------------------------------------------

i2c(inter-integratedcircuit)总线是一种由

philips公司开发的两线式串行总线,用于连接微控制器及其外围设备。i2c总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。

i2c总线特点

---------------------------------------------------

-----------------------------

i2c总线最主要的优点是其简单性和有效性。由于接口

直接在组件之上,因此i2c总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10kbps的最大传输速率支持40个组件。i2c总线的另一个优点是,它支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。

i2c总线工作原理

---------------------------------------------------

-----------------------------

总线的构成及信号类型

---------------------------------------------------

-----------------------------

i2c总线是由数据线sda和时钟scl构成的串行总线,

可发送和接收数据。在cpu与被控ic之间、ic与ic之间进行双向传送,最高传送速率100kbps。各种被控制电路均并

联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,i2c总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。cpu发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。

i2c总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。

开始信号:scl为高电平时,sda由高电平向低电平跳变,开始传送数据。

结束信号:scl为高电平时,sda由低电平向高电平跳变,结束传送数据。

应答信号:接收数据的ic在接收到8bit数据后,向发送数据的ic发出特定的低电平脉冲,表示已收到数据。cpu 向受控单元发出一个信号后,等待受控单元发出一个应答信号,cpu接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。

这些信号中,起始信号是必需的,结束信号和应答信号,

相关文档
最新文档