了解内部集成电路总线(I2C)接口

ZDNet软件频道 时间:2003-09-10 作者:ZDNet China |  我要评论()
本文关键词:embedded
Inter-IC(I2C)总线是由飞利浦半导体公司20年前开发并推出的,是一种具有多端控制能力的双线双向串行数据总线系统。
本文译自Builder.com,未经许可请勿转载Inter-IC(I2C)总线是由飞利浦半导体公司20年前开发并推出的,是一种具有多端控制能力的双线双向串行数据总线系统。

I2C(发音为:”I squared see”)能用于替代标准的并行总线,能连接的各种集成电路和功能模块。对于嵌入式系统设计者来说,有以下好处:

  • 更少的管脚连接,也就不需要并行总线接口。
  • 由更少的管脚连接带来的更小的电路规模。
  • 更少的电路板层数和更少的电路连线。
  • 由于I2C支持多主控,所以更容易调试。

支持I2C的设备有微控制器,A/D、D/A转换器,储存器,LCD控制器,LED驱动器,I/O端口扩展器以及实时时钟。

通过使用内建的I2C接口硬件或者连接到微控制器标准并行总线的外部I2C控制芯片,微控制器能够连接到I2C总线。任选其中一种方式,通过通常的I/0管脚和软件上的“位拆裂(bit-banging)”技术,你就能实现一种软件I2C接口。这种方式比较慢,比以硬件为基础的实现要复杂的多。

I2C的性能

标准I2C总线传输速率可以到100Kbit/s,通过使用了7位地址码,就能支持128个设备。加强型I2C总线用了10位地址码(能够支持1024个设备),快速模式(400Kbit/s)和高速模式(最高有3.4Mbit/s)。

I2C是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。多路微控制器能在同一个I2C总线上共存。

只要很小的电路附件,I2C总线就能够支持设备在不同电平下工作(例如:3.3伏和5伏),

I2C总线的工作情况

I2C总线的规范中规定了如何在两个设备之间传递数据,采取的方法是总线仲裁、时钟同步和总线的电气特征。

在一次数据传输中,一个设备扮演临时主控器,开始在它和一个有单一地址设备(从控器)之间的传输。主控器为数据传输产生时钟信号。规范中要求数据线(SDA,串行数据线)只有在时钟(SCL,串行时钟线)处于低平时才能变化。

总线的一次典型工作流程如下:

1.开始:信号表明传输开始。

2.地址:主设备发送地址信息,包含7位的从设备地址和1位的指示位(表明读或者写,即数据流的方向)。

3.数据:根据指示位,数据在主设备和从设备之间传输。数据一般以8位传输,最重要的位放在前面;具体能传输多少量的数据并没有限制。接收器上用一位的ACK(回答信号)表明每一个字节都收到了。传输可以被终止和从新开始。

4.停止:信号结束传输。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134