想请教一个STM32的AD问题:如何确定ADC的时钟频率(信号的采用频率)? 首先:STM32手册给出的 t=1.5,7.5,...239.5 是采样保持的时间,对吧,再加上12.5个周期的纯转换时间,这样stm32的总转换时间TCONV即为二者之和; 比如:一个信号20HZ的信号,最高频率为50HZ;用STM32的AD采样;我的思路是这样: 根据采样定理:采样频率 fs>=2fmax =100HZ; 取STM32的AD采样频率为200HZ ; 这样 采样时间=(1/200)s;(即间隔多长时间取样并转换一个数据) 而 TCONV = (t+12.5)*T = (t+12.5)/ fAD (t为1.5,7.5等,fAD为AD时钟); 这样就得到:1/200 = (t+12.5)/fAD , 所以: fAD=(t+12.5)*200 , 根据t最大为239.5,这样fAD最大为50400HZ; 不符合STM32手册中给出的AD特性的时钟范围(0.6MHz-14MHZ); 这个推理过程没有问题吧,为什么会出现上面的问题呢? 希望能得到指教。 而且我实际设置的时候,根据sysclk 168MHz,Hclk 168MHz, Pclk2 84Mhz,Pclk1 42MHz ADC时钟设置的ADC_Divider 为2,这样得出来的 ADC_Clk为42MHz,要比官方宣称的大很多,这样实际采样的时候也没问题, 额,我就醉了,该怎么解释? |
详见应用手册AN3116。
0.6-14MHz应该是10系列的吧,因为这个系列我没用过,也没查,只是很多资料上写的都是这个,拿来做参考
另外,427的话,有如下:你看,Fpckl2的话,84MHz是完全没问题的吧,ADC挂载APB2上,最小的分频系数是2,那岂不是就能42MHz了?
下图的这个0.6-36MHz是不是又是矛盾了呢?
额,你才是高手,你讲的下面这个,
是不是最好是0.6-30MHz,但是理论上36MHz也可以。那映射到427上的话,理论PCLK2二分频的理论数据可以高达50MHz,是不是说,理论上427的ADC可以跑到这么高的频率?
但是采样总得需要时间吧,采样时间太长跟不上ADC时钟频率的话,就算时钟频率再高也是白费吧?
所以高的ADC时钟频率,就得更多ADC时钟周期来满足采样时间的需求,而且加上转换时间的话,可能还要加上延时吧?
这种理解对吗?
按照上面的公式,F407的fADC设为30MHz,如果F为手册上说的2.4M,则T为12.5,Ts居然为0。
如果Ts为1.5,fADC保持30MHz,F则是2.14M;
F2.4M,Ts是1.5,fADC必须是33.6MHz。
虽说手册上说fADC最大可导36M,但是默认配置主频144000000的F407,单通道F407究竟采用了多大的fADC和采样率?难道不是2.4MHz(SPS)吗?
我又凌乱了。。。
凌乱了。
理一下思路,我们总共有3个时间,1/(采样保持时间+转换时间+延时时间)=采样频率,这个和Fadc频率没啥关系。
采样Fadc只是采样时要参考的时钟,Fadc太大的话,可能会有其他的问题而不是我们想的那种问题,因为任何器件时钟频率一高,抖动啊,等等不好的因素全部显露出来了。
你的Fadc频率高,只会影响到时钟信号的质量,采样保持时间这个因素是要自己规定的,因为我们要在采样速度和采样精度之间权衡。
当你的采样频率太高的时候,为了维持你规定的采样时间,采样、转换、延时时钟周期数肯定要增加的吧。所以,就会有Facd和采样保持周期数两边的一个权衡,即Fadc如果很大的话,采样保持周期数必须加大,不然保持时间不够,采样不准确。
手册上的理论速度应该是纯粹的不考虑延时(即转换之后立刻开始下一次采样)。
不知道这样理解对不对
求拍砖,讨论下,我也晕