1 I2C简介
总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线。而I2C总线最大的优点之一就在于,它只需数据(SDA)和时钟(SCL)两根总线就可以支持主设备与多个从设备之间进行通信。图1显示了嵌入式系统的典型I2C总线。 微控制器代表I2C主控制器,作为主设备,并控制各个从设备,这些从设备包括但不限于,IO扩展器,各种传感器,EEPROM,ADC/DAC等等。 而所有这些都只由主设备的2个引脚控制。
2 I2C电气特性
I2C总线由两根双向信号线组成。一根是数据线SDA,另一根是时钟线SCL。I2C采用了漏极开路的设计,只会拉低总线,或“释放”它并让上拉电阻将其拉高。空闲状态下(即总线上无数据传输时),两条信号线经由上拉电阻后同时处于高电平。图2展示了拉低总线时的电流流动。 当想要传输低电平的逻辑时,会激活下拉场效应管,这将导致总线接地短路,实现总线的拉低。
当从设备或主设备希望传输逻辑高电