Procesador Blackfin: arquitectura, características y sus aplicaciones

Pruebe Nuestro Instrumento Para Eliminar Los Problemas





El procesador Blackfin fue diseñado, desarrollado y comercializado a través de Analog Devices e Intel como Micro Signal Architecture (MSA). La arquitectura de este procesador se anunció en diciembre de 2000 y se demostró por primera vez en el ESC ( Sistemas embebidos Conferencia) en junio de 2001. Este procesador Blackfin fue diseñado principalmente para alcanzar las limitaciones de energía y las demandas computacionales de las actuales aplicaciones integradas de audio, video y comunicaciones. Este artículo analiza una descripción general de un Procesador Blackfin – la arquitectura y sus aplicaciones.


¿Qué es el procesador Blackfin?

El procesador Blackfin es de 16 o 32 bits microprocesador que incluye una funcionalidad DSP de punto fijo incorporada suministrada a través de MAC de 16 bits (multiplicación-acumulación). Estas procesadores fueron diseñados principalmente para una arquitectura de procesador combinada de bajo consumo que puede ejecutar el sistema operativo mientras maneja tareas numéricas difíciles simultáneamente, como la codificación de video H.264 en tiempo real.



Este procesador combina una funcionalidad de procesamiento de señal RISC de 32 bits y MAC dual de 16 bits mediante el uso sencillo de atributos que se encuentran dentro de los microcontroladores de propósito general. Por lo tanto, esta combinación de atributos de procesamiento permite que los procesadores Blackfin logren resultados similares tanto en aplicaciones de procesamiento de control como de procesamiento de señales. Esta capacidad simplifica enormemente las tareas de implementación del diseño de hardware y software.

  Procesador Blackfin
Procesador Blackfin

Características del aleta negra:

  • Este procesador tiene una arquitectura de conjunto de instrucciones único que incluye un rendimiento de procesamiento que simplemente cumple o supera la gama de productos de procesador de señales digitales o DSP para proporcionar una mejor eficiencia de costos, energía y memoria.
  • Este procesador de arquitectura de 16 o 32 bits simplemente permite futuras aplicaciones integradas.
    Procesamiento multimedia, de señal y de control en un solo núcleo.
  • Aumenta la productividad de los desarrolladores.
  • Tiene un rendimiento ajustable a lo largo de la administración dinámica de energía para el consumo de energía o el procesamiento de señales.
  • Se adopta muy rápidamente en varios diseños que simplemente son compatibles con varias cadenas de herramientas y sistemas operativos.
  • Requiere una optimización mínima debido al entorno de desarrollo de software potente junto con el rendimiento central.
  • El procesador Blackfin admite herramientas de desarrollo líderes en la industria.
  • El rendimiento de este procesador y la mitad de la potencia de los DSP de la competencia permite especificaciones avanzadas y nuevas aplicaciones.

Arquitectura del procesador Blackfin

El procesador Blackfin proporciona las funcionalidades de una unidad de microcontrolador y procesamiento de señales digitales dentro de un solo procesador al permitir flexibilidad. Por lo tanto, este procesador incluye un procesador SIMD (datos múltiples de instrucción única) que incluye algunas características como longitud variable RIESGO instrucciones, temporizador de vigilancia, PLL en chip, unidad de gestión de memoria, reloj en tiempo real, puertos serie con 100 Mbps, UART controladores y SPI puertos



La MMU admite múltiples DMA canales para transferir datos entre periféricos y subsistemas de memoria FLASH, SDRAM y SRAM. También admite cachés de datos e instrucciones en chip configurables. El procesador Blackfin es un hardware simple que admite operaciones aritméticas de 8, 16 y 32 bits.

La arquitectura Blackfin se basa principalmente en la arquitectura de microseñal y fue desarrollada conjuntamente por ADI (Dispositivos analógicos) e Intel, que incluye un conjunto de instrucciones RISC de 32 bits y un conjunto de instrucciones de video de 8 bits con doble acumulación de multiplicación de 16 bits. (MAC) unidades.

  circuito impreso   Arquitectura del procesador Blackfin
Arquitectura del procesador Blackfin

Los dispositivos analógicos son capaces de lograr un equilibrio entre los requisitos de DSP y MCU a través de la arquitectura del conjunto de instrucciones de Blackfin. Generalmente, el procesador Blackfin se combina con las poderosas herramientas de desarrollo de software VisualDSP++, pero ahora, al usar C o C++, es posible producir código altamente eficiente con mucha más facilidad que antes. Para los requisitos en tiempo real, la compatibilidad con el sistema operativo se vuelve fundamental, por lo que Blackfin admite un no. de sistemas operativos y protección de memoria. El procesador Blackfin viene en modelos de un solo núcleo como BF533, BF535 y BF537 y de doble núcleo como BF561.

La arquitectura del procesador Blackfin incluye diferentes periféricos en chip como PPI (Interfaz periférica paralela), SPORTS (Puertos seriales), SPI (Interfaz periférica serial), UART (Transmisor receptor asíncrono universal), Temporizadores de propósito general, RTC (Receptor en tiempo real). reloj), temporizador de vigilancia, E/S de propósito general (indicadores programables), Interfaz de red de área del controlador (CAN) , ethernet MAC, DMA periféricos -12, DMA de memoria a memoria -2 que incluyen Handshake DMA, controlador TWI (interfaz de dos hilos), un controlador de depuración o JTAG Interfaz y controlador de eventos con 32 Interrumpir Entradas. Todos estos periféricos en la arquitectura están simplemente conectados al núcleo a través de diferentes buses de gran ancho de banda. Por lo tanto, a continuación se proporciona una descripción de algunos de estos periféricos.

PPI o interfaz periférica paralela

El procesador Blackfin simplemente proporciona un PPI que también se conoce como interfaz periférica paralela. Esta interfaz está directamente conectada a convertidores paralelos de analógico a digital y de digital a analógico, codificadores y decodificadores de video, y también a otros periféricos de uso general.

Esta interfaz incluye un pin CLK de entrada dedicado, tres pines de sincronización de cuadros y 16 pines de datos. Aquí, el pin CLK de entrada simplemente admite velocidades de datos paralelos iguales a la mitad de la velocidad CLK del sistema. Tres modos ITU-R 656 diferentes solo admiten video activo, supresión vertical y campo completo.

Los modos de propósito general del PPI se proporcionan para adaptarse a una amplia variedad de aplicaciones de transmisión y captura de datos. Por lo tanto, estos modos se dividen en categorías principales Recepción de datos mediante sincronizaciones de tramas generadas internamente, transmisión de datos mediante sincronizaciones de tramas generadas internamente, transmisión de datos mediante sincronizaciones de tramas generadas externamente y datos recibidos mediante sincronizaciones de tramas generadas externamente.

Deportes

El procesador Blackfin incluye dos puertos seriales sincrónicos de doble canal SPORT0 y SPORT1 que se utilizan para comunicaciones seriales y multiprocesador. Por lo tanto, estos son puertos seriales sincrónicos y de alta velocidad que admiten I²S , TDM y varios otros modos de encuadre configurables para conectar DAC , ADC, FPGA y otros procesadores.

Puerto de interfaz de periféricos en serie o SPI

El procesador Blackfin incluye un puerto SPI que permite que el procesador converse con varios dispositivos compatibles con SPI. Esta interfaz simplemente utiliza tres pines para transmitir datos, pines de datos-2 y un pin CLK. Los pines de entrada y salida seleccionados del puerto SPI simplemente brindan un SSI (interfaz serial síncrona) de dúplex completo que admite los modos maestro y esclavo y también entornos multimaestro. La velocidad en baudios de este puerto SPI y la fase o polaridades del reloj es programable. Este puerto tiene un controlador DMA incorporado que admite flujos de datos de transmisión/recepción.

Temporizadores

El procesador Blackfin tiene 9 unidades de temporizador programables. Estos temporizadores generan interrupciones al núcleo del procesador para proporcionar eventos periódicos destinados a la sincronización con el reloj del procesador o con un conteo de señales externas.

UART

El término UART significa puerto de 'transmisor receptor asíncrono universal'. El procesador Blackfin proporciona 2 puertos UART semidúplex, que se adaptan perfectamente a los UART estándar de PC. Estos puertos simplemente proporcionan una interfaz UART básica a otros hosts o periféricos para proporcionar transferencias de datos en serie asincrónicas, semidúplex y compatibles con DMA.

