smbus与i2c区别

The I²C bus and the smbus are popular 2-wire buses that are essentially compatible with each other.

运行频率
先以运作频率来说,I2C此方面相当宽裕,最低频可至0Hz(直流状态,等於时间暂停),高可至100kHz(Standard Mode)、400kHz(Fast Mode)、乃至3.4MHz(High Speed Mode),相对的SMBus就很拘限,最慢不慢於10kHz,最快不快於100kHz。很明显的,I2C与SMBus的交集运作频率即是10kHz~100kHz间。

数据停留时间
传速要求之后还有数据停留时间(Data Hold Time)的要求,SMBus规定SMBCLK线路的准位下降后,SMBDAT上的资料必须持续保留300nS,但I2C却没有对此有相同的强制要求。类似的,SMBus对介面被重置(Reset)后的恢复时间(Timeout)也有要求,一般而言是35mS,I2C这方面亦无约束,可以任意延长时间。相同的SMBus也要求无论是在主控端(Master)或受控端(Slave),其时脉处於Lo准位时的最长持续时间不得超越限制,以免因为长时间处在Lo准位,而致收发两端时序脱轨(失去同步,造成后续误动作)。

电流限制
既然对电流有限制,那麼也可容易地推断对提升电阻的阻值之范围要求,I2C在5V Vdd时当大於1.6k ohm,在3V Vdd时当大於1k ohm,类似的SMBus於5V Vdd时当大於14k ohm,3V Vdd时当大於8.5k ohm,不过这个定义并非牢不可破,就一般实务而言,在SMBus上也可用2.4k~3.9k ohm范畴的阻值。

你可能感兴趣的:(linux驱动)