在调试过程中,常常会遇到各种不同的接口和转换板,而对这些接口和标准的了解不够令人困惑和不满。
首先,需要明确的是,串口、UART口、COM口和USB口都是指物理接口形式或者说硬件上的连接方式。而TTL、RS-232、RS-485则是指电平标准或者说电信号的处理方式。
串口是一个广义的概念,包括UART口、TTL、RS-232以及RS-485等,因为它们都遵循类似的通信时序协议,所以可以统称为串口。
UART接口是通用异步收发器(Universal Asynchronous Receiver/Transmitter)的缩写,它是串口通信中的逻辑电路,可以作为芯片的一部分或者作为独立的芯片存在。在单片机、SOC和PC等设备中都会有UART模块。
COM口则是特指一些台式计算机或者其他电子设备上的串行通信口,外形通常是D-SUB连接器,这种连接器结构也被用于VGA接口。COM口使用串口通信时序和RS-232的电平标准。
USB口是通用串行总线的缩写,和串口是完全不同的概念。虽然它也是使用串行方式进行通信,但是USB的通信时序和信号电平与串口完全不同,因此它们之间没有任何关联。USB是一种高速通信接口,用于PC连接各种外设,如U盘、键鼠和移动硬盘等,同时也包括了USB转串口的模块。这种模块实际上是USB接口的UART模块。
TTL,RS232,RS485都是一种逻辑电平的表示方式
TTL:TTL指双极型三极管逻辑电路,市面上很多“USB转TTL”模块,实际上是“USB转TTL电平的串口”模块。这种信号0对应0V,1对应3.3V或者5V。与单片机、SOC的IO电平兼容。不过实际也不一定是TTL电平,因为现在大部分数字逻辑都是CMOS工艺做的,只是沿用了TTL的说法。我们进行串口通信的时候从单片机直接出来的基本是都是 TTL 电平。
TTL电平:全双工(逻辑1: 2.4V–5V 逻辑0: 0V–0.5V)
1、硬件框图如下,TTL用于两个MCU间通信
2、‘0’和‘1’表示
RS232:是电子工业协会(Electronic Industries Association,EIA) 制定的异步传输标准接口,同时对应着电平标准和通信协议(时序),其电平标准:+3V~+15V对应0,-3V~-15V对应1。rs232 的逻辑电平和TTL 不一样但是协议一样。
RS-232电平:全双工(逻辑1:-15V–5V 逻辑0:+3V–+15V)
1、硬件框图如下,TTL用于MCU与PC机之间通信
2、‘0’和‘1’表示
RS485:RS485是一种串口接口标准,为了长距离传输采用差分方式传输,传输的是差分信号,抗干扰能力比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-232和RS-485。不会是TTL电平的(除非特殊应用)。9针串口的定义可以参考这里:
http://wenku.baidu.com/view/5c170c6925c52cc58bd6be6e.html
我们一般只接出RXD TXD两针,外加GND。
下图是个USB转TTL串口的小板,可以用USB扩展出一个串口。芯片为PL2303HX。网上经常混淆各种串口,但是这个确实是可以给STC单片机下载程序的。
这是另一种,CP2102芯片的,也是USB转TTL串口。据说比PL2303的好,实际使用中没感觉出来。这个小板就多了+3.3V电源端,以适应不同的目标电路。下图为USB转RS-232串口:
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !