想请教一个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,要比官方宣称的大很多,这样实际采样的时候也没问题, 额,我就醉了,该怎么解释? |
但是,由此,我推算不出fADC是多少!
前面那位兄弟介绍了AN3116,我查到一句话,“对于一个 ADC,唯一的配置为 fADC = 14 MHZ (page11)”,这个配置下,采样率只有1MHz,这句话显然又不对了。
而手册上最高的fADC是0.6~36MHz,同样有一个疑惑的说明,表中fADC=30MHz时,采样率是2MHz,对应计算的Ts是2.5,也就是@阿松松 你说的延迟时间比1.5增加了,高fADC导致延迟时间或者转换时间增加,这点应该没有疑问。但是407该配置的延迟时间不包括2.5这个值。
上述的内容感觉互有矛盾,因此才让人觉得凌乱。到目前为止,如果以datasheet为准,也有疑惑的地方。这是要命的地方。。
另外,AN3116可能更多是基于F1的文档。并不包括F4的407等.
如果有高人,能给个准确的说明,或者有方法明确测试出采样到的信号采样率,那么请不吝赐教。
凌乱了。
理一下思路,我们总共有3个时间,1/(采样保持时间+转换时间+延时时间)=采样频率,这个和Fadc频率没啥关系。
采样Fadc只是采样时要参考的时钟,Fadc太大的话,可能会有其他的问题而不是我们想的那种问题,因为任何器件时钟频率一高,抖动啊,等等不好的因素全部显露出来了。
你的Fadc频率高,只会影响到时钟信号的质量,采样保持时间这个因素是要自己规定的,因为我们要在采样速度和采样精度之间权衡。
当你的采样频率太高的时候,为了维持你规定的采样时间,采样、转换、延时时钟周期数肯定要增加的吧。所以,就会有Facd和采样保持周期数两边的一个权衡,即Fadc如果很大的话,采样保持周期数必须加大,不然保持时间不够,采样不准确。
手册上的理论速度应该是纯粹的不考虑延时(即转换之后立刻开始下一次采样)。
不知道这样理解对不对
另外,427的话,有如下:你看,Fpckl2的话,84MHz是完全没问题的吧,ADC挂载APB2上,最小的分频系数是2,那岂不是就能42MHz了?
下图的这个0.6-36MHz是不是又是矛盾了呢?
额,你才是高手,你讲的下面这个,
是不是最好是0.6-30MHz,但是理论上36MHz也可以。那映射到427上的话,理论PCLK2二分频的理论数据可以高达50MHz,是不是说,理论上427的ADC可以跑到这么高的频率?
但是采样总得需要时间吧,采样时间太长跟不上ADC时钟频率的话,就算时钟频率再高也是白费吧?
所以高的ADC时钟频率,就得更多ADC时钟周期来满足采样时间的需求,而且加上转换时间的话,可能还要加上延时吧?
这种理解对吗?
详见应用手册AN3116。
0.6-14MHz应该是10系列的吧,因为这个系列我没用过,也没查,只是很多资料上写的都是这个,拿来做参考
按照上面的公式,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)吗?
我又凌乱了。。。
求拍砖,讨论下,我也晕
F407æååAN3116.rar
2015-1-8 14:51 上传
点击文件名下载附件
下载积分: ST金币 -12.32 MB, 下载次数: 4, 下载积分: ST金币 -1
嗯,你说的那些我还得琢磨琢磨,我也希望有大神出来指点下,有人指点的话可能会更好
36M/(3 + 12) = 2.4M/s ,如果用三重ADC交替采样,可以达到 3*2.4 = 7.2M/s。但是ADC工作频率可以工作在42M下,这也是我的疑问?如果我配置ADC的工作频率为42M,ADC是以42M为工作频率,还是以最大的限值36M呢?