SMBus与I2C的差别

The I2C bus and the SMBus are popular 2-wire buses that areessentially compatible with each other.

-- i2c SMBus
Timeout No Yes
Minimum Clock Speed DC 10KHz
Maximum Clock Speed 100kHz (400kHz and 2MHz also available) 100kHz
VHIGH 0.7 × VDD, 3.0V Fixed 2.1V
VLOW 0.3 × VDD, 1.5V Fixed 0.8V
Max I 3mA 350μA
Clock Nomenclature SCL SMBCLK
Data Nomenclature SDA SMBDAT
General Call Yes Yes
Alert# No Yes

SMBus与I2C的差别

详细参考: SMBus与I2C的区别

SMbus 最早是由 Intel 公司提出来的. 现在由 SBS 管理维护这一个规格. 此规格是用 Philips 的 I2C 简化而来. SMbus 是由两条讯号所组成的一种汇流排. 是为了在系统上较慢速的装置及电源管理装置之间的沟通使用. 使系统可取得这些装置的制造厂商,型号,一些控制资讯,错误讯息及状态.

运作频率

 先以运作频率来说,I2C此方面相当宽裕,最低频可至0Hz(直流状态,等於时间暂停),高可至100kHz(Standard Mode)、400kHz(Fast Mode)、乃至3.4MHz(High Speed Mode),相对的SMBus就很拘限,最慢不慢於10kHz,最快不快於100kHz。很明显的,I2C与SMBus的交集运作频率即是10kHz~100kHz间。

数据停留时间

传速要求之后还有数据停留时间(Data Hold Time)的要求,SMBus规定SMBCLK线路的准位下降后,SMBDAT上的资料必须持续保留300nS,但I2C却没有对此有相同的强制要求。类似的,SMBus对介面被重置(Reset)后的恢复时间(Timeout)也有要求,一般而言是35mS,I2C这方面亦无约束,可以任意延长时间。相同的SMBus也要求无论是在主控端(Master)或受控端(Slave),其时脉处於Lo准位时的最长持续时间不得超越限制,以免因为长时间处在Lo准位,而致收发两端时序脱轨(失去同步,造成后续误动作)。

电流限制

既然对电流有限制,那麼也可容易地推断对提升电阻的阻值之范围要求,I2C在5V Vdd时当大於1.6k ohm,在3V Vdd时当大於1k ohm,类似的SMBus於5V Vdd时当大於14k ohm,3V Vdd时当大於8.5k ohm,不过这个定义并非牢不可破,就一般实务而言,在SMBus上也可用2.4k~3.9k ohm范畴的阻值。

电容限制

再者是相关限制,I2C有线路电容的限制,SMBus却没有,但也有相类似的配套规范,即是准位下拉时的电流限制,当SMBus的开集极接脚导通其闸极而使线路接地时,流经接地的电流不得高於350uA,另外拉升电流(即相同的开集极接脚开路时)也一样有规范,最小不低於100uA,最高也是不破350uA。

其他

由于看不是很懂,所以直接看链接上的内容吧。

原文地址:https://www.cnblogs.com/linhaostudy/p/9216663.html

时间: 2024-11-08 13:44:48

SMBus与I2C的差别的相关文章

SMBus

SMBus (System Management Bus,系统管理总线) 是1995年由Intel提出的,应用于移动PC和桌面PC系统中的低速率通讯.希望通过一条廉价并且功能强大的总线(由两条线组成),来控制主板上的设备并收集相应的信息. 1简介 SMBus (System Management Bus,系统管理总线) 是1995年由Intel提出的,应用于移动PC和桌面PC系统中的低速率通讯.它主要是希望通过一条廉价并且功能强大的总线(由两条线组成),来控制主板上的设备并收集相应的信息. SM

I2C从驱动到应用(上篇)

I2C(Intel-Integrated Circuit)总线是由Phliphs公司开发的一种两线式串行总线,用于连接外围设备和微控制器.应用非常广泛,可以用在连接E2ROM来保存各种接口卡.显示器上的ROM信息 ,也可以用在BMC上来连接各种温度.电压.电流等传感器,还可以用来连接内存条DIMM上,用来获取内存条的信息.Smbus兼容i2c,虽然信号引脚定义上有出入,但从软件的角度上基本上可以视作I2C,I2C的应用几乎不要任何修改就可以运行在Smbus上. 硬件上I2C只有两个信号线,数据线

