硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1011|回复: 3
收起左侧

[STM32H7] STM32H7读取外部AD问题

[复制链接]

5

主题

11

回帖

26

积分

新手上路

积分
26
发表于 2022-7-27 16:31:46 | 显示全部楼层 |阅读模式
现在有个项目,需要采样率在40M以上,找到个ADI的12位的AD芯片(AD9235),读取方式是电平触发然后并口读取,看上去挺合适。
现在的想法是通过STM32H7的 PWM触发转换,并用DMA读取IO口数据,再通过DMA控制FMC写入外部静态SRAM中,SRAM速度10 nS。
找了个最小系统板初步验证,PWM触发 DMA读取IO没问题,但是DMA只能吧IO数据写入内部SRAM中,写在外部FMC上转换一次就停了。
对H7不太熟悉,不确定H7的DMA能否配置成这样的,速度是否能跟得上?
如果可行的话,DMA怎么配置比较合适,特别是写入FMC控制的外部SRAM中?

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2022-7-27 16:52:04 | 显示全部楼层
1、先把基础功能调试通了,这个可以参考我的FMC DMA方式,定时器触发采集AD7606例子,在论坛置顶帖V7网盘里面有。
2、然后再调节速度问题,单个DMA通道速度不行,你可以搞个快速交替采样模式读取这些IO。比如TIM1的CH1,CH2,CH3,CH4调节脉冲间隔实现交替采样触发多个DMA通道轮番读取IO。这个可以参考我早期的一代示波器,不过我是快速交替采样的ADC1,ADC2,ADC3,你可以同样思路搞。
回复

使用道具 举报

5

主题

11

回帖

26

积分

新手上路

积分
26
 楼主| 发表于 2022-7-27 17:50:48 来自手机 | 显示全部楼层
1、整个流程类似于定时器触发读数IO口数据,然后写入到FMC控制的外部Sram中,40M的速度。这个流程看下来应该能够实现,现在测试用的Dma1,发现只能写入内部sram,外部的sram写有问题,看总线图,貌似dma1没有连接到FMC上,是不是还需要dmamux来实现,还是有其他更好的方法? 2、速度问题是指Dma搬运速度不够吗,我开始一直担心的是Fmc写入外部Sram速度问题,感谢提醒
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2022-7-28 10:02:26 | 显示全部楼层
charm 发表于 2022-7-27 17:50
1、整个流程类似于定时器触发读数IO口数据,然后写入到FMC控制的外部Sram中,40M的速度。这个流程看下来应 ...

FMC DMA1写没问题,你的程序应该有问题,查查。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-12 22:02 , Processed in 0.160814 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表