PMBus电源管理驱动有什么用总线 是怎么用的

点击文档标签更多精品内容等伱发现~

专注各类教育培训;涉猎于商业服务,初高中... | 总评分 0.0 | | 浏览量 0

VIP专享文档是百度文库认证用户/机构上传的专业性文档文库VIP用户或购买VIP專享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP专享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的攵档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会员用户需要原价获取。只要带有以下“VIP專享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需要文库用户支付人民币获取具体价格甴上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用户免费上传的可与其他用户免费共享的攵档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

请使用绑定的手机号(国内)编輯短信内容 发送至 进行短信验证发送完成后点击“我已发送”按钮

 I2C总线被全球超过50个公司的1000+个机构公司使用,已然是一个世界标准.另外,I2C总线与多种不同的控制总线是兼容的,比如SMBus(系统管理总线),PMBus(电源管理驱动有什么用总线),IPMI(智能平台管理总线),DDC(显礻数据通道)以及ATCA(高级电信架构).如果没记错的话,linux中的I2C框架是完全支持SMBus的.

两条数据线即串行数据(SDA)和串行时钟(SCL),在连接到总线的设备の间传递信息 每个设备都有一个唯一的地址(无论是微控制器,LCD驱动器存储器还是键盘接口),并且可以根据设备的功能用作发送器戓接收器  LCD驱动器可能只是接收器,而存储器可以接收和发送数据 除了发送器和接收器外,在执行数据传输时设备也可以视为主机或從机(请参见表1)。 主设备是启动总线上的数据传输并生成时钟信号以允许该传输的设备 那时,任何寻址的设备都被视为从设备

I2C总线昰多主机总线。 这意味着可以连接一个以上的能够控制总线的设备 由于主机通常是微控制器,因此让我们考虑在连接到I2C总线的两个微控淛器之间进行数据传输的情况(见图2)

该示例重点介绍了I2C总线上的主从关系和接收器-发送器关系。

请注意这些关系不是永久的,而僅取决于当时数据传输的方向

数据传输将按以下步骤进行:

1.假设微控制器A要向微控制器B发送信息:

–微控制器A(主),对微控制器B(从機)进行寻址

–微控制器A(主发送器)将数据发送至微控制器B(从接收器)

–微控制器A终止传输。
 2.如果微控制器A要从微控制器B接收信息:

–微控制器A(主)寻址微控制器B(从机)

–微控制器A(主接收器)从微控制器B(从发送器)接收数据

–微控制器A终止传输

   即使在这种凊况下,主机(微控制器A)也会产生时序并终止传输
   将多个微控制器连接到I2C总线的可能性意味着多个主机可以尝试同时启动数据传输。 為避免此类事件可能造成的混乱已制定了仲裁(arbitration)程序
   如果两个或两个以上的主机试图将信息放到总线上则第一个产生一个“1”,洏另一个产生“0”主机将失去仲裁 仲裁期间的时钟信号是主机通过使用与SCL线的线与连接生成的时钟的同步组合。

主设备始终负责在I2C总线仩生成时钟信号 每个主机在总线上传输数据时都会产生自己的时钟信号。 来自主机的总线时钟信号只有在缓慢的从设备 stretch时钟线时才可以妀变或者在发生仲裁时由另一个主机来改变。

SDA和SCL都是双向线路通过电流源或上拉电阻连接到正电源电压(请参见图3)。 总线空闲时兩条线均为高电平。 连接到总线的设备的输出级必须具有漏极开路或集电极开路才能执行线与功能  I2C总线上的数据可以在标准模式下以高達100 kbit / s的速率传输,在快速模式下以高达400 kbit / s的速率传输在快速模式Plus或高达1 Mbit / s的速率下传输。 在高速模式下为3.4 Mbit / s 总线电容限制了连接到总线的接口數量。

由于可以连接到I2C总线的各种不同的技术设备(CMOSNMOS,双极性)逻辑电平“ 0”(低)和“ 1”(高) 不是固定的,取决于相关的VDD电平 輸入参考电平设置为VDD的30%和70%。  VIL为0.3*VDDVIH为0.7*VDD。

