串口:串口是一个泛称,UART,TTL,RS232,RS485都遵循类似的通信时序协议,因此都被通称为串口。
UART接口:又叫通用异步收发器,UART是串口收发的逻辑电路,这部分可以独立成芯片,也可以作为模块嵌入到其他芯片里,单片机、SOC、PC里都会有UART模块。
COM口:特指台式计算机或一些电子设备上的D-SUB外形(一种连接器结构,VGA接口的连接器也是D-SUB)的串行通信口,应用了串口通信时序和RS232的逻辑电平。
TTL:TTL指双极型三极管逻辑电路,市面上很多“USB转TTL”模块,实际上是“USB转TTL电平的串口”模块。这种信号0对应0V,1对应3.3V或者5V。与单片机、SoC的IO电平兼容。不过实际也不一定是TTL电平,因为现在大部分数字逻辑都是CMOS工艺做的,只是沿用了TTL的说法。我们进行串口通信的时候从单片机直接出来的基本是都是 TTL 电平。TTL电平:全双工(逻辑1: 3V—3.3V 逻辑0: 0V--0.7V)。RS-232标准接口是常用的串行通信接口标准之一,是电子工业协会(Electronic Industries Association,EIA) 制定的异步传输标准接口,同时对应着电平标准和通信协议(时序)。
规定逻辑“1”的电平为-5V~-15 V,逻辑“0”的电平为+5 V~+15 V。该电气标准提高抗干扰能力,增大通信距离。RS -232的噪声容限为2V,接收器将能识别低至+3V的信号作为逻辑“0”,将高到-3 V的信号作为逻辑“1”。
在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。
RS-232 的逻辑电平和TTL 不一样但是协议一样。
该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。后来IBM的PC机将RS232简化成了DB-9连接器,从而成为事实标准。而工业控制的RS-232口一般只使用RXD、TXD、GND三条线。
1、硬件框图如下,TTL用于MCU与PC机之间通信2、‘0’和‘1’表示RS485:RS485是一种串口接口标准,为了长距离传输采用差分方式传输,传输的是差分信号,抗干扰能力比RS232强很多。两线压差为-(2~6)V表示0,两线压差为+(2~6)V表示1
RS485协议支持全双工,但是实际应用中,默认为半双工。
RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,多采用的是两线制接线方式,这种接线方式为总线式拓扑结构,在同一总线上最多可以挂接32个节点。
1、硬件框图如下
连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来,而忽略了信号地的连接,这种连接方法能正常工作,但却埋下了很大的隐患,原因1是共模干扰:RS-485接口采用差分方式传输信号方式,系统只需检测两线之间的电位差就可以了,但容易忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7到+12V,只有满足上述条件,整个网络才能正常工作;当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口;原因二是EMI的问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道,就会以辐射的形式返回源端。
一般我们见到的是两种物理标准。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-232和RS-485。不会是TTL电平的(除非特殊应用)。我们一般只接出RXD TXD两针,外加GND。
市面上USB转TTL的芯片,较为出名的为Si公司的CP210x(2,3,4)。3.3V通信电平。其中常见的CP2102芯片的,也是USB转TTL串口。据说比台湾的PL2303好。这个小板就多了+3.3V电源端,以适应不同的目标电路。下图为USB转RS-232串口:另外还有FT232,使用老制程,价格较贵,5V通信电平,性能稳定。CH340,国内大公司的质量较好,自定义电平。以上芯片没有CP2102的用量大。