Los puertos UART incluyen de 5 a 8 bits de datos y 1 o 2 bits de parada y admiten 2 modos de operación como E/S programada y DMA. En el primer modo, el procesador transmite o recibe datos a través de la lectura/escritura de registros asignados de E/S, donde los datos se almacenan dos veces en el búfer tanto en la transmisión como en la recepción. En el segundo modo, el controlador DMA transmite y recibe datos y reduce el número de interrupciones necesarias para transmitir datos desde y hacia la memoria.

RTC o reloj en tiempo real

El reloj en tiempo real del procesador blackfin simplemente proporciona diferentes características como un cronómetro, hora actual y alarma. Por lo tanto, el reloj en tiempo real funciona con un cristal de 32,768 kHz externo al procesador Blackfin. El RTC dentro del procesador tiene pines de fuente de alimentación, que pueden permanecer encendidos y sincronizados incluso una vez que el resto del procesador Blackfin está en una condición de bajo consumo. El reloj en tiempo real proporciona una serie de opciones de interrupción programables. La frecuencia CLK de entrada de 32,768 kHz se separa en una señal de 1 Hz a través de un Prescaler. Al igual que los otros dispositivos, el reloj en tiempo real puede activar el procesador Blackfin desde el modo de suspensión profunda/modo de suspensión.

Temporizador de vigilancia

El procesador Blackfin tiene un temporizador de vigilancia de 32 bits, que se utiliza para ejecutar una función de vigilancia del software. Entonces, el programador inicializa el valor de conteo del temporizador que permite la interrupción adecuada y luego permite el temporizador. Después de eso, el software debe recargar el contador antes de que cuente desde el valor programado hasta '0'.

GPIO o E/S de propósito general

Un GPIO es un pin de señal digital que se usa como entrada, salida o ambos y se controla a través del software. El procesador Blackfin incluye pines GPIO (E/S de propósito general), 48 bidireccionales en 3 módulos GPIO separados como PORTFIO, PORTHIO y PORTGIO conectados con el Puerto G, el Puerto H y el Puerto F respectivamente. Cada pin de puerto de propósito general se controla individualmente a través de la manipulación del estado, control de puerto y registros de interrupción como GPIO DCR, GPIO CSR, GPIO IMR y GPIO ISR.

EthernetMAC

El periférico Ethernet MAC en el procesador Blackfin proporciona de 10 a 100 Mb/s entre una MII (interfaz independiente de medios) y el subsistema periférico de Blackfin. El MAC simplemente funciona en los modos Full-Duplex y Half-Duplex. El controlador de acceso a los medios está cronometrado internamente desde el pin CLKIN del procesador.

Memoria

La memoria de la arquitectura del procesador Blackfin simplemente proporciona bloques de memoria de nivel 1 y nivel 2 en la implementación del dispositivo. La memoria de L1, como la memoria de datos e instrucciones, simplemente se conecta directamente al núcleo del procesador, se ejecuta a la velocidad CLK del sistema completo y proporciona el máximo rendimiento del sistema para los segmentos del algoritmo de tiempo crítico. La memoria L2, como la memoria SRAM, es más grande y proporciona un rendimiento un poco reducido; sin embargo, sigue siendo más rápida en comparación con la memoria fuera del chip.

La estructura de la memoria L1 se implementa para proporcionar el rendimiento requerido para el procesamiento de señales al tiempo que ofrece programas en microcontroladores. Esto se logra simplemente permitiendo que la memoria L1 se organice como SRAM, caché o, de lo contrario, una combinación de ambos.

Al admitir los modelos de programación de caché y SRAM, los diseñadores del sistema asignan conjuntos de datos críticos de procesamiento de señales en tiempo real que necesitan baja latencia y alto ancho de banda en SRAM, mientras almacenan control en tiempo real o tareas del sistema operativo dentro de la memoria caché.

Modos de arranque

El procesador Blackfin incluye seis mecanismos para que la memoria interna de instrucciones L1 se cargue automáticamente después de un reinicio. Entonces, los diferentes modos de arranque incluyen principalmente; Modo de arranque desde memoria flash externa de 8 bits y 16 bits, memoria SPI en serie. El dispositivo host SPI, la UART, la memoria TWI en serie, el host TWI y funcionan desde la memoria externa de 16 bits, sin pasar por la serie de arranque. Para cada uno de los primeros 6 modos de arranque, primero se lee un encabezado de 10 bytes desde un dispositivo de memoria exterior. Entonces, el encabezado indica el no. de bytes a transmitir y la dirección de destino de la memoria. Se pueden cargar varios bloques de memoria a través de cualquier serie de arranque. Cuando todos los bloques simplemente se cargan, la ejecución del programa comienza desde el comienzo de la SRAM de instrucción L1.

Modos de direccionamiento

Los modos de direccionamiento del procesador blackfin simplemente determinan cómo una memoria de acceso individual y el direccionamiento deben especificar una ubicación. Los modos de direccionamiento utilizados en el procesador blackfin son direccionamiento indirecto, incremento/decremento automático, modificación posterior, indexado con desplazamiento inmediato, búfer circular y bit reverso.

Direccionamiento indirecto

En este modo, el campo de dirección dentro de la instrucción incluye la ubicación de la memoria o registro donde esté presente la dirección del operando eficiente. Este direccionamiento se clasifica en dos categorías, como registro indirecto y memoria indirecta.

Por ejemplo CARGAR R1, @300

En la instrucción anterior, la dirección efectiva simplemente se almacena en la ubicación de memoria 300.

Direccionamiento de incremento/decremento automático

El direccionamiento de incremento automático simplemente actualiza el puntero y los registros de índice después del derecho de entrada. La cantidad de incremento depende principalmente del tamaño de la palabra. El acceso a palabras de 32 bits puede resultar en la actualización del puntero con '4'. Un acceso de palabra de 16 bits actualiza el puntero con '2' y un acceso de palabra de 8 bits actualiza el puntero con '1'. Las operaciones de lectura tanto de 8 bits como de 16 bits pueden indicar la extensión de cero/extensión de signo del contenido en el registro de destino. Los registros de puntero se usan principalmente para accesos de 8, 16 y 32 bits, mientras que los registros de índice se usan solo para accesos de 16 y 32 bits.

Por ejemplo: R0 = W [ P1++ ] (Z) ;

En la instrucción anterior, una palabra de 16 bits se carga en un registro de destino de 32 bits desde una dirección apuntada a través del registro de puntero 'P1'. Después de eso, el puntero se incrementa con 2 y la palabra se extiende '0' para llenar el registro de destino de 32 bits.

De manera similar, el decremento automático funciona al disminuir la dirección después del derecho de entrada.

Por ejemplo: R0 = [ I2– ] ;

En la instrucción anterior, un valor de 32 bits se carga en el registro de destino y reduce el registro de índice en 4.

Direccionamiento posterior a la modificación

Este tipo de direccionamiento simplemente usa el valor dentro de los registros de índice/puntero como la dirección eficiente. Después de eso, lo modifica con contenido de registro. Los registros de índice simplemente se cambian con registros modificados, mientras que los registros de puntero se cambian por otros registros de puntero. Al igual que los registros de destino, el direccionamiento de tipo posterior a la modificación no admite los registros de puntero.

Por ejemplo: R3 = [P1++P2];

En la instrucción anterior, se carga un valor de 32 bits en el registro 'R3' y se encuentra dentro de la ubicación de la memoria señalada por el registro 'P1'. Después de eso, el valor dentro del registro 'P2' se suma al valor dentro del registro P1.

Indexado con compensación inmediata

El direccionamiento indexado simplemente permite que los programas obtengan valores de las tablas de datos. El registro Pointer se cambia por el campo inmediato, luego se usa como la dirección efectiva. Por lo tanto, el valor del registro del puntero no se actualiza.

Por ejemplo, si P1 = 0x13, [P1 + 0x11] sería eficientemente equivalente a [0x24], que está asociado con todos los accesos.

Direccionamiento inverso de bits

Para algunos algoritmos, los programas requieren direccionamiento de acarreo invertido en bits para obtener resultados en orden secuencial, particularmente para cálculos FFT (Fast Fourier Transform). Para satisfacer los requisitos de estos algoritmos, la función de direccionamiento de bits invertidos de los generadores de direcciones de datos permite subdividir repetidamente las series de datos y almacenar estos datos en orden de bits invertidos.

Direccionamiento de búfer circular

El procesador Blackfin proporciona una función como el direccionamiento circular opcional que simplemente aumenta un registro de índice en un rango predefinido de direcciones, luego restablece automáticamente los registros de índice para repetir ese rango. Por lo tanto, esta función mejora el rendimiento del bucle de entrada/salida simplemente eliminando el puntero del índice de dirección cada vez.

El direccionamiento de búfer circular es muy útil cuando se carga o almacena repetidamente una cadena de bloques de datos de tamaño fijo. El contenido del buffer circular debe cumplir estas condiciones:

  • La longitud máxima del búfer circular debe ser un número sin signo con una magnitud inferior a 231.
  • La magnitud del modificador debe estar por debajo de la longitud del búfer circular.
  • La primera ubicación del puntero 'I' debe estar en el búfer circular definido por la longitud 'L' y la base 'B'.

Si alguna de las condiciones anteriores no se cumple, entonces no se especifica el comportamiento del procesador.

Archivo de registro del procesador Blackfin

El procesador Blackfin incluye tres archivos de registro definitivos como; Archivo de registro de datos, archivo de registro de puntero y registro DAG.

  • El archivo de registro de datos recopila operandos utilizando los buses de datos utilizados para las unidades computacionales y almacena los resultados computacionales.
  • El archivo de registro de punteros incluye punteros utilizados para operaciones de direccionamiento.
  • Los registros DAG administran los búferes circulares de sobrecarga cero que se utilizan para las operaciones DSP.

El procesador Blackfin proporciona administración de energía y rendimiento de primera clase. Estos están diseñados con una metodología de diseño de bajo voltaje y baja potencia que son capaces de variar tanto el voltaje como la frecuencia de operación para reducir significativamente la utilización general de energía. Esto puede dar como resultado una disminución considerable en la utilización de energía, en comparación con simplemente cambiar la frecuencia de operación. Así que esto simplemente permite que la vida útil de la batería sea más larga para los aparatos prácticos.

El procesador Blackfin admite diferentes memorias externas como DDR-SDRAM, SDRAM, NAND flash, SRAM y NOR flash. Algunos procesadores Blackfin también incluyen interfaces de almacenamiento masivo como SD/SDIO y ATAPI. También pueden admitir 100 megabytes de memoria dentro del espacio de la memoria externa.

Ventajas

los ventajas del procesador Blackfin Incluya lo siguiente.

  • Los procesadores Blackfin brindan beneficios básicos al diseñador del sistema.
  • El procesador Blackfin ofrece flexibilidad de software y escalabilidad para aplicaciones convergentes como procesamiento de audio, video, voz e imagen en multiformato, seguridad en tiempo real, procesamiento de control y procesamiento de paquetes de banda base multimodo
  • La capacidad de procesamiento de control eficiente y el procesamiento de señales de alto rendimiento permiten diferentes mercados y aplicaciones nuevos.
  • DPM (Dynamic Power Management) permite al diseñador del sistema modificar particularmente el consumo de energía del dispositivo según los requisitos del sistema final.
  • Estos procesadores reducen considerablemente el tiempo y los costos de desarrollo.

Aplicaciones

los Aplicaciones del procesador Blackfin Incluya lo siguiente.

  • Los procesadores Blackfin son ideales para muchas aplicaciones como ADAS (sistemas avanzados de asistencia al conductor para automóviles) , sistemas de vigilancia o seguridad y visión artificial industrial.
  • Las aplicaciones de Blackfin incluyen sistemas de control de servomotores, electrónica automotriz, sistemas de monitoreo y dispositivos de consumo multimedia.
  • Estos procesadores simplemente realizan funciones de microcontrolador y procesamiento de señales.
  • Estos se utilizan para audio, control de procesos, automoción, pruebas, medición, etc.
  • Los procesadores Blackfin se utilizan en aplicaciones de procesamiento de señales como dispositivos inalámbricos de banda ancha, comunicaciones móviles y dispositivos de Internet con capacidad de audio o video.
  • Blackfin se utiliza en aplicaciones convergentes como medios de transmisión y en red, entretenimiento doméstico digital, telemática automotriz, información y entretenimiento, TV móvil, radio digital, etc.
  • El procesador Blackfin es un procesador integrado que tiene la eficiencia energética y el rendimiento más alto que se utiliza en aplicaciones en las que son importantes el procesamiento de voz, audio, video, banda base multimodo, procesamiento de imágenes, procesamiento de paquetes, seguridad en tiempo real y control.

Así, esto es una descripción general del procesador Blackfin – arquitectura, ventajas y sus aplicaciones. Este procesador realiza funciones de procesamiento de señal y microcontrolador. Aquí hay una pregunta para usted, ¿qué es un procesador?