你的位置: 首页 > 家电弱电 > 单片机

I2C串行扩展总线

2016-12-21 17:36:34 | 人围观 | 评论:

I2C总线是Philips公司推出的芯片间串行传输总线。它用两根线实现了完备的全双工同步数据传送,可以极为方便地构成多机系统和外围器件扩展系统。I2C总线采用了器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址方法,从而使硬件系统具有简单灵活的扩展方法,按照I2C总线规范,总线传输中的所有状态都生成相对应的状态码,系统中的主机能够依照这些状态码自动地进行总线管理,用户只要在程序中装入这些标准处理模块,根据数据操作要求完成I2C总线的初始化,启动I2C总线,就能自动完成规定的数据传送操作。I2C总线接口电路结构如图1所示。
I2C总线接口为开漏或开集电极输出,需加上拉电阻。系统中所有的单片机、外围器件都将数据线SDA和时钟线SCL的同名端相连在一起,总线上的所有节点都由器件和管脚给定地址。系统中可以直接连接具有I2C总统接口的单片机,也可以通过总线扩展芯片或I/O口的软件仿真与I2C总线相连。在I2C总线上可以挂接各种类型的外围器件,如RAM/EPROM、日历/时钟、A/D转换器、D/A转换器以及由I/O口、显示驱动器构成的各种模块。
I2C总线上数据传送的基本单位为字节,采用低位在前的格式。主从器件之间一次传输的数据称为一帧,由启动信号、若干个数据字节和应答位以及停止信号组成。可以看出,I2C


图1  I2C总线接口电路结构  
的主要命令只有读、写两种,虽然读写的字节根据具体器件的不同而不同,但其时序关系不会发生改变。根据这一点,下位机只要具备I2C的基本时序即可。这些基本时序包括:启动、写字节、读字节、应答位、停止信号,并可以组合成两个子程序:读N字节子程序、写N字节子程序。
带有I2C器件的读写操作有多种形式,写操作有两种类型:字节写和页面写;读操作有三种类型:读当前地址内容、读随机地址内客和读顺序地址内容。以AT24C01为例,写N个字节数据的操作时序如图2所示,AT24C01读N个字节技据的操作时序如图3所示。





标签:

相关内容推荐:

 <?XML:NAMESPACE PREFIX = U1 /> <?XML:NAMESPACE PREFIX = O />

8

 

8

 

8

 

8

 

 

8

 

 

起始信号

器件地址

响应信号

字地址

响应信号

数据1

响应信号

数据2

响应信号

数据N

响应信号

结束信号

 

 

 

写操作

 

写操作

 

写操作

 

 

写操作