串口
即串行通信接口,与之相对应的另一种接口叫并口,并行接口。两者的区别是,传输一个字节(8个位)的数据时,串口是将8个位排好队,逐个地在1条连接线上传输,而并口则将8个位一字排开,分别在8条连接线上同时传输 ,也就是进行数据传输的接口。串口是一种物理接口形式。硬件说的串口通常指COM接口 ,而嵌入式里面说的串口,指的是UART口(通用异步收发传输器(Universal Asynchronous Receiver/Transmitter))。
串口通信标准(电平标准)
数据在通信双方之间传输,本质是传输物理的电平 比方说传输5V的电压 -1V的电压信号,这些物理信号在传输过程中会受到很多干扰,比方说你传输一个5V的电压,到了接收端可能就变成了4.8V,并且通信的双方高低电平的参考电压可能不同。那么这个时候就需要一个电平标准,来判断多少V的电压是高电平 1,多少V的电压是低电平 0 这就诞生了 RS-485 RS-232.
串口通信的接口标准有很多,而我们所了解的RS-232C、RS-232、RS-422A、RS-485 、TTL 都是串口通信标准。
RS485:
RS485是一种串口接口标准,为了长距离传输采用差分方式传输,传输的是差分信号,抗干扰能力比RS232强很多。两线压差为-2~-6V表示0,两线压差为+2~+6V表示1
半双工
逻辑1:+2V~+6V
逻辑0: -2V~ -6V
注意485的电平指的是485-A和485-B两根传输线,两线间的电压差。而不是传输线上的电压。也就是RS-485电平标准确定传输过来的数据是0还是1,在此基础上,这些字节数据根据modbus通信协议来进行数据的交互传输。
硬件层协议:解决0和1的可靠传输,常有RS232、RS485、CAN、IIC、SPI …
软件层协议:解决传输目的,常有Modbus、TCP/IP、CANopen …
RS232:
是电子工业协会(Electronic Industries Association,EIA) 制定的异步传输标准接口,同时对应着电平标准和通信协议(时序),其电平标准:+3V~+15V对应0,-3V~-15V对应1。
全双工
逻辑1:-15V~-5V
逻辑0:+5V~+15V
TTL(Transistor-Transistor Logic):
该电平的逻辑“1”为+5V,逻辑“0”为0V,称为TTL
逻辑1:+5V
逻辑0:0V
TTL电平标准:
输出 L: <0.8V ; H:>2.4V。
输入 L: <1.2V ; H:>2.0V
VCC:供电pin,一般是3.3v,
GND:接地pin,板内共地时可以不单独接,板间通信时候必须接上
RX:数据接收引脚
TX:数据发送引脚
TTL电平与RS-232区别
RS232电平, 它是负逻辑电平,它定义+5~+15V为低电平“0”,而-15~-5V为高电平“1”
需要注意的是RS-232与TTL只是一种电平标准,而COM口和UART口是物理接口,只是COM口肯定使用RS-232标准,而UART一般使用TTL标准
COM口
通常使用的是9 针D 形连接器,简称 DB9接口,也称之为RS-232接口,之前串口通信使用的大多都是 DB9 接口,而有的使用的是老式的DB25 针连接器,也称之为RS-422接口,这种接口目前已经很少使用,接头有公头和母头之分,其中带针状的接头是公头,而带孔状的接头是母头。DB9/DB25接口 ,就称为COM口
UART口
UART 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片同样它是串行通信接口 UART只有数据线收和发,并无时钟线,故为异步串行通信接口,可以实现全双工传输和接收;在嵌入式中,常用来上位机与外设通信。单片机中的UART有4个pin(VCC, GND, RX, TX), 用的TTL电平。
USB通用串行总线(英语:Universal Serial Bus,缩写:USB)
是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品 ,随着时代的发展,USB接口已经逐渐替代了COM口,成为最主流的接口,现今已经到了USB 3.0。电脑上的USB接口的输出电压为直流5V,输出电流不大于500毫安 并且与TTL电平不兼容,信号传输时需要电平转换电路。
USB转TTL
我们知道现在电脑使用的基本都是USB接口,而单片机使用的是TTL标准,那么在嵌入式中我们需要上位机通信,怎么办呢?,这时候便需要一个转换芯片,从而使得电脑(主机)可以通过USB输出TTL电平 ,这便是USB转TTL。那么我们所已知的CH340G CH340E PL2303 、CP2102 等等 ,都是USB转TTL串口的芯片,当然现在普遍使用的为CH340G 主要是因为其安全,耐用并且便宜 满足我们日常的正常使用,在接线时注意单片机RX接转接板TX TX接转接板RX
连接顺序为:电脑USB口---> USB转TTL---->单片机UART口
USB转串口(RS-232)
我们知道单片机是UATR口 TTL电平标准,而电脑是USB口 如果我们想用电脑的USB口与单片机串口(COM口)通信,这时就需要使用MAX232之类的电平转换芯片,将单片机TTL电平转换成RS-232电平 ,并且将USB转换为RS-232电平 这就是USB转串口。我们所说的USB转串口,就是指单片机上装了一个TTL转RS-232的转换芯片 ,并且有COM口,使得单片机可以输出RS-232电平,这样便可以通过 USB转串口(RS-232)模块连接电脑USB口,再与单片机COM口相连,双方都是RS-232电平标准,便可以来进行通信。市场出售的usb转串口线一般会有两个芯片,一个是CH340这类芯片,一个是MAX232类芯片,因为计算机的串口电平标准是RS232电平,所以通过 USB转串口(RS-232)模块 USB经过CH340转成了TTL串口,中间那四个引脚可以引出,再经由MAX232转换为RS-232电平,9针串口引出 。并且MAX232芯片是 TTL电平与RS232电平的专用双向转换芯片,可以TTL转RS-232,也可以RS-232转TTL,在单片机上用作TTL转RS-232 。
连接顺序为:电脑USB口--->USB转串口---->单片机COM口
电脑COM口 to 单片机COM口
当然,如果电脑有COM口,这个时候便可以直接将电脑的COM口与单片机的COM口进行相连,便可以进行通信。当然在串口通信中通常 电脑的 DB9 为公头,单片机上使用的串口 DB9 为母头,通过一根直通串口线进行相连。
连接顺序为:电脑COM口--->---->单片机COM口
以单片机串口与PC串口通信就应该遵循下面的连接方式:在单片机串口与上位机给出的rs232口之间,通过电平转换电路(如下面图中的Max232芯片) 实现TTL电平与RS232电平之间的转换。
电脑USB口 to 单片机USB口
为了方便,很多单片机上都配备了USB转TTL芯片,直接引出usb接口,便可以实现通信
总结:
最简单理解 xx转xx 就是将前面的转换为后面的 USB转TTL 就是将USB转换为 TTL电平 USB转串口 就是将USB转换为串口
①.COM口:在台式机上常用的口,DB9/DB25接口,接口协议只有两种RS232和RS485
COM口多见于旧式电脑,用于连接鼠标,调制调解器等设备,现在已被USB取代。
②.UART口、COM口指的是物理接口形式;TTL、RS232和RS485指的是电平逻辑标准;
③TL电平和RS232电平转换专用芯片有MAX232,TTL电平转USB芯片有CP2102、PL2303、FT230,CH340
④ COM口 和UART口 都为串口的一种 ,即都为串行通信 UART为异步串行通信接口
⑤UART包含TTL电平的串口和RS232电平的串口,但是我们的单片机的UART是TTL电平
⑥ 串口按照接口划分标准分为很多种 ,如UATR RS232 同步串行接口
扩展:同步通信和异步通信
同步通信和异步通信的区别是:时钟线的有无。同步通信有时钟线,收发双方通过统一的时钟来频率确定何时进行数据的传输,如I2C和SPI。异步通信没有时钟线,可以任意时刻开始发送字符 但只能在数据的开始和尾加入标志位来区分不同的数据帧,即加上开始位和停止位,所传送的数据以字节为单位。每个字节前加上一位起始位,每个字节的后面加上停止位,接收数据之前也要预先知道波特率的大小,传输效率比同步通信要低。如UART 但方便简单,易于操作
简单来说:
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。
串行通信与并行通信:
串行通信就是一根数据线,数据是一位一位的依次传输
而并行通信则是8跟数据线,数据是一个字节一个字节的发送
串口形容一下就是一条车道,而并口就是有8/16个车道同一时刻能传送8/16位(一个字节/两个字节)数据
本文参考下面链接
原文链接:https://blog.csdn.net/as480133937/article/details/97483342