接口协议学习(四):UART(串口)

UART

UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器),是一种全双工收发协议。

串行通信分为两种方式:同步串口通信和异步串口通信。同步串口通信需要接发双方在同一时钟的控制下进行操作,因为很多分立的电子系统的驱动时钟并不相同,所以实用性不强。而异步串口通信就可以实现任意时钟驱动的系统的通信。

UART是异步串行通信接口的总称,UART有很多种接口标准,常见的有RS232,RS484,RS442、RS423等,它们规定了通信口的电气特性、传输速率、连接特性以及机械特性等。

下面以RS232为例

RS232接口标准出现较早, 可实现全双工工作方式。RS232最常见的接口类型为DB9。

虽然RS232有这么多针脚,但是我们一般只用到GND、TXD、RXD这三根线,也因为这么多针脚,体积太大,所以DB9接口在计算机系统和嵌入式系统中已经用的很少,通常使用一个CH340芯片和USB接口,实现USB转串口。
若存在多个串口,则分别称为COM1、COM2等。
在这里插入图片描述

UART时序

UART在发送或接收过程中的一帧数据由4部分组成, 起始位、 数据位、 奇偶校验位和停止位。
在这里插入图片描述
起始位:低电平0,代表一帧数据的开始;

数据位:要发送的数据,一般为5-8位,最多8位,如果超过8位,则需要发送两次来进行拼接;数据位从最低位开始发送和接收,与I2C和SPI不同。

校验位:也称奇偶校验位,数据位加上这一位的值,,使得“1”的个数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。如果用户选择数据长度为 8 位,则因为没有多余的bit可被用来作为奇偶校验位,因此就叫做“无奇偶校验(Non) ”

停止位:在数据发送完成后,发送1(1.5, 2)个高电平,默认为1个高电平,来表示一个帧数据发送完成。

一帧完整的数据一般包括:1位起始位、8位数据位、无奇偶校验、一位停止位,这样的帧也称为8N1。

波特率:即每秒钟可以通信的数据bit个数。 典型的波特率有 300, 1200, 2400, 9600, 19200, 115200 等。一般通信两端设备都要设为相同的波特率,但有些设备也可设置为自动检测波特率。

在设计UART程序的时候,一般先生成一个波特率时钟,然后再基于这个时钟进行数据接发。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值