打印
[应用方案]

DMA和PDMA有啥区别

[复制链接]
951|38
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
药无尘|  楼主 | 2024-4-1 11:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DMA (Direct Memory Access) 和 PDMA (Peripheral DMA 或者 Programmable DMA) 都属于直接内存访问技术,它们的基本工作原理都是在无需CPU全程干预的情况下,协助设备与内存之间高效地传输数据。然而,两者在具体的实现和应用上有一定的区别:
  • DMA:
    • 标准定义:DMA 是一种通用的概念,指的是计算机硬件系统的一种特性,允许外部设备(如硬盘、网络控制器、ADC等)直接读写内存,从而减轻CPU的负担。
    • DMA控制器通常集成在主板或者SoC(System-on-Chip)中,负责管理不同外设发起的DMA请求,并根据预设的配置执行内存与外设间的数据传输。
  • PDMA:
    • 特定实现:PDMA通常是指特定微控制器或嵌入式系统中的专用DMA模块,具有更多的可编程性和灵活性。
    • 在某些上下文中,比如新唐科技的M261/M262/M263系列芯片中提到的PDMA,它可能提供了比标准DMA更高级的功能,例如更多的通道数量(如8个通道),支持更多类型的传输(如存储器与外设、存储器与存储器之间的传输)。
    • 可能还包括一些额外的特性,如更精细的传输控制、优先级管理或其他针对特定应用场景优化的设计。

总的来说,PDMA通常是某个平台或架构对DMA技术的一种扩展或增强版本,提供更加灵活和强大的数据传输管理功能。不过,在不同的硬件设计中,PDMA的具体含义和功能可能会有所不同。

使用特权

评论回复
沙发
ex7s4| | 2024-4-2 11:46 | 只看该作者
DMA(Direct Memory Access,直接存储器访问)和PDMA(Peripheral DMA,外设直接存储器访问)都是用于提高数据传输效率的技术

使用特权

评论回复
板凳
cen9ce| | 2024-4-2 12:53 | 只看该作者
DMA是一种通用的数据传输技术,用于在外设和存储器之间直接传输数据,而不需要CPU的干预

使用特权

评论回复
地板
b5z1giu| | 2024-4-2 14:02 | 只看该作者
PDMA是一种特殊的DMA技术,专门用于外设和存储器之间的数据传输

使用特权

评论回复
5
tax2r6c| | 2024-4-2 15:09 | 只看该作者
其实,DMA通常用于外设和存储器之间的数据传输,例如外部存储器(如RAM、Flash)和外设(如网络接口、硬盘控制器)之间的数据传输

使用特权

评论回复
6
kaif2n9j| | 2024-4-2 16:22 | 只看该作者
一般来说,PDMA通常用于微控制器或嵌入式系统中,用于外设(如UART、SPI、I2C等)和存储器之间的数据传输

使用特权

评论回复
7
y1n9an| | 2024-4-2 17:32 | 只看该作者
DMA通常由芯片内部的DMA控制器来实现,可以配置多个通道,每个通道可以独立地管理一个数据传输任务

使用特权

评论回复
8
t1ngus4| | 2024-4-3 07:06 | 只看该作者
我看到介绍说,PDMA通常由芯片内部的PDMA控制器来实现,可以配置多个通道,每个通道可以独立地管理一个外设和存储器之间的数据传输任务

使用特权

评论回复
9
lix1yr| | 2024-4-3 08:45 | 只看该作者
这是两个外设,感觉DMA更好用一些吧,常规用的多

使用特权

评论回复
10
w2nme1ai7| | 2024-4-3 09:58 | 只看该作者
DMA是一种通用的数据传输技术,而PDMA是DMA的一种特殊应用,专门用于外设和存储器之间的数据传输

使用特权

评论回复
11
g0d5xs| | 2024-4-3 11:06 | 只看该作者
在嵌入式系统中,PDMA通常用于提高外设和存储器之间数据传输的效率,减少CPU的负载

使用特权

评论回复
12
kkzz| | 2024-4-6 22:14 | 只看该作者
DMA 通常是由CPU发起和控制的,CPU告诉DMA何时开始传输,传输哪些数据,以及传输到哪个地址。

使用特权

评论回复
13
mmbs| | 2024-4-7 10:17 | 只看该作者
DMA 通常用于内部内存之间的数据传输,或者内部内存与外部存储器(如RAM、ROM、闪存)之间的数据传输。

使用特权

评论回复
14
modesty3jonah| | 2024-4-7 12:54 | 只看该作者
通常具有更高的可编程性和灵活性,可以配置更多的传输参数,如传输速率、优先级、中断设置等。

使用特权

评论回复
15
robertesth| | 2024-4-7 15:12 | 只看该作者
PDMA还可能支持更复杂的数据处理操作,如分散/聚集传输,允许在传输过程中对数据进行处理。

使用特权

评论回复
16
hudi008| | 2024-4-7 17:34 | 只看该作者
PDMA通常用于特定类型的外设,如串口、I2C等,它们需要与其他外设或存储器进行数据交换。PDMA的设计使得这些外设能够直接进行数据传输,而不需要通过CPU。

使用特权

评论回复
17
eefas| | 2024-4-7 19:58 | 只看该作者
PDMA是DMA的一种扩展或增强形式,它提供了更高级的功能和灵活性。

使用特权

评论回复
18
sdCAD| | 2024-4-7 22:41 | 只看该作者
DMA和PDMA都支持多种传输模式,如单次传输、循环传输等。

使用特权

评论回复
19
hudi008| | 2024-4-8 12:54 | 只看该作者
PDMA 则可能是由外围设备直接控制的,它允许外围设备请求DMA服务来进行数据传输。在这种情况下,PDMA可能更多地与外围设备的硬件特性相关联,而DMA则更通用。

使用特权

评论回复
20
nomomy| | 2024-4-8 15:01 | 只看该作者
DMA(Direct Memory Access,直接内存访问)是一种在内存和外设之间进行数据传输的技术,而PDMA(Peripheral Direct Memory Access,外设直接内存访问)是一种在单片机中外设之间进行数据传输的技术。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

492

帖子

2

粉丝