i2c驱动程序全面分析,从adapter驱动程序到设备驱动程序

开发板    :mini2440 内核版本:linux2.6.32.2 驱动程序参考:韦东山老师毕业班i2c 内容概括: 1.adapter client 简介 2.adapter 驱动框架 2.1 设备侧 2.2 驱动侧 2.2.1 probe 函数 2.2.1.1 注册adapter new_device del_device board_info i2c_detect i2c_new_device 3.i2c 设备驱动框架 3.1 i2c_bus_type 3.2 i2c_driver 3

[Linux] I2C设备读写及文件节点创建

Linux Kernel Version:3.0.35 Platform:Freescale DSA2L 通过I2C读取VGA屏的EDID信息(主要是分辨率),解析后喂给CH7036芯片(LVDS转VGA,DVI,HDMI芯片),提供文件节点给User Space. 代码流程 由于EDID协议规定I2C的读取Slave地址为0x50,所以先添加Device注册代码: i2c.h #define I2C_BOARD_INFO(dev_type, dev_addr) \ .type = dev_ty

Linux I2C设备驱动编写(一)

在Linux驱动中I2C系统中主要包含以下几个成员: I2C adapter 即I2C适配器 I2C driver 某个I2C设备的设备驱动,可以以driver理解. I2C client 某个I2C设备的设备声明,可以以device理解. I2C adapter 是CPU集成或外接的I2C适配器,用来控制各种I2C从设备,其驱动需要完成对适配器的完整描述,最主要的工作是需要完成i2c_algorithm结构体.这个结构体包含了此I2C控制器的数据传输具体实现,以及对外上报此设备所支持的功能类型

【转】Linux I2C设备驱动编写(一)

原文网址:http://www.cnblogs.com/biglucky/p/4059576.html 在Linux驱动中I2C系统中主要包含以下几个成员: I2C adapter 即I2C适配器 I2C driver 某个I2C设备的设备驱动,可以以driver理解. I2C client 某个I2C设备的设备声明,可以以device理解. I2C adapter 是CPU集成或外接的I2C适配器,用来控制各种I2C从设备,其驱动需要完成对适配器的完整描述,最主要的工作是需要完成i2c_alg

总线概述及常见总线(转)

一. 总线概念 所谓总线(Bus),是指计算机设备和设备之间传输信息的公共数据通道.总线是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是由总线上的所有设备共享,可以将计算机系统内的多种设备连接到总线上.如果是某两个设备或设备之间专用的信号连线,就不能称之为总线.系统总线架构图如下所示: 微机中的总线分为数据总线.地址总线和控制总线3类.不同型号的CPU芯片,其数据总线.地址总线和控制总线的条数可能不同. 数据总线DB用来传送数据信息,是双向的.CPU既可通过DB从内存或输入设备读入数

I2C与SMBus

关于I2C与SMBus,许多人很少去谈论与了解两者的细节差异,包括很多国外的简报,文章也经常将两者混写.交杂描述.交替运用. 确实,在一般运用下,I2C Bus与SMBus没有太大的差别,从实际接线上看也几乎无差异,甚至两者直接相连多半也能相安无误地正确互通并运作.不过若真要仔细探究,其实还是有诸多不同,如果电子设计工程师不能明辨两者的真实差异,那么在日后的开发设计的验证纠错阶段必然会产生困扰,为此本文将从各层面来说明I2CBus与SMBus的细微区别,期望能为各位带来些许帮助. 运用背景.版本

【转】I2C总线协议

I2C总线(Inter Integrated-Circuit)是由PHILIPS公司在上世纪80年代发明的一种电路板级串行总线标准,通过两根信号线--时钟线SCL和数据线SDA--即可完成主从机的单工通信.总线硬件连接极其简单,不同I2C设备挂接在总线上,只需在信号线安装上拉电阻即可完成硬件线路的搭建.另外,I2C总线采用器件地址的硬件设置方法,通过软件寻址方式完全避免了片选寻址的弊端,从而使硬件系统扩展更为灵活. 由于简单有效,I2C在业界得到广泛应用.基于I2C衍生出来的标准有SMBus.P