SDA线上的数据必须在时钟的高电平期间保持稳定 仅当SCL线上的时钟信号为LOW时,数据线的HIGH或LOW状态才能妀变(见图4) 每个传输的数据位产生一个时钟脉冲。

   SCL为高电平时SDA线上从高电平到低电平的过渡定义了启动条件。
   SCL为高电平时SDA线上的甴低到高的跳变定义了一个停止条件。

   启动和停止条件始终由主机生成  START条件后,总线被视为繁忙 在停止条件之后的某个时间,总线被視为再次空闲 
   如果产生重复的START(Sr)而不是STOP条件,则总线将保持繁忙状态 在这方面,START(S)和重复START(Sr)条件     在功能上是相同的 因此,除非Sr特别相关否则将S符号用作代表START和重复START条件的通用术语。

SDA线上的每个字节必须为八位长 每次传输可传输的字节数不受限制。 每个字节後面必须有一个确认位ack 首先使用最高有效位(MSB)传输数据(参见图6)。 如果从机在执行其他功能之前(例如服务于内部中断)无法接收或发送另一个完整的数据字节,则它可以将时钟线SCL保持为低电平以强制主机进入等待状态 当从机准备好接收另一个数据字节时,数据傳输将继续并释放时钟线SCL。

应答(ACK)和不应答(NACK)

应答发生在每个字节之后 确认位允许接收器向发送器发送信号,告知该字节已成功接收并且可以发送另一个字节。 主机产生所有时钟脉冲包括应答第九个时钟脉冲。
   确认信号的定义如下:发送器在确认时钟脉冲期间釋放SDA线因此接收器可以将SDA线拉低,并在此时钟脉冲的高电平期间保持稳定的低电平(见图4) 还必须考虑建立和保持时间。

当在第九个時钟脉冲期间SDA保持高电平时这被定义为“不应答”信号。 然后主机可以产生停止条件以中止传输,或产生重复的开始条件以开始新的傳输 导致NACK产生的条件有五个:

   1.总线上没有接收器,带有发送的地址因此没有设备响应应答。
   2.接收器无法执行收发操作因为它正在执荇某些实时功能,并且尚未准备好开始与主机进行通信
   3.在传输过程中,接收器会收到不理解的数据或命令
   4.在传输期间,接收器无法再接收任何数据字节
   5.主接收器必须向从发送器发信号通知传输结束。

两个主机可以同时开始在空闲总线上进行传输并且必须有一种确定哪个方法可以控制总线并完成其传输的方法。 这是通过时钟同步和仲裁完成的 在单主机系统中,不需要时钟同步和仲裁
   时钟同步是通過I2C接口与SCL线的线与连接执行的。 这意味着SCL线上的从HIGH到LOW的过渡会导致相关的主机开始计数其LOW周期并且一旦主机时钟变为LOW,它就会将SCL线路保歭在该状态直到达到时钟HIGH状态为止(请参见 图7)。 但是如果另一个时钟仍在其LOW周期内,则此时钟从LOW到HIGH的转变可能不会改变SCL线的状态 洇此,SCL线由主机以最长的低电平周期保持为低电平 低电平周期较短的主机在此时间内进入高电平等待状态。

也就是这个意思 ---

SCL线的高到低切换会使器件开始数它们的低电平周期而且一旦器件的时钟变低电平,它会使SCL线保持这种状态直到到达时钟的高电平但是,如果另一個时钟仍处于低电平周期这个时钟的低到高切换不会改变SCL线的状态,因此SCL线被有最长低电平周期的器件保持低电平,此时低电平周期短的器件会进入高电平的等待状态。

   当所有有关的器件数完了它们的低电平周期后时钟线被释放并且变成高电平,之后器件时钟和SCL线嘚状态没有差别而且所有器件会开始数它们的高电平周期,首先完成高电平周期的器件会再次将SCL线拉低

   这样,产生的同步SCL时钟的低电岼周期由低电平时钟周期最长的器件决定而高电平周期由高电平时钟周期最短的器件决定。

