打印

请教:STR9外部DMA功能

[复制链接]
3175|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应答)引脚

使用特权

评论回复
5
夜阑风雨| | 2025-1-28 02:00 | 只看该作者
理解DMA_DRQDMA_ACK的作用DMA_DRQ:由外部设备发出,用于向DMA控制器请求数据传输。DMA_ACK:由DMA控制器发出,用于通知外部设备数据传输已经开始

使用特权

评论回复
6
淡漠安然| | 2025-1-28 03:00 | 只看该作者
STR9中,DMA_DRQ引脚用于接收外部设备的DMA请求,但缺少DMA_ACK引脚,因此需要其他方式实现应答功能

使用特权

评论回复
7
暖了夏天蓝了海| | 2025-1-28 04:00 | 只看该作者
STR9的一个GPIO引脚配置为输出模式,作为DMA_ACK信号。在DMA传输开始时,通过软件控制该GPIO引脚输出高电平,表示应答。在DMA传输结束时,将GPIO引脚拉低

使用特权

评论回复
8
别乱了阵脚| | 2025-1-28 05:00 | 只看该作者
使用IO模拟呗,其优点为简单易实现,无需额外硬件,但可能增加CPU负担

使用特权

评论回复
9
冰春彩落下| | 2025-1-28 06:00 | 只看该作者
配置STR9的定时器,在DMA传输开始时触发定时器,生成一个固定宽度的脉冲作为DMA_ACK信号

使用特权

评论回复
10
一秒落纱| | 2025-1-28 07:00 | 只看该作者
使用外部逻辑电路(如与门、触发器)根据DMA_DRQ信号生成DMA_ACK信号

使用特权

评论回复
11
一秒落纱| | 2025-1-28 07:00 | 只看该作者
使用外部逻辑电路(如与门、触发器)根据DMA_DRQ信号生成DMA_ACK信号

使用特权

评论回复
12
远山寻你| | 2025-1-28 08:00 | 只看该作者
例如,当DMA_DRQ为高时,触发一个单稳态电路生成固定宽度的DMA_ACK脉冲

使用特权

评论回复
13
三生万物| | 2025-1-28 09:00 | 只看该作者
如果STR9DMA功能无法满足需求,可以使用外部DMA控制器(如FPGA或专用DMA芯片)。外部DMA控制器可以直接处理DMA_DRQDMA_ACK信号

使用特权

评论回复
14
江河千里| | 2025-1-28 10:00 | 只看该作者
如果外部设备对DMA_ACK信号的时序要求不高,推荐使用GPIO模拟DMA_ACK,这是最简单且成本最低的方案。如果时序要求较高,可以使用定时器生成DMA_ACK或外部逻辑电路

使用特权

评论回复
15
星辰大海不退缩| | 2025-1-30 12:24 | 只看该作者
DMA还是根据文件说明书进行设置

使用特权

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

本版积分规则

6

主题

21

帖子

0

粉丝