串口通信的基本原理是什么?
串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。
更多
好的,串口通信(串行通信接口通信)的基本原理是通过一根数据线(或配合少量控制线)将数据一位接一位地、按顺序逐位进行传输。
以下是其核心原理的详细分解:
-
串行传输:
- 这是串口通信的核心特征。与并行通信(多位数据同时通过多条线传输)不同,串口通信在同一时间点只传输一位数据(1比特, bit)。
- 数据字节(通常是8位,但也可以是5-9位)被分解成一个个单独的比特位。
- 这些比特位按照从最低有效位(LSB)到最高有效位(MSB)(或反之,取决于配置)的顺序,依次在单根数据线上发送(发送端Tx)或接收(接收端Rx)。
-
异步通信:
- 大多数通用串口通信是异步的。这意味着发送端和接收端没有共用的时钟信号来严格同步每一位的精确发送/接收时刻。
- 双方设备需要提前约定好一些关键的通信参数(速率、格式、校验),并通过起始位和停止位来界定每个数据帧(数据包)的边界。
-
通信参数约定(关键!):
- 波特率: 数据传输的速率。表示每秒钟传输的符号(symbol)数量。在常见的NRZ编码下,1个符号=1个比特(bit),所以波特率(bps)等同于比特率(bps)。例如,9600波特表示每秒传输9600个比特。发送方和接收方必须设置为相同的波特率,否则无法正确识别数据。
- 数据位: 每个数据帧中包含的实际数据位数。常见的是7位或8位(一个字节)。
- 停止位: 表示一个数据帧结束的信号位。通常是1位、1.5位或2位(逻辑高电平)。它起到分隔帧和填充时间的双重作用。
- 校验位: (可选)用于简单的错误检测。通常有奇校验、偶校验或无校验:
- 奇校验: 数据位+校验位中,“1”的总个数为奇数。
- 偶校验: 数据位+校验位中,“1”的总个数为偶数。
- 接收端会根据校验规则检查接收到的数据位+校验位是否满足约定的奇/偶性。如果不满足,说明传输过程中可能发生了单比特错误。
-
数据帧格式: 一个完整的串口数据帧通常由以下几部分组成(从起始到结束顺序):
- 起始位: 固定为逻辑低电平(0)。它通知接收端“即将开始发送一个数据帧”。
- 数据位: 5-9位用户数据(通常是8位),从LSB开始发送。
- 校验位: (如果有)1位,根据数据位内容计算得出。
- 停止位: 逻辑高电平(1),通常为1位(常见)、1.5位或2位。标志着该数据帧的结束,并为接收端提供时间准备接收下一帧。
-
逻辑电平标准:
- 原始的逻辑电平(如单片机UART的Tx/Rx引脚信号)是TTL电平:逻辑高电平接近电源电压(如3.3V或5V),逻辑低电平接近0V。
- 为了长距离传输(可达15米以上)和抗干扰,使用RS-232标准电平:逻辑“1” = -3V到-15V,逻辑“0” = +3V到+15V。这需要一个电平转换芯片(如MAX232、CH340等)来连接TTL设备(如MCU)和符合RS-232标准的接口(如DB9接头)。
-
双工模式:
- 串口通信通常是全双工的:因为有独立的发送线(Tx)和接收线(Rx),发送端和接收端可以同时收发数据。
- 也有配置为半双工的应用:同一时刻只能有一个设备发送,另一个设备接收(需要额外的控制逻辑或协议管理发送权)。
-
硬件流控:
- (可选)为了管理数据传输速度,防止接收端缓冲区溢出(接收不过来),可以使用额外的控制线(如RTS, CTS)来进行硬件流控:
- RTS(请求发送): 发送方准备好发送数据时,拉低RTS信号通知接收方。
- CTS(清除发送): 接收方准备好接收数据时,拉低CTS信号响应发送方。只有CTS有效(低电平)时,发送方才发送数据。
- (可选)为了管理数据传输速度,防止接收端缓冲区溢出(接收不过来),可以使用额外的控制线(如RTS, CTS)来进行硬件流控:
总结一下关键流程:
- 发送方决定发送一个字节数据。
- 发送方拉低发送线(Tx),作为起始位(0),持续1个比特时间。
- 发送方依次(从LSB或MSB开始)发送数据位,每个位持续一个比特时间(由波特率决定时间长度)。
- (可选)发送方发送校验位。
- 发送方拉高发送线(Tx),作为停止位(1),持续1个、1.5个或2个比特时间。
- 接收方持续监测接收线(Rx),当检测到由高变低的下降沿(起始位)时开始计时。
- 接收方根据约定好的波特率,在每个比特的中心位置附近对Rx电平进行采样。
- 将采样到的电平值按顺序组合成数据位(同时检查校验位,如果启用)。
- 等待采样到停止位(高电平),完成当前字节的接收,并准备检测下一个起始位。
- 重复以上步骤。
为什么还在用? 虽然速度比USB、以太网等现代接口慢得多,但串口通信硬件简单、软件实现容易、成本低、可靠性高、容易实现远距离通信(配合RS-232/RS-485),非常适合于设备调试、工控设备、传感器连接、嵌入式系统间通信、终端控制等应用场景。
串口通信的基本原理汇总
串口通信对单片机而言是很重要的,它不但可以实现将单片机的数据传输到计算机端,,还能实现计算机对单片机的控制,下面就跟着科兰布线小编一起来学习一下串口
2023-03-24 10:53:17
7天热门专题
换一换
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 芯片的工作原理是什么?
- ssd是什么意思
- 什么是蓝牙?它的主要作用是什么?
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- dtmb信号覆盖城市查询
- 怎样挑选路由器?
- 华为芯片为什么受制于美国?
- 元宇宙概念股龙头一览
- type-c四根线接法图解
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- BLDC电机技术分析
- 复位电路的原理及作用
- dsp是什么意思?有什么作用?
- iphone13promax电池容量是多少毫安
- 苹果无线充电器怎么使用?
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 传感器常见类型有哪些?
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机