你好!欢迎来到深圳市颖特新科技有限公司!
语言
当前位置:首页 >> 技术中心 >> 单片机入门 >> I2C串行扩展总线

I2C串行扩展总线

作者:admin 来源:不详 发布时间:2018-05-08  浏览:4

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

响应信号

结束信号

 

 

 

写操作

 

写操作

 

写操作

 

 

写操作

图2 AT24C01写N个字节数据的操作时序

 

8位

 

8位

 

8位

 

 

8位

 

 

起始信号

器件地址

响应信号

字地址

响应信号

数据1

响应信号

数据N

响应信号

结束信号

 

 

 

写操作

 

读操作

 

 

读操作

图3 AT24C01读N个字节数据的操作时序
上图中器件地址说明如下:
①器件地址码的第7~4位为从器件地址位,用于确认器件的类型。AT24C01的器件地址码为1010,1010表示从器件为串行E2PROM。
②器件地址码的第3~l位为第l~第8片的片选或存储器内的页面地址选择位。此三个控制位用于片选或者内部页面选择。
如在存储容量8Kb(1024×8位)的AT24C01内部,存储矩阵分为4个页面,每一页面有256个字节。通过器件地址码的第2位和第1位,可以选择数据读写的页面。
③器件地址码的第0位为读、写(R/W)操作控制码。若此位为1,下一字节进行读操作(R);此位为0,下一字节进行写操作(W)。
AT24C01每接收一个字节后,都必须发送一个确认应答信号位ACK,即时序中的响应信号。此时单片机必须产生一个与此确认位相应的时钟脉冲。AT24C01在读写操作时。具有地址自动加1功能,即读、写完某一地址空间后,会自动指向下一个地址单元。
 I2C总线最显著的特点是规范的完整性、结构的独立性和用户使用时的“傻瓜”化。I2C总统有严格的规范,如接口的电气特性、信号时序、信号传输的定义、总线状态设置、总线管理规则及总线状态处理等。
在I2C总线规范中。总线上的器件节点具有极大的独立性,而且各节点上的器件、模块都有相对独立的地址编号。
 严格、完善的规范,并将这些规范的应用尽可能“傻瓜”化,除了有充分的硬件支持外,在软件方面,Philips公司为用户提供了一套完善的总线状态处理软件包,以致于用户可以不去熟悉I2C总线的规范,不去理睬总线的管理方法,只要掌握I2C总线的应用程序设计方法就可方使地使用I2C总线,并且能很快地掌握I2C总线系统的软、硬件设计方法。
 由于I2C总线系统中,各个节点的电气特性及地址给定都具有较强的独立性,因此,在应用系统中采用I2C总线结构就有可能实现用户梦寐以求的器件及功能单元的软、硬件标准化和模块化设计。
 器件及功能单元的标准化、模块化,取决于器件单元硬件电气连接的最少相关性与软件的独立性。软件的独立性则表现在独立编址及数据传送方式的简单化与单一性。而I2C总线所具有的特点很好地满足了上述要求。
 在硬件结构上,任何一个具有I2C总线接口的外围器件,不仅其功能差别有多大,都具有相同的电气接口;除了总线外,各器件节点没有其他电气连接,甚至各节点的电源都可以单独供电;在各器件节点上没有并行扩展时所必须的片选线,器件地址给定完全取决于器件类型与单元电路结构。在软件上,不论何种器件,其I2C总线的数据传送都具有相同的操作模式,而且每个器件操作时都与其他器件节点无关。在实际使用中,总线节点上的器件甚至可在总线工作状态下挂上总线或撤除。
 目前I2C总线大量应用在视频、音像系统中,Philips推出的近200种I2C总统接口器件主要是视频、音像类器件。除Philips公司外,I2C总线已被众多的厂家使用在高档电视机、电话机、音响、摄/录像系统中,在大量测控领域单片机应用系统中正逐步推广。

编辑:admin  最后修改时间:2018-05-08

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright © 2014-2023 颖特新科技有限公司 All Rights Reserved.  粤ICP备14043402号-4