Estoy trabajando con ADC en AT91SAM7S microcontrolador. Aparte de los parámetros como el prescaler de frecuencia de reloj ADC y el "tiempo de muestreo y retención" (con el que estoy familiarizado), hay un parámetro llamado "Tiempo de inicio" que no entiendo realmente.
La documentación dice: "Cada ADC tiene su propio tiempo de inicio mínimo programado a través del campo STARTUP en el registro de modo ADC_MR". Mi sensación es que esto puede estar relacionado con el modo de suspensión, de modo que cuando el ADC estaba durmiendo y luego comenzó, necesita algo de tiempo para "despertarse". Pero no uso el modo de reposo. Probablemente, el ADC esté inactivo de forma predeterminada hasta que realmente se le solicite que realice la conversión.
Si configuro este parámetro en cero, la primera conversión después del inicio del programa da un código cero, aunque el indicador de "Fin de conversión" del canal está establecido. Todas las conversiones posteriores funcionan normalmente.
- ¿Cuál es la física detrás de este parámetro?
- ¿Por qué debería programarlo? ¿Por qué ADC no puede esperar automáticamente el tiempo necesario y no establecer el indicador de 'fin de conversión' hasta que realmente se haya despertado y finalizado la conversión?
- ¿Cómo lo calculo?