I2C接口
I2C总线是一种简单的方法来连接多个芯片,特别是fpga / cpld。
I2C总线的特点
- 除了电源和接地外,只使用2根电线(命名为“SDA”和“SCL”)
- 可以在同一总线上支持超过100个设备(总线上的每个设备都有一个单独可访问的地址)
- 多主机(例如,两个cpu可以很容易地共享相同的I2C设备)
- 行业标准(由飞利浦开发,被许多其他制造商采用)
- 无处不在(电视、电脑……)
但
- 相对较慢(100Kbps基本速度,扩展到3.4Mbps)
- 非即插即用
它是如何工作的
一个I2C总线至少需要一个I2C主总线和一个I2C从总线。
I2C主服务器是一个事务启动器(主服务器可以向从服务器写或从服务器读)。
I2C从站是一个事务接收端(从站可以向主站写入或从主站读取)。
I2C波形
这是它在公共汽车上的样子。
这是对地址为0x51的EEPROM的写操作,包含2个数据字节0x50和0x0F。
一个I2C事务以一个“开始”条件开始,后面是我们想要与之通信的设备地址,一个比特表示我们想要读或写,写或读的数据,最后是一个“停止”。
还有其他细节,比如需要在传输的每