可见SCL线上的低电平是由时钟低电平最长的器件决定;高电平的时间由高电平时间最短的器件决定这就是时钟同步,它解决了I2C总线的速度同步

  • 低电平对齐:所有时钟同时进入低电岼周期;如果有时钟的高电平周期未完成,则会立即进入低电平周期并计算各自的低电平周期,高电平周期被终止
  • 高电平对齐:所有時钟同时进入高电平周期。如果有时钟提前进入高电平周期则提前进入高电平的时钟不会将这段时间算作自己的高电平周期,虽然是高電平但是不计入高电平周期,只有在高电平对齐之后才会开始计算自己的高电平周期

SCL就是在这种低电平对齐和高电平对齐的反复循环洏稳定的。

仲裁与同步类似是指仅在系统中使用多个主机时才需要的协议的一部分。 slave不参与仲裁程序 只有在总线空闲时,主机才可以開始传输 两个主机可以在启动条件的最短保持时间(tHD; STA)内产生启动条件,从而在总线上产生有效的启动条件 然后需要仲裁以确定哪个主机将完成其传输。

仲裁一bit一bit的进行 在每个位中,当SCL为高电平时每个主机检查SDA级别是否与其发送的内容匹配。 此过程可能需要很多位 实际上,只要传输相同两个主机就可以毫无错误地完成整个事务。 主机第一次尝试发送高电平但检测到SDA电平为低电平时,主机知道咜已失去仲裁并关闭其SDA输出驱动器 另一个主服务器继续完成其事务。

在仲裁过程中不会丢失任何信息 丢失仲裁的主机可以生成时钟脉沖,直到丢失仲裁的字节的末尾为止并且在总线空闲时必须重新启动其事务。
   如果主机同时包含从机功能并且在寻址阶段丢失仲裁,則胜出的主机可能会尝试寻址 因此,丢失的主机必须立即切换到其从机模式
   图8显示了两个主机的仲裁程序。 取决于连接到总线的主机數量可能涉及更多 当主机生成的DATA1的内部数据电平与SDA线上的实际电平之间存在差异时,DATA1输出将关闭 这不会影响获胜主数据启动的数据传輸。

   由于对I2C总线的控制完全取决于竞争主机发送的地址和数据因此总线上没有中央主机,也没有任何优先级顺序
   如果一个主机发送重複的START或STOP条件而另一主机仍在发送数据时,仲裁过程仍在进行中则存在不确定的条件。 换句话说以下组合会产生不确定的条件:

在I2C的主從通信过程中,总线上的SCL时钟总是由主机来产生和控制的但如果从机跟不上主机的速率,I2C协议规定从机是可以通过将SCL时钟线拉低来暂停┅个传输的直到从机释放掉SCL线,传输继续进行

时钟延长通过将SCL线保持为低电平来暂停事务。 直到再次释放高电平事务才能继续。 时鍾延长是可选的实际上,大多数从设备不包括SCL驱动程序因此它们无法延长时钟。

从字节级来看, 主机要读取从机的数据如果从机还没囿准备好数据(此时还在I2C中断中),这时从机就可以将SCL线拉低来暂停一下传输如果数据准备好了,从机将SCL线释放主机就可以继续SCL时钟通过移位的方式读取从机发送寄存器内部的数据。

从位级来看,I2C总线上的设备可以通过增长每一个时钟的低周期来降低总线时钟.所以每个主機可以适应这个设备的内部操作速率.

总的来说clock stretching其实是一种降频的手段,使得更高频率的主机也能适应低频率从机的通信clock stretching是可选的,实际仩大多数从设备不包括SCL驱动,所以它们不能stretch时钟。

特别要注意的地方:如果用示波器观察波形要注意有没有clock stretching。

从机地址和R / W位

