×
模拟电子 > 模拟电路设计 > 详情

PMP并行主端口DMA性能(PIC32MX470F512H)

发布时间:2022-03-18 发布时间:
|

[Gaurav Singh在嵌入式工程博客上的文章]

这将是快速邮政显示最大可能的性能DMA在PIC32MX单片机。

简短答复:

如果你不想再读下去。我的结果表明DMA可以以最大10 Mhz的速率执行32位传输。这一结果与Web上的其他几篇文章非常相似,我没有确切的答案,将最大传输速率限制在10 Mhz,但实际可实现的传输速率可能因系统总线可用性而有所不同,因为系统总线在所有DMA、CPU和其他外围设备之间共享。
我也尝试过从计时器和外部中断触发传输,任何10 Mhz以上的触发率都会跳过传输,
实验1:
在这个测试中,我在从模式下设置了PMP,我们将使用DMA将数据从8Bit并行主端口(PMP)上推送出MCU。PMP还设置为中断每次传输,这将触发DMA将一个字节从查找表复制到PMDOUT寄存器。
查找表如下所示
不查找[]=
{
1,
1<<1,
1<<2,
1<<3,
1<<4,
1<<5,
1<<6,
1<<7,
};
这个查找表将在示波器输出上显示如下:
RD是活动低,这是设置为活动。而D0到D7则显示了PMP 8位数据输出端口上的查找表。

DMA字节传输速率~100 ns每次传输,DMA空闲由PMP传输触发

每次字节传输触发下一个DMA传输的下一个字节时,DMA也会自动启动,当所有字节从表中传输时,本测试显示每个字节占用相同的时间~100 ns。
实验2:
由于PMP还支持缓冲传输,图像打击从PIC32MXPMP数据表中获取。

在本实验中,相同的查找表将PMP集转换为缓冲模式,每4字节产生一次PMP DMA触发中断。我们将使用4字节PMDOUT缓冲区。现在,每4字节传输一次DMA,DMA一次传输4字节,而不是1字节。
正如图像BUP显示的那样,字节模式保持不变,但是您可以看到预缓冲字节需要大约30 ns才能传输,而DMA触发器在第4字节上的传输时间与以前的大约100 ns相同。

DMA触发器每4字节,一次传输4字节进入PMP缓冲区。预缓冲字节占用~30 ns


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
PFC控制电路IR1150S应用图解