ADC no hace referencia a voltaje fijo 4x referenciado - PIC16F18854

0

Estoy usando un PIC16F18854 con un VDD estable de 5.0V. Probé múltiples fichas. El código se generó principalmente con MCC y se verificó con la hoja de datos.

Registros aplicables:
ADREF: ADNREF = VSS, ADPREF = FVR_buf1
FVRCON: ADFVR = 4x, FVREN = habilitado

  • El rango de ADC parece ser VSS- > VDD; el cambio de VDD afecta la salida de ADC
  • El ADC actúa como si se estuviera haciendo referencia a VDD (entre 4.75V-6V)
  • Cambiar solo un bit de FVRCON para seleccionar 2x o 1x funciona como se esperaba: una referencia 2.048V / 1.024V y el ADC realiza las conversiones. La salida es estable al variar la tensión de alimentación.

¿Podría algo llevar a un problema de este tipo? ¿O un error de silicio / hoja de datos?

    
pregunta CJ9

1 respuesta

1

He encontrado una solución a lo anterior.

En mi código, seleccioné el canal, esperé el tiempo de adquisición (de la hoja de datos) y luego comencé la conversión utilizando la función denominada "ADCC_StartConversion" generada por MPCC, que acepta el argumento de un canal.

Esta función luego volvió a seleccionar el canal ADC y marca el ADC para que comience a "ADGO".

A pesar de que la hoja de datos indica el requisito de un tiempo de adquisición, Microchip ha implementado MPCC, una función que nunca funcionará según lo diseñado.

Realmente, debería haber una función "ADC_SelectChannel" y luego una "ADC_StartConversion" para que el usuario pueda generar su propio retraso, o para que la función incluya el retraso establecido.

    
respondido por el CJ9

Lea otras preguntas en las etiquetas