目录
串口通信基本原理
串口、RS-232、RS-485
(1)物理接口形式
(2)电平标准
TTL与CMOS:
RS-232、RS-485、RS-422
串口形式
串口通信基本原理 参考【STM32】串口通信基本原理
设备之间的通信方式一般为:并行通信、串行通信两种。
串行通信分类:
1.按数据传送方向分为:
- 单工:只支持数据在一个方向上传输;
- 半双工:允许数据在两个方向传输,但是在某一时刻只允许一个方向,它实际上是一种切换方向的单工通信;
- 全双工:允许数据同时在两个方向上传输。
文章图片
2.按通信方式分为:
- 同步通信:带时钟同步信号传输,如SPI、IIC通信接口。
- 异步通信:不带时钟同步信号,如UART(通用异步收发器)、单总线。
在异步通讯中不使用时钟信号进行数据同步,它们直接在数据信号中穿插一些用于同步的信号位,或者将主题数据进行打包,以数据帧的格式传输数据。通讯中还需要双方规约好数据的传输速率(也就是波特率)等,以便更好地同步。常用的波特率有4800bps、9600bps、115200bps等。
文章图片
串口、RS-232、RS-485 UART和RS232/RS485的关系是什么?
串口、COM口、UART口, TTL、RS-232、RS-485区别详解
首先,串口、UART口、COM口、USB口是指的物理接口形式(硬件)。(1)物理接口形式 串口:串口是一个泛称,UART、TTL、RS232、RS485都遵循类似的通信时序协议,因此都被通称为串口。
而TTL、RS-232、RS-485是指的电平标准(电信号)。
接设备的时候,一般只接GND RX TX。不会接Vcc或者+3.3v的电源线,避免与目标设备上的供电冲突。
PL2303、CP2102芯片是USB 转 TTL串口 的芯片,用USB来扩展串口(TTL电平)。
MAX232芯片是TTL电平与RS232电平的专用双向转换芯片,可以TTL转RS-232,也可以RS-232转TTL。
TTL标准是低电平为0,高电平为1(+5V电平)。RS-232标准是正电平为0,负电平为1(±15V电平)。
【通信|串口-RS232/RS485-TTL/CMOS】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模块)
(2)电平标准
UART(通用异步收发传输器),负责处理数据总线和串行口之间的串/并、并/串转换,并规定了帧格式;通信双方只要采用相同的帧格式和波特率,就能在未共享时钟信号的情况下,仅用两根信号线(Rx 和Tx)就可以完成通信过程,因此也称为异步串行通信。TTL与CMOS:
若加入一个合适的电平转换器,UART就能用于RS-232、RS-485通信,或与计算机端口连接。
从某种意义上,可以说,线路上存在的仅仅是电流,RS232/RS485规定了这些电流在什么样的线路上流动和流动的样式;在UART那里,电流才被解释和组装成数据,并变成CPU可直接读写的形式。
我们进行串口通信的时候,从单片机直接出来的基本都是TTL电平。
TTL电平:全双工
硬件框图如下,TTL用于两个MCU间通信。
文章图片
标准输入电压为5V的情况下 | ||
TTL | CMOS | |
输出 | L:<0.8V H:>2.4V |
L:<0.1Vcc H:>0.9Vcc |
输入 | L:<1.2V H:>2.0V |
L:<0.3Vcc H:>0.7Vcc |
区别 | 引脚悬空,默认高电平 | 引脚悬空,电平状态未知 |
电流控制型 | 电压控制型 | |
延迟<10ns | 延迟<50ns |
RS-232 | RS-485 | RS-422 | |
通信特点 | 点对点 短距离 低速 |
半双工 支持多机通讯 同一总线上最多可以挂接32个节点 |
多点通信,平衡传输 硬件上相当于两组RS-485 两个半双工RS-485构成一个全双工RS-422 |
传输速度 | 50~19200b/s | 100 kbit/s-10 Mbit/s | 同RS485 |
接口线 | 标准25条线 简化9条,DB-9接口 一般3~9条信号线就可以实现全双工通信 |
3根(A、B、G) | 4根信号线,两根发送,两根接收 |
逻辑电平 | -5V~-15 V(1) +5 V~+15 V(0) |
Voa–Vob < ?200 mV(1) Voa–Vob > +200 mV(0) |
Voa–Vob < ?6 V(1) Voa–Vob > +6 V(0) |
全双工(逻辑1:-15V-5V;逻辑0:3V-15V)
硬件框图如下,RS-232用于MCU和PC机间通信。
文章图片
(2)RS-485:
(3)RS-422:
- 数据采用差分传输方式,使用一对屏蔽双绞线A、B。
- RS-485只有两根信号线,所以是半双工,常用于总线网(类似于CAN网络拓扑)。
- 逻辑“1”:两线间的电压差为 +2~+6V;逻辑“0”:两线间的电压差为 -2~-6V。
- RS-485的数据最高传输速率为10Mbps 。
- RS485接口连接器采用DB-9的9芯插头座。
电气性能与RS-485完全一样。串口形式 一般见到的有两种标准:D型9针插头、4针杜邦头。
主要区别:RS-422有4根信号线,两根发送,两根接收。收与发是分开的,可以同时收和发,所以是全双工,常用于两个站之间的通信、星型网、环网。
1.常见的4针串口:
在电路板上常见,经常上边还带有杜邦插针。还有时候有第五根针,3.3V电源端。
文章图片
嵌入式里边说的串口,一般指UART口。UART有4个pin(VCC、GND、RX、TX),用的TTL电平,低电平为0(0V),高电平为1(3.3V或以上)。
2.D型9针串口(DB9):
这种接口的协议只有两种:RS-232和RS-485,不会是TTL。一般只接出RXD、TXD两针,外加GND。
文章图片
文章图片
USB转TTL:
文章图片
USB转RS-232:
文章图片
两个芯片之间的连接:TTL电平通信。
芯片与PC机(或上位机)相连:通常PC机(或上位机)使用的是RS232接口,故要想使芯片与PC机的RS232接口直接通信,需要先经过电平转换电路实现TTL电平与RS232电平之间的转换。
推荐阅读
- ubuntu|基于亚博Arduino电机拓展板的ROS小车
- #yyds干货盘点#线程通信
- 历史上的今天|【历史上的今天】6 月 2 日(苹果推出了 Swift 编程语言;电信收购联通 C 网;OS X Yosemite 发布)
- #yyds干货盘点#16.父子组件事件通信
- #2021年底大盘点#进程间的通信方法
- windows|收集一些实用的电脑使用习惯和操作技巧
- 硬件工程师|单片机开发流程难不难,有没有捷径可以选
- ARM嵌入式|STM32从零开始 - 前言(硬件准备)
- 平衡小车|零基础制作平衡小车【连载】4---STM32定时器编码器模式(附源码)