管理员
最后登录1970-1-1
在线时间 小时
注册时间2013-3-25
|
楼主 |
发表于 2015-9-24 17:49:59
|
显示全部楼层
5、转换开始,那转换的时间怎么样?转换一次需要多少的时间?(ADCLK)
输入时钟:
说到ADC的转换时间,这个跟ADC的输入时钟有关系,ADC的输入时钟是经由PCLK2分频产生,最高不能超过14MHZ,
要想设置ADC的转换时间为1us,ADCCLK应该这么设置?
所以ADC的输入时钟最高只能是14M。当ADCCLK的输入时钟是14M,再设置最短的采样时间的话,ADC的转换时间可以达到最短的1us。
ADCCLK是PCLK2经过ADC的预分频器分频产生的,ADC的预分频器可以是不分频,或者是2/4/6/8,倒推过来的话,
PCLK2的时钟只能是这几种:14*[2,4,6,8]=28,56,84,112,但是鉴于SYSCLK最高时钟一般使用72M,
所以PCLK2只能是28M或者56M,这里要注意的是,ADCLK预分频器是没有1分频的。
采样时间:ADC使用若干个ADC_CLK周期对输入的电压进行采样,采样的周期数可通过ADC_SMPR1和ADC_SMPR2寄存器
中的SMP[2:0]位设置,ADC_SMPR2控制的是通道0~9,ADC_SMPR1控制的是通道10~17。每个通道可以分别用不同的时间采样。
其中采样周期最小是1.5个,即如果我们要达到最快的采样,那么应该设置采样周期为1.5个周期,这里说的周期就是ADC_CLK
转换时间:转换时间由ADC的输入时钟和采样时间决定,公式如下。
Tconv = 采样时间 + 12.5个周期
当ADCLK = 14MHZ (最高),采样时间设置为1.5周期(最快),那么总的转换时间(最短)
Tconv = 1.5周期 + 12.5周期 = 14周期 = 1us,所以STM32的ADC总的转换时间最短是1us。
|
|