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

相关推荐
虎王物联7 小时前
STM32 HAL库串口DMA空闲中断:高效接收不定长Modbus数据帧
stm32·单片机·嵌入式硬件·dma·modbus
自小吃多8 小时前
DXF文件导入与PCB板框定义笔记
笔记·嵌入式硬件
SUNNYSPY0018 小时前
AO4402-ASEMI便携设备电源开关AO4402
单片机
单片机仿真设计10 小时前
【proteus仿真】基于 STC89C52 单片机家用智能台灯设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
2601_9507906810 小时前
深圳国产单片机厂商怎么选?技术能力与服务能力检查表
单片机·嵌入式硬件·国产mcu·芯片厂商·深圳单片机·单片机选型
hongmai66688812 小时前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g
笨笨饿12 小时前
#135_代码中的类型重定义艺术:从基础封装到函数类型设计
开发语言·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库
西城微科方案开发13 小时前
高精度低功耗胎压计方案——气压表解决方案
单片机·嵌入式硬件
LavaLin0114 小时前
STM32H562RGT6 与 STM32F722RET6 规格对比
stm32
VALENIAN瓦伦尼安教学设备14 小时前
设备状态检测振动分析实训台案例分析
大数据·数据库·人工智能·嵌入式硬件·算法