当前位置: 首页 > news >正文

二十七、通信接口

前言:本章为通信接口的简单介绍。下一章节讲解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 等多种扩展功能。
 

http://www.dtcms.com/a/593143.html

相关文章:

  • 个人网站备案条件个人怎么做网页
  • SQL 相关子查询:性能杀手及其优化方法
  • 一文掌握UI自动化测试
  • 金融保险银行营销AI数字化转型培训讲师培训老师唐兴通讲金融银保团队险年金险市场销售
  • 质效飞跃,优测金融数智质效解决方案全新升级!
  • 智网案例精选|光联云网融合智驱,重塑金融数字化转型新格局
  • 自适应网站建设极速建站WordPress更新emoji
  • watch监视-ref对象类型数据
  • 网站建设的英语怎么做淘宝客网站做淘客
  • MBSE:数字模型重塑系统工程未来
  • 排序算法的相关讨论
  • HDFS 之 CacheAdmin
  • MySQL数据库07:分组查询与分类查询
  • 淄博网站公司高端网站建设公司怎么做推广
  • MCU的I/O防护
  • 碳纤维便携式气象站:轻量化设计,随时随地掌握气象数据
  • 华为-AI智算网络学习-2
  • K8S RD: Kubernetes从核心调度到故障排查、网络优化与日志收集指南
  • Java 项目里的那些坑
  • 【读书笔记】NVIDIA DGX
  • 岑溪网站开发工作室宁波网站制作公司费用价格
  • 揭阳智能模板建站海口百度seo公司
  • 智能SQL优化工具 PawSQL 月度更新 | 2025年10月
  • 烟台市网站建设用电脑怎么做原创视频网站
  • Total PDF Converter v6.5.0.356.0 电脑PDF多功能转换器
  • 【Android】MVVM实战:仿Launcher加载与应用过滤
  • seowhy什么意思丹阳seo公司
  • 质量智能革命:SPC软件助力中国制造驶入高质量发展快车道
  • 步骤记录器广州搜索排名优化
  • 3分钟搞定,CI/CD工具Arbess安装和配置