二十七、通信接口

前言:本章为通信接口的简单介绍。下一章节讲解UART。

目录

一、通信接口简介

二、串口通信原理

三、串口通信的硬件连接

常见连接方式

四、口通信的电平标准

五、串口通信的参数

[六、UART 数据帧结构](#六、UART 数据帧结构)

[七、UART 时序图分析](#七、UART 时序图分析)

[八、UART 的同步与误差](#八、UART 的同步与误差)

九、总结


一、通信接口简介

在嵌入式系统中,通信接口是微控制器与外部设备进行数据交换的桥梁。常见的通信接口包括:

  • UART(通用异步收发器)

  • SPI(串行外设接口)

  • I²C(集成电路间通信)

  • CAN(控制器局域网)

  • USB、Ethernet 等高速接口

这些接口的区别主要在于数据传输方式、同步方式、传输速率和应用场景。

而在众多通信接口中,UART 串口通信是最基础、最常用的接口之一,几乎所有单片机都具备 UART 模块。

二、串口通信原理

UART(Universal Asynchronous Receiver/Transmitter) 中文称为通用异步收发器

它是一种异步全双工的串行通信方式,也就是说:

  • "异步"表示通信双方不共享时钟信号,而是依靠波特率来保持同步;

  • "全双工"意味着发送和接收可以同时进行。

UART 通信以比特为单位 在一条线上依次发送数据,因此被称为串行通信

相比并行通信,虽然速度略慢,但线路简单、成本低、抗干扰能力强。

三、串口通信的硬件连接

在 STM32C8T6 中,串口通信一般使用 USART1、USART2、USART3 等硬件外设。

每个 USART 都有两条主要信号线:

常见连接方式

1.MCU 与上位机通信(如电脑)

电脑通常没有直接的 UART 接口,因此需要使用 USB 转 TTL 模块(如 CH340、CP2102、FT232) 将信号转换后连接。

STM32 TX → USB-TTL RX

STM32 RX → USB-TTL TX

GND → GND

2.MCU 与 MCU 通信

两个 STM32 之间也可以通过交叉连接 TX/RX 实现通信。

四、口通信的电平标准

UART 只是通信协议规范,而具体的电平标准决定了信号电压范围。常见的有两种:

STM32 的 UART 口使用 TTL 电平

若要与电脑的 RS-232 串口通信,需要通过 MAX232 芯片进行电平转换。

五、串口通信的参数

UART 通信双方必须在通信前约定好相同的参数,否则会出现乱码或丢包。常见参数包括:

常用配置是 8N1

  • 8 位数据

  • 无校验位(N)

  • 1 位停止位

六、UART 数据帧结构

在 UART 中,数据以帧(Frame)为单位发送。

一个典型的 8N1 数据帧如下图所示:

空闲线 起始位 数据位0~7 停止位

| | | |

|--------------|---------|-----------|

1 (高) 0 (低) bit0→bit7 1 (高)

解释:

  • 空闲状态:线路为高电平

  • 起始位:低电平表示传输开始

  • 数据位:从低位(LSB)开始发送

  • 停止位:高电平表示传输结束

七、UART 时序图分析

下面是 UART 的标准时序图(以 8N1 格式为例):

电平

高 ────────────────────────────────────────────

↓起始位 ↑停止位

┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐

低───┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └───────────

|<- 每一位的持续时间取决于波特率 ->|

例如:

波特率 = 9600 bps → 每位时间 = 1/9600 ≈ 104.17 μs

那么发送 1 帧(10 位数据:1+8+1)需要约 1.04 ms。

八、UART 的同步与误差

UART 是异步通信,因此接收方没有外部时钟,只能依靠波特率匹配。

在通信中允许少量误差(一般 ±2% 以内)。

若误差过大,会导致采样点偏移,从而产生错误。

因此,在 STM32 中,通常需要使用 定时器精确设置波特率分频系数,以保证通信稳定。

九、总结

UART 串口通信作为嵌入式系统中最常用的通信方式之一,具有以下优点:

  • 硬件结构简单

  • 软件实现方便

  • 调试友好(可通过串口调试助手直接查看数据)

在 STM32C8T6 中,UART 模块由 USART 外设 实现,不仅支持标准异步通信,还可支持同步模式、LIN、IrDA 等多种扩展功能。

相关推荐
沸速存储2 小时前
DDR5引领变革:内存条行业的技术迭代与市场重构
嵌入式硬件·电脑
飞睿科技3 小时前
【IoT开发选型】乐鑫ESP32-C6核心优势解析:为何它在无线连接中表现如此全面?
嵌入式硬件·物联网
heisd_13 小时前
STM32时钟系统对于STM32F1系列(详解)
stm32·单片机·嵌入式硬件
应用市场3 小时前
STM32 ADC底层原理与寄存器配置详解
stm32·单片机·嵌入式硬件
d111111111d4 小时前
STM32外设学习--DMA直接存储器读取--学习笔记。
笔记·stm32·单片机·嵌入式硬件·学习
培林将军4 小时前
Visual Studio Code 之C/C++开发编译环境搭建
c语言·c++·vscode
一支闲人4 小时前
OLED代码演示-使用缓存区
stm32·单片机·嵌入式硬件·oled模块
点灯小铭4 小时前
基于单片机的噪声波形检测与分贝测量仪设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业
Tracy-226 小时前
广东专升本计算机C语言
c语言·开发语言