请教:STR9外部DMA功能

[复制链接]
4219|15
 楼主| zhabin 发表于 2007-1-25 13:16 | 显示全部楼层 |阅读模式
查过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_DRQDMA_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 | 显示全部楼层
如果STR9DMA功能无法满足需求,可以使用外部DMA控制器(如FPGA或专用DMA芯片)。外部DMA控制器可以直接处理DMA_DRQDMA_ACK信号

江河千里 发表于 2025-1-28 10:00 | 显示全部楼层
如果外部设备对DMA_ACK信号的时序要求不高,推荐使用GPIO模拟DMA_ACK,这是最简单且成本最低的方案。如果时序要求较高,可以使用定时器生成DMA_ACK或外部逻辑电路

星辰大海不退缩 发表于 2025-1-30 12:24 | 显示全部楼层
DMA还是根据文件说明书进行设置
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

21

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部