Hora de inicio de ADC en AT91SAM7: ¿qué es?

0

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?
pregunta Roman

1 respuesta

0

Mirando la hoja de datos, este es el tiempo requerido para que el ADC se reinicie correctamente desde el modo inactivo (también hay un modo de suspensión del ADC que es confuso). El modo inactivo se relaciona con el núcleo del procesador, pero el tiempo de inicio también parece ser necesario en el modo de suspensión ADC (consulte la sección 36.5.6 de la hoja de datos)

Es programable, ya que el número de ciclos de reloj variará según el reloj utilizado en el módulo ADC.

Cálculo:

INICIO: Tiempo de inicio

Tiempo de inicio = (INICIO + 1) * 8 / ADCClock

Por lo tanto, debe programar el registro con

STARTUP = (Tiempo de inicio * ADCCLK / 8) -1 donde el tiempo de inicio es 20 microsegundos.

Este ADC en particular tiene un tiempo mínimo fijo requerido para (aparentemente) que la celda analógica vuelva a aparecer.

    
respondido por el Peter Smith

Lea otras preguntas en las etiquetas