串口、COM口、UART口, TTL、RS-232RS-485区别详解


UART口、COM口、USB口是指物理接口形式(硬件)。而 TTL、RS-232RS-485是指的电平标准(电信号)。

串口:串口是一个泛称,UART、TTL、RS232、RS485都遵循类似的通信时序协议,因此都被通称为串口。

UART接口:通用异步收发器Universal Asynchronous Receiver/Transmitter),UART是串口收发的逻辑电路,这部分可以独立成芯片,也可以作为模块嵌入到其他芯片里,单片机SOC、PC里都会有UART模块。

COM口:特指台式计算机或一些电子设备上的D-SUB外形(一种连接器结构,VGA接口的连接器也是D-SUB)的串行通信口,应用了串口通信时序和RS232的逻辑电平

USB通用串行总线,和串口完全是两个概念。虽然也是串行方式通信,但由于USB的通信时序和信号电平都和串口完全不同,因此和串口没有任何关系。USB是高速的通信接口,用于PC连接各种外设,U盘、键鼠、移动硬盘、当然也包括"USB转串口"的模块。(USB转串口模块,就是USB接口的UART模块)


TTL、RS232、RS485都是一种逻辑电平的表示方式

TTL:TTL指双极型三极管逻辑电路,市面上很多"USB转TTL"模块,实际上是"USB转TTL电平的串口"模块。这种信号0对应0V,1对应3.3V或5V。与单片机SOCIO电平兼容。不过实际也不一定是TTL电平,因为现在大部分数字逻辑都是CMOS工艺做的,只是沿用了TTL的说法。我们进行串口通信的时候 从单片机直接出来的基本是都是 TTL 电平。  

TTL电平:全双工(逻辑1:2.4V ~ 5V,逻辑0:0V ~ 0.5V)


1、硬件框架图如下,TTL用于两个MCU之间通信



2、0和1表示

 


RS232:是电子工业协会制定的异步传输标准接口,同时对应着电平标准和通信协议(时序),其电平标准:+3V ~ +15V对应0,-3V ~ -15V对应1。RS232的逻辑电平和TTL不一样但是协议一样。

RS-232电平:全双工(逻辑1:-15V ~ -3V,逻辑0:+3V ~ +15V)


1、硬件框图如下


2、0和1表示


RS485RS485是一种串口接口标准,为了长距离传输采用差分方式传输,传输的是差分信号,抗干扰能力比RS232强很多。两线压差为-(2~6)V表示0,两线压差为+(2~6)V表示1。

RS-485:半双工、(逻辑1:+2V ~ +6V,逻辑0:-6V ~ -2V)这里的电平指AB两线间的电压差


1、硬件框图如下:


2、0和1表示

 

COM口即串行通讯端口,简称串口。这里区别于USB的"通用串行总线"和硬盘的"SATA"。

一般我们见到的是两种物理标准。D型9针插头,和4针杜邦头两种。这是常见的4针串口,在电路板上常见,经常上边还带有杜邦插针,有时候还会有第五根针,3.3V电源端。由于是预留在电路板上的,协议可以有很多种,要看具体设备


嵌入式里面说的串口,一般是指UART口,但是我们经常搞不清楚它和COM口的区别,以及RS232、TTL等关系,实际上UART、COM指的是物理接口形式(硬件),而TTL、RS-232是指的电平标准(电信号)。

UART有4个pin(VCC、GND、RX、TX),用的是TTL电平,低电平为0(0V),高电平为1(3.3V或以上)。

D型9针串口,这种接口的协议只有两种:RS-232RS-485。不会是TTL电平的。一般只接出RXD、TXD,外加GND。

设备的时候,一般只接GND、RXD、TXD。不会接Vcc或者+3.3V的电源线,避免与目标设备上的供电冲突。GND给收发双方提供参考电平。TXD和RXD数据线以bit为最小单位传输数据,一帧包含:起始位、数据位、校验位、停止位。

PL2303、CP2102芯片是USB转TTL串口的芯片,用USB来扩展串口(TTL电平)。USB转TTL串口如下图:

MAX232芯片是TTL电平与RS232电平的专用双向转换芯片,可以TTL转RS-232,也可以RS-232转TTL。如下图:

UART通用异步收发传输器,它是完成一个特定的功能的硬件,它本身不是协议。它的最基本功能,是串行数据和并行数据之间的转换。计算机中的数据以Byte为基本单位,对一个Byte的存取是并行的,即同时取得/写入8个bit。而串行通信,则需要将这个Byte"打碎",按照时间顺序来收发以实现串行。它是设备间进行异步通信的关键模块,UART负责处理数据总线和串行口之间的串/并、并/串转换,并规定了帧格式;通信双方只要采用相同的帧格式和波特率,就能在未共享时钟信号的情况下,仅用两根信号线(Rx 和Tx)就可以完成通信过程,因此也称为异步串行通信

例如:内存中的数据是:11100101

串行发送的实际效果是:1->0->1->0->0->1->1->1

接收则是:1->1->1->0->0->1->0->1

RS232/RS485是两种不同的电气协议,也就是说是对电气特性以及物理特性的规定,作用于数据的传输通路上,它并不内含对数据的处理方式。

比如RS232使用3v ~ 15v有效电平,而UART,因为对电气特性并没有规定,所以直接使用CPU使用的电平,就是所谓的TTL电平(0~3.3V之间)。更具体的,电气的特性也决定了线路的连接方式,比如RS232,规定用电平表示数据,因此线路就是单线路的,用两根线才能达到全双工的目的。而RS485, 使用差分电平表示数据,因此必须用两根线才能达到传输数据的基本要求,要实现全双工必需用4根线。但是,无论使用RS232还是RS485,它们与UART都是相对独立的,但是由于电气特性的差别,必须要有专用的器件和UART接驳,才能完成数据在线路和UART之间的正常流动。

总结:从某种意义上,可以说线路上存在的仅仅是电流,而RS232/RS485规定了这些电流在什么样的线路上流动和流动的样式;在UART那里,电流才被解释和组装成数据,并变成CPU可直接读写的形式。


RS-232RS-485的区别:

传输方式不同RS-232采取不平衡传输方式,即所谓单端通讯。而RS485则采用平衡传输,即差分传输方式。

传输距离不同RS-232适合本地设备之间的通信,传输距离一般不超过20m。而RS-485的传输距离为几十米到上千米。

能否支持多点通讯RS-232只允许一对一通信,而RS-485接口总线上是允许连接多达128个收发器

接口的物理结构方面:

  • RS-232接口连接器使用型号为DB-25的25芯插头座。一些设备与PC机连接的RS-232接口,因为不使用对方的传送控制信号,只需三条接口线,即RXD、TXD、GND,所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线

  • RS-485无具体的物理形状,根据工程的实际情况而采用的接口


接口电气方面

  • RS-232传输电平信号接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。抗干扰能力差。

  • RS-485传输差分信号逻辑1以两线间的电压差为+(2-6)V表示;逻辑0以两线间的电压差为-(2-6)V表示。接口信号电平比RS-232降低了,不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL 电路连接。抗干扰能力。


通讯线的区别

  • RS-232可以采用三芯双绞线、三芯屏蔽线等。

  • RS-485可以采用两芯双绞线、两芯屏蔽线等。


传输数据的最大波特率

  • RS-232传输效率较低,最高波特率为19200bps。虽然传输速度很慢,但在很多场合还是很实用的。可以连接各种设备,例如监控、其它的设备升级或调试等都可能需要用到它。功能与USB比较接近,随着USB端口的越来越普遍,将会出现更多的把USB转换成RS-232或其它接口的转换装置。通过USB接口可连接更多的RS-232设备,不仅可获得更高的传输速度,实现真正的即插即用,同时解决了USB接口不能远距离传输的缺点。

  • RS-485的数据最高传输速率为10Mbps。


单工、半双工和全双工的区别

  • 单工:数据只能在一个方向上传输,不能实现双方通信。如电视、广播

  • 半双工:允许数据在两个方向上传输,但是同一时间数据只能在一个方向上传输,其实际上是切换的单工。如对讲机

  • 全双工:允许数据在两个方向上同时传输。如手机通话



来源:面包板社区

免责声明:本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容!本文内容为原作者观点,并不代表本公众号赞同其观点和对其真实性负责。

 
  

 

为您发布产品,请点击“阅读原文”