详解电源管理总线(PMBus)数字电源开放标准协议
扫描二维码
随时随地手机看文章
PMBus(电源管理总线)开放标准规范定义了一个用来控制功率转换和管理器件的数字通信协议。在供电要求较复杂的系统中,通常使用多个DC/DC转换器来产生不同的半导体器件所需要的供电要求。导致一个明显结果就是在产品设计、生产测试及日常使用的过程中,控制和监测这些电源将变得更加复杂。
目前,许多高性能DC/DC转换器仍然通过无源元件产生的模拟信号来进行控制。即使采用最先进的电源电路拓扑,也不得不使用外部的电位器和电容来调节诸如启动时间、输出电压值及开关频率等参数,而且这些参数不能随时更改。
PMBus是一种开放型标准的数字电源管理协议。可通过定义传输和物理接口以及命令语言来实现变换器与其他设备的通信。PMBus的传输层是基于低成本的SMBus(系统管理总线)的1.1版本,这是个功能强健、符合工业现场应用标准的I2C串行总线的版本,具有分组校验和主机通知的功能。
PMBus继承了SMBus的SMBALERT信号,该信号可使从属设备中断系统主机对总线的控制,此方式一方面减少了系统主机的负担,使主机在大多数时间内进行闭环控制;另一方面比用专门的微控制器来查询的方式更灵活。此外,PMBus协议将从属设备的默认配置数据保存在永久性存储器内或者在硬件上设置好,在上电的过程中,不需通过总线通信来得到初始配置信息,缩短了启动时间,也减少了一部分总线数据传输。除了SMBus的时钟、数据及中断线之外,PMBus协议还规定了两种与电源转换设备共同使用的硬件信号,一个是与总线发出的命令共同使用的控制信号,用于启动和关闭单个从属设备;另一个是可选的“写保护”信号,用于防止更改从属设备存储器中的数据。
与其他总线不同的是PMBus的主控设备不是专门的集成电路,这给进行电源管理的主控设备选型提供了灵活性。当电源系统比较庞大时,可以采用PC机配置相应的数据采集板卡来完成各种管理功能,而对于较小的电源系统则可以是单板上现成的微处理器、一些额外的低成本的微控制器或者是PLD器件中的一些门。在产品开发的不同阶段,可以使用不同的设备作为PMBus的主机。在单板设计阶段,一台便携式电脑可以作为总线主机;而在产品实际应用时,则使用板上主处理器中的一些硬件资源来控制PMBus总线。在开发阶段,可以通过PMBus总线动态修改从属设备中的设定值和配置,对于不同的电源系统,可以借鉴相同的PMBus总线配置,只需修改某些特定数据。最终通过测试的设定值和配置通过写保护功能永久保存在从属设备的存储器之中。图1所示为一个基于PMBus的数字电源管理典型连接结构图。
图1基于PMBus的数字电源管理典型连接结构图
PMBus的通信是按照一个简单的命令集进行的。每个数据包包含一个地址字节、一个命令字节、若干个数据字节,以及一个可选的包检验码字节。图2所示为一个主机到转换器的信息传输。主机使用单独的“开始”和“停止”来表明进程开始和结束。而从属设备则使用单独的位来确认收到的每个字节。
图2一个主机到转换器的信息传输示意图
与其他总线协议不同的是,PMBus总线不会等待专门的“执行”命令,从属设备在收到“停止”信号后,立即处理并执行命令,符合电源管理的快速性要求。由于在开发之初就考虑到其开放性和超前性,PMBus总线协议支持的指令集可以提供两个命令的扩展,该扩展可以有效地允许双字节命令。一个扩展留给PMBus设备的生产商,另一扩展则由于协议本身的后续升级和修订。实际应用中,PMBus协议简单实用的指令集使得电源管理程序的编写更加快速、简便。负载点转换器的电压时序控制的实现就是很好的例子。上电时序控制对应着有两个PMBus命令,TON_DE2LAY命令设定了转换器等待开始上电的时间,而TON_RISE则设定了从零增加到设定输出值的时间。所以,用户可以通过相关软件即可对每个转换器的启动延迟和上升时间进行设定。同样,对于掉电时序控制,也有对应的掉电延迟命令TOFF_DELAY和下降时间TOFF_FALL设定。显而易见,对于整个供电系统的启动和掉电的时序控制通常只需要4个PMBus命令来设定。PMBus已经得到了业界的认可。