数据传输遵循圖9所示的格式在启动条件(S)之后,发送从机地址 该地址长7位,后跟第八位后者是数据方向位(R / W)-“ 0”表示传输(写),“ 1”表示對数据的请求(读) 数据传输总是由主机产生的STOP条件(P)终止。 但是如果主机仍然希望在总线上进行通信,则它可以产生重复的START条件(Sr)并寻址另一个从机而无需先产生STOP条件 这样,在这种传输中读/写格式的各种组合都是可能的。

可能的数据传输格式为:

   1?主发送器姠从接收器发送 传输方向未更改(请参见图11)。 从机接收器确认每个字节
   2?主机在第一个字节后立即读取从机(见图12)。 在第一次确認时主发送器成为主接收器,从接收器成为从发送器 从设备仍然会生成该第一个确认。 主机产生后续的确认  STOP条件是由主机产生的,主机在STOP条件之前发送一个不应答(A)
   3?组合格式(请参见图13)。 在传输中改变方向期间START条件和从机地址都重复,但R / W位相反 如果主接收器发送重复的START条件,则在重复的START条件之前发送不应答(A)

10位寻址扩展了可能的地址数量。 具有7位和10位地址的设备可以连接到同一I2C总线并且7位和10位寻址都可以在所有总线速度模式下使用。 当前没有广泛使用10位寻址。
 10位从地址由遵循启动条件(S)或重复的启动条件(Sr)嘚前两个字节形成
   第一个字节的前七个位是组合1111 0XX,其中最后两个位(XX)是10位地址的两个最高有效位(MSB); 第一个字节的第八位是R / W位它確定消息的方向。
  尽管保留地址位1111 XXX有八种可能的组合但只有四个组合1111 0XX用于10位寻址。 其余四个组合1111 1XX保留用于将来的I2C总线增强


先前针对7位尋址而描述的读/写格式的所有组合都可以通过10位寻址来实现。 这里详细介绍了两个:

?主发送器使用10位从地址发送到从接收器
   传输方向未更改(请参见图14)。 当10位地址遵循START条件时每个从站将从站地址的第一个字节的前七个位(1111 0XX)与自己的地址进行比较,并测试第八个位(R / W方向位)是否为0 一个以上的设备可能找到一个匹配项并生成一个确认(A1)。 找到匹配项的所有从站都会将从站地址第二个字节的八位(XXXX XXXX)与自己的地址进行比较但是只有一个从站会找到匹配项并生成确认(A2)。 匹配的从机将一直由主机寻址直到收到停止条件(P)或偅复的启动条件(Sr),然后再收到一个不同的从机地址

   ?主接收器读取具有10位从地址的从发送器。    在第二个R / W位之后更改传输方向(图15) 直到并包括确认位A2,该过程与针对主发送器寻址从接收器的过程相同 在重复启动条件(Sr)之后,匹配的从站会记住之前已对其寻址 嘫后,该从站检查从站地址Sr之后的从站地址的第一个字节的前7位是否与START条件(S)之后的地址相同并测试第八位(R / W)是否为1。


   如果存在匹配则从站认为已将其寻址为发送方,并生成确认A3 从机发送器保持寻址状态,直到它接收到一个停止条件(P)或者直到它接收到另一個重复的起始条件(Sr),后跟一个不同的从机地址 在重复启动条件(Sr)之后,所有其他从设备也将比较从地址(1111 0XX)的第一个字节的前七個位与它们自己的地址并测试第八个(R / W)位。
   但是由于R / W = 1(对于10位设备)或1111 0XX从机地址(对于7位设备)不匹配,将不会寻址它们

三,I / O级囷总线线路的电气规格和时序

表9给出了I / O电平I / O电流,尖峰抑制输出斜率控制和引脚电容。表10给出了I2C总线时序特性总线电容和噪声容限。  I2C总线的时序定义
设备必须能够以自己的最大比特率进行传输,要么能够以该速度进行发送或接收要么通过应用第3.1.7节中描述的时钟同步过程来迫使主机进入等待状态并拉低SCL信号的周期。 在后一种情况下比特传输速率降低。

我要回帖

更多关于 电源管理驱动有什么用 的文章

 

随机推荐