IIC、UART、SPI、LIN、CAN通信接口
IIC:
1、I2C总线是PHLIPS公司在20世纪80年代推出的一种串行总线。
2、PHILIPS公司开发用于连接微控制器及其外围设备
3、一条是串行数据线SDA,一条是串行时钟线SCL
4、支持多个通讯主机和多个通讯从机,但是任意时间点上只能存在一个主控
5、半双工串行异步通信接口,
6、连接到总线的IC数量只是受到总线的最大负载电容400pf限制
7、每个连接到总线的器件都可以通过唯一的地址和其它器件通信
8、空闲状态时,SDA和SCL处于高电平
9、串行的 8 位双向数据传输位速率在标准模式下可达100kbit/s
快速模式下可达400kbit/s
高速 模式下可达3.4Mbit/s
协议:
1. 起始信号
2. 终止信号
3. 写数据信号
4. 读数据信号
5. 应答信号
6. 非应答信号
通信过程以AT24Cxx系列为例:
写的过程:
1、发送起始信号;
2、发送从设备地址 7 位,写信号 1 位,等待应答;
3、发送待写入数据的存储地址,等待应答;
4. 发送数据给从设备,等待应答;
5、最后发送停止信号。
读的过程:
1、发送起始信号;
2、发送从设备地址 7 位,写信号 1 位,等待 应答;
3、发送待读取数据的存储地址,等待应答;
4、再发送一个起始信号;
5、发送从设备地址 7 位,读信号一位,等待应答;
6、读去数据,8 个时钟,从设备就把对应的数据反馈给处理器;
7、最后发送停止信号。
UART:
1、通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UATR
2、串行数据总线,用于异步通信,全双工通信,采用TTL/COMS电平
UART控制器中包含四种寄存器:
输出缓存寄存器、输出移位寄存器、输入缓存寄存器、输入移位寄存器。
1、输出缓存寄存器:该寄存器用来存放处理传输过来的并行数据。
2、输出移位寄存器:读取输出缓存寄存器中的值,将并行数据串行输出,LSB先传输。
3、输入移位寄存器:接收对方UART接口传输的串行数据,一帧数据接收完毕后,将把数据传输给输入缓存寄存器。
4、输入缓存寄存器:保存从输入移位寄存器传递过来的串行数据。
UART接口数据线:
1、RX:接收数据
2、TX:发送数据
3、GND:数字地
4、VCC:直流电源</