硬汉嵌入式论坛

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

参考硬汉哥的第一代示波器代码,移植到gd32f470芯片,主要是移植这个三路adc交替采样的代码出现的问题

[复制链接]

2

主题

1

回帖

7

积分

新手上路

积分
7
发表于 2024-9-23 00:32:30 | 显示全部楼层 |阅读模式
本帖最后由 Qingmt 于 2024-9-23 14:54 编辑

硬汉哥和论坛的大佬们大家好,我现在遇到了一个问题,就是我使用gd32f470的adc,我要实现的功能是提高adc的采样率,现在我的操作是定时器TIMER0的三个通道来触发adc0,adc1,adc3三路adc进行采样,然后通过各自的dma通道进行数据搬运,然后再单独开启一个TIMER7来定时采集三个dma通道的数据,存放到一个数组里面。
这个思路我是借鉴的硬汉哥的操作来的,应该是这样操作吧.

但是现在采集出来的波形效果貌似有点感人,并没有比单路的adc采集效果好

如下是:三路adc采样正弦波的波形通过串口上位机显示
这是100K的正弦波
微信图片_20240923001029.png
这是160K的正弦波
微信截图_20240923000445.png
这是采样200KHz的正弦波
微信截图_20240923000516.png
感觉数据都是一节一节的
三路adc的配置和单路adc是一样的

接下来是单路adc采样的图片,设置的定时器触发频率是2M
采集的100Khz
微信截图_20240923000243.png
采集的160Khz
微信截图_20240923000333.png
按照我的理解,如果单路adc的采样速度是2M的话,我通过定时器配置三路adc触发采用同一个通道的话,那应该是6M了吧
但是这个效果感觉并没有比单路的adc好多少呀。

9/23
我解决了我adc配置的问题,也就是我不小心把三个adc的触发通道配置成同一个了,所以出现了三个adc的点是直线的情况
现在是三个点成斜线了
8B68DD2E7639F127C8CD7741A7683050.png

但是这个gd32的定时器有个奇怪的地方,就是他需要单独配置这个对齐模式
微信图片_20240923105651.png
然后如果按照手册来的话,应该是要配置成
下载.png
无中心对齐模式,也就是应该选择这个
下载 (1).png

但是我选择这个又会出现三个点连成直线,一节一节的情况了
下载 (2).png

但是我如果配置成有中心对齐的模式,也就是下面三个的其中一个

下载 (3).png
他三个点确实不是一节一节的情况了,但是明显感觉到这个采样率下降了很多
定时器我配置的速率是2M。

***********问题已经解决了*************

下载 (5).png

这个地方给我配置成High了,现在配置为低,效果就正常了
下载 (6).png
这是采样500K赫兹正弦波,感觉效果已经达到了。

但是我还是不太清楚为啥这个会影响到。

这是相关的代码工程。
adc.zip (9.65 MB, 下载次数: 9)





回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2024-9-23 09:10:21 | 显示全部楼层
不需要再开一个TIMER7

保证你的TIMER0采集间隔和你的触发速度匹配。
回复

使用道具 举报

2

主题

1

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-9-23 10:53:04 | 显示全部楼层
本帖最后由 Qingmt 于 2024-9-23 11:18 编辑

eric2013 发表于 2024-9-23 09:10
不需要再开一个TIMER7

保证你的TIMER0采集间隔和你的触发速度匹配。

根据手册来,我adc的速率是2.6666M,我设置的定时器周期是2M,这样可以嘛?
下载 (4).png
我adc的地方配置错了,我三个adc的触发通道不小心给我配置成同一个了
不会出现一节一节的,也就是三个点连成一条直线的情况了
但是又出现了一个新的问题,麻烦看下我帖子的更新
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 22:17 , Processed in 0.286697 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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