一、UART帧格式详解
UART
Universal Asynchronous Receiver Transmitter 即 通用异步收发器,是一种通用的串行、异步通信总线 该总线有两条数据线,可以实现全双工的发送和接收,在嵌入式系统中常用于主机与辅助设备之间的通信。
通信基础 - 并行和串行
并行通信:总线在传送数据的时候,可以一次性发送多位数据。
串行通信:数据线只有一根,逐次传送各位数据
在同等条件下,并行比串行的通信速度更快,但并行使用的总线数量较多,会比较浪费资源,布线难度也比较大,不同总线在传输数据时,线和线之间都会有一些信号的干扰。做项目时,使用串行通信多一点
通信基础 - 单工和双工
单工通信:通信的双方区分为发送器和接收器,数据传输的方向是单向的
双工通信: 分为半双工和全双工,它们数据的传输都是双向的。半双工通信时,A和B可以互相发数据,但不能是同时的,而全双工可以同时进行。
如果总线的数据线只有一根,一般是半双工的,如果有多根,一般是全双工。
通信基础 - 波特率
波特率用于描述UART通信时的通信速度,其单位为bps(bit per second)即每秒钟传送的bit的数量
UART帧格式
起始位表示一次通信的开始,数据位就是通过串口发送的数据,校验位会校验(只能校验,不能修正)数据发送的正确性,停止位表示一次通信的结束。如果想发送多个数据,重复这个步骤就可以
注: 1、数据线在空闲时,数据线上的状态必须是高电平。
2、发送数据时,先发低位数据。
3、串口每次只能发送一个字节, 是为了避免产生累计误差(发送方与接收方的时间误差)。
串口一般为奇偶校验。奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。
UART硬件连接
两个芯片通信时,要交叉接线,一方的TXD要与另一方的RXD连接,
UART控制器
一般情况下处理器中都会集成UART控制器 我们使用UART进行通信时候只需对其内部的相 关寄存器进行设置即可。
二、Exynos4412下的 UART控制器
引脚功能设置
注:设置引脚功能的实质是让引脚在芯片内部连接到某一个对应的控制器上
串口的高低电平信号较弱,极有可能收到干扰,通信距离较短。为了增强串口的信号,在中间加了一个U3芯片,把串口发出来的TTL信号转化为2