laocuo1142 发表于 2025-1-21 15:02

DMA的基本结构

DMA(Direct Memory Access)控制器由多个部分组成,包括AHB从接口(用于配置DMA)、AHB主接口(用于数据传输)、仲裁器(进行DMA请求的优先级管理)以及数据处理和计数单元。这些部分共同协作,实现数据的高效传输。

Amazingxixixi 发表于 2025-1-24 13:58

学习一下,提升自己

梅花香自123 发表于 2025-2-28 16:14

AHB 从接口是用于与系统总线进行通信的部分,通常用于接收来自CPU的配置命令。

tpgf 发表于 2025-3-1 12:32

核心功能单元是整个DMA模块的核心部分,由逻辑控制电路和寄存器组成

heimaojingzhang 发表于 2025-3-2 12:49

DMA逻辑控制电路控制整个DMA的传输过程,主要是通过一个DMA传输状态机来实现

keaibukelian 发表于 2025-3-2 14:38

控制寄存器:用于CPU在初始化DMA模块时配置其工作方式,如设置传输方向、传输单位大小、是否自动重装等

paotangsan 发表于 2025-3-2 16:31

字节计数寄存器:用于存放待传输数据块的总字节数,每传输完成一个字节后,对其存储的数据减1,为0时发出DMA传输完成的标志信号,中断机构向CPU发出中断信号

renzheshengui 发表于 2025-3-2 18:22

主模式控制电路负责控制DMA模块在PCIe总线的主模式下的工作状态

wowu 发表于 2025-3-2 20:09

作为数据缓冲通道,由两个FIFO来实现。其主要作用是对总线端的高速信号和外设上本地低速信号进行速率匹配和缓冲,以提高数据传输的效率和稳定性

w2nme1ai7 发表于 2025-3-3 16:12

DMA控制器是DMA技术的核心部件,它负责接管总线控制,并管理外设设备和存储器之间的数据传输。

su1yirg 发表于 2025-3-3 17:20

DMA控制器通常作为系统总线的主设备(Master),能够发起数据传输请求,并直接与内存和外设进行数据传输,而无需CPU的介入

q1ngt12 发表于 2025-3-3 18:24

源地址寄存器用于存储数据传输的起始地址,即数据要从哪里读取。目标地址寄存器则用于存储数据传输的目的地址,即数据要存储到哪里。

g0d5xs 发表于 2025-3-3 20:32

这些地址寄存器可以由CPU在初始化DMA传输时设置,并在传输过程中根据需要进行更新(如地址自增)

guijial511 发表于 2025-3-3 21:15

看芯片的参考手册就明白了

ex7s4 发表于 2025-3-3 22:42

传输计数器是一个自减计数器,用于记录DMA传输的次数或数据块的数量。在传输开始时,计数器被设置为一个初始值,每完成一次数据传输,计数器就减1。当计数器减到0时,表示DMA传输完成,此时DMA控制器可以向CPU发送中断信号。

t1ngus4 发表于 2025-3-3 23:45

数据宽度寄存器用于设置每次传输的数据宽度,如字节(8位)、半字(16位)或字(32位)等。格式寄存器则用于设置数据的对齐方式、字节顺序等传输格式。

huquanz711 发表于 2025-3-4 08:33

看芯片的参考手册讲的很详细的

zhizia4f 发表于 2025-3-4 09:00

控制寄存器用于配置DMA传输的各种参数和模式,如传输方向(外设到内存、内存到外设或内存到内存)、传输模式(单次传输或循环传输)、触发方式(硬件触发或软件触发)等。这些配置参数由CPU在初始化DMA传输时设置,并在整个传输过程中保持不变。

y1n9an 发表于 2025-3-4 10:24

中断寄存器用于在DMA传输完成时向CPU发送中断信号,通知CPU传输已完成

p0gon9y 发表于 2025-3-4 12:15

状态寄存器则用于记录DMA控制器的当前状态,如传输是否在进行中、是否发生错误等。
页: [1] 2 3
查看完整版本: DMA的基本结构