6 votos

Microcontrolador vs FPGA para el DAC y ADC

He buscado en varios foros acerca de los microcontroladores y los FPGAs, pero no pude encontrar la respuesta era que yo estaba buscando.

Tengo que tomar una decisión de si voy a usar un microcontrolador/minipc como una Rapsberry Pi o algo parecido a un Zynq SoC.

Lo que quiero hacer es: detectar las vibraciones con un geófono sensor, utilice un ADC para enviar la información a un controlador, a continuación, utilizar un DAC para enviar un contador de la señal hacia un actuador.

Todavía me gustaría ser capaz de mostrar las llamadas entrantes y salientes de las señales y ajustar la salida de señal de una manera que no puede oponerse a una frecuencia específica.

Actualmente estoy usando un ventilador de pc, algunos amplificadores, DAC y ADC para hacer los cálculos y una externa portátil para sintonizar la señal (con MATLAB).

Ahora, me gustaría venir para arriba con una solución use una más pequeña para hacer los cálculos. He comprobado la Rapsberry Pi, pero el rango de Voltios para el DAC - ADC son muy bajos: -0.3 +0,3 V. estoy buscando un rango entre +/-10V y 16 bits.

Además, todavía tengo que ser capaz de sintonizar y visualización de las señales. Tal vez dos fichas, una para los cálculos y uno para la comunicación con la interfaz de usuario?

Gracias.

4voto

TheBonsai Puntos 3112

Como yo lo veo, tienes 3 opciones:

PC, a escala

Siga usando el mismo sistema, sólo la escala hacia abajo. Esto es fácil, porque tienen un de alto nivel del sistema), pero tal vez no demasiado eficiente ya que el sistema operativo no está optimizado para la latencia o tiempo real de la operación. También será hambriento de poder.

MCU

Un microcontrolador ejecuta en ~100 MHz debe de tener un montón de potencia de procesamiento para esta tarea (y va a ser mucho más sensible que una solución basada en linux). Usted necesitará conectar el periférico niveles de voltaje, sino que debe ser capaz de utilizar un amplificador sencillo para la tarea (que proporciona cierta protección para el lado digital en el proceso). Usted puede capturar los datos de salida a través de una UART, algunas luces de indicador o de un pequeño panel de la pantalla - todas estas partes deben ser fáciles de encontrar ejemplos. Por supuesto, usted tiene que aprender un poco diferente software de paradigma (micro-python, es posible, pero tal vez no ideal en este caso).

FPGA

Su ejemplo, en la parte no podría ser un buen ajuste - es muy sobre-especificado y caro. Los básicos de procesamiento en tiempo real probablemente se podría hacer en un pequeño dispositivo, pero el bajo nivel de codificación es probable que sea un reto (a menos que matlab puede generar todo el código que se necesita).


El uso de FPGA aquí sería el método a utilizar si los cálculos son complejos y exigentes. Una MCU debe ser una buena elección si su objetivo es reducir el hardware, y que tal vez es alimentado por batería. Un montón de pequeñas Mcu vienen en formato tarjeta de crédito tarjetas de desarrollo en torno a los$10.

Comprobar lo de la tarifa de datos que usted necesita con el fin de generar su 'cancelar' de la señal, esto va a determinar la matriz de memoria de tamaño y DMA con la frecuencia que usted necesita para conducir el DAC en su diseño.

3voto

laptop2d Puntos 331

Si usted necesita un ±10V rango, esto es normalmente fuera del alcance de la mayoría de los ADC y Dac, por lo que tendría un fuera de la plataforma de solución, o diseñar su propio sistema analógico.

El uso de una raspberri pi, son baratos y hay numerosos ejemplos de código y tutoriales para empezar, el software es gratis y la mayoría de las distribuciones que usted coloca en una rasberri pi ya viene con el software que va a utilizar. También puede obtener DAQ que funcionan en la ±10V rango de

Un microcontrolador (en un dev board) es también una opción, sin embargo, asegúrese de que el software (compilador) es gratis. Usted puede utilizar gcc con la mayoría, pero si desea depurar con un IDE esto se vuelve más difícil porque la mayoría de los compiladores comerciales limitar a 32kbytes de programación antes de que el costo se eleva en los miles. Lo más probable es que va a ser la programación en C. a Menos que usted puede encontrar un escudo de diseñar su propia electrónica en un PCB. Con un microcontrolador usted será capaz de ejecutar un bucle de control más rápido que un PC o un dispositivo con un sistema operativo normal (usted podría ser capaz de poner un Sistema Operativo en Tiempo Real (RTOS) en un pi, y hacer las cosas más rápido.)

Un FPGA es el más complicado, la toolchains son gratis, pero el tiempo que tomará para configurar el software podría ser días de un motor de arranque. Hay dev juntas de la electrónica analógica tendría que ser diseñado. La desventaja es la velocidad, si tienes muy rápido señales, entonces usted tendría que usar una FPGA debido a que puede ser el diseño de hardware en el nivel de puertas con ns tiempo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X