STM32F4三重采样求频率
STM32F407ZGT6芯片可以三重交替采样,我现在把它挂载在TIM8上,ADC_CLK为36M,然后我用DSP库的函数求频率,不知道怎么调节TIM8的ARR和PSC才能得到正确的频率?或者说,TIM8的时钟与精度有什么关系?部分代码如下arm_max_f32(fft_outputbuf, MAX_SAMP, &Fmax, &max_pos);
if(max_pos>512) max_pos=1024-max_pos;
fre = (double)max_pos*144000000/((TIM8->ARR+1) * (TIM8->PSC+1) * MAX_SAMP); 注意三重快速交替的时间间隔是固定的,比如你TIM8设置的300KHz触发,间隔值也恰好满足了每个100KHz分别采集一次。当你的TIM8改成50KHz的时候,就没法用了。 eric2013 发表于 2023-7-25 14:56
注意三重快速交替的时间间隔是固定的,比如你TIM8设置的300KHz触发,间隔值也恰好满足了每个100KHz分别采集 ...
“间隔值也恰好满足了每个100KHz分别采集一次” 您能说的更详细点吗?我感觉就是这里卡住了,为什么TIM8设置的300K,间隔值就变为了100K? eric2013 发表于 2023-7-25 14:56
注意三重快速交替的时间间隔是固定的,比如你TIM8设置的300KHz触发,间隔值也恰好满足了每个100KHz分别采集 ...
还有一个问题,不知道有没有关联?就是我测频率的时候千位数是对的,但是改变频率的百位和十位没有反应。 南极熊 发表于 2023-7-25 20:19
“间隔值也恰好满足了每个100KHz分别采集一次” 您能说的更详细点吗?我感觉就是这里卡住了,为什么TIM8 ...
这个就是三通道快速交替的作用,
比如我们定时器设置300ms触发一次,那么三通道快速交替后就是分别下100ms,200ms和300ms的地方采集一次。 南极熊 发表于 2023-7-25 21:07
还有一个问题,不知道有没有关联?就是我测频率的时候千位数是对的,但是改变频率的百位和十位没有反应。
先解决三通道快速交替测试。
页:
[1]