SMBus与I2C的差别
The I²C 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。
其他
由于看不是很懂,所以直接看链接上的内容吧。
SMBus与I2C的差别的更多相关文章
- SMBUS与I2C
SMBUS(系统管理总线)基于I2C总线,主要用于电池管理系统中.它工作在主/从模式:主器件提供时钟,在其发起一次传输时提供一个起始位,在其终止一次传输时提供一个停止位:从器件拥有一个唯一的7或10位 ...
- 针对piix4_smbus ****host smbus controller not enabled的解决方法
SMBus 目录 SMBus与I2C的差别 SMBus 是 System Management Bus 的缩写,是1995年由Intel提出的,应用于移动PC和桌面PC系统中的低速率通讯.它主要是希望 ...
- Linux设备驱动模型之I2C总线
一.I2C子系统总体架构 1.三大组成部分 (1)I2C核心(i2c-core):I2C核心提供了I2C总线驱动(适配器)和设备驱动的注册.注销方法,提供了与具体硬件无关的I2C读写函数. (2)I2 ...
- SMBus
SMBus (System Management Bus,系统管理总线) 是1995年由Intel提出的,应用于移动PC和桌面PC系统中的低速率通讯.希望通过一条廉价并且功能强大的总线(由两条线组成) ...
- i2c总线驱动,总线设备(适配器),从设备,从设备驱动的注册以及匹配
常用链接 我的随笔 我的评论 我的参与 最新评论 我的标签 随笔分类 ARM裸机(13) C(8) C++(8) GNU-ARM汇编 Linux驱动(24) Linux应用编程(5) Makefile ...
- I2C总线驱动框架详解
一.I2C子系统总体架构 1.三大组成部分 (1)I2C核心(i2c-core):I2C核心提供了I2C总线驱动(适配器)和设备驱动的注册.注销方法,I2C通信方法(”algorithm”)上层的,与 ...
- SMBUS的介绍与访问
博文是为了总结自己在bios学习上面的点点滴滴,并且加深印象,由于本人水平有限,难免存在不足之处,望指正,同时感谢CSDN提供的平台.本文主要介绍的是SMBUS. 1 SMBUS的简介 特点: SM ...
- Linux I2C总线控制器驱动(S3C2440)
s3c2440的i2c控制器驱动(精简DIY),直接上代码,注释很详细: #include <linux/kernel.h> #include <linux/module.h> ...
- Linux I2C设备驱动编写(一)
在Linux驱动中I2C系统中主要包含以下几个成员: I2C adapter 即I2C适配器 I2C driver 某个I2C设备的设备驱动,可以以driver理解. I2C client 某个I2C ...
随机推荐
- 课程四(Convolutional Neural Networks),第二 周(Deep convolutional models: case studies) ——3.Programming assignments : Residual Networks
Residual Networks Welcome to the second assignment of this week! You will learn how to build very de ...
- Django --ORM常用的字段和参数 多对多创建形式
1 ORM字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型 ...
- ACM学习<一>
c++指针|指针入门 什么是指针? 其实指针就像是其它变量一样,所不同的是一般的变量包含的是实际的真实的数据,而指针是一个指示器,它告诉程序在内存的哪块区域可以找到数据.这是一个非常重要的概念,有很多 ...
- Python 虚拟环境 | Mac/Linux下如何避坑安装配置Virtualenv
1.为什么要使用虚拟环境 在Python中,不同的应用可能需要用到不同版本的第三方包,而这些第三方包被统一存放到目录site-packages中,不同版本的包容易相互覆盖,如安装Django 2.1时 ...
- tensorflow 导入gfile模型文件
with tf.gfile.GFile(os.path.join(self.model_dir, 'ner_model.pb'), 'rb') as f: graph_def = self.tf.Gr ...
- MVC中子页面如何引用模板页中的jquery脚本
MVC中子页面如何引用模板页中的jquery脚本 最近在学习mvc,遇到了一个问题:在html页面中写js代码,都是引用mvc5自带的jquery脚本,虽然一拖(将指定的jquery脚本如 jquer ...
- ajax 跨域----好用的解决方案
一.前言 跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了! 但是感觉还是差了点什么,于是现在重新梳理了一下.个人见识有限,如有差错,请多多见谅 二.前言 关于跨 ...
- WCF Service 转换为Web Service 中字段属性
1.新建WCF服务,服务中包含对象 2.部署WCF服务,并将其转换为应用程序 3.通过添加服务引用,使用WCF服务 4.调用对应的对象时需要对应的值设置为True. 参考:https://cloud. ...
- java - Jsoup原理
https://blog.csdn.net/xh16319/article/details/28129845 http://www.voidcn.com/article/p-hphczsin-ru.h ...
- 移动端FastClick和editor冲突问题。
FastClick.prototype.needsClickForParent = function (target) { let parent = target.parent ...