通信协议--UART

UART(Univesal Asynchronous Receiver Transmitter)是一种广泛应用于嵌入式领域的串行异步、全双工通信协议通用异步接收器/发送器。

在正式讲解UART通信协议前,我们需要了解一些基本的概念。

串行通信:是指数据以位(bit)为单位,按时间顺序逐个通过单一通信线路发送。

并行通信:是指数据通过多个通道同时传输,每个通道传输一位数据。

  

同步:同步通信是指发送方和接收方的时钟同步,数据以固定的时间间隔发送,通常伴随着一个时钟信号或使用同步字符来标识数据的开始和结束。

异步:异步通信是指发送方和接收方的时钟不同步,数据的发送是独立的,每个字符或数据帧的开始和结束由特定的位(如起始位和停止位)标识。

单工通信:指数据只能在一个方向上传输,类似于广播系统,其中一方只能发送数据,另一方只能接收数据。

半双工通信:是指数据可以在两个方向上传输,但在同一时间内只能有一个方向的数据传输。也就是说,通信双方可以交替地发送和接收数据,但不能同时进行。

全双工通信:是指数据可以同时在两个方向上传输,即通信双方可以同时发送和接收数据。

上面介绍完基本的概念,我们大概也能了解UART是什么样的通信过程。

起始位:每次通信开始时,发送方发送一个逻辑“0”信号(VOL),表示传输字符的开始。由于总线空闲时为高电平,因此在开始通信时先发送一个与空闲状态明显不同的信号,即VOL。

奇校验:如果数据位中“1”的个数为偶数,则奇偶校验位为“1”,如果“1”的个数为奇数,则奇偶校验位为“0”。

偶校验:如果数据中“1”的个数为偶数,则奇偶校验位为“0”,如果数据中“1”的个数为奇数,则奇偶校验位为“1”。

校验位可有可无,由系统定义。

停止位可以为1位,1.5位或者2位,由系统定义。

由于UART属于异步通信,在通信过程中没有同步时钟CLK来提供给接收方,接收方也就无法同步地确定每个bit的宽度,也就无法对每个bit进行正确的采样。因此接收方必须依靠设置与发送方相同的波特率参数,这样接收方对信号管脚进行采样和解码时,才能正确判断每个bit的值是“1”还是“0”,这也就是异步通信的特点。

还有一些常见的串口:

UART,“串口”时序协议的名称,定义了各个信号时序协议;

USART,相比UART增加了同步信号,可实现ISO-7816智能卡接口;

COM口,在PC等操作系统上,区别于USB、SATA接口的串行接口,定义了在操作系统中的规范;

RS-232,在UART基础上再定义了信号的电气特性;

RS-422,在RS-232基础上定义了差分信号传输的电气特性;

RS-485,在RS-422基础上定义了半双工模式。

后面会基于UART介绍RS232等串口,以供大家参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值