STM32 串口概念 UART协议

串口概念

1. 串口说明

以上都是串行通信电器标准,是串口通信的方式之一

  1. TTL(重点介绍)

  2. RS232

  3. RS485

  4. RS422

2. TTL

(1) TTL 介绍

TTL 的全称是:Transistor--Transistor Logic(晶体管-晶体管逻辑)

最初是指一种数字电路逻辑标准(早期 74 系列逻辑芯片就是 TTL 逻辑)。

在串口通信中,"TTL 电平"通常指:

使用 0V 和 3.3V 或 5V 电平 表示逻辑 0 和逻辑 1 的串行通信信号标准

TTL 串口通常基于 UART(通用异步收发器)

其通信过程如下:

  1. 两端事先约定通信参数:波特率、数据位、校验位、停止位;
  2. 数据以位为单位串行发送;
  3. 一帧数据格式如下:
scss 复制代码
   ┌─起始位(0)─┬──数据位(8位)──┬─校验位(可选)─┬─停止位(1或2)─┐
   │             │                │               │               │
时间→  L         xxxxxxxx          ?               H

举例:波特率=9600,数据位=8,停止位=1,无校验 → 称为"8N1"格式。

TTL 串口 = UART 协议 + TTL 电平。

TTL 串口的连接方式:

常见连接方法:

复制代码
设备A(TTL)         设备B(TTL)
-------------------------------
TX (发送)   --->   RX (接收)
RX (接收)   <---   TX (发送)
GND         <----> GND
  • 发送端的TX 要链接 接收端的RX
  • 发送端的RX 要链接 接收端的TX

基于发送与接收都是不同的线的特点,所以它是全双工的(能同时发送和同时接受)。

(2) TTL 做板级通信

板级通信 指的是:

同一设备内部、不同电路板(或芯片模块)之间 进行的数据通信。

选择TTL做板级通信的优势:

  • 板内部件较近,只需引脚连接,简单成本低
  • 不需要高压驱动,成本低
  • 不会远距离干扰,抗干扰强

(3) TTL 使用的 UART协议

TTL 与 UART 关系

UART 是通信协议层(通信规则),TTL 是它的电平实现层(信号电平)。

对于其他的电气标准,它们也是使用UART协议,只是电平实现方式不同而已。

a. UART 是什么

UART 全称是 Universal Asynchronous Receiver/Transmitter (通用 异步 收发器),是一种 串行通信方式/协议

它定义了:

  • 数据如何分成一帧帧发送(起始位、数据位、校验位、停止位);
  • 波特率(bit 速率);
  • 同步规则(异步);
  • 数据流方向(TX→RX)
b. UART 协议包含部分
类别 内容 说明
通信方式 异步串行通信 不用时钟线,只用 TX、RX
帧结构定义 起始位 + 数据位 + 校验位 + 停止位 一帧即一个字节(Byte)
波特率(Baud Rate) 9600、115200 等 每秒传输的位数
数据位长度 一般 5~9 位(常用 8 位) 数据部分长度
校验位(Parity) 无、偶、奇 检测错误用
停止位(Stop Bit) 1 位或 2 位 表示一帧结束
数据传输方向 全双工 可以同时收发
电平标准 TTL / RS232 / RS485 物理层电平实现
流控(可选) 硬件(RTS/CTS)或软件(XON/XOFF) 控制发送节奏
c. UART 通信设备

它的通信设备有很多种,我下面列举部分:

分类 代表设备 电平类型 通信说明
传感器类 GPS、PM2.5、超声波模块 TTL 输出数据给 MCU
通信模块 WiFi、蓝牙、4G、LoRa TTL 串口发送/接收 AT 命令
扩展模块 串口屏、RS232/RS485 转换 TTL/RS232/RS485 控制显示或扩展通信
电脑端 USB 转 TTL、RS232 口 TTL/RS232 与 MCU 通信或调试

我后面会重点讲解 串口A-B、蓝牙模块、WIFI模块。

d. UART 与 USART 的区别
  • UART 是"通用异步收发器"(Universal Asynchronous Receiver/Transmitter
  • USART 是"通用同步/异步收发器"(Universal Synchronous/Asynchronous Receiver/Transmitter

USART 比 UART 多了同步功能,所以它比UART多了条时钟线,用于同步功能。

3. 基础知识点

(1) 什么叫异步、同步

同步通信 :"发送端和接收端 共用同一个时钟,靠时钟节拍同步数据传输。"

异步通信 :"发送端和接收端 没有共用时钟,而是通过帧结构来保持同步。"

本质就是异步没有时钟,同步有时钟。

(2) 什么叫串行、并行

**串行通信:**同个数据一次用一条传输线传输数据

  • 优点:线少,成本低,适合远距离传输
  • 缺点:传输速度慢

**并行通信:**同个数据一次用多条传输线传输数据

  • 优点:适合近距离传输,传输速度快
  • 缺点:线多,成本高

(3) 什么叫单工、半双工、全双工

单工

  • 数据只能 A → B
  • B 端不能同时回传

半双工

  • A 和 B 都可以发送,但不能同时发
  • 需要协议/时序控制谁先发

全双工

  • A 发 B 收,B 发 A 收 同时进行
  • 通信效率最高

注:以上均是学习笔记。

相关推荐
偶像你挑的噻17 小时前
11-Linux驱动开发-I2C子系统–mpu6050简单数据透传驱动
linux·驱动开发·stm32·嵌入式硬件
Chat_zhanggong34518 小时前
K4A8G165WC-BITD产品推荐
人工智能·嵌入式硬件·算法
强化学习与机器人控制仿真19 小时前
RSL-RL:开源人形机器人强化学习控制研究库
开发语言·人工智能·stm32·神经网络·机器人·强化学习·模仿学习
bai54593619 小时前
STM32 PWM驱动LED呼吸灯
stm32·单片机·嵌入式硬件
智者知已应修善业19 小时前
【51单片机普通延时奇偶灯切换】2023-4-4
c语言·经验分享·笔记·嵌入式硬件·51单片机
btzhy1 天前
STM32单片机:基本定时器应用:单脉冲模式(STM32L4xx)
stm32·单片机·嵌入式硬件·基本定时器应用:单脉冲模式
文sir.1 天前
温湿度采集系统(stm32+mqtt+Onenet云平台+esp8266)
stm32·单片机·嵌入式硬件·mqtt·onenet·云平台·esp8266
DIY机器人工房1 天前
嵌入式面试题:你有没有用过直接基于TCP协议,不借助HTTP、MQTT这类上层协议的项目经历?
stm32·单片机·嵌入式硬件·面试题·diy机器人工房
zhmc1 天前
Cortex M0单片机指令执行周期
单片机·嵌入式硬件
编程小白菜1231 天前
STM32L051单片机485Ymode升级后程序不能正常运行问题
stm32·嵌入式硬件