打印
[研电赛技术支持]

GD32 采样率 采样时间 转换时间 时钟频率如何设置

[复制链接]
2441|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
GD32 采样率 采样时间 转换时间 时钟频率如何设置,它们之间是什么关系

使用特权

评论回复
沙发
EDAStarer|  楼主 | 2020-7-8 13:33 | 只看该作者
我想用ADC0去采集外部1M的模拟信号,那么我的ADC0的采样率是不是必须为1M

使用特权

评论回复
板凳
sonicll| | 2020-7-8 14:13 | 只看该作者
ADC时钟是从AHB或者APB2分频得到的,可以用rcu_adc_clock_config()函数设置。
采样时间是可以设置的,转换时间是硬件固定的,大部分型号的转换时间是12.5个时钟周期(具体值需要看手册),采样时间加转换时间就是一次采样需要的总时间;假设APB2时钟为56MHz,ADC时钟设置为4分频,14MHz,采样时间配置为1.5周期,采样一次的时间就是(1.5+12.5)/14000000=1us,如果使用连续采样,没有空闲时间,采样速率就是1Msps。
你要采样1MHz的模拟信号的话,按照采样定理,采样速率需要大于信号频率的2倍,所以你需要ADC采样速率大于2Msps才可以

使用特权

评论回复
地板
EDAStarer|  楼主 | 2020-7-8 15:42 | 只看该作者
sonicll 发表于 2020-7-8 14:13
ADC时钟是从AHB或者APB2分频得到的,可以用rcu_adc_clock_config()函数设置。
采样时间是可以设置的,转换 ...

多谢

使用特权

评论回复
5
EDAStarer|  楼主 | 2020-7-8 15:54 | 只看该作者
sonicll 发表于 2020-7-8 14:13
ADC时钟是从AHB或者APB2分频得到的,可以用rcu_adc_clock_config()函数设置。
采样时间是可以设置的,转换 ...

使用GD32F303CC器件。APB2时钟120MHz,ADC时钟为30MHz(4分频)。8bit转换精度,对应的转换时间为8.5个时钟周期。采样时间配置为1.5时钟周期。算下来,采样一次的时间为(1.5+8.5)时钟周期=10*1/30000000=333.3ns。采样连续采样,外部信号触发(1MHz),采样速率为1Msps。
这样是否可行

使用特权

评论回复
6
EDAStarer|  楼主 | 2020-7-8 15:56 | 只看该作者
EDAStarer 发表于 2020-7-8 15:54
使用GD32F303CC器件。APB2时钟120MHz,ADC时钟为30MHz(4分频)。8bit转换精度,对应的转换时间为8.5个时 ...

D:\M1C1_Mini_V3\ADC采样.png

ADC采样.png (163.15 KB )

ADC采样.png

使用特权

评论回复
7
sonicll| | 2020-7-8 16:10 | 只看该作者
EDAStarer 发表于 2020-7-8 15:54
使用GD32F303CC器件。APB2时钟120MHz,ADC时钟为30MHz(4分频)。8bit转换精度,对应的转换时间为8.5个时 ...

我前面说的连续采样是指开启ADC的连续采样模式,这种模式只要触发一次就会连续采样,不需要一直给触发信号。8位分辨率,1.5采样周期,ADC时钟30MHz,开启连续模式,实际采样速率是3Msps,如果不使用ADC自己的连续采样模式,用你提供的外部1MHz周期信号来触发采样,那么采样速率是1Msps

使用特权

评论回复
8
一叶倾城wwq| | 2020-7-9 17:43 | 只看该作者
一般比你采集的信号快就好了,看需要。

使用特权

评论回复
9
drer| | 2020-8-3 18:24 | 只看该作者
需要深入理解时钟啊

使用特权

评论回复
10
gwsan| | 2020-8-3 18:25 | 只看该作者
原来是这样

使用特权

评论回复
11
kxsi| | 2020-8-3 18:25 | 只看该作者
我也学习一下

使用特权

评论回复
12
nawu| | 2020-8-3 18:25 | 只看该作者
楼主是这样解决问题的吗

使用特权

评论回复
13
qcliu| | 2020-8-3 18:26 | 只看该作者
我去试试去

使用特权

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

本版积分规则

12

主题

52

帖子

0

粉丝