I2C是什么?和SMBus有什么区别?
I2C 是由Philips公司开发的一种简单、双向二线制同步串行总线。
两者区别如下:
一、指代不同
1、I2C:只需要两根线即可在连接于总线上的器件之间传送信息。
2、SMBus:为系统和电源管理这样的任务提供了一条控制总线,使用 SMBus 的系统,设备之间发送和接收消息都是通过 SMBus,而不是使用单独的控制线,这样可以节省设备的管脚数。
二、原理不同
1、I2C:主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。主机要发送数据给从器件,主动发送数据至从器件,最后由主机终止数据传送。
2、SMBus:为系统和电源管理这样的任务提供了一条控制总线,使用 SMBus 的系统,设备之间发送和接收消息都是通过 SMBus,而不是使用单独的控制线,这样可以节省设备的管脚数。
三、时序特性不同
1、I2C:I2C总线则是从内部延长数据保持时间,采用硬件复位。
2、SMBus:SMBus需要一定数据保持时间具有超时功能,因此当SCL太低而超过35 ms时,从器件将复位正在进行的通信,只工作在从10kHz到最高100kHz。最低工作频率10kHz是由SMBus超时功能决定的。
参考资料来源:百度百科-SMBus
参考资料来源:百度百科-I2C总线
2023-06-12 广告