首页 > 编程知识 正文

串口协议芯片,uart串口通信全双工

时间:2023-05-06 19:53:15 阅读:32151 作者:1059

通用同步接收器/传输器(UATR )通常称为UATR,是异步发送和接收发送器。 在串行通信和并行通信之间传输转换数据,作为并行输入被称为串行输出的芯片。 URT是异步通信用的通用串行数据总线。 这辆巴士是双向通信,可以全双工发送接收。

1、UART通信协议

UART是一种异步串行通信协议,其原理是逐位传输传输数据中的每个字符。 每个位的含义如下。

起始位:先发出表示字符传输开始的逻辑“0”的信号。

数据位:紧接在开始位之后。 数据位的数量为4、5、6、7、8等,构成一个字符。 通常使用ASCII代码。 从最低有效位开始传输,用时钟定位。

奇偶校验位:在数据位中添加此位后,使“1”的位数为偶数(偶数)或奇数(奇数)奇数),依次验证数据传输的正确性。

停止位:字符数据的结束标志。 也可以是1位、1.5位、2位的高电平。 由于数据在传输线路上定时,每个设备都有自己的时钟,因此在通信过程中两台设备之间很可能发生小的异步。 因此,停止位不仅指示传输的结束,而且提供计算机校正时钟同步的机会。 应用于停止位的位数越多,不同的时钟同步容忍程度越高,但数据传输率也越慢。

空闲位:逻辑“1”状态,表示当前线路没有数据传输。

如下图所示。

2、UART工作原理

发送数据过程:空闲状态,线路高电平; 当接收到发送命令时,降低线路上一个数据位的时间t,接着从低位到高位依次发送数据,当数据发送完成时,发送奇偶校验位和停止位,从而完成一帧的数据发送。

数据接收过程:空闲状态,线路高电平; 当检测到线路下降沿(从高电平到低电平)时,线路有数据传输,以决定的波特率从低到高接收数据,数据接收完成后,接着接收奇偶校验位是否正确并进行比较,正确时为后续的奇偶校验位

因为UART是异步传输,没有传输同步时钟,所以为了保证数据的正确性,UART以16倍数据波特率的时钟进行采样。 每个数据有16个时钟的采样,是否采用中间的采样值,使采样不会滑动或错误代码? 典型的UART一帧的数据位数为8,即使每个数据有1个时钟的误差,也可以在接收端正确采样数据。

UART的接收数据时序为:检测到数据下降沿时,表示线路上正在传输数据。 这是当计数器CNT开始计数并且计数器为24=16 8时,采样的值为第0位数据。 当计数器的值为40时,采样的值为第一位的数据,依次类推,进行以下6个数据的采样。 如果需要奇偶校验,则计数器值为152时,采样值为奇偶校验位。 计数器值为168时,采样值为“1”表示停止位,数据接收完成。

标准的10位异步串行通信协议(1开始位、1停止位、8数据位)的收发时间如下图所示。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。