本文将对
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
适配器支持改处理。具体详见
<
文件
:Documentation/i2c/functionality>
。
各个字符的描述