UART、TTL和RS232的区别

UART、TTL和RS232的区别


  学习硬件的开始接触的就是串口,但是一直没搞懂UART、TTL和RS232这些的关系,总感觉相互之间有所交叉,无法完全区分开,于是有了这篇博文。但是,这篇博文自我感觉并没有完全正确地区分这三者,但能够让自己稍微捋一捋头绪,希望接下来的学习中能够对这三者有进一步的认识和了解,如有错误还望指出!这是本文的结论:
1、UART就是一堆电路,是异步串行通信的一种电路实现;
2、TTL有两个意思,一是电路类型,二是电平标准;
3、RS232属于异步串行通信方式,跟UART相比,区别仅在于UART使用的是TTL电平,而RS232使用的是另一种电平标准。

串行通信

  串行通信(Serial Communication)是一种通信方式。两个设备之间通过一条数据线逐比特地发送数据就属于串行通信。与之相反的是并行通信(Parallel Communication),指两个设备之间通过多条数据线同时发送多个比特。
  串行通信包括异步串行通信(Asynchronous Serial Communication)1和同步串行通信(Synchronous Serial Communication)。异步串行通信方式下的两个设备之间没有同步时钟线进行同步,所以需要起始信号和终止信号。图2中指出了该通信方式下的设备在通信之前必须达成的协议,包括工作模式(全双工或者半双工)、帧长度、波特率、校验位长度和类型、停止位长度等。

在这里插入图片描述

图1 异步串行通信的维基百科词条

在这里插入图片描述

图2 异步串行通信的操作

UART

  UART(Universal Asynchronous Receiver-transmitter),叫做通用异步收发器2。根据维基百科的定义,它就是一堆电路,如图5所示,包含时钟发生器、输入输出移位寄存器等。我理解的,UART是异步串行通信的一种电路实现(注意这里的表述,我想过“UART属于异步串行通信方式的一种”这样的表述,但感觉不对),所以从图4中可以看出UART包含的内容跟异步串行通信是有重叠的。

在这里插入图片描述

图3 UART的维基百科定义

在这里插入图片描述

图4 UART的发送和接收

在这里插入图片描述

图5 UART的结构

TTL

  图6为TTL的维基百科词条3。我理解的,TTL有两个意思,一是电路类型,即由双极型晶体管构成的电路,比如TTL门电路。与之相对的有CMOS电路。二是电平标准,即2V-5V为逻辑1,0V-0.8V为逻辑0。从计算机网络的角度看,TTL属于五层中的最底层:物理层。
在这里插入图片描述

图6 TTL的维基百科定义

RS232

  图7为RS232的维基百科词条4。RS232是一种标准协议,它定义了电气特性(即电平标准:多少伏为0,多少伏为1)、信号时序、信号意义和连接器的引脚排布及尺寸。这是RS232的全部内容,也就是说RS232不是一种电平标准,电平标准只是它内容的一部分。仍然从计算机网络的角度来看,RS232包含了物理层和数据链路层(这么说对吗?)。RS232中定义了TXD和RXD引脚,所以RS232属于异步串行通信方式(注意这里的表述),那么跟UART相比,传输方式都是一样,都是关于起始位、比特位、停止位这一套。区别仅在于UART使用的是TTL电平,而RS232使用的是另一种电平标准。
在这里插入图片描述

图7 RS232的维基百科词条

  1. https://en.wikipedia.org/wiki/Asynchronous_serial_communication ↩︎

  2. https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter ↩︎

  3. https://en.wikipedia.org/wiki/Transistor%E2%80%93transistor_logic ↩︎

  4. https://en.wikipedia.org/wiki/RS-232 ↩︎

  • 10
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
UART是通用异步收发传输器的缩写,它是一种串行通信协议。UART的特点是简单、廉价、易于实现和理解。它可以在不同设备之间传输数据,但需要协商好通信参数,如波特率、数据位、停止位、奇偶校验位等。UART是一种点对点的通信协议,即只能有一个发送器和一个接收器。 TTL是晶体管-晶体管逻辑的缩写,是一种数字电路的电平标准。 TTL电平的逻辑高电平一般为5V,逻辑低电平为0V。 TTL串口通常使用3.3V或5V作为电平标准,具有简单、廉价、易于实现和理解的特点。 RS232是一种常见的串行通信协议,常用于连接计算机和周边设备。 RS232是单向传输,只有一个发送器和一个接收器,通常使用9针或25针连接器,最大传输距离为50英尺(约15米),具有稳定性好、传输速率低等特点。 RS422是一种高速、远距离、差分传输的串行通信协议,支持多点通信。 RS422通常使用4针或5针连接器,最大传输距离为4000英尺(约1200米),具有抗干扰性强、传输速率高等特点。 RS485是一种高速、远距离、差分传输的串行通信协议,支持多点通信。 RS485通常使用2针或3针连接器,最大传输距离为4000英尺(约1200米),具有抗干扰性强、传输速率高等特点。与RS422相比,RS485具有更高的灵活性和更好的成本效益,因此在工业控制和自动化领域广泛应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值