Skip to content

About

Convertidor ADC de 12 bits con 4 canales de entrada

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

TP_ADC_TD2 - Sistema de Adquisición de Datos con ADC de Alta Precisión

📋 Descripción del Proyecto

Este proyecto fue desarrollado en la materia Técnicas Digitales 2 de la Universidad Tecnológica Nacional - Facultad Regional Buenos Aires (UTN.BA) e implementa un sistema completo de adquisición de datos (DAQ) basado en el convertidor analógico-digital MCP3204, diseñado para aplicaciones que requieren conversión precisa de señales analógicas con filtrado anti-aliasing y referencia de tensión estable.

El sistema está específicamente diseñado para interfaz con FPGA, proporcionando una solución completa de hardware para adquisición de señales analógicas en sistemas de procesamiento digital basados en FPGA.

El diseño incluye:

  • Convertidor ADC de 12 bits con 4 canales de entrada
  • Filtros anti-aliasing activos tipo Sallen-Key
  • Referencia de tensión de precisión de 4.096V
  • Interfaz de comunicación SPI compatible con FPGA

🔧 Componentes Principales

MCP3204 - Convertidor Analógico-Digital

  • Resolución: 12 bits (4096 niveles)
  • Canales: 4 canales de entrada single-ended o 2 canales diferenciales
  • Velocidad de muestreo: Hasta 100 ksps (100,000 muestras por segundo)
  • Interfaz: SPI (Serial Peripheral Interface)
  • Rango de entrada: 0V a Vref (4.096V)
  • Precisión: ±1 LSB INL/DNL típico
  • Alimentación: 2.7V a 5.5V

LM2902 - Amplificador Operacional Cuádruple

  • Función: Implementación de filtros anti-aliasing tipo Sallen-Key
  • Tipo: Quad Op-Amp de bajo ruido
  • Características:
    • 4 amplificadores operacionales independientes
    • Alimentación single-supply
    • Bajo consumo de corriente
    • Ancho de banda adecuado para señales de audio y control

REF3140AIDBZR - Referencia de Tensión de Precisión

  • Tensión de salida: 4.096V (ideal para ADC de 12 bits)
  • Precisión inicial: ±0.1% típico
  • Deriva térmica: 10 ppm/°C máximo
  • Corriente de salida: Hasta 10 mA
  • Estabilidad: Excelente rechazo al ruido de fuente
  • Ventaja: Con 4.096V de referencia, cada bit del ADC representa exactamente 1 mV

🏗️ Arquitectura del Sistema

Señal Analógica → Filtro Anti-Aliasing (LM2902 Sallen-Key) → MCP3204 ADC → Salida Digital SPI
                                                           ↑
                                              Referencia REF3140 (4.096V)

Descripción de Etapas:

  1. Etapa de Entrada:

    • Acondicionamiento de señal si es necesario
    • Protección contra sobretensiones
  2. Filtro Anti-Aliasing:

    • Implementado con LM2902 en configuración Sallen-Key
    • Frecuencia de corte diseñada según la frecuencia de Nyquist
    • Elimina componentes de alta frecuencia que causarían aliasing
    • Cada canal del ADC puede tener su propio filtro
  3. Conversión ADC:

    • MCP3204 realiza la conversión A/D de 12 bits
    • Muestreo sincronizado por reloj SPI
    • Referencia estable de 4.096V para máxima precisión
  4. Interfaz Digital:

    • Comunicación SPI con FPGA/microcontrolador
    • Velocidad de comunicación configurable
    • Protocolo estándar de 4 hilos (CLK, MOSI, MISO, CS)
    • Compatible con niveles lógicos FPGA (3.3V/5V)

✨ Características Principales

  • ✅ Alta Precisión: Resolución de 12 bits con referencia de 4.096V (1 mV/bit)
  • ✅ 4 Canales Simultáneos: Adquisición multiplexada de múltiples señales
  • ✅ Filtrado Anti-Aliasing: Previene distorsión de señal por aliasing
  • ✅ Referencia Estable: REF3140 con baja deriva térmica
  • ✅ Bajo Ruido: Diseño con componentes de bajo ruido
  • ✅ Interfaz FPGA: SPI compatible con FPGAs y microcontroladores
  • ✅ Diseño Modular: Cada etapa puede ser configurada independientemente

📊 Especificaciones Técnicas

Parámetro Valor
Resolución ADC 12 bits (4096 niveles)
Número de canales 4 single-ended / 2 diferenciales
Tensión de referencia 4.096V ±0.1%
Resolución por bit 1 mV
Frecuencia de muestreo máx. 100 ksps
Filtro anti-aliasing Sallen-Key de 2º orden
Interfaz de comunicación SPI
Rango de entrada 0V a 4.096V
Alimentación típica 5V

🎯 Aplicaciones

Este sistema es ideal para:

  • Sistemas con FPGA: Adquisición de datos analógicos para procesamiento digital en FPGA
  • Instrumentación y medición: Multímetros digitales, medidores de temperatura
  • Control industrial: Monitoreo de sensores analógicos
  • Adquisición de datos: Data loggers, sistemas de monitoreo ambiental
  • Audio y señales: Análisis de señales de audio de baja frecuencia
  • Automatización: Control de procesos con múltiples sensores
  • Educación: Proyectos académicos de procesamiento de señales y sistemas embebidos (Técnicas Digitales 2 - UTN.BA)

🔌 Interfaz SPI

El MCP3204 utiliza un protocolo SPI estándar:

CS   ─┐     ┌─────────────────────────┐
      └─────┘                         └────

CLK  ───┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌──
        └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘

DIN  ──< START >< SGL/DIFF >< D2 D1 D0 >──

DOUT ──────────────< NULL BIT >< B11...B0 >──

Pines de conexión:

  • CS/SHDN: Chip Select (activo en bajo)
  • CLK: Clock de comunicación SPI
  • DIN: Datos de entrada (configuración)
  • DOUT: Datos de salida (resultado ADC)

Conexión con FPGA

Este módulo está diseñado para conectarse directamente a una FPGA mediante la interfaz SPI:

Consideraciones para integración con FPGA:

  • Verificar niveles de tensión (3.3V o 5V según la FPGA)
  • Implementar módulo SPI master en VHDL/Verilog
  • Frecuencia de reloj SPI configurable (máx. 2 MHz para MCP3204 a 5V)
  • Diseñar máquina de estados para control de muestreo
  • Buffer FIFO recomendado para almacenamiento temporal de datos
  • Sincronización de clock domain crossing si es necesario

🛠️ Diseño de PCB

Este proyecto utiliza KiCad para el diseño del circuito impreso (PCB).

Consideraciones de Diseño:

  • Plano de tierra continuo para minimizar ruido
  • Separación de tierras analógica y digital
  • Trazas cortas para señales sensibles
  • Desacople adecuado en alimentación (capacitores cerámicos cerca de cada IC)
  • Filtrado de la referencia de tensión
  • Ruteo cuidadoso de señales SPI

📦 Archivos del Proyecto

  • Esquemáticos de KiCad (.kicad_sch)
  • Layout de PCB (.kicad_pcb)
  • Archivos Gerber para fabricación
  • Lista de materiales (BOM)
  • Documentación técnica

📖 Referencias y Datasheets

📝 Notas de Diseño

Cálculo de Resolución:

Con Vref = 4.096V y resolución de 12 bits:

Resolución = Vref / 2^12 = 4.096V / 4096 = 1 mV por bit

Ejemplo de Lectura:

  • Valor digital: 2048 (0x800) → Tensión: 2.048V
  • Valor digital: 4095 (0xFFF) → Tensión: 4.095V
  • Valor digital: 0 (0x000) → Tensión: 0V

👥 Contribuciones

Este es un proyecto académico desarrollado en la materia Técnicas Digitales 2 de la UTN.BA. Las sugerencias y mejoras son bienvenidas.

📄 Licencia

Este proyecto se distribuye bajo la licencia CERN Open Hardware Licence Version 2 - Weakly Reciprocal (CERN-OHL-W).

Para más detalles, consultar el archivo LICENSE en este repositorio.

📧 Contacto

Autor: Enzo Nicolas Belmonte
Estudiante de: Ingeniería Electrónica
Institución: Universidad Tecnológica Nacional - Facultad Regional Buenos Aires (UTN.BA)
Materia: Técnicas Digitales 2

Para consultas, sugerencias o colaboraciones, no dudes en contactar por email o a través del repositorio de GitHub.


Desarrollado con ❤️ para aplicaciones de adquisición de datos de precisión

About

Convertidor ADC de 12 bits con 4 canales de entrada

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors