学习嵌入式的第四十二天——ARM——UART

1、什么是单工,半双工,全双工通信?

单工:在整个通信过程中,只能一方发送,另一方接收

定义

数据只能单向传输,即从 "发送端" 到 "接收端",接收端无法向发送端反馈数据,通信链路是 "单向不可逆" 的。

核心特点
  • 只有一条单向信道,无需考虑 "冲突"(因接收端不发送数据)。
  • 发送端和接收端的角色固定:发送端只负责发,接收端只负责收。

半双工:在同一时刻,只能一方发送,另一方接收,但是在通信过程中双方身份可以互换

定义

数据可以双向传输 ,但不能同时双向传输------ 同一时间内,通信链路只能允许一个方向的数据流动,发送端和接收端需 "交替" 工作(即 "发的时候不能收,收的时候不能发")。

核心特点
  • 共享一条信道(或一组信道),需通过 "分时复用" 实现双向通信(即 "轮流占用信道")。
  • 存在 "冲突风险":若两端同时发送数据,会导致信号叠加、数据丢失,因此需额外机制避免冲突(如 "载波监听")。

全双工:在同一时刻,通信双方既可以发送,也可以接收,收发互不影响

定义

数据可以同时双向传输------ 发送端和接收端能 "同时" 发送和接收数据,相当于存在 "两条独立的单向信道"(一条用于 A→B,一条用于 B→A),通信链路是 "双向同步" 的。

核心特点
  • 有两条独立信道(或一条信道分为两个子信道),无需 "分时复用",发送和接收可并行进行。
  • 无 "冲突风险"(因双向数据走不同信道),通信效率最高,适用于需要 "实时交互" 的场景。

2、什么是串行通信,什么是并行通信?

串行:通信数据只能一个bit一个bit的传输

定义

数据通过一条传输线路(或一对线路)逐位传输,即一个数据字节(通常 8 位)需要分成 8 次,按顺序一位一位地发送,接收端再逐位拼接还原成完整数据。

核心特点
  • 线路少:只需 1 条(或 2 条,含地线)传输线,硬件成本低、布线简单。
  • 逐位传输:数据位按时间顺序依次发送(比如先传最高位,再传次高位,最后传最低位),需要严格的 "时序同步"(发送端和接收端需约定传输速率,确保对齐每一位)。
  • 抗干扰强:由于线路少,长距离传输时信号间的 "串扰"(不同线路信号互相干扰)风险低,适合远距离通信。
  • 速度限制:理论上单次只能传 1 位,速率受限于单条线路的信号频率(但现代技术可通过提高单路频率弥补,如高速串行接口)。

并行:通信数据可以多个bit同时传输

定义

数据通过多条独立的传输线路同时传输,即一个数据字节(8 位)可以通过 8 条线路同时发送,一次完成整个字节的传输。

核心特点
  • 线路多:需要与数据位数相同(或更多)的线路(如 8 位数据需 8 条数据线,通常还需额外的时钟线、地线),硬件成本高、布线复杂。
  • 多位并行传输:多个数据位(如 8 位、16 位)同时发送,理论上速度是同频率串行通信的 N 倍(N 为线路数)。
  • 抗干扰弱:线路密集时,信号间 "串扰" 严重(尤其高频传输时);且长距离传输中,不同线路的信号延迟差异会导致 "数据错位"(同步困难),因此仅适合短距离。
  • 速度优势有限:虽然单次数据传得多,但受限于串扰和同步问题,实际速率难以无限提升(高频下反而不如优化后的串行通信)。

3、

异步:通信双方没有链接时钟线,必须提前规定收发速率

定义

发送端和接收端不需要共享时钟信号,双方可以使用各自独立的时钟(只要时钟频率在允许范围内接近即可)。数据以 "离散的帧(Frame)" 为单位传输,每个帧的开头和结尾会添加 "起始位" 和 "停止位" 作为标记,告诉接收端 "数据开始了" 和 "数据结束了"。

核心特点
  • 无共享时钟:双方时钟可独立运行(允许一定误差,通常 ±5% 以内),硬件实现简单。
  • 帧格式标记:每个数据帧(如一个字节)的结构固定,例如 "1 位起始位(低电平)+8 位数据位 + 1 位停止位(高电平)",通过这些标记让接收端识别数据边界。
  • 传输有间隔:帧与帧之间可以有任意时长的空闲时间(接收端等待下一个起始位即可),无需连续传输。
  • 容错性较强:即使时钟有微小偏差,因每帧长度短(通常 10-11 位),偏差不会累积到导致数据错误的程度,适合长距离、中低速率场景。

同步:通信双方有时钟线链接,可以通过相同时钟来执行操作

定义

发送端和接收端使用同一个时钟信号(或严格同步的时钟) 来协调数据传输节奏,双方在 "统一的时间节拍" 下收发数据。数据以 "连续的数据流" 形式传输,无需额外标记分隔单个数据单元(如字节),接收端通过时钟信号的节拍来判断每一位数据的开始和结束。

核心特点

共享时钟:发送端和接收端必须保持时钟同步(可以是发送端提供时钟,也可以是双方通过锁相环等技术实现时钟对齐)。

连续传输:数据像 "流水" 一样连续发送,没有额外的间隔或标记(除非传输结束),效率高。

无额外标记:不需要用 "起始位 / 停止位" 等标记来分隔数据,数据密度更高(每一位都是有效数据)。

对同步要求极高:若时钟出现微小偏差,累积后可能导致数据错位(比如把 "101" 错读成 "110"),因此适合短距离、高速率场景。

两者的本质是 **"如何解决收发双方的节奏对齐问题"**:

同步通信靠 "共享时钟" 实现严格对齐,适合高速、短距离、对效率要求高的场景(如芯片内部通信);

异步通信靠 "数据帧标记" 实现松散对齐,适合低速、长距离、对硬件成本敏感的场景(如串口、网络通信)。

4、串口通信属于哪一类?

异步,全双工,串行

5、串口通信的电器表达有哪些?

串口通信的 "电气表达",本质是指其在电气层面的实现规范 ------ 包括信号电平定义、传输方式(单端 / 差分)、接口形式、抗干扰能力等核心特性。不同的电气规范决定了串口通信的传输距离、稳定性和适用场景,其中最主流、最常用的是 RS-232、RS-485、RS-422 三大标准,此外还有面向芯片级短距离通信的 TTL 串口

一、主流串口通信的电气规范详解

1. RS-232(EIA RS-232):短距离单端传输标准

RS-232 是最早普及的串口电气标准,主要用于设备间短距离点对点通信(如早期电脑与调制解调器、打印机的连接),核心特点是 "单端传输"(信号相对于地电平定义)。

核心电气特性:
  • 信号电平定义 (与 "逻辑电平" 反向):
    • 逻辑 "1":-3V ~ -15V(负电平);
    • 逻辑 "0":+3V ~ +15V(正电平);
    • 注意:电压范围需超出 ±3V 才被视为有效信号,±3V 之间为 "不确定区域"(避免噪声误判)。
  • 传输方式:单端传输(信号通过一根线传输,参考 "地(GND)" 电平);
  • 传输距离与速率
    • 标准速率下(≤20kbps),最大传输距离约 15 米
    • 速率越高,距离越短(如 115.2kbps 时,距离通常<5 米);
  • 抗干扰能力:弱(单端传输易受共模干扰,如电源线噪声、地线波动);
  • 接口形式 :经典为 DB9 接口(9 针公头 / 母头),部分设备用 DB25(25 针,现已极少);
  • 典型引脚(DB9) :仅需 3 根核心线即可通信(其他为控制信号,非必需):
    • 2 脚(RXD):接收数据;
    • 3 脚(TXD):发送数据;
    • 5 脚(GND):公共地线;
  • 适用场景:短距离点对点设备连接(如电脑与调试模块、老式串口打印机)。
2. RS-485(EIA RS-485):工业级差分传输标准

RS-485 是为解决 RS-232"传输近、抗干扰弱" 问题设计的工业级标准,核心特点是 "差分传输"(通过两根线的电压差定义信号),支持多节点组网(一台主机连接多台从机)。

核心电气特性:
  • 信号电平定义 (差分电压):
    • 逻辑 "1":B 线电压 - A 线电压 > +200mV(即 B>A);
    • 逻辑 "0":B 线电压 - A 线电压 < -200mV(即 A>B);
    • 无需参考地电平(仅依赖 A、B 线的压差),抗共模干扰能力极强;
  • 传输方式:差分传输(通过两根双绞线:A 线(DATA-)、B 线(DATA+));
  • 传输距离与速率
    • 低速下(≤100kbps),最大传输距离可达 1200 米
    • 高速下(10Mbps),距离缩短至 15 米(速率与距离成反比);
  • 抗干扰能力:强(差分传输可抵消共模噪声,适合工业现场复杂电磁环境);
  • 节点数 :最多支持 32 个节点(通过中继器可扩展至更多);
  • 双工模式 :默认半双工(需通过 "收发控制引脚(DE/RE)" 切换发送 / 接收状态),部分芯片支持全双工(需额外增加一对差分线);
  • 接口形式 :无固定接口,工业中常用 端子台(方便接双绞线),或兼容 DB9 接口;
  • 典型引脚:A(DATA-)、B(DATA+)、GND(可选,增强稳定性);
  • 适用场景:工业现场组网(如传感器、PLC、变频器之间的通信)、长距离数据采集(如楼宇自控、智能电表抄表)。
3. RS-422(EIA RS-422):全双工差分传输标准

RS-422 与 RS-485 同属差分传输标准,但核心差异是支持全双工通信(无需切换收发状态),主要用于 "点对点或一点对多点(仅接收)" 场景。

核心电气特性:
  • 信号电平定义:与 RS-485 完全一致(依赖 A、B 线差分电压,±200mV 阈值);
  • 传输方式 :差分传输,但需 两对差分线 (分别用于发送和接收):
    • 发送端:TX+(B1)、TX-(A1);
    • 接收端:RX+(B2)、RX-(A2);
  • 传输距离与速率:与 RS-485 接近(低速 1200 米,高速 15 米);
  • 抗干扰能力:强(同差分传输机制);
  • 节点数:仅支持 "1 个发送端 + 最多 10 个接收端"(不支持多节点发送,无法组网,仅点对点或 "一主多从接收");
  • 双工模式全双工(发送和接收独立,可同时进行);
  • 适用场景:需要实时双向通信的短距离工业场景(如 PLC 与伺服驱动器、高精度传感器的高速数据交互)。
4. TTL 串口:芯片级短距离通信标准

TTL 串口并非 "正式工业标准",而是芯片内部或板间短距离串行通信的电气规范(如单片机、FPGA、模块间的通信),核心是 "低电压单端传输"。

核心电气特性:
  • 信号电平定义 (与 "逻辑电平" 一致,分 5V/3.3V 两种):
    • 5V TTL:逻辑 "1"=4.0V~5.0V,逻辑 "0"=0V~0.8V;
    • 3.3V TTL:逻辑 "1"=2.4V~3.3V,逻辑 "0"=0V~0.4V;
  • 传输方式:单端传输(依赖 GND 为参考);
  • 传输距离与速率
    • 速率≤115.2kbps 时,最大距离仅 1~3 米(超短距离);
    • 速率越高,距离越短(如 1Mbps 时<1 米);
  • 抗干扰能力:极弱(低电压信号易受噪声影响,仅适合板内或相邻板间通信);
  • 接口形式:无固定接口,通常为 "杜邦线引脚"(如 Arduino 的 TX/RX 引脚、模块的排针);
  • 典型引脚:TX(发送)、RX(接收)、GND(地);
  • 注意事项:TTL 电平与 RS-232 电平不兼容(前者低电压,后者正负高压),需通过 "电平转换芯片"(如 MAX232)转换后才能互通;
  • 适用场景:芯片级通信(如单片机与 GPS 模块、蓝牙模块的板间连接)。
相关推荐
西岸行者6 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意6 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码6 天前
嵌入式学习路线
学习
毛小茛6 天前
计算机系统概论——校验码
学习
babe小鑫6 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms6 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下6 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。6 天前
2026.2.25监控学习
学习
im_AMBER6 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J6 天前
从“Hello World“ 开始 C++
c语言·c++·学习