SMBus2.0协议数据链路层解析

4星 · 超过85%的资源 需积分: 43 211 下载量 65 浏览量 更新于2024-12-26 1 收藏 222KB DOC 举报
"SMBus2.0协议中文版是由作者翻译的部分内容,主要涉及数据链路层和网络层,旨在帮助初次接触SMBus的人理解协议,但并未完整翻译所有内容。作者提供邮箱以接收反馈,确保信息准确性。" SMBus (System Management Bus) 是一种低速、简单且成本效益高的两线接口,常用于系统管理中的通信,例如在PC和嵌入式系统中监控电源状态、温度等。SMBus2.0协议是其发展的一个版本,它规定了数据如何在总线上传输和交互。 在SMBus2.0协议的第二层——数据链路层,主要包括以下几个关键知识点: 1. **比特传输**: - 数据有效性:SMBDAT线上的数据在SMBCLK高电平时应保持稳定,数据变化只能发生在SMBCLK为低的时段。参照图3-1和表1可了解具体规范。 2. **开始和结束条件**: - 开始条件:SMBCLK为高时,SMBDAT由高到低的跳变标志着信息传输的开始。 - 结束条件:同样在SMBCLK为高时,SMBDAT由低到高的跳变表示传输结束。开始条件后,总线进入忙碌状态,直到结束条件出现或达到THIGH:MAX时间(50μS)后,总线才视为闲置。 3. **总线闲置条件**: - 总线在TBUF(4.7μS)后或THIGH:MAX(50μS)后保持SMBCLK和SMBDAT高电平无变化的状态即为闲置。主器件需等待足够时间确保当前总线上无数据传输。 4. **SMBus上的数据传输**: - 字节格式:每个字节由8个比特组成,按高位优先(MSB)顺序传输。 - 确认机制:每个字节传输后跟随一个确认比特。确认由主设备产生,接收设备在时钟高电平阶段将SMBDAT拉低以表示确认。对于从设备,必须始终对其自身地址进行确认,这是检测总线上设备存在的方法。 - 不确认:从设备在执行实时任务或数据不可用时,可以不确认非自身地址的字节。 此外,SMBus协议还包括错误检测、仲裁、中断和电源管理等机制,这些虽然未在提供的内容中详细描述,但在完整的SMBus2.0协议中是非常重要的组成部分。理解这些基本概念有助于开发和调试使用SMBus的硬件系统。