diferencia dsp fpga

FPGA es un chip de silicio programable y DSP es procesamiento de señales digitales. Cuando los diseñadores de sistemas se encuentran en la etapa de diseño de la arquitectura del proyecto, se enfrentan a la importante cuestión de si utilizar FPGA o DSP. Este artículo primero presentará las características de FPGA y DSP respectivamente, y luego analizará las diferencias entre los dos desde la perspectiva de los recursos internos, los lenguajes de programación y las funciones.

1. Características de FPGA y DSP

Características estructurales de FPAG

Hay una gran cantidad de puertas lógicas y flip-flops en el chip, la mayoría de que son estructuras de tablas de búsqueda. La tecnología es principalmente SRAM. Gran escala, alta integración, rápida velocidad de procesamiento y alta eficiencia de ejecución. Puede completar un diseño lógico secuencial complejo y la programación es flexible, conveniente, simple y se puede repetir varias veces. Muchos FPAG son infinitamente reprogramables. Aprovechar la reconfiguración reduce la sobrecarga de hardware. Las desventajas son: la configuración lógica original generalmente se perderá después de un corte de energía; el tiempo es difícil de planificar, no puede manejar múltiples eventos y no es adecuado para operaciones condicionales;

Características estructurales de DSP

1. Al utilizar la estructura de Harvard y la estructura de Harvard mejorada que separa datos y programas, la velocidad de ejecución de instrucciones es más rápida.

2. Utilice tecnología de canalización para reducir el tiempo de ejecución de cada instrucción.

3. Múltiples buses en el chip permiten la obtención simultánea de instrucciones y múltiples operaciones de acceso a datos.

4. Los acumuladores y sumadores independientes pueden completar operaciones de multiplicación y acumulación simultáneamente en un ciclo.

5. Dispone de controlador de canal DMA y puerto de comunicación serie para facilitar la transmisión de datos.

6. Tiene un procesador de interrupciones y un controlador de tiempo, lo que facilita la formación de un sistema a pequeña escala.

7. Tiene funciones de espera de software y hardware y puede interactuar con varias memorias.

Como microprocesador especializado, DSP se utiliza principalmente para cálculos. Su ventaja es la flexibilidad del software. Adecuado para procesos condicionales, especialmente tareas complejas de algoritmos múltiples. DSP se programa mediante lenguaje ensamblador o de alto nivel (como el lenguaje C) para implementar la solución en tiempo real. Por tanto, la ventaja de utilizar dispositivos DSP es que la velocidad de actualización del software es rápida, lo que mejora enormemente la fiabilidad, versatilidad, reemplazabilidad y flexibilidad del sistema. Desventajas: Limitado por el flujo de instrucciones en serie; más allá de una frecuencia de muestreo de varios MHZ, un DSP solo puede completar operaciones muy simples con datos y el ciclo de desarrollo es largo;

2. Recursos internos

FPGA se centra en diseñar circuitos de hardware con una determinada función. Los recursos internos son unidades pequeñas como VersaTiles (ActelFPGA). Las unidades internas de FPGA se programan inicialmente. , Se utilizó el lenguaje HDL para implementar la descripción del diseño del circuito de hardware. Los recursos de cableado interno de la FPGA conectan las señales dentro y entre estos módulos funcionales para formar módulos más grandes. FPGA puede implementar internamente ALU, sumadores, multiplicadores, acumuladores, FIFO, SRAM, DDRcontroller, FFT, HDLC, DMA, PWM y otros circuitos digitales, lo que significa que debemos usarlo para implementar una función de hardware específica o general. , cada detalle de estos módulos debe utilizar HDL para describir la implementación del diseño.

Los FPGA actuales pueden incorporar microprocesadores como ARM7, CoretexM1, Core8051, etc. para el núcleo blando de FPGA. Algunos fabricantes de FPGA también integran algunos módulos de hardware directamente en el FPGA. FPGA. Los FPGA tradicionales implementan circuitos puramente digitales. Solo los FPGA de Actel en la industria implementan tecnología de chip único PSC mixto digital-analógico, que realmente mejora y amplía las funciones y campos de aplicación de los FPGA.

Además, la mayoría de los FPGA tienen bucles de bloqueo de fase como PLL y DLL, y Slew es ajustable también tiene unidades de hardware integradas como OSC, RTC y Powermanager, e incluso la serie Fusion de Actel. También tiene ADC integrado de 600 kbps de 12 bits e interfaces analógicas como MOSFETDriver. Tiene recursos internos como UserFlashMemeory y FlashROM para implementar funciones como PSC real y Bootloader.

DSP se trata principalmente de procesamiento de algoritmos. Los recursos internos son principalmente multiplicadores, sumadores y otros recursos. Tiene una interfaz SPI y una interfaz UART, y acepta ciertos conjuntos de instrucciones. Debe reconfigurarse de acuerdo con las necesidades del cliente para facilitar su uso, pero sus funciones son relativamente limitadas, por lo que se utiliza principalmente en ciertos campos específicos. Los DSP también tienen bucles, contadores y generadores de velocidad en baudios incorporados con bloqueo de fase, y algunos DSP también tienen interfaces analógicas ADC.

3. Lenguaje de programación

FPGA utiliza principalmente HDL, incluidos VHDl, Verilog y el lenguaje de descripción mixto digital-analógico Verilog-AMS, etc. (Recomendación del curso: formación FPGA)

DSP utiliza programación en C y lenguaje ensamblador. (Recomendación del curso: capacitación C6000 DSP)

4. Perspectiva funcional

FPGA se usa comúnmente para implementar módulos de circuitos digitales y básicamente puede implementar todos los circuitos digitales, módulos de funciones digitales tradicionales y Módulos de procesamiento digital para las necesidades específicas del producto del cliente. Hay muchos tipos de puentes IO para FPGA. Diferentes tipos de FPGA admiten diferentes estándares y protocolos de IO, pero las capacidades de conducción o voltajes de estos IO son programables y configurables. Implementación de cualquier circuito de función digital, procesamiento de señales de alta velocidad, procesamiento de señales en el campo de control, implementación de protocolo de conversión de puente, Actel's Fusion también se puede utilizar para detección de corriente/voltaje, detección de temperatura, controlador MOSFET, administración de energía, su exclusivo Flash tecnología La tecnología puede funcionar con batería y guardar datos en tiempo real cuando la energía está apagada. Tiene un consumo de energía ultrabajo y múltiples modos de trabajo (estático, modo de suspensión). En particular, la función del chip IGLOO consume solo 5uW en modo de suspensión. . Este tipo de consumo de energía se puede utilizar en dispositivos móviles de mano, como teléfonos móviles y GPS, para lograr mayores aplicaciones funcionales.

Además, FPGA se utiliza para implementar la verificación temprana del diseño de ASIC para implementar las funciones de DSP, funciones de CPU, funciones de MCU, controladores de memoria, PWM, SVPWM y Clarke. y la implementación de transformación inversa, control VGA, codificación y decodificación de datos, demultiplexación, procesamiento de señales de hasta Gbps, implementación de conversión de protocolos, etc., son funciones que son difíciles de manejar para DSP.

Hay muchos módulos de hardware, interfaces y controladores listos para usar dentro del DSP, pero requieren configuraciones de programación de software para lograr control PWM, control de interfaz, interfaz UART, interfaz SPI y otras funciones. Sin embargo, debido a la limitación del ciclo de reloj del conjunto de instrucciones, el DSP no puede manejar señales que son demasiado altas. En cuanto a las señales de Gbps, las señales como LVDS son difíciles de manejar. Por tanto, los campos de solicitud correspondientes serán limitados. Sin embargo, los clientes en diferentes campos tienen diferentes planes de diseño y diferentes prioridades. A los diseñadores en algunos campos también les gusta usar DSP, como la implementación de algoritmos, el procesamiento de protocolos, etc. Si son manejados por FPGA, las ganancias superan las pérdidas.

5. Ocasiones aplicables

DSP es adecuado para sistemas con frecuencias de muestreo más bajas, velocidades de datos bajas, operaciones de múltiples condiciones, procesamiento de tareas complejas de múltiples algoritmos, uso de programación en lenguaje C y El sistema utiliza punto flotante. ) es adecuado para procesos de múltiples condiciones a velocidades de muestreo más bajas, especialmente tareas complejas de múltiples algoritmos.

FPAG es adecuado para sistemas con alta velocidad de muestreo (≥ varios MHZ), alta velocidad de datos, programación de diagramas de bloques, tareas de procesamiento fijas o repetidas y uso de puntos fijos. ) Adecuado para frecuencias de muestreo de alta velocidad, especialmente cuando las tareas son relativamente fijas o repetitivas, así como para prototipos de prueba y desarrollo de sistemas.