UART/USART
前言
UART:universal asynchronous receiver and transmitter通用异步收/发器
USART:universal synchronous asynchronous receiver and transmitter通用同步/异步收/发器
通信是嵌入式系统的重要功能之一。使用的通信接口有很多,比如UART,SPI,IIC,USB和CAN等。其中UART是最常见,最方便,使用最频繁的通信接口。
从数据通信的基本概念出发,讲述微控制器的UART部件——USART的工作原理和开发技术。注:学过计算机网络的对这些就很简单了。
1.数据通信的基本概念
1.1 并行和串行
按数据传送的方式,通讯可分为串行通讯与并行通讯,串行通讯是指设备之间通过少量数据信号线(一般是 8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。而并行通讯一般是指使用 8、 16、 32 及 64 根或更多的数据线进行传输的通讯方式,并行通讯就像多个车道的公路,可以同时传输多个数据位的数据,而串行通讯,而串行通讯就像单个车道的公路,同一时刻只能传输一个数据位的数据。


1.2 单工,半双工,全双工
根据数据通讯的方向,通讯又分为全双工、半双工及单工通讯,它们主要以信道的方向来区分。


1.3 同步和异步
根据通讯的数据同步方式,又分为同步和异步两种,可以根据通讯过程中是否有使用到时钟信号进行简单的区分。
1.4 通信速率
衡量通讯性能的一个非常重要的参数就是通讯速率,通常以比特率(Bitrate)来表示,即每秒钟传输的二进制位数,单位为比特每秒(bit/s)。容易与比特率混淆的概念是“波特率”(Baudrate),它表示每秒钟传输了多少个码元。
而码元是通讯信号调制的概念,通讯中常用时间间隔相同的符号来表示一个二进制数字,这样的信号称为码元。如常见的通讯传输中,用 0V 表示数字 0, 5V 表示数字 1,那么一个码元可以表示两种状态 0 和 1,所以一个码元等于一个二进制比特位,此时波特率的大小与比特率一致;如果在通讯传输中,有 0V、2V、 4V 以及 6V 分别表示二进制数 00、 01、 10、 11,那么每个码元可以表示四种状态,即两个二进制比特位,所以码元数是二进制比特位数的一半,这个时候的波特率为比特率的一半。因为很多常见的通讯中一个码元都是表示两种状态,人们常常直接以波特率来表示比特率,虽然严格来说没什么错误,但希望能了解它们的区别。
2.UART/USART通信原理物理层
2.1 UART
2.1.1 UART接口
UART为异步串行全双工通信。最简单的接口可以由TxD,RxD和GND三条线构成,想要更复杂的功能,还需要更多的引脚。
2.1.2 UART电平
UART使用电子电路中常使用 TTL 的电平标准,理想状态下,使用 5V 表示二进
制逻辑 1,使用 0V 表示逻辑 0;

本文深入探讨了UART/USART通信的基本概念,包括并行与串行、单工、半双工与全双工通信,以及同步与异步通信。详细介绍了UART/USART的物理层与协议层原理,STM32的USART工作方式,以及USART初始化结构体的使用。
3万+

被折叠的 条评论
为什么被折叠?



