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,在函数里面重新使能接收

相关推荐
小帽子_12320 小时前
STM32+BMS 嵌入式开发:ADC 电压温度采集与总线通信落地教程
stm32·单片机·嵌入式硬件
szxinmai主板定制专家20 小时前
Zynq MPSoC半导体高精度运动控制方案|FPGA硬件插补实现亚微米级伺服实时控制
人工智能·嵌入式硬件·fpga开发·zynq·运动控制·ethercat
Lumos6fly1 天前
《嵌入式通讯协议栈实战》 5 AT24C02与OLED
stm32·单片机
天吾cc1 天前
RTT-IO设备模型
单片机·嵌入式硬件·学习
wengqidaifeng1 天前
2026 年电赛(TI 杯)H 题:MaxiCamPro、双主控通信、VOFA+ 遥测与可复现实验方法
c语言·单片机·嵌入式硬件
寻道模式2 天前
【运维心得】电视KK.RV22.E32B“捉鬼”实录:从炸机到 eMMC 的千里追击(1)
单片机·嵌入式硬件·mos管·开关电源
科芯创展2 天前
XZ6206,6.5V,300mA稳压LDO芯片
单片机
科芯创展2 天前
XC6206,8V,250mA稳压LDO芯片
嵌入式硬件
平凡的小蚂蚁2 天前
Exynos4412-POP-7inLCD裸机开发完整教程(STM32 库风格)
驱动开发·stm32·单片机·嵌入式硬件·嵌入式·硬件工程
破晓单片机2 天前
096、STM32项目分享开源:蓝牙智能手环
stm32·单片机·嵌入式硬件·开源