(1)在物理层上,IIC接口只需要两条总线线路,SCL(串行时钟线)、SDA(串行数据线),IIC可以通过这两条总线实现双向通信,完成数据的传入和传出。
(2) I2C 总线上可以存在多个主机和多个从机,但是同一时刻,只能有一个主机向总线上发起传输,如果有多个主机同时发起传输,则会根据 I2C 总线的仲裁机制,最终只给一个主机授权,没有得到仲裁的主机则会停止传输。而且,I2C 总线上只能主机主动发起传输,从机无法主动发起传输,这也就意味着从机和从机之间也是无法直接交换数据的。
(3)IIC协议占用引脚特别少,硬件实现简单,可拓展性强,被广泛应用于系统内多个集成电路间的通讯。
(4)标准模式:100kb/s
快速模块:400kb/s
高速模式:4.3Mb/s
升腾A7使用的EEPROM芯片是24C64,存储内存为64kb = 8kB 需要13位位宽地址,需要两个字节的地址去存储。
- 控制命令格式的最低位为读写位,0为写,表示FPGA向EEPROM写入数据;1为读,表示FPGA向EEPROM读取数据。
- 可以查看升腾A7原理图,可以看到EEPROM的器件地址是1010_011。
- 单字节写操作:
- 页写操作(24C64芯片最大页写操作32字节数据):
- 随机读操作(注意:这里面前面确定物理设备的读写控制位仍然输入0,即写操作):
- 顺序读操作: