System Management Bus(SMBus) Specification (Official Website)
I2C and SMBus framework
I2C is an acronym for Inter Integrated Circuit bus. The I2C bus was developed in the early 1980's by Philips semiconductors. It's purpose was to provide an easy way to connect a CPU to peripheral chips in a TV-set.
I2C是互连集成电路的简称。I2C在80年代早期由Philips公司开发。最初开发目的是为了给CPU和电视机中的外围芯片提供简易方式进行连接。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
The BUS physically consists of 2 active wires and a ground connection. The active wires, SDA and SCL, are both bidirectional. Where SDA is the Serial DAta line and SCL is the Serial CLock line.
Every component hooked up to the bus has its own unique address whether it is a CPU, LCD driver, memory, or complex function chip. Each of these chips can act as a receiver and/or transmitter depending on it's func- tionality. Obviously an LCD driver is only a receiver, while a memory or I/O chip can both be transmitter and receiver. Furthermore there may be one or more BUS MASTER's.
The BUS MASTER is the chip issuing the commands on the BUS. In the I2C protocol specification it is stated that the IC that initiates a data transfer on the bus is considered the BUS MASTER. At that time all the others are regarded to as the BUS SLAVEs. As mentioned before, the IC bus is a Multi-MASTER BUS. This means that more than one IC capable of initiating data transfer can be connected to it.
该总线由2根实际数据线（2通路）和一条地线组成。这2根数据线称为SDA和SCL，都是双向传递的。其中SDA是串行数据线，SCL是串行时钟线。每个挂在总线上的设备都有自己唯一的地址来决定是什么设备，如CPU，LCD Driver，memory，或者是复杂功能的芯片。每一个芯片设备既可以作为数据接收者，也可以作为数据传递者，根据具体功能实现存在不同。显然，LCD Driver只能是数据接收者(?)，而memory和I/O芯片则同为数据接收者和传递者。
The System Management Bus is a two-wire interface through which simple power-related chips can communicate with rest of the system. It uses I2C as its backbone (see iicbus(4)).
A system using SMB passes messages to and from devices instead of trip- ping individual control lines.
With the SMBus, a device can provide manufacturer information, tell the system what its model/part number is, save its state for a suspend event, report different types of errors, accept control parameters, and return its status.
The SMBus may share the same host device and physical bus as ACCESS bus components provided that an appropriate electrical bridge is provided between the internal SMB devices and external ACCESS bus devices.
Various I2C and SMBus controllers drivers are provided by the iicbus framework:
- AMD 756 with amdpm(4)
- Intel ServerWorks with ichsmb(4)
- VIA family with viapm(4)
- Acer Aladdin VI/V/Pro2 with alpm(4)
- Intel PIIX4 interface with intpm(4)
- Philips PCF8584 master/slave interface with pcf(4)
- Generic bit-banging master-only driver with iicbb(4)
- Parallel port specific bit-banging interface lpbb(4)
- Brooktree848 video chipset, hardware and software master-only interface with bktr(4)