PMBus™ 协议栈
用户指南
2009 Microchip Technology Inc.
DS41361A_CN
请注意以下有关 Microchip 器件代码保护功能的要点:
•
Microchip 的产品均达到 Microchip 数据手册中所述的技术指标。
•
Microchip 确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。
• 目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的
操作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。
•
•
Microchip 愿与那些注重代码完整性的客户合作。
Microchip 或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。
代码保护功能处于持续发展中。 Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视
为违反了 《数字器件千年版权法案 (Digital Millennium Copyright Act)》。如果这种行为导致他人在未经授权的情况下,能访问您的
软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。
提供本文档的中文版本仅为了便于理解。请勿忽视文档中包含
的英文部分,因为其中提供了有关 Microchip 产品性能和使用
情况的有用信息。Microchip Technology Inc. 及其分公司和相
关公司、各级主管与员工及事务代理机构对译文中可能存在的
任何差错不承担任何责任。建议参考 Microchip Technology
Inc. 的英文原版文档。
本出版物中所述的器件应用信息及其他类似内容仅为您提供便
利,它们可能由更新之信息所替代。确保应用符合技术规范,
是您自身应负的责任。Microchip 对这些信息不作任何明示或
暗示、书面或口头、法定或其他形式的声明或担保,包括但不
限于针对其使用情况、质量、性能、适销性或特定用途的适用
性的声明或担保。 Microchip 对因这些信息及使用这些信息而
引起的后果不承担任何责任。如果将 Microchip 器件用于生命
维持和 / 或生命安全应用,一切风险由买方自负。买方同意在
由此引发任何一切伤害、索赔、诉讼或费用时,会维护和保障
Microchip 免于承担法律责任,并加以赔偿。在 Microchip 知识
产权保护下,不得暗中或以其他方式转让任何许可证。
商标
Microchip 的名称和徽标组合、 Microchip 徽标、 dsPIC、
KEELOQ、 KEELOQ 徽标、 MPLAB、 PIC、 PICmicro、
PICSTART、 rfPIC 和 UNI/O 均为 Microchip Technology Inc.
在美国和其他国家或地区的注册商标。
FilterLab、 Hampshire、 HI-TECH C、 Linear Active
Thermistor、MXDEV、MXLAB、SEEVAL 和 The Embedded
Control Solutions Company 均为 Microchip Technology Inc.
在美国的注册商标。
Analog-for-the-Digital Age、 Application Maestro、
CodeGuard、 dsPICDEM、 dsPICDEM.net、 dsPICworks、
dsSPEAK、 ECAN、 ECONOMONITOR、 FanSense、
HI-TIDE、 In-Circuit Serial Programming、 ICSP、 Mindi、
MiWi、MPASM、MPLAB Certified 徽标、MPLIB、MPLINK、
mTouch、 Octopus、 Omniscient Code Generation、 PICC、
PICC-18、PICDEM、PICDEM.net、PICkit、PICtail、PIC32
徽标、REAL ICE、rfLAB、Select Mode、Total Endurance、
TSHARC、 UniWinDriver、 WiperLock 和 ZENA 均为
Microchip Technology Inc. 在美国和其他国家或地区的商标。
SQTP 是 Microchip Technology Inc. 在美国的服务标记。
在此提及的所有其他商标均为各持有公司所有。
© 2009, Microchip Technology Inc. 版权所有。
Microchip 位于美国亚利桑那州Chandler 和Tempe 与位于俄勒冈州
Gresham 的全球总部、设计和晶圆生产厂及位于美国加利福尼亚州和
印度的设计中心均通过了ISO/TS-16949:2002 认证。公司在PIC®
MCU 与dsPIC® DSC、KEELOQ® 跳码器件、串行EEPROM、单片机外
设、非易失性存储器和模拟产品方面的质量体系流程均符合ISO/TS-
16949:2002。此外,Microchip 在开发系统的设计和生产方面的质量体
系也已通过了ISO 9001:2000 认证。
DS41361A_CN 第2 页
2009 Microchip Technology Inc.
PMBus™ 协议栈用户指南
目录
前言 ................................................................................................................................. 5
第 1 章 概述
1.1 PMBus 概述 .................................................................................................. 11
1.2 什么是协议栈? ............................................................................................ 11
第 2 章 协议栈限制
2.1 故障管理 ....................................................................................................... 13
2.2 寻址 .............................................................................................................. 13
2.3 超时检测 ....................................................................................................... 13
2.4 控制线 ........................................................................................................... 13
2.5 分页 .............................................................................................................. 13
第 3 章 PMBus 协议——协议栈如何对其进行处理
3.1 事务类型 ....................................................................................................... 15
3.2 写事务 ........................................................................................................... 15
3.2.1 发送字节 .................................................................................................... 15
3.2.2 按字节写 .................................................................................................... 15
3.2.3 按字写 ........................................................................................................ 15
3.2.4 块写 ........................................................................................................... 16
3.2.5 GROUP_COMMAND_PROTOCOL (组 _ 命令 _ 协议) ......................... 16
3.3 读事务 ........................................................................................................... 16
3.3.1 字节读操作 ................................................................................................ 16
3.3.2 字读操作 .................................................................................................... 17
3.3.3 块读操作 .................................................................................................... 17
3.4 写 / 读事务 .................................................................................................... 17
第 4 章 数据输入 / 输出变量
4.1 对器件执行写操作 ......................................................................................... 20
第 5 章 协议栈功能
5.1 状态 1- 启动 .................................................................................................. 21
5.2 状态 2-MWA (主机写地址) ........................................................................ 21
5.3 状态 3-MWD (主机写数据) ........................................................................ 21
5.4 状态 4-MRA (主机读地址) ......................................................................... 22
5.5 状态 5-MRD (主机读数据) ......................................................................... 22
5.6 状态 6- 停止 .................................................................................................. 22
第 6 章 器件故障管理
6.1 状态寄存器的树状结构 ................................................................................. 24
6.2 协议栈能够处理哪些警告? .......................................................................... 25
6.2.1 数据传输故障 ............................................................................................. 25
6.2.2 数据内容故障 ............................................................................................. 27
2009 Microchip Technology Inc.
DS41361A_CN 第3 页
6.2.3 由主应用程序处理的数据内容故障 ............................................................ 27
6.2.4 主应用程序所能报告的警告和故障 ............................................................ 28
6.2.5 设置警告阈值 - 对警告作出的反应 ............................................................. 28
6.2.6 设置警告阈值 - 对故障作出的反应 ............................................................. 29
第 7 章 实现协议栈功能所需的用户数据
7.1 由用户定义的协议栈标签列表和变量 ............................................................ 31
7.2 建立命令表 .................................................................................................. 31
7.3 协议栈调用的应用程序函数 .......................................................................... 33
附录 A 由用户自定义的标签列表
A.1 标签 .............................................................................................................. 37
A.1.1 通用标签 .................................................................................................... 37
A.1.2 PMBus 协议标签 ....................................................................................... 37
A.1.3 命令代码标签 ............................................................................................ 37
A.2 变量 .............................................................................................................. 37
A.2.1 通用标签 .................................................................................................... 37
A.2.2 与命令相关的数据声明 (给出两个命令实例) .......................................... 38
A.3 结构数组 (给出一个内含 5 个元素的结构数组实例) .................................. 38
A.4 指针数组 ....................................................................................................... 38
附录 B 协议栈测试
附录 C 定义警告和故障响应函数
C.1 警告 .............................................................................................................. 43
C.2 故障 .............................................................................................................. 43
附录 D PEC 字节计算
D.1 写事务 .......................................................................................................... 45
D.2 读事务 .......................................................................................................... 45
D.3 写 / 读事务 .................................................................................................... 45
附录 E 命令表解析
附录 F 缓冲器结构
全球销售及服务网点 ...................................................................................................... 50
DS41361A_CN 第 4 页
2009 Microchip Technology Inc.
PMBus™ 协议栈用户指南
前言
客户须知
所有文档均会过时,本文档也不例外。 Microchip 的工具和文档将不断演变以满足客户的需求,因此
实际使用中有些对话框和 / 或工具说明可能与本文档所述之内容有所不同。请访问我们的网站
(www.microchip.com)获取最新文档。
文档均标记有 “DS”编号。该编号出现在每页底部的页码之前。 DS 编号的命名约定为
“DSXXXXXA”,其中 “XXXXX”为文档编号,“A”为文档版本。
欲了解开发工具的最新信息,请参考 MPLAB® IDE 在线帮助。从 Help (帮助)菜单选择 Topics
(主题),打开现有在线帮助文件列表。
简介
文档编排
本章包含使用 44 引脚演示板前需要了解的有用的一般信息。内容包括:
• 文档编排
• 本指南使用的约定
• 推荐读物
• Microchip 网站
• 开发系统变更通知客户服务
• 客户支持
• 文档版本历史
本文档介绍了如何使用 44 引脚演示板开发工具在目标电路板上仿真和调试固件。本手
册的内容编排如下:
• 第 1 章 “概述” – 简要介绍了 PMBus 协议栈并概述了所需的单片机资源以及协
议栈识别和处理的总线协议。
• 第 2 章 “协议栈限制” – 说明了 PMBus 协议栈在故障管理、寻址、检测、控制
线和分页方面的限制。
• 第 3 章 “PMBus 协议——协议栈如何对其进行处理” – 详述了主机能在总线上发
起的三类事务 (写、读和读 - 写)。
• 第 4 章 “数据输入 / 输出变量” – 说明了如何通过 PMBus 命令在主机和从设备之
间传递数据。
2009 Microchip Technology Inc.
DS41361A_CN 第 5 页
PMBus™ 协议栈用户指南
• 第 5 章 “协议栈功能” – 说明了 I2C™ 模块能够识别和作为中断源处理的状态。
• 第 6 章 “器件故障管理” – 提供有助于用户实现处理 PMBus 系统中警告和故障
的统一机制的信息。
• 第 7 章 “实现协议栈功能所需的用户数据” – 列出了一组用户定义的要求协议栈
遵循的变量和命令。
• 附录 A “由用户自定义的标签列表” – 列出了需要用户定义的标签和变量。
• 附录 B “协议栈测试” – 说明了针对本实现方案如何测试协议栈。
• 附录 C “定义警告和故障响应函数” –列出了需要针对警告和故障定义的函数。
• 附录 D “PEC 字节计算” – 说明了如何为每类事务计算 PEC 字节。
• 附录 E “命令表解析” – 讨论结构数组应多大才能使协议栈在合理的时间内对其
进行解析。
• 附录 F “缓冲器结构” – 提供有关缓冲器包含和处理何种数据的信息。
DS41361A_CN 第 6 页
2009 Microchip Technology Inc.
本指南使用的约定
本手册采用以下文档约定:
前言
说明
涵义
示例
文档约定
Arial 字体:
斜体字
首字母大写
引用
带右尖括号且有下划线的斜体
文字
粗体字
‘bnnnn
尖括号 < > 括起的文字
Courier 字体:
常规 Courier
斜体 Courier
0xnnnn
方括号 [ ]
花括号和竖线: { | }
省略号 ...
参考书目
需强调的文字
窗口
对话框
菜单选项
窗口或对话框中的字段名
菜单路径
对话框按钮
选项卡
二进制数, n 是一个数字
键盘上的按键
MPLAB® IDE User's Guide
... 仅有的编译器 ...
Output 窗口
Settings 对话框
选择 Enable Programmer
“Save project before build”
File>Save
单击 OK
单击 Power 选项卡
‘b00100, ‘b10
按 ,
源代码示例
文件名
文件路径
关键字
命令行选项
位值
常数
可变参数
十六进制数, n 是一个十六进
制数字
可选参数
#define START
autoexec.bat
c:\mcc18\h
_asm, _endasm, static
-Opa+, -Opa-
0, 1
0xFF, ‘A’
file.o, 其中 file 可以是任
一有效文件名
0xFFFF, 0x007A
mcc18 [options] file
[options]
var_name [,
var_name...]
void main (void)
{ ...
}
选择互斥参数; “或”选择 errorlevel {0|1}
代替重复文字
表示由用户提供的代码
2009 Microchip Technology Inc.
DS41361A_CN 第 7 页
PMBus™ 协议栈用户指南
推荐读物
本用户指南介绍了如何使用 PMBus 协议栈。下面列出了其他有用的文档。以下文档均
已提供,并建议读者作为补充参考材料。
PMBus™ Power System Management Protocol Specification – Part I – Revision
1.1 (http://pmbus.org/)。
本文档说明了 PMBus 协议的一般要求以及传输和电子层。
PMBus™ Power System Management Protocol Specification – Part II – Revision
1.1 (http://pmbus.org/)。
本文档说明了 PMBus 协议的命令语言。
System Management Bus (SMBus™) Specification Version 2.0
(http://smbus.org/specs/)。
本文档是 SMBus 接口的官方规范。
Using the PIC® Devices’ SSP and MSSP Modules for Slave I2C™ Communication
(AN734) – http://www.microchip.com
本应用笔记总结了 SSP 模块在 I2C 通信中作为从机的用法。
MICROCHIP 网站
Microchip 网站 (www.microchip.com)为客户提供在线支持。客户可通过该网站方便
地获取文件和信息。只要使用常用的因特网浏览器即可访问。网站提供以下信息:
• 产品支持——数据手册和勘误表、应用笔记和样本程序、设计资源、用户指南以及
硬件支持文档、最新的软件版本以及存档软件
• 一般技术支持——常见问题 (FAQ)、技术支持请求、在线讨论组以及 Microchip
顾问计划成员名单
• Microchip 业务——产品选型和订购指南、最新 Microchip 新闻稿、研讨会和活动安
排表、 Microchip 销售办事处、代理商以及工厂代表列表
DS41361A_CN 第 8 页
2009 Microchip Technology Inc.