学习嵌入式之驱动——I2C子系统
一、I2C基础
1.通信特点:
通信方式(串行、同步、半双工)
2.应用场景:
同一硬件平台不同外设之间的通信
3.12C与SPI区别
(1)12c半双工、SPI全双工
(2)12c硬件设计更加简洁、S小因为有CS线,所以占用更过硬件资源
(3)12c通信速率(100k、400k、3.4M)SPI通信速率(1M-十几M之间)
(4)12c一般用于传感器采集接口、SPI屏幕、存储设备接口
4.12c组成:
- VCC
- 共地GND
- 时钟信号线 :SCLSCL为高 SDA可以采样SCL为低 SDA可以变化
- SDA数据线
5.I2C时序
- 起始信号:SCL为高电平时,SDA由高电平拉为低电平
- 结束信号:SCL为低电平时,SDA由低电平拉为高电平
I2C硬件界限需要注意事项:接上拉电阻(SCL、SDA)
6.软件I2C和硬件I2C
(1)软件I2C:用GPIO来模拟I2C时序
(2)硬件I2C:用I2C控制器来生成I2C时序⭐
8.I2C是总线结构
主机:每次通信都有主机发起,从机响应;主机提供时钟信号;
(1)主从应答
从机地址:主机选中从机;(I2C 7位从机地址+1位R/W)