0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用PMbus协议对Power IC进行控制

YCqV_FPGA_EETre 来源:FPGA开发圈 作者:FPGA开发圈 2020-12-02 16:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

PMBus(Power Management Bus)是一种电源管理总线一种控制电源转换器的开放的标准协议。它脱胎于基于I2C和SMBUS(System Management Bus),但是定义了很多和电源管理相关的命令。可以说是之前的I2C是物理层(具体Slave会有指令集,但只是怎么该slave,没有统一的指令集),而现在的PMbus却有了协议层,如果想用PMbus就必须遵守该规范,这就有了统一的协议,加速了它的推广和应用。现在很多可编程的PowerIC都引用了这个PMbus协议。

•PMBus运行时控制和状态

–通过调整VREF实现运行时电压定位

–使能和禁用每个开关

–故障和状态监视

•用户可配置的PMBus/I2C选项,保存在EEPROM

–电源接通和关断排序

–可基于固定时间延迟或PGOOD实现电源排序

–通过VREF配置实现初始电压定位

–针对每个开关调节PWM频率

–针对每个开关单独进行PWM相位对齐以尽可能减小纹波和电容器尺寸

–可调节每个稳压器的电流限制以优化电感器的尺寸和成本

–软启动时间

一、硬件设计

1.1电感选择

根据电感选择公式

注:is the current ripple in the inductor通常取最大电流的0.1~0.3。Vin为12V±10%

我们需要的电压大概范围是2~6V,电流0.5~2A,为2.2MHZ。代入公式计算得到1.26uH~27.27uH。

选择通常用的值,,电流2A,为2.2MHZ,带入可得2.8uH。

1.2输出电容选择

纹波范围一般会在10mA~500mA,如果选择100mA得以得到输出容大约0.003uF~6.15uF。

选择完电感和输出电容,就可以根据不同的模式连接电路了这里可以自由参考datasheet设计。

二、代码设计

2、1数据格式

图1 Send Byte Protocol With PEC

图2Write Byte Protocol With PEC

When data is transmitted, the lowest order byte is sent first and the highest order byte is sent last.

Within any byte, the most significant bit (MSB) is sent first and the least significant bit (LSB) is sent last.

7位的Slaveaddress是根据I2CADDR上的电阻确定,不同的阻值地址不同。Wr指读写标志位,1指读;0指写。8位的Commandcode这里指器件的寄存器地址。Databyte是向寄存器写入的数值。TPSXX支持的PEC(Packet Error Checking)代码,该代码将在每次读写操作结束时进行验证。PEC计算的内容包括Salver address(包括Wr), Command code和Data bytes for。

2.2 PEC计算

由于TPSXX的PEC是默认使能的,平且该寄存器是只读寄存器。

图3 CAPABILITY COMMAND Data Byte Contents

在发送端和接收端都需要进行PEC的计算。PMbus的PEC计算是采用8-bit循环冗余校验码(cyclic redundancy check)CRC-8。

介绍一下CRC-8:

CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。

图3参数模型

NAME:参数模型名称。
WIDTH:宽度,即CRC比特数。
POLY:生成项的简写,以16进制表示。例如:CRC-32即是0x04C11DB7,忽略了最高位的"1",即完整的生成项是0x104C11DB7。
INIT:这是算法开始时寄存器(crc)的初始化预置值,十六进制表示。
REFIN:待测数据的每个字节是否按位反转,True或False。
REFOUT:在计算后之后,异或输出之前,整个数据是否按位反转,True或False。
XOROUT:计算结果与此参数异或后得到最终的CRC值。

从上表可以看出CRC-8的生成项C(x) =x8 +x2 + x +1;INIT和XOROUT都是00;REFIN和REFOUT都是false。

具体的计算过程:

将多项式转化为二进制序列,由C(x) = x8+ x2 +x+1可知二进制一共有9位,第8位、第2位、第1位和第0位分别为1,则序列为100000111。

举个例子要计算的数据为24-bit数据da00ff(16进制),多项式的最高次为8,则在数据的后面加上8位0,数据变为da00ff00(16进制),然后使用模2除法(异或运算)除以除数100000111,最终得到的除不尽的余数,变为我们要求的CRC-8结果。

图4模2除法计算

为了得到并行输出的结果,需要把data分解一下。该电源的有效数据是24bits,我们就以24-dit数据为例。Data为D(x),生成项为C(x),Di为D(x)的第i位(0≤i≤23,整数),Dn为D(x)的第n位,且为“1”(0≤n≤23,整数),“^”为异或,“÷”为模二除法。

CRC(x)=D(x)÷C(x)……………………………………………………①

D(x)= D23^D22^D21^D20^……^D0 ………………………………②

②代入①

CRC(x)=(D23÷C(x))^(D22÷C(x))^……^(D0÷C(x))

如果D(x)为24’hFFFFFF时,D23、D22、……D0都是定值,故他们与生成项C(x)的模二除法的结果是固定的,如表1。如果D(x)中有哪位是”0”,则它对应的模二除法结果就为00。就是说,如果Di为“1”时就按下表中Dn的CRC-8计算结果,如果是“0”那么此位的计算结果就是“00”,可以推出,Di与与Dn的CRC-8计算结果是“&”的关系,如果Dn的CRC-8计算结果相应位为零,此项就可以省区,又异或是按位计算则可并行得到需要的结果。

以CRC-8的第7位的计算为例。

从Dn的CRC-8的计算结果中,最高位为“1”的有D22、D20、d[18]、d[17]、 d[15]、 d[13]、 d[11]、d[7]、 d[6]、 d[5]。然后对这些位做异或,就可以得到crc[7]。

crc[7] = d[22] ^ d[20] ^ d[18] ^ d[17] ^ d[15] ^ d[13] ^ d[11] ^ d[7] ^ d[6] ^ d[5]

按上述方法可以得到:

crc[0] = d[23] ^ d[21] ^ d[19] ^ d[18] ^ d[16] ^ d[14] ^ d[12] ^ d[8] ^ d[7] ^ d[6] ^ d[0];

crc[1] = d[23] ^ d[22] ^ d[21] ^ d[20] ^ d[18] ^ d[17] ^ d[16] ^ d[15] ^ d[14] ^ d[13] ^ d[12] ^ d[9] ^ d[6] ^ d[1] ^ d[0];

crc[2] = d[22] ^ d[17] ^ d[15] ^ d[13] ^ d[12] ^ d[10] ^ d[8] ^ d[6] ^ d[2] ^ d[1] ^ d[0];

crc[3] = d[23] ^ d[18] ^ d[16] ^ d[14] ^ d[13] ^ d[11] ^ d[9] ^ d[7] ^ d[3] ^ d[2] ^ d[1];

crc[4] = d[19] ^ d[17] ^ d[15] ^ d[14] ^ d[12] ^ d[10] ^ d[8] ^ d[4] ^ d[3] ^ d[2];

crc[5] = d[20] ^ d[18] ^ d[16] ^ d[15] ^ d[13] ^ d[11] ^ d[9] ^ d[5] ^ d[4] ^ d[3];

crc[6] = d[21] ^ d[19] ^ d[17] ^ d[16] ^ d[14] ^ d[12] ^ d[10] ^ d[6] ^ d[5] ^ d[4];

crc[7] = d[22] ^ d[20] ^ d[18] ^ d[17] ^ d[15] ^ d[13] ^ d[11] ^ d[7] ^ d[6] ^ d[5];

数据代号 数据 Dn的CRC-8
D23 800000 0B
D22 400000 86
D21 200000 43
D20 100000 A2
D19 080000 51
D18 040000 AB
D17 020000 D6
D16 010000 6B
D15 008000 B6
D14 004000 5B
D13 002000 AE
D12 001000 57
D11 000800 A8
D10 000400 54
D9 000200 2A
D8 000100 15
D7 000080 89
D6 000040 C7
D5 000020 E0
D4 000010 70
D3 000008 38
D2 000004 1C
D1 000002 0E
D0 000001 07

表1分式CRC-8计算结果

三、仿真结果

图5CRC-8程序仿真

图6PMBUS仿真

图5中d[23:0]为需要传输的有效位(需要计算PEC部分),newCRC_D24[7:0]为计算得到的PEC结果。

图6中i2c_scl_out1和i2c_sda1是PMBUS的两根传输线,link_data1是ack应答信号标志位。

总结一下,此次我们用PMbus协议对Power IC进行控制,主要是最PEC部分进行了说明,从最终的结果看,输出电压都在我的预想范围内,可以说取得了不错的效果。在此感谢紫光同创和黑金科技提供的PGL22G硬件平台。

责任编辑:xj

原文标题:紫光同创PGL22G开发平台试用连载(1)——PMbus调试经验

文章出处:【微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PMBus
    +关注

    关注

    3

    文章

    182

    浏览量

    32053
  • 开发平台
    +关注

    关注

    0

    文章

    118

    浏览量

    16919
  • 紫光
    +关注

    关注

    2

    文章

    437

    浏览量

    35135

原文标题:紫光同创PGL22G开发平台试用连载(1)——PMbus调试经验

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LTC2980:16通道PMBus电源系统管理器的深度解析

    LTC2980:16通道PMBus电源系统管理器的深度解析 在电子设备的电源管理领域,高效、精准且可靠的电源系统管理器至关重要。今天,我们就来深入探讨一款强大的16通道PMBus电源系统管理
    的头像 发表于 05-25 13:10 113次阅读

    LTM4675 PMBus命令详解及应用指南

    LTM4675 PMBus命令详解及应用指南 在电子工程师的日常工作中,电源管理模块的设计与调试是至关重要的环节。LTM4675作为一款功能强大的电源模块,其PMBus命令集为工程师提供了丰富的控制
    的头像 发表于 05-25 11:40 286次阅读

    探索DC1613A:I2C/SMBUS/PMBUS控制器的技术之旅

    探索DC1613A:I2C/SMBUS/PMBUS控制器的技术之旅 在电子工程的广阔领域中,控制器的性能和功能对于系统的稳定性和效率起着至关重要的作用。今天,我们将深入探讨DC1613A这款USB
    的头像 发表于 05-25 09:10 205次阅读

    max20830无上位机PmBUS控制或初始化,是否可以输出默认电压?

    如图中原理图,希望输出2.94V电压,无上位机PmBUS控制,直接输出电压?是否可行?当前没有电压输出,是什么原因?希望指教
    发表于 05-12 07:19

    Power Integrations推出两款基于TinySwitch-5 IC的电源参考设计

    近期,Power Integrations 推出两款电源参考设计——RDK-1016与RDK-1040。这两款参考设计均搭载TinySwitch-5高度集成离线式开关IC,专为家电、工业及商业应用场景打造 ,旨在帮助电源工程师实现更高效率、更小体积及更低待机功耗的电源设计
    的头像 发表于 05-07 09:20 843次阅读
    <b class='flag-5'>Power</b> Integrations推出两款基于TinySwitch-5 <b class='flag-5'>IC</b>的电源参考设计

    探索MCP19111:PMBus协议赋能的负载点转换器参考设计

    探索MCP19111:PMBus协议赋能的负载点转换器参考设计 在电子设计的广阔领域中,负载点(POL)转换器的性能和灵活性至关重要。Microchip的MCP19111 PMBus协议
    的头像 发表于 04-05 16:40 716次阅读

    探索 HP1000:具备 PMBus 接口的电源数字控制

    探索 HP1000:具备 PMBus 接口的电源数字控制器 今天要给大家介绍一款高性能的数字控制器——Hynetek Semiconductor Co., Ltd. 推出的 HP1000,它专为电源
    的头像 发表于 03-27 10:40 237次阅读

    Power Integrations推出全新TOPSwitchGaN开关电源IC系列产品

    在今天举行的2026美国国际电力电子应用展览会(APEC)会议上,Power Integrations发布了一款反激式电源设计的突破性产品。全新的TOPSwitchGaN开关电源 IC 系列产品将反
    的头像 发表于 03-24 11:50 592次阅读

    TPSM846C23:高性能PMBus电源模块的深度解析

    实际应用中能为我们带来哪些优势和便利。 文件下载: tpsm846c23.pdf 一、产品概述 TPSM846C23是一款35 - A固定频率、符合PMBus协议的降压电源模块。它集成了控制器、功率MOSFET、电感器和相关组件
    的头像 发表于 03-04 10:30 300次阅读

    搭载罗姆EcoGaN™ Power Stage IC的小型高效AC适配器被全球电竞品牌MSI采用

    2025年11月6日,全球知名半导体制造商 罗姆 (总部位于日本京都市)宣布,其EcoGaN™ Power Stage IC已应用于包括游戏笔记本电脑在内的MSI(微星)产品的AC适配器。 这款AC
    的头像 发表于 12-24 11:10 517次阅读

    PMBus技术如何实现预防性维护并提高可靠性

    电源管理总线(Power Management Bus,简称PMBus)是一项已为人熟知的技术,它定义了用于电源和系统的数字化监控和控制规范。基于开放标准协议
    的头像 发表于 12-16 13:47 884次阅读
    <b class='flag-5'>PMBus</b>技术如何实现预防性维护并提高可靠性

    FS8025B USB的PD和OC快充协议电压诱骗控制IC技术手册

    电子发烧友网站提供《FS8025B USB的PD和OC快充协议电压诱骗控制IC技术手册.pdf》资料免费下载
    发表于 12-11 15:29 4次下载

    PLC控制使用Modbus RTU协议的采集模块

    本文介绍了使用Modbus RTU协议的采集设备如何与PLC连接。
    的头像 发表于 07-25 10:57 1696次阅读
    <b class='flag-5'>用</b>PLC<b class='flag-5'>控制</b>使用Modbus RTU<b class='flag-5'>协议</b>的采集模块

    Monolithic Power Systems (MPS)MPQ2483DQ-LF-P PWM LED驱动IC的参数特性 EDA模型和数据手册分享

    Monolithic Power Systems (MPS)MPQ2483DQ-LF-P PWM LED驱动IC的参数特性 EDA模型和数据手册分享
    的头像 发表于 06-19 17:14 2617次阅读
    Monolithic <b class='flag-5'>Power</b> Systems (MPS)MPQ2483DQ-LF-P PWM LED驱动<b class='flag-5'>IC</b>的参数特性 EDA模型和数据手册分享

    IP2723TH 集成 多种协议、用于 USBC 端口的快充协议 IC

    IP2723TH 是一款集成 多种协议 、用于 USB 输出议 端口的快充协议 IC 。 支持 多 种括 快充协议,包括 USB TypeC DFP , PD2.0/PD3.0/PPS
    发表于 06-11 17:31 6次下载