STM32F20x ADC tiempo / frecuencia de muestreo

0

Necesito calcular el tiempo de muestreo exacto o la frecuencia de muestreo para mi configuración en un STM32F205. Tengo la configuración de ADC como sigue:

ADC_DeInit();

RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
ADC_CommonInitTypeDef ADC_CommonInitStructure;
ADC_InitTypeDef ADC_InitStructure;

ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div4;
ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_1;
ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles;
ADC_CommonInit(&ADC_CommonInitStructure);

ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
ADC_InitStructure.ADC_ScanConvMode = DISABLE;
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfConversion = 1;
ADC_Init(ADC1, &ADC_InitStructure);

ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_3Cycles);

Tengo este formulario el manual de referencia STM32F20x

  

Tiempo de muestreo programable en cuanto al canal El ADC muestrea la entrada   voltaje para varios ciclos ADCCLK que se pueden modificar > usando la   SMP [2: 0] bits en los registros ADC_SMPR1 y ADC_SMPR2. Cada canal   Se puede muestrear con un tiempo de muestreo diferente. El tiempo total de conversión se calcula de la siguiente manera: Tconv = tiempo de muestreo + 12 ciclos   Ejemplo: Con ADCCLK = 38 MHz y tiempo de muestreo = 3 ciclos: Tconv = 3   + 12 = 15 ciclos = 0.5 μs con APB2 a 60 MHz

Pero realmente no entiendo cómo usarlo en mi configuración.

Cualquier ayuda es bienvenida y proporcionaré cualquier información adicional si es necesario.

    
pregunta Bjqn

1 respuesta

0

Eso depende de la fuente de la señal medida. Se requiere algo de tiempo para cargar la capacitancia de entrada del ADC, por lo que si su circuito de señal no puede acumular suficiente corriente / fuente, se requerirá un tiempo de muestreo más prolongado. Cuanto más largo sea el tiempo de muestreo, más lenta será la velocidad del ADC. En algunos micros STM puede usar opamps integrados como buffers de entrada. También puede tener los externos para que las lecturas sean más rápidas y precisas.

Cuando calcules el tiempo de conversión necesitas:

  • Conozca la velocidad del reloj de su ADC
  • Por RM, sabe que este tiempo es igual a los relojes 12ADC + su tiempo de muestreo. Por ejemplo, si el reloj ADC es 12MHz y el tiempo de muestreo es 84, entonces el tiempo total de conversión será 84 + 12 ciclos ADC = 8us y velocidad máxima ADC - 125kSPS
respondido por el P__J__

Lea otras preguntas en las etiquetas