STM32 F4 - ADC en modo dual simultáneamente

1

Estoy comprando el ejemplo de las bibliotecas STM32 (ADC_DualModeRegulSimu). Entiendo cómo funciona todo el programa, pero necesito información y tengo algunas preguntas sobre este código que se enfrenta a mi proyecto.

En primer lugar, necesito convertir 2 valores analógicos simultáneamente porque planeo calcular una correlación de fase (por eso necesito la conversión simultánea). En el código, el valor convertido se coloca en una palabra de 32 bits de longitud: extern __IO uint16_t aADCDualConvertedValue [2];

Quiero almacenar el primer y el segundo valor (media palabra) en dos vectores que he definido. Primero decidí crear una declaración while como esta:

while(counter < Max && ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC && ADC_GetFlagStatus(ADC2, ADC_FLAG_EOC)) {
    vector1[counter] = aADCDualConvertedValue[0];
    vector2[counter] = aADCDualConvertedValue[1];
    counter++;
}

Pero, este método parece ser inseguro porque no podemos estar seguros de que aADCDualConvertedValue [0] y aADCDualConvertedValue [1] se muestreen al mismo tiempo debido al número de ciclos tomados por las condiciones de while. Entonces, ¿cuál es la mejor manera de almacenar los datos simultáneamente de manera segura?

Otro problema, la conversión comienza así (después de inicializar los dos ADC):     ADC_SoftwareStartConv (ADC1);     ADC_SoftwareStartConv (ADC2);

¿Significa que ADC2 comienza a convertir un ciclo después de ADC1, por lo tanto, primero las dos muestras no se convierten simultáneamente?

Thks.

    
pregunta user2412542

1 respuesta

1

Mirando el hardware de la unidad STM básica , diría que había un ADC y eso significa que no hay muestreo simultáneo. Es probable que las 16 entradas estén disponibles debido a que tiene un multiplicador direccionable que puede encaminar uno de los 16 a la única entrada ADC: -

EDITSinembargo,mirandoeldispositivoSTM34F4diceesto(ygraciasaChrisStrattonporseñalarlo):-

Debido a que el dispositivo puede realizar muestreos y retenciones simultáneamente, esto se ajustará a la factura.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas