El convertidor ADC de la tarjeta BASYS 3 no es un chip adicional, sino que está integrado dentro de la propia FPGA Xilinx Artix-7. Se le conoce como XADC (Xilinx Analog-to-Digital Converter).
Características principales del XADC
Ubicación: El XADC está incorporado en el chip de la FPGA Artix-7.
Propósito: Se utiliza principalmente para monitorizar parámetros internos de la FPGA, como la temperatura del chip y los voltajes de alimentación.
Acceso Externo: La BASYS 3 expone el XADC a señales externas a través de uno de sus conectores Pmod etiquetado como JXADC. Este conector Pmod se puede configurar para funcionar con señales analógicas o digitales.
Canales analógicos: En total la BASYS 3 dispone de 4 canales para monitorizar señales analógicas externas. Las ocho señales analógicas se agrupan en cuatro pares organizados en columnas. El canal 1 corresponde a XA1_P y XA1_N, el canal 2 son los pines XA2_P y XA2_N, el CH3 son XA3_P y XA3_N, y el 4 son XA4_P y XA4_N.
BASYS 3 Pmod JXADC
El núcleo XADC dentro de la Artix-7 es un convertidor analógico-digital de 12 bits y doble canal capaz de funcionar a 1 MSPS. Dispone de un Multiplexor interno para leer múltiples sensores internos y externos.
Diagrama de bloques del XADC
El Rango de entrada es de 1V (ojo no 3.3 V, importante). Pueden ser valores diferenciales de -0.5 a +0.5V o absolutos de 0 a 1.0 V. Para monitorizar señales analógicas por encima de 1V hay que usar un divisor de tensión. Por ejemplo un caso típico es monitorizar tensiones de alimentación y voltajes de referencia que pueden exceder el rango de entrada del XADC.
Una solución sencilla a este problema es utilizar un divisor de tensión mediante resistencias. El divisor suministra al XADC un voltaje proporcional de menor valor que el voltaje que se está midiendo. La siguiente imagen muestra un divisor de tensión sencillo.
El esquema de conexión consiste en tres divisores de tensión más un potenciómetro conectados en los pines XA1_P, XA2_P, XA3_P y XA4_P mientras que los terminales con sufijo _N se conectan a GND. Recuerda que las entradas del ADC admiten como máximo 1V, de ahí que el potenciómetro se alimente entre 1V y GVD.
Con los divisores de tensión generamos tres tensiones de distinto valor cada una y con el potenciómetro podemos variar la entrada y probar como se mide con el ADC.
Ve a la página de Digilent y descarga el .zip
Descomprime el .zip, abre el proyecto con Vivado y programa la FPGA.
Con los switches 0 y 1 selecciona el canal que quieras monitorizar.
El valor de la medida se muestra en el display de siete segmentos y en forma de vúmetro en los ledes 0 a 15.
Como se aprecia en la foto de arriba, el resultado de la medida es muy exacto comparado con un polímetro digital.
Eso es todo por el momento ¡Hasta pronto!