一、UART基本概述
1、通信接口
内部通信接口:主要用于板级信号传输,通常应用于设备内部,特点是速度快,距离短,常用的有UART,IIC,SPI等接口
外部通信接口:主要用于设备级信号传输,通常应用于设备之间,特点是速度慢,距离远(差分传输),常用的有RS-232,RS-485,CAN等接口;
2、通信方式
a、单工:信号只能单方向传输
b、半双工:信号可以双方向传输,但同一时刻只能一个方向传输,比如IIC,RS485,CAN
c、全双工:信号可以同时双方向传输,比如UART,SPI,RS232
3、同步传输与异步传输
a、同步传输
具有同步时钟,比如IIC、SPI
b、异步传输
没有同步时钟,通信双方按约定速率传输,比如UART
4、通信网络
a、一对一传输,不能构成总线网络
b、一对多传输,可以构成总线网络,通过地址或片选识别,比如IIC、SPI、RS-485
二、UART
1、定义:UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。
在单片机产品设计中,UART主要用于设备与设备之间的通讯,设备与传感器之间的通信。例如通过RS485接口,构成工业设备系统总线。
2、协议
UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位一位的传输出去
其中各位意义如下:
起始位:先发出一个逻辑0的信号,表示传输字符开始
数据位:紧接着起始位开始之后。数据位的个数可以是4.5.6.7.8等,构成一个字符,从最低位开始传送
奇偶校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。
停止位:它是一个字符数据的结束标志,可以是1位,1.5位,2位的高电平。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备出现了小小的不同步。因此停止位不仅仅是表示传输结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
空闲位:处于逻辑“1”的状态,表示当前线路上没有资料传送
波特率:衡量数据传送速率的指标,表示每秒钟传送的比特位。
3、产品应用
二、IIC基本概述
1、IIC概念
IIC其实是IIC BUS总线的简称,它是一种串行通信总线,使用多主从架构,由飞利浦公司发明。
2、I2C协议特点
a、串行协议,多主机模式
b、起始信号,SCL为高电平,SDA下降沿,主机发出
c、停止信号,SCL为高电平,SDA上升沿,主机发出
d、数据与地址按8位/字节传输,高位在前
e、传输过程中,SCL为低电平时,SDA更改状态,SCL为高电平时,SDA状态稳定
f、每传输一个字节,接收器必须回应1个应答位(ACK)给发送器
3、AT24Cxx传输图片
4、产品应用
四、SPI
1、SPI概念
SPI是串行外设接口,由Motorola提出,是一种高速的、全双工、同步的通信总线
注:内部通信常使用UART、SPI、I2C接口
外部通信常使用RS232、RS485、CAN
2、接口
SCLK:时钟信号,由主机产生,用于同步
MOSI:主机数据输出,从机数据输入
MISO:主机数据输入,从机数据输出
SS :从机设备选择线,低电平有效
起始信号:SS由高变低,为SPI通讯的起始信号
结束信号:SS由低变高,为SPI通讯的结束信号
说明:SPI总线为主从模式,起始信号由主机发出,通过SS选择与之通信的从机,结束信号也由主机发出,结束本次通信
3、通讯模式
SPI共有4种通信模式,由CPOL和CPHA控制
CPOL:0->SCLK空闲时低电平 1->SCLK空闲时高电平
CPHA:0->奇数边沿采样 1->偶数边沿采样
模式0:CPOL=0,CPHA=0
模式1:CPOL=0,CPHA=1
模式2:CPOL=1,CPHA=1
模式3:CPOL=1,CPHA=0
确保通讯正常,主机与从机的通讯模式需要匹配,一般为模式0和模式2
4、通信时序
5、产品应用