发布时间:2025-12-09 22:25:19 浏览次数:14
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 每一个字 节,整个传输在停止条件后结束。读字节/字:
在这里,地址的重复操作,起到了改变传输方向的作用。
电流: SMBus在低功耗的表现方面优于I2C。 I2C 指定连接到总线上的每个设备的最最大漏电流为10 微安。SMBus 1.0 版本规定的最大漏电流为1 微 安。为减低SMBus 设备测试成本SMBus 1.1 版本规定要求放宽至5 微安。 相比于I2C对于总线电容的限制,SMBus并没有对此做任何规定。但是它指出了IPULLDOWN 的最大电流是 350uA。那么可以计算出VDD=3.3V时,电阻值应大于9.4K。 频率: I2C提供了两种操作模式,标准模式(100 KHz)和快速模式(400 KHz); SMBus的时钟频率在10KHz~100KHz之间。 时序:
转载自:http://blog.sina.com.cn/s/blog_a438e5290102w4df.html