stm32U5A9配置USART+DMA

stm32U5A9配置USART+DMA

STM32U5 的 GPDMA (General-Purpose DMA) 是新一代高性能、全功能通用 DMA 控制器,专为复杂、高带宽、低功耗场景设计。它彻底重构了传统 DMA 架构,集成 DMAMUX + 支持链表 + 2D 寻址 + 双 AHB 端口 + 自主传输 ,是 STM32U5 性能与低功耗的核心支柱

一、核心定位与架构

1. 与 LPDMA 的分工(U5 独有双 DMA)

  • GPDMA高性能域 (CPU 域),跑主时钟,全功能、高带宽
    *
    • 负责:LCD、Camera、Octo-SPI、eMMC、高速 ADC/DAC、内存拷贝
  • LPDMA低功耗域 ,可在 Stop 0/1 下工作
    *
    • 负责:LPUART、SPI、I2C、定时器等低速外设,主打超低功耗

2. 总线架构(双 AHB 主端口)

  • Port 0 :推荐访问 外设寄存器 (APB/AHB)
  • Port 1 :推荐访问 内存 (SRAM、Flash、Octo-SPI、eMMC)
  • 优势:并行传输、总线冲突最小化、带宽翻倍

二、通道与硬件规格(STM32U5 典型)

1. 通道总数与分组

  • 共 16 个独立通道 (GPDMA1)
  • 分组(关键差异)

表格

2. 核心能力

  • 4 种传输方向
    *
    • 外设 → 内存
    • 内存 → 外设
    • 内存 → 内存
    • 外设 → 外设 (U5 新支持)
  • 数据宽度字节 (8)、半字 (16)、字 (32)
  • 突发长度 :1/4/8/16 个数据单元(AHB 突发优化)
  • 块最大长度65535 字节 (BNDT 16bit)
  • 优先级 :每通道 8 级可编程 (硬件仲裁)

三、革命性特性(U5 GPDMA 重点)

1. 原生集成 DMAMUX(不再外挂)

  • 128 个外设请求 → 任意映射到任意 GPDMA 通道
  • 支持:硬件触发、软件触发、事件触发
  • 彻底告别 "通道与外设固定绑定" 的历史

2. 链表传输(Linked-List, LLI)

  • 每个通道支持 内存链表 :多个传输节点自动串联
  • 每个节点(LLI)含:
    *
    • 源 / 目标地址
    • 长度、数据宽度、突发
    • 下一个节点指针
    • 中断 / 触发配置
  • 无需 CPU 干预 完成复杂多段传输(如循环采集、帧缓冲刷新)

3. 2D 寻址(仅 Ch12~15)

  • 支持 行 / 列偏移(Stride)
  • 典型用途:
    *
    • LCD 显存刷新(只刷新局部矩形)
    • 图像裁剪、旋转、去隔行
    • 二维数组 / 缓冲区拷贝
  • 配置:突发偏移 + 块偏移 (有符号)

4. 安全与特权(STM32U5 特色) STMicroelectronics

  • SECCFGR :通道安全属性(TrustZone)
  • PRIVCFGR :特权 / 非特权访问控制
  • RCFGLOCKR :锁定安全配置(防篡改)

5. 自主模式(Autonomous Mode) STMicroelectronics

  • Stop 0/Stop 1 低功耗模式下仍可工作
  • 定时器触发 → GPDMA 搬运 → 无需 CPU 唤醒
  • 适合:周期性传感器采集、低功耗数据记录
  • 特性(U5 GPDMA 重点)

1. 原生集成 DMAMUX(不再外挂)

  • 128 个外设请求 → 任意映射到任意 GPDMA 通道
  • 支持:硬件触发、软件触发、事件触发
  • 彻底告别 "通道与外设固定绑定" 的历史

2. 链表传输(Linked-List, LLI)

  • 每个通道支持 内存链表 :多个传输节点自动串联
  • 每个节点(LLI)含:
    *
    • 源 / 目标地址
    • 长度、数据宽度、突发
    • 下一个节点指针
    • 中断 / 触发配置
  • 无需 CPU 干预 完成复杂多段传输(如循环采集、帧缓冲刷新)

3. 2D 寻址(仅 Ch12~15)

  • 支持 行 / 列偏移(Stride)
  • 典型用途:
    *
    • LCD 显存刷新(只刷新局部矩形)
    • 图像裁剪、旋转、去隔行
    • 二维数组 / 缓冲区拷贝
  • 配置:突发偏移 + 块偏移 (有符号)

4. 安全与特权(STM32U5 特色)

  1. SECCFGR :通道安全属性(TrustZone)
  2. PRIVCFGR :特权 / 非特权访问控制
  3. RCFGLOCKR :锁定安全配置(防篡改)

5. 自主模式(Autonomous Mode)

  • Stop 0/Stop 1 低功耗模式下仍可工作
  • 定时器触发 → GPDMA 搬运 → 无需 CPU 唤醒
  • 适合:周期性传感器采集、低功耗数据记录

使用stm32cubex打开usart1

使能串口中断

跳转到GPDMA1并配置收发

生成代码,后能能串口IDLE中断

再添加回调函数callback,在函数里面重新使能接收

相关推荐
破晓单片机17 小时前
009、STM32单片机分享:智能窗帘系统
stm32·单片机·嵌入式硬件
zhaoshuzhaoshu18 小时前
嵌入式开发之 GPIO 详细解析(STM32 平台)
嵌入式硬件
清风66666618 小时前
基于单片机的智慧城市垃圾桶系统设计
单片机·毕业设计·智慧城市·课程设计·期末大作业
凡科建站18 小时前
单片机IO不够?ULN2003A救急方案
单片机·嵌入式硬件
二十画~书生18 小时前
3款阻容降压电源电路设计详解
经验分享·单片机·嵌入式硬件·硬件工程
点灯小铭18 小时前
基于单片机的智能一体化自动咖啡机设计
数据库·单片机·毕业设计·课程设计·期末大作业
纳祥科技18 小时前
音频ADC芯片基础解析:为什么计算机需要它来理解真实世界?
网络·单片机·音视频·智能音箱
rit843249918 小时前
STM32 入门 + 传感器采集 + 显示 综合实验
stm32·单片机·嵌入式硬件
Industio_触觉智能18 小时前
瑞芯微RK3576机器视觉场景之割草机+无人清扫车
嵌入式硬件·硬件工程·边缘计算·智能硬件·rk3576·割草机·rk3576j
0x3F(小茶)18 小时前
STM32 Bootloader与OTA升级
c语言·stm32·单片机·嵌入式硬件·物联网