设计类相关网站,大学生创意产品设计,外贸工厂网站做seo多吗,wordpress 浮窗1.概述#xff1a;系统管理总线是一种两线制接口。它基于I2C 总线原理演变而来#xff0c;可以认为是简化版的I2C总线。SMBus最初是应用到智能电池#xff0c;如电池充电器和一个微控制器。其提供一个系统和电源管理相关的任务控制总线。如今#xff0c;SMBus总线可以连接的…1.概述系统管理总线是一种两线制接口。它基于I2C 总线原理演变而来可以认为是简化版的I2C总线。SMBus最初是应用到智能电池如电池充电器和一个微控制器。其提供一个系统和电源管理相关的任务控制总线。如今SMBus总线可以连接的设备类型更多样化包括与电源相关的设备系统的传感器EEPROM的容量等设备的信息通信。SMBus体现在OSI模型的下三层物理数据链路网络。物理层定义了了SMBus的电气特性数据链路层部分规范化位、字节的数据传输仲裁和时钟信号网络层处理处理SMBus地址解析协议和总线数据传输协议。2.通用特性1)物理层DC特性AC特性2)数据链路层按通用思想使用电平的高低代表逻辑的0和1数据有效性数据必须在时钟的高电平周期保持稳定数据的状态只能在时钟低电平的情况下才能改变开始和停止条件(与I2C相同)在SMBCLK 线是高电平时SMBDAT 线从高电平向低电平切换表示数据传输开始当SMBCLK 线是高电平时SMBDAT 线由低电平向高电平切换表示数据传输停止总线空闲SMBCLK 和SMBDAT 线都处于高电平期间,总线空闲。数据传输数据传输以字节为单位传输的字节数量不限但是每个字节后必须紧跟一个ACK响应。首先传输的是数据的最高位MSB。我们知道在I2C协议中存在clock stretching特性当一组数据传输完成接收器也回传ACK信号后如果接收器需要一段时间来储存收到的数据则可以利用控制SCL引脚为低电平的方式——将SCL维持为低电平直到接收器能够接受下一组数据为止(所以也可以理解为什么I2C的CLK为双向的原因)。那么同样在SMBus总线中也存在这样的功能从机要完成一些其他功能(例如一个内部中断服务程序) 后才能接收或发送下一个完整的数据字节可以使时钟线SCL 保持低电平迫使主机进入等待状态当从机准备好接收下一个数据字节并释放时钟线SCL 后数据传输继续。3)网络层模型支持SMBus的主、从器件。从器件会被分配给唯一的地址但有些地址是被协议保留不能再分配给任何器件的它们如下图所示总线协议下面已写、读字节/字为例描述具体的协议过程写字节/字主器件在发送完从器件地址(Slave Address)后发送写入位(Wr)。从器件响应ACK。主器 件再次发命令码(Command Code)从器件再次确认ACK主机发送数据字节或字(低字节在前)。 从器件ACK 每一个字节整个传输在停止条件后结束。读字节/字读数据要比写数据稍微复杂一些。首先主机要写请求命令到从设备。重发一次起始条件(S地址)从器件 将返回一或两个字节的数据。重发起始信息之没有停止位在读完成后主器件要发NACK。SMBus协议还支持块的读写操作在Command Code后加需要读写的字节数目在这里地址的重复操作起到了改变传输方向的作用。3)SMBus的可选信号SMBSUS#信号系统进入待机模式时SMBSUS变低。待机模式是指当大部分设备休眠或断电时一个低功率模式。一旦恢复SMBSUS电平拉高。之后所有设备回到运行状态。SMBALERT#该引脚连接至主器件作为中断信号线使用。多个从器件可以通过线与连接至一个主器件引脚系统通过仲裁决定从地址通信的权利。4)I2C与SMBus的区别DC specI2C的Hi/Lo逻辑准位有两种认定法相对认定与绝对认定相对认定是依据Vdd的电压来决定Hi为0.7 VddLo为0.3 Vdd绝对认定则与TTL准位认定相同直接指定Hi/Li电压Hi为3.0VLo为1.5V。SMBus只有绝对认定Hi为2.1VLo为0.8V与I2C有部分交集。不过SMBus后来也增订一套更低电压的准位认定Hi为1.4VLo为0.6V这是为了让运用SMBus的装置能更省成本而有的作法。电流SMBus在低功耗的表现方面优于I2C。I2C 指定连接到总线上的每个设备的最最大漏电流为10 微安。SMBus 1.0 版本规定的最大漏电流为1 微安。为减低SMBus 设备测试成本SMBus 1.1 版本规定要求放宽至5 微安。相比于I2C对于总线电容的限制SMBus并没有对此做任何规定。但是它指出了IPULLDOWN 的最大电流是350uA。那么可以计算出VDD3.3V时电阻值应大于9.4K。频率I2C提供了两种操作模式标准模式(100 KHz)和快速模式(400 KHz)SMBus的时钟频率在10KHz~100KHz之间。时序I2C对信号的时序并没有强制的要求SMBus规定了数据的setuptime、holdtime必须满足一定的条件(参见上面SMBus的AC标准)ACK与NACK通常情况下I2C协议中主控端发送端(主控端)要与接收端(受控端)通讯前会在总线上广播受控端的地址 信息每个接收端都会接收到地址信息但只有与该地址信息相切合的接收端会在地址信息发布完后发出 「已妥」的回应(AcknowledgeACK)让发送端知道对应的接收端确实已经备妥可以进行通讯。但是I2C并没有强制规定接收端非要做出响应不可也可以默不作声即便默不作声发送端还是会继续工作开始进行数据传递及下达读写指令如此的机制在一般运用中还是可行但若是在一些实时 (Real Time)性的应用上任何的动作与机制都有一定的时限要求这种可有可无式的响应法就会产生问 题可 能会导致受控端无法接收信息。 相同的情形在SMBus上是不允许接收端在接收地址信息后却不发 出回应每次都要回应为何要强制回应 其实与SMBus的应用息息相关SMBus上所连接的受控装置有 时是动态加入、动态移除的例如换装一颗新 电池或笔记本电脑接上DOCK PORT等如果接入的装置已 经改变却没有回应则主控端的程序所掌握的并 非是整体系统的最新组态就会造成误动作。SMBus协议的格式属于I2C定义格式中的子集。I2C可以通过SMBus协议访问与SMBus兼容的设备。参考资料1)SMBus系统管理总线2)https://www.kernel.org/doc/Documentation/i2c/smbus-protocol转载自http://blog.sina.com.cn/s/blog_a438e5290102w4df.html