你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Nucleo-H743ZI ADC DMA传输问题

[复制链接]
bmxx 提问时间:2019-5-13 09:56 /
在研究ADC采样,用DMA传输,碰到一个问题,想请教论坛里的大神~

用的是官方例程ADC_DMA_Transfer,假设ADC采样率fs,存储ADC转换数据的buffer大小(ADC_CONVERTED_DATA_BUFFER_SIZE)为L,被采信号的周期为T。程序运行时,我用keil中的save命令将长度为L的ADC数据存储下来,再用matlab将ADC数据绘成波形。


如果L刚好能存储周期T的整数倍时,绘成的波形很完好,但如果L不是周期T的整数倍,则波形就是乱的。

没整明白是啥原因,请论坛里的大神赐教~
收藏 评论6 发布时间:2019-5-13 09:56

举报

6个回答
wenyangzeng 回答时间:2019-5-13 10:05:28
本帖最后由 wenyangzeng 于 2019-5-13 10:06 编辑

楼主当然要等到一个信号周期的DMA传输结束,才能得到完整的波形。所以这个波形的显示时刻应该依据DMA传输结束标志位。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

bmxx 回答时间:2019-5-13 10:25:30
wenyangzeng 发表于 2019-5-13 10:05
楼主当然要等到一个信号周期的DMA传输结束,才能得到完整的波形。所以这个波形的显示时刻应该依据DMA传输结 ...

不是波形完整与否问题,而是波形都混乱了。理论上,如果L是周期的1.5倍,那应该能绘出1.5个周期的波形吧,但实际出来的波形像是被调制了一样
wenyangzeng 回答时间:2019-5-13 10:28:58
bmxx 发表于 2019-5-13 10:25
不是波形完整与否问题,而是波形都混乱了。理论上,如果L是周期的1.5倍,那应该能绘出1.5个周期的波形吧 ...

楼主应该控制波形的起始点和结束点的时刻才能得到正确波形。好比摄像头传输的第一点阵必须显示在LCD的第一点像素上一样。也即同步很重要。
疯de_恒 回答时间:2019-5-13 10:45:48
根据香农定理,采样频率至少需要2倍以上波形的频率,如果要高度还原波形,估计要10倍采样频率以上。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

bmxx 回答时间:2019-5-14 13:46:11
wenyangzeng 发表于 2019-5-13 10:28
楼主应该控制波形的起始点和结束点的时刻才能得到正确波形。好比摄像头传输的第一点阵必须显示在LCD的第 ...

根据你的指导,我后来尝试让DMA传输结束后就终止,得到的波形是好的。
是不是因为DMA循环传输时,后面的数据会覆盖了前面的数据所以造成波形混乱?
wenyangzeng 回答时间:2019-5-14 21:30:00
bmxx 发表于 2019-5-14 13:46
根据你的指导,我后来尝试让DMA传输结束后就终止,得到的波形是好的。
是不是因为DMA循环传输时,后面的 ...

确实有这个可能

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版