I2C总线知识汇总

本着学习的态度总结了这篇文章分两个部分重点介绍,一部分是总线介绍,硬件设计介绍,时序介绍。

目录

简介

硬件设计介绍

时序问题


  1. 简介

I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。I2C 总线支持任何IC 生产过程(CMOS、双极性)。通过串行数据(SDA)线和串行时钟 (SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器——MCU、LCD 驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。LCD 驱动器只能作为接收器,而存储器则既可以接收又可以发送数据。除了发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机(见表1)。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。

  1. 硬件设计介绍

  • I2C电气特性:

引脚定义:SDA(数据信号)、SCL(时钟信号)
传输速率:标准时钟100kb/s,快速时钟400kb/s,最快时钟3.4Mb/s
传输类型:半双工
接口类型:开漏(或开集)输出,需要上拉电阻
电平范围:由芯片的电平决定常见1.8V, 3.3V, 5V,不同电平相连需要电平转换。

传输线阻抗:无要求;
允许并联电容:线路总等效电容不超过400pf;
支持设备数量:受线路总电容限制,增加总线驱动器可以使总线电容扩大10倍,传输距离达到15m。
应用场合:板级芯片或近距离通讯。
设计要点:电平转换、需要上拉电阻、通过总线驱动器增加支持总线。

  • 典型电平转换电路:

TR1,TR2均为NMOS,Vgate=VDD1, VthI2C总线知识汇总_第1张图片

具体转换电路的原理:

从3.3V到5V。

高电平时,MOS管关断,通过上拉,输出高电平;
低电平时,Vgs=3.3V>Vgs(th)=1.6V,MOS管导通,被拉低,输出低电平;
高阻态时,MOS管关断,通过上拉,输出高电平。
      从5V到3.3V

高电平时,MOS管关断,通过上拉,输出高电平;

低电平时,MOS管内的体二极管导通,使MOS管的S极被拉低,从而使Vgs=3.3V>Vgs(th)=1.6V,MOS管导通,被拉低,输出低电平;

高阻态时,MOS管关断,通过上拉,输出高电平

  • 上拉电阻和速度的关系

开漏结构,所以结构上规定必须得上拉,

I2C上拉电阻确定有一个计算公式:

Rmin={Vdd(min)-o.4V}/3mA

Rmax=(T/0.874) *c, T=1us 100KHz, T=0.3us 400KHz

C是Bus capacitance

Rp最大值由总线最大容限(Cbmax)决定,Rp最小值由Vio与上拉驱动电流(最大取3mA)决定;

于是 Rpmin=5V/3mA≈1.7K(@Vio=5V)或者2.8V/3mA≈1K(@Vio=2.8V)

标 准模式,100Kbps总线的负载最大容限<=400pF;快速模式,400Kbps总线的负载最大容限<=200pF,根据具体使用情况、 目前的器件制造工艺、PCB的走线距离等因素以及标准的向下兼容性,设计中以快速模式为基础,即总线负载电容<200pF,也就是传输速度可以上到 400Kbps是不成问题的。于是Rpmax可以取的范围是1.8K~7K @ Vio=5V对应50pF~200pF

根据Rpmin与Rpmax的限制范围,一般取5.1K @ Vio=5V , 负载容限的环境要求也容易达到。在2.8V系统中,console设计选3.3K,portable/handset等低供耗的设计选4.7K牺牲速度换取电池使用时间

  1. 时序问题

  • 这两个图非常经典,理解了这两个图,也就是理解了整个I2C的时序

 

 

 

 

 

 

 

你可能感兴趣的:(硬件设计,接口)