zhabin 发表于 2007-1-25 13:16

请教:STR9外部DMA功能

查过STR9手册, 发现有两个DMA_DRQ引脚, 但没有DMA_ACK引脚. 请教如何与需要该信号的外部DMA设备连接.

浪淘沙 发表于 2007-1-25 14:46

关于STR9外部DMA功能

这个问题已经讨论过,请看以前的帖子:“STR912不能直接支持外部DMA功能”

l63t89 发表于 2024-12-30 23:41

浪淘沙 发表于 2007-1-25 14:46
这个问题已经讨论过,请看以前的帖子:“STR912不能直接支持外部DMA功能”
尽管STR9不直接支持外部DMA,但有一些替代方案可以实现

夜阑风雨 发表于 2025-1-27 17:36

在STR9微控制器中,确实存在DMA_DRQ(DMA请求)引脚,但没有DMA_ACK(DMA应答)引脚

夜阑风雨 发表于 2025-1-28 02:00

理解DMA_DRQ和DMA_ACK的作用DMA_DRQ:由外部设备发出,用于向DMA控制器请求数据传输。DMA_ACK:由DMA控制器发出,用于通知外部设备数据传输已经开始

淡漠安然 发表于 2025-1-28 03:00

在STR9中,DMA_DRQ引脚用于接收外部设备的DMA请求,但缺少DMA_ACK引脚,因此需要其他方式实现应答功能

暖了夏天蓝了海 发表于 2025-1-28 04:00

将STR9的一个GPIO引脚配置为输出模式,作为DMA_ACK信号。在DMA传输开始时,通过软件控制该GPIO引脚输出高电平,表示应答。在DMA传输结束时,将GPIO引脚拉低

别乱了阵脚 发表于 2025-1-28 05:00

使用IO模拟呗,其优点为简单易实现,无需额外硬件,但可能增加CPU负担

冰春彩落下 发表于 2025-1-28 06:00

配置STR9的定时器,在DMA传输开始时触发定时器,生成一个固定宽度的脉冲作为DMA_ACK信号

一秒落纱 发表于 2025-1-28 07:00

使用外部逻辑电路(如与门、触发器)根据DMA_DRQ信号生成DMA_ACK信号

一秒落纱 发表于 2025-1-28 07:00

使用外部逻辑电路(如与门、触发器)根据DMA_DRQ信号生成DMA_ACK信号

远山寻你 发表于 2025-1-28 08:00

例如,当DMA_DRQ为高时,触发一个单稳态电路生成固定宽度的DMA_ACK脉冲

三生万物 发表于 2025-1-28 09:00

如果STR9的DMA功能无法满足需求,可以使用外部DMA控制器(如FPGA或专用DMA芯片)。外部DMA控制器可以直接处理DMA_DRQ和DMA_ACK信号

江河千里 发表于 2025-1-28 10:00

如果外部设备对DMA_ACK信号的时序要求不高,推荐使用GPIO模拟DMA_ACK,这是最简单且成本最低的方案。如果时序要求较高,可以使用定时器生成DMA_ACK或外部逻辑电路

星辰大海不退缩 发表于 2025-1-30 12:24

DMA还是根据文件说明书进行设置
页: [1]
查看完整版本: 请教:STR9外部DMA功能