smbus协议的command_SMBus协议总结(翻译).pdf

SMBus 协议总结

SMBus 协议总结

本文将对SMBUS 协议进行总结。本文针对该协议的所有修订版(包括1.0,1.1,2.0)。具

体的协议特性将在本文最后进行介绍。

一些I2C 适配器仅仅兼容SMBus 协议 (System Management Bus,系统管理总线)。而

SMBus 只是I2C 协议的子集。幸运的是,大部分设备都使用相同的子集,故可以将它们放置

同一个SMBus 中。

如果你为一个I2C 设备写驱动程序,而该设备仅仅使用I2C 协议的子集,那么推荐你尽

可能使用SMBus 协议的命令。这样这个驱动程序既可以在SMBus 适配器上使用,也可以在

I2C 适配器上使用(当在I2C 适配器上时,SMBus 格式会自动转换为I2C 格式,而SMBus 适

配器大多无法处理单纯的I2C 格式)。

下文将列举 SMBus 的操作时序,以及执行该时序的函数。注意,一下使用的函数名称

可能会因不同的SMBus 协议规格而不尽相同。

每个处理都对应一个标识。在调用处理函数是,驱动程序应该总要检查一次对应的标识

以确保底层的I2C 适配器支持改处理。具体详见 。

各个字符的描述

标识 位数(bit) 描述

S 1 起始位

P 1 停止位

Rd/Wr 1 读写标志位(1:读;0 :写)

A ,NA 1 响应,不响应位

Addr 7 I2C 设备地址,可能扩充为10

Comm 8 命令字节,通常是设备内寄存

器的地址

Data 8 数据字节,有时分为高、低两

个字节的16 位数据

Count 8 描述块操作长度的数据字节

[..] 由I2C 设备发送,主机接收的

字节

SMBus 快速命令(SMBus Quick Command )

向设备发送一个位,即读写位。

A Addr Rd/Wr [A] P

功能标识:I2C_FUNC_SMBUS_QUICK

SMBus 读取一个字节(i2c_smbus_read_byte() )

向设备读取一个字节,没有说明读取的寄存器地址。一些设备十分简单,仅通过该命令

即可实现操作,对其他设备,可以在使用SMBus 指定了寄存器地址后使用该函数实现对同

一个寄存器的重复读取。

S Addr Rd [A] [Data] NA P

功能标识:I2C_FUNC_S

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值