I2C 总线是很实用的一个总线协议,也是IC 面试时可以讲出点东西的一个素材。鱼叔最近在学习I2C的IP 设计,并且会不断更新,整理成学习笔记分享在我的博客中,希望大家能有所收获。</blockquote>
APB I2C 总线协议
I2C UART SPI 接口对比
- UART 异步接口,需要用波特率发生器来进行同步,传输速率较慢
- SPI 同步接口(Master需要给Slave 提供一个同步时钟)四根信号线(clk/MISO/MOSI)
- I2C 慢同步 , 半双工(SCL SDA)
I2C 帧结构
两根线, SDA-数据线,SCL-时钟线,半双工工作模式。
结构:
- Master:SCL 信号源,控制信息流
- Slave: 处于等待状态,Master 会通过地址来搜寻所需要的slave,每一个slave都有一个固定的地址,并且地址的方式可以通过固定或者配置来实现。
基本流程
- 发送起始条件
- 发送接受设备的地址和任务操作;
- 发送或者接受数据
- 接受设备发送相应位 — 应答;