和i2c的区别主要有以下几点: 1 smbus的速率最小10khz,最高100khz。i2c无此限制; 2 smbus要求通信双方必须应答ack或nack,不能省略; 3 smbus要求smbclk信号不能拉低超过35ms; 4 smbus要求数据保持时间(holdtime)不小于300ns 5 smbus还增加了一个alter信号,用于通知中断; 6 smbus的slave地址0000100为保留中断...
两者区别如下:一、指代不同 1、I2C:只需要两根线即可在连接于总线上的器件之间传送信息。2、SMBus:为系统和电源管理这样的任务提供了一条控制总线,使用 SMBus 的系统,设备之间发送和接收消息都是通过 SMBus,而不是使用单独的控制线,这样可以节省设备的管脚数。二、原理不同 1、I2C:主器件用于...
答案在于I2C偏重速度,而SMBus偏重可靠性和成本。I2C速度从10KHz起步(理论上可以更低至0),最高5MHz;而SMBus最低10KHz,最高100KHz。也就是说在10KHz到100KHz上,两者才通用,这就排除了中速和高速设备。I2C不强制Slave对地址请求发送回应(ACK),而SMBus要求必须ACK。于此对应,SMBus对NACK的要求也严格于I2C。这是...
SMBus与I2C总线之间在时序特性上存在一些差别。首先,SMBus需要一定数据保持时间,而 I2C总线则是从内部延长数据保持时间。SMBus具有超时功能,因此当SCL太低而超过35 ms时,从器件将复位正在进行的通信。相反,I2C采用硬件复位。SMBus具有一种警报响应地址(ARA),因此当从器件产生一个中断时,它不会马上...
对应i2c-tools中的函数:i2c_smbus_read_block_data() SMBus Block写: 对应i2c-tools中的函数:i2c_smbus_write_block_data() I2C Block读: 对应i2c-tools中的函数:i2c_smbus_read_i2c_block_data() I2C Block写: 对应i2c-tools中的函数:i2c_smbus_write_i2c_block_data() 分类: Linux 内核 && 驱动 ...
两者区别如下:一、指代不同 1、I2C:只需要两根线即可在连接于总线上的器件之间传送信息。2、SMBus:为系统和电源管理这样的任务提供了一条控制总线,使用 SMBus 的系统,设备之间发送和接收消息都是通过 SMBus,而不是使用单独的控制线,这样可以节省设备的管脚数。二、原理不同 1、I2C:主器件用于...
答案在于I2C偏重速度,而SMBus偏重可靠性和成本。I2C速度从10KHz起步(理论上可以更低至0),最高5MHz;而SMBus最低10KHz,最高100KHz。也就是说在10KHz到100KHz上,两者才通用,这就排除了中速和高速设备。I2C不强制Slave对地址请求发送回应(ACK),而SMBus要求必须ACK。于此对应,SMBus对NACK的要求也严格于I2C。这是...