您好、团队成员:
需要您的帮助以了解此器件的正确 PMBus 编程序列。
我 在 TPS546D24A 数据表中查找了作为以下示例的图(不是针对 TPS546D24A)、但找不到。
在"Data to Register"命令之后、我都遇到了读取和写入问题。 (已确认从器件地址和命令字节组合中的 ACK。)
我猜数据到寄存器格式存在一些不匹配之处。 非常感谢您提供任何类型的建议。
提前感谢。
美国 泽本市
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、团队成员:
需要您的帮助以了解此器件的正确 PMBus 编程序列。
我 在 TPS546D24A 数据表中查找了作为以下示例的图(不是针对 TPS546D24A)、但找不到。
在"Data to Register"命令之后、我都遇到了读取和写入问题。 (已确认从器件地址和命令字节组合中的 ACK。)
我猜数据到寄存器格式存在一些不匹配之处。 非常感谢您提供任何类型的建议。
提前感谢。
美国 泽本市
PMBus 使用由 SMBus 规范定义的事务类型、因此它们不会在 TPS546D24A 数据表中重复。
写入事务的顺序为:
启动事件、7位 PMBus 地址+ WR 位、命令代码、数据字节... 停止事件
对于发送字节事务、如清除故障或存储用户全部、没有数据字节
对于诸如 OPERATION 或 ON_OFF_CONFIG 等写入字节事务、有1个数据字节
对于 VOUT_COMMAND 等写入字事务、有2个数据字节、发送低字节高字节
对于 TELEMETRY_CONFIG 等写入块事务、第一个字节是具有额外数据字节数量的块计数(不包括块计数字节)
读取事务的序列类似、只是存在重复的起始事务和额外的地址字节
启动事件、7位 PMBus 地址+ WR 位、命令代码、重复启动、7位 PMBus 地址+ Rd 位、来自目标的数据字节、停止事件
数据字节与"写入数据"类似、只是没有读取数据会话命令、如清除故障或存储用户全部
有关正确的数据格式、请参阅 TPS546D24A 数据表中支持的命令列表或寄存器映射。
还应注意的是、TPS546D24A 利用时钟延展、因此控制器支持目标的时钟延展非常重要。
TPS546D24A 还支持在停止事件之前的事务末尾添加数据包错误检查(PEC)字节以检测传输错误、但不需要发送 PEC。
尊敬的 Peter:
感谢亲切的解释。 可以帮助用户正确地与 PMBus 通信。
另一个问题是,当我们意外地尝试写入 invarid 数据时,我们观察到了一个非 ACK 应答。 (例如、在41h 时、我们可以在位7:6 (VO_OV_RESP)上获得写入10b 的 ACK、但在其上可以获得写入11b 的非 ACK。)
我想确认这是否为该器件的设计所预期的行为?
谢谢。
另一个问题是,当我们意外地尝试写入 invarid 数据时,我们观察到了一个非 ACK 应答。 (例如、在41h 时、我们可以在位7:6 (VO_OV_RESP)上获得写入10b 的 ACK、但在其上可以获得写入11b 的非 ACK。)
我想确认这是否为该器件的设计所预期的行为?
[/报价]可以。 TPS546x24y 系列器件包含有效的数据校验器并将 NACK 无效数据。
此外、这将在 STATUS_CML 中设置 IVD (无效或不受支持的数据)标志并将 SMB_ALERT 置为低电平以通知系统接收到无效数据。