对DMA请求如何产生的理解

对DMA请求如何产生的理解

对DMA请求如何产生的理解

对DMA请求如何产生的理解

对DMA请求如何产生的理解

对DMA请求如何产生的理解

对DMA请求如何产生的理解

对DMA请求如何产生的理解

DMA作为中间部分,连接了存储器和外设,实现数据的传输。数据可以传输从存储器传输到外设,也可以由外设的数据寄存器传输到存储器。

A、那么,DMA控制器是什么时候知道需要进行数据传输呢?

这个信号是DMA请求信号,该信号的产生是外设完成一件事件后发出或者外设的状态已经准备好发出。总的来说,DMA信号的产生来自于外设的相关寄存器,与数据传输有关的寄存器,它们保存着外设当前工作的状态情况,在符合条件下向DMA发出请求。

B、DMA控制器如何知道多少数据呢?

这个数据长度的控制由DMA的寄存器决定,在发送之前将数据大小写入,DMA控制器就能实现对应大小数据传输。

C、实现DMA传输之前要做什么呢?

1、初始化对应的DMA通道,包括数据的源地址、目的地址、数据长度,打开该通道开关。

2、在外设的寄存器中置为DMA位,使能DMA,相当于告诉DMA现在开始传输数据。

3、不需要DMA后,在DMA中断函数中软件清0对应的DMA使能控制位。