【电路笔记 TMS320C6***DSP】C6748 EDMA3 工作流程笔记 通道逻辑参数&通道控制器启动传输&数据传输

参照资料

EDMA3控制器的组成

在这里插入图片描述

EDMA3的工作流程(重要)

在这里插入图片描述
EDMA3 工作流程

  • 1. 配置 DMA/QDMA 通道逻辑参数

    • 编程者通过软件(如 DSP 程序或 MCU 驱动程序)来配置 PaRAM(参数寄存器集):
      • 源地址:数据传输的起始地址。
      • 目的地址:数据传输的目标地址。
      • 传输类型:一维、二维或三维传输。
      • 数据块大小:每次传输的数据量。
      • 传输触发条件:可以是外部事件触发、手动触发或链接触发。
    • QDMA 特殊逻辑
      • QDMA 通过修改特定的触发字段(通常是 PaRAM 的一部分)实现自动触发,适合小批量传输任务。
  • 2. 参数传递到事件队列

    • 配置完成后,DMA/QDMA 通道的 PaRAM 参数 会传递到 事件队列(Event Queue)。事件队列会根据事件优先级或触发条件,管理传输任务的顺序。确保传输任务按计划执行。
  • 3. 事件队列获取 PaRAM 参数

    • 事件队列从 PaRAM 读取对应任务的参数,包括源地址、目的地址、传输大小、模式等信息。
    • 确保任务的时序符合系统要求,例如高优先级任务优先处理。
  • 4. 提交传输请求到传输控制器

    • 事件队列将传输任务提交到 传输控制器(Transfer Controller, TC)传输控制器功能负责实际的数据传输操作,根据 PaRAM 配置的信息,执行数据从源地址到目的地址的移动,支持高速传输和低延迟的数据处理。
  • 5. 传输控制器完成传输

    • 从源地址读取数据块。
    • 将数据块写入目的地址。
    • 如果是多维传输,按照行偏移或块偏移继续传输下一块。
    • 传输完成后,传输控制器会发送信号通知 通道控制器(Channel Controller)
  • 6. 通道控制器检测传输完成

    • 检测传输控制器是否完成任务。
    • 确保任务正确完成,或在发生错误时发出错误中断。
    • 支持多个 DMA 通道并行管理。
    • 一旦任务完成,通道控制器会生成传输完成信号。
  • 7. 向 CPU 提交传输完成中断

    • 通道控制器向 CPU 发送传输完成中断请求:
    • CPU 收到中断后,可以执行后续操作,如数据处理或任务调度。
    • 编程者可以在中断服务程序(ISR)中处理中断,例如启动新的传输或释放资源。

在这里插入图片描述

  • EDMA3工作优先级图:
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

EDMA3与QDMA的触发方式(通道控制器启动传输部分)

  • EDMA3 配有 2个传输控制器,每个传输控制器又有各自的DMA和QDMA通道。触发事件之后进行数据的传输
    在这里插入图片描述

DMA的触发方式

  1. 事件触发
    • 触发原理:当一个外部事件(如外设产生的中断或信号)被锁存到 事件寄存器(ER) 中时,EDMA3 通道会被自动启动。
    • 触发条件:需要 CPU 通过 事件使能寄存器(EER) 启用特定事件,使其能够触发相关的DMA通道。

在这里插入图片描述
在这里插入图片描述

  1. 手动触发

    • 触发原理:CPU 通过向 事件设置寄存器(ESR) 写入特定值,手动启动EDMA3通道。
    • 触发条件:这种触发方式适用于需要 CPU 主动控制的数据传输。
  2. 链接触发

    • 触发原理:一个EDMA3通道的传输结束会触发另一个EDMA3通道的启动。
    • 触发条件:通常用于链式DMA操作,多个通道可以串联起来完成复杂的数据传输任务。

QDMA的触发方式

  • QDMA是EDMA3的一种变体,主要用于特定应用的DMA传输。QDMA具有两种触发方式:
  1. 自动触发

    • 触发原理:当QDMA的**PaRAM(参数RAM)**中的特定触发域被写入值时,会自动触发QDMA的传输。
    • 触发条件:在 QCHMAPn寄存器 中配置PaRAM的触发域,使得写入触发域的值能够启动DMA传输。
  2. 链接触发

    • 触发原理:与EDMA3类似,一个QDMA通道的结束触发另一个QDMA通道的启动。
    • 触发条件:通常用在多个QDMA通道之间的链式操作,类似于EDMA3的链接触发。

EDMA3的数据传输部分

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

PaRAM 参数寄存器集

在这里插入图片描述
在这里插入图片描述

通道与参数映射

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

事件队列

在这里插入图片描述

EDMA3特点

EDMA3(Enhanced Direct Memory Access 3) 是一种高性能的 DMA 控制器,广泛应用于嵌入式系统、数字信号处理器(DSP)、和高性能计算平台。它的设计目标是提供多通道、多线程的数据传输解决方案,并支持大规模数据的高效传输。EDMA3 具有以下显著特点:

  • 1. 三维传输

    • EDMA3 支持 三维传输(3D transfer),这意味着它能够支持多维数据的传输,通常用于矩阵、图像数据等需要多个维度(如行、列、层)的应用。
    • A类传输:即一维数据传输,可以在内存与外设之间进行。
    • AB类传输:即二维或多维数据传输,适用于复杂的数据结构,如图像处理、视频流等。
  • 2. 32路 DMA 通道

    • EDMA3 提供 32路独立的 DMA 通道,每个通道可用于不同的任务或传输任务之间并行工作,从而显著提升系统性能。 每个通道都可以被单独配置,支持不同的传输优先级、传输大小、源和目标地址等配置,灵活性非常高。
  • 3. 8路 QDMA 通道

    • QDMA(Queue DMA) 是 EDMA3 提供的一个特殊类型的 DMA 通道。与常规 DMA 通道不同,QDMA 通道通过 队列 来管理多个数据传输任务。
    • 这种方式可以提高数据传输的效率,适用于需要顺序执行多个小块数据传输的场景。
    • 8路 QDMA 通道 使得能够在多个队列之间高效地进行任务调度和传输。
  • 4. 128个参数集(PaRAM)

    • PaRAM 是 EDMA3 中的重要概念,它代表了传输任务的配置参数集,包括源和目的地地址、传输大小、传输方向等信息。
    • EDMA3 支持 128个参数集,每个参数集可以配置不同的数据传输任务。这使得系统能够同时处理多个独立的传输任务,极大地提升了数据传输的并行性。
  • 5. 2个事件队列

    • 事件队列 是用于处理和调度 DMA 事件的机制。EDMA3 配备了 2个事件队列,用于接收和调度外设或外部信号触发的 DMA 传输请求。
    • 通过事件队列,EDMA3 可以根据事件触发的优先级或顺序来安排数据传输任务,确保高优先级事件能够被快速处理。
  • 6. 2个传输控制器

    • EDMA3 配有 2个传输控制器,每个控制器管理一部分 DMA 通道。这两个控制器使得 EDMA3 能够同时执行多个传输任务并提高效率,特别是在多线程或多任务并行处理的场景中,能够最大程度地减少冲突和瓶颈。
  • 7. 5路中断

    • EDMA3 支持 5路中断,用于通知系统在 DMA 传输完成、错误发生或其他关键事件时进行响应。
    • 每个中断源可以单独配置,允许系统在不同的 DMA 事件发生时采取不同的响应措施。
  • 8. 支持多线程/多任务

    • 多线程/多任务:EDMA3 支持在不同的通道之间进行并行处理,可以在多个任务之间高效地调度数据传输,优化系统性能。
    • 在大多数应用场景中,这种支持使得 EDMA3 可以与其他处理单元(如 CPU 或 DSP)协同工作,减轻 CPU 的负担,优化系统的整体性能。
  • 9. 灵活的配置和优化

    • EDMA3 提供了丰富的配置选项,可以根据不同的应用需求对各个 DMA 通道、传输任务、参数集、事件队列等进行详细配置。
    • 通过动态配置,可以在运行时灵活地调整 DMA 通道的任务分配,以适应不同的应用需求。
  • 10. 高效的数据传输

    • EDMA3 提供硬件加速的 DMA 数据传输能力,能在不占用 CPU 的情况下高效地进行数据移动,极大地提高了数据传输速度。
    • 通过支持突发模式多维传输多线程调度,EDMA3 实现了高吞吐量和低延迟的数据传输,尤其在大规模数据处理(如视频处理、音频处理、图像处理等)中表现尤为突出。

CG

  • 示例可见User’s Guide Chapter3
    在这里插入图片描述
  • c6678是6核心1ghz性能强,c6748是单核心456mhz。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值