OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2297|回复: 14

使用ADC采集100K正弦波再通过DAC输出到示波器上,波形噪声大

[复制链接]

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2023-5-19
在线时间
16 小时
发表于 2023-10-11 11:42:52 | 显示全部楼层 |阅读模式
1金钱
哪位大佬能帮我解释一下?

one.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2023-5-19
在线时间
16 小时
 楼主| 发表于 2023-10-11 11:44:50 | 显示全部楼层
这个图是之前示波器显示了,我只是把示波器改成了自动设置,再改回去就不是这样了,就变成最上面那个图了
two.jpg
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8204
金钱
8204
注册时间
2020-5-11
在线时间
3697 小时
发表于 2023-10-11 12:39:44 | 显示全部楼层
一个正弦波周期,ADC采了多少个点?DAC输出多少个点?
专治疑难杂症
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2023-5-19
在线时间
16 小时
 楼主| 发表于 2023-10-11 14:55:44 | 显示全部楼层
LcwSwust 发表于 2023-10-11 12:39
一个正弦波周期,ADC采了多少个点?DAC输出多少个点?

你好,我使用的是H750的板子,ADC采样时间是2.5个时钟,最终的采样率是1.777M,采集100K差不多是17个点,然后直接就使用DAC将这些点输出。
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8204
金钱
8204
注册时间
2020-5-11
在线时间
3697 小时
发表于 2023-10-11 15:24:18 | 显示全部楼层
2436054714 发表于 2023-10-11 14:55
你好,我使用的是H750的板子,ADC采样时间是2.5个时钟,最终的采样率是1.777M,采集100K差不多是17个点, ...

是在主循环里读采样值然后设置DAC输出值吗?
专治疑难杂症
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2023-5-19
在线时间
16 小时
 楼主| 发表于 2023-10-11 15:26:12 | 显示全部楼层
2436054714 发表于 2023-10-11 14:55
你好,我使用的是H750的板子,ADC采样时间是2.5个时钟,最终的采样率是1.777M,采集100K差不多是17个点, ...

我感觉是我示波器调的不对,但是我不知道怎么调整
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2023-5-19
在线时间
16 小时
 楼主| 发表于 2023-10-12 09:20:35 | 显示全部楼层
LcwSwust 发表于 2023-10-11 15:24
是在主循环里读采样值然后设置DAC输出值吗?

对,直接在main函数中将ADC的值赋值给DAC
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8204
金钱
8204
注册时间
2020-5-11
在线时间
3697 小时
发表于 2023-10-12 09:39:49 | 显示全部楼层
2436054714 发表于 2023-10-12 09:20
对,直接在main函数中将ADC的值赋值给DAC

上代码看看
专治疑难杂症
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2023-5-19
在线时间
16 小时
 楼主| 发表于 2023-10-12 09:55:42 | 显示全部楼层

好的,下面这个是代码

one ADCDAC无DMA实验.zip

1.59 MB, 下载次数: 22

回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8204
金钱
8204
注册时间
2020-5-11
在线时间
3697 小时
发表于 2023-10-12 10:16:30 | 显示全部楼层
2436054714 发表于 2023-10-12 09:55
好的,下面这个是代码

这样吧,主函数while(1)里加一句让某个IO取反的操作,用示波器两个通道,一个测DAC,一个测这个IO。
专治疑难杂症
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2023-5-19
在线时间
16 小时
 楼主| 发表于 2023-10-12 10:25:24 | 显示全部楼层
LcwSwust 发表于 2023-10-12 10:16
这样吧,主函数while(1)里加一句让某个IO取反的操作,用示波器两个通道,一个测DAC,一个测这个IO。

好,我试一下
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2023-5-19
在线时间
16 小时
 楼主| 发表于 2023-10-12 11:05:08 | 显示全部楼层
你好,这个出来就是这样的
1103.jpg
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8204
金钱
8204
注册时间
2020-5-11
在线时间
3697 小时
发表于 2023-10-12 11:30:16 | 显示全部楼层
2436054714 发表于 2023-10-12 11:05
你好,这个出来就是这样的

从波形看,while(1)循环周期有不稳定的情况,可能因为有中断打断的情况,也就会造成波形不稳定。建议使用DMA,DMA采集ADC,DMA输出DAC,估计是需要两个通道。



专治疑难杂症
回复

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2023-5-19
在线时间
16 小时
 楼主| 发表于 2023-10-12 11:48:21 | 显示全部楼层
好的,我试一下,谢谢!!
回复

使用道具 举报

0

主题

8

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2024-5-25
在线时间
1 小时
发表于 2024-5-25 15:18:25 | 显示全部楼层
111111111111
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 18:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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