首页 > 代码库 > linux PMBus总线驱动设计分析
linux PMBus总线驱动设计分析
PMBus协议规范介绍
PMBus是一套对电源进行配置、控制和监控的通讯协议标准。其最新版本为1.3,该规范还在不断演进中,比如新标准中新增的zone PMBus、AVSBus等特性。在其官网上有详细的规范文档,本节不尝试翻译规范文档,重点记录作者在了解PMBus过程中的疑问和解答。
PMBus与I2C、SMBus的区别?
PMBus在SMBus(System Management Bus)基础上增加了一套电源配置、控制和监控规范。SMBus最初是为电池智能管理而开发的一套标准,其基于I2C协议,并针对I2C协议的弱健壮性做了如下改进:
- 支持SMBALERT#中断;
- 支持错包检测(PEC);
- 支持包超时;
- 支持START/STOP保护;
- 支持Host Notify Protocol协议;
PMBus监控哪些参数?告警分为几级?不同告警级别有什么样的应对措施?
PMBus支持电压、电流、功率、温度和风扇等参数的上下限监控,支持warning和fault 2级告警级别(如上图所示)。
- warning告警:表示监控参数异常,系统需引起关注,但可以继续运行,系统无需任何响应措施;
- fault告警:比warning告警级别高,系统会根据异常对设备的危害情况,进行设备控制电路重启(restart)或输出切断(shutdown)等处理;
告警产生时如何上报给主机?
告警上报一般有如下几种方式:
- 主机轮询PMBus设备;
- PMBus设备通过SMBALERT#中断通知主机;
- Host Notify Protocol(PMBus设备临时切换成总线主机(bus master),并发送一组特定协议通知系统主机)。
什么情况下告警会取消或清除?重启是否会清除告警?
任何warning或fault告警一旦上报,只有通过如下几种方式可以取消清除:
- PMBus设备接收到CLEAR_FAULTS命令;
- PMBus设备RESET引脚生效;
- PMBus设备通过CONTROL引脚或OPERATION命令关闭并重新打开;
- 断电;
- 如果异常一直存在,那么即使进行告警清除操作,告警会马上重新上报。
linux PMBus驱动设计分析
linux PMBus总线驱动设计分析
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。