Processador Blackfin: arquitetura, recursos e suas aplicações

Experimente Nosso Instrumento Para Eliminar Problemas





O processador Blackfin foi projetado, desenvolvido e comercializado pela Analog Devices & Intel como Micro Signal Architecture (MSA). A arquitetura deste processador foi anunciada em dezembro de 2000 e demonstrada pela primeira vez no ESC ( Sistemas embarcados Conference) em junho de 2001. Este processador Blackfin foi projetado principalmente para atender às restrições de energia e demandas computacionais dos atuais aplicativos de áudio, vídeo e comunicações incorporados. Este artigo discute uma visão geral de um processador Blackfin – arquitetura e suas aplicações.


O que é o processador Blackfin?

O processador Blackfin é de 16 ou 32 bits microprocessador que inclui uma funcionalidade DSP de ponto fixo embutida fornecida por meio de MACs de 16 bits (multiplicar-acumula). Esses processadores foram projetados principalmente para uma arquitetura combinada de processador de baixo consumo de energia que pode executar o sistema operacional enquanto lida com tarefas numéricas difíceis simultaneamente, como codificação de vídeo H.264 em tempo real.



Este processador combina uma funcionalidade de processamento de sinal RISC de 32 bits e MAC duplo de 16 bits, usando facilmente atributos encontrados em microcontroladores de uso geral. Portanto, essa combinação de atributos de processamento permite que os processadores Blackfin tenham um desempenho semelhante em ambos os aplicativos de processamento de controle e processamento de sinal. Essa capacidade simplifica muito as tarefas de implementação do design de hardware e software.

  Processador Blackfin
Processador Blackfin

Características do Blackfin:

  • Este processador possui arquitetura de conjunto de instruções únicas, incluindo desempenho de processamento que simplesmente atende/supera a gama de produtos de processador de sinal digital ou DSP para fornecer melhor custo, energia e eficiência de memória.
  • Este processador de arquitetura de 16 ou 32 bits simplesmente permite os próximos aplicativos incorporados.
    Processamento de multimídia, sinal e controle em um único núcleo.
  • Aumenta a produtividade dos desenvolvedores.
  • Possui desempenho ajustável em gerenciamento dinâmico de energia para consumo de energia ou processamento de sinal.
  • É adotado muito rapidamente em vários projetos que são simplesmente suportados por várias cadeias de ferramentas, bem como sistemas operacionais.
  • Requer otimização mínima devido ao ambiente de desenvolvimento de software poderoso associado ao desempenho principal.
  • O processador Blackfin oferece suporte a ferramentas de desenvolvimento líderes do setor.
  • O desempenho deste processador e metade da potência dos DSPs concorrentes permitem especificações avançadas e novos aplicativos.

Arquitetura do Processador Blackfin

O processador Blackfin fornece as funcionalidades de uma unidade de microcontrolador e Processamento de sinal digital dentro de um único processador, permitindo flexibilidade. Portanto, este processador inclui um processador SIMD (dados múltiplos de instrução única) incluindo alguns recursos como comprimento variável RISCO instruções, watchdog timer, on-chip PLL, unidade de gerenciamento de memória, relógio em tempo real, portas seriais com 100 Mbps, UART controladores & SPI portos.



A MMU suporta múltiplos DMA canais para transferir dados entre periféricos e subsistemas de memória FLASH, SDRAM e SRAM. Ele também suporta caches de dados e instruções configuráveis ​​no chip. O processador Blackfin é um hardware simples que suporta operações aritméticas de 8, 16 e 32 bits.

A arquitetura Blackfin é baseada principalmente na arquitetura de micro sinal e foi desenvolvida em conjunto pela ADI (Analog Devices) e Intel, que inclui um conjunto de instruções RISC de 32 bits e um conjunto de instruções de vídeo de 8 bits com dupla acumulação de multiplicação de 16 bits (MAC) unidades.

  PCBWay   Arquitetura do Processador Blackfin
Arquitetura do Processador Blackfin

Os dispositivos analógicos são capazes de atingir um equilíbrio entre os requisitos DSP e MCU por meio da arquitetura do conjunto de instruções do Blackfin. Geralmente, o processador Blackfin é acoplado com as poderosas ferramentas de desenvolvimento de software VisualDSP++, mas agora, usando C ou C++, é possível produzir código altamente eficiente com muita facilidade do que antes. Para requisitos em tempo real, o suporte ao sistema operacional torna-se crítico, portanto, o Blackfin oferece suporte a um não. de sistemas operacionais e proteção de memória. O processador Blackfin vem em single-core como BF533, BF535 e BF537 e dual-core como modelos BF561.

A arquitetura do processador Blackfin inclui diferentes periféricos no chip, como PPI (Parallel Peripheral Interface), SPORTS (Serial Ports), SPI (Serial Peripheral Interface), UART (Universal Asynchronous Receiver Transmitter), temporizadores de uso geral, RTC (Real-Time Clock), Watchdog timer, E/S de uso geral (sinalizadores programáveis), Interface de Rede de Área do Controlador (CAN) , Ethernet MAC, DMAs periféricos -12, DMAs de memória para memória -2 incluindo Handshake DMA, controlador TWI (interface de dois fios), um depurador ou JTAG Interface e manipulador de eventos com 32 Interromper Entradas. Todos esses periféricos na arquitetura são simplesmente conectados através de diferentes barramentos de alta largura de banda ao núcleo. Portanto, uma descrição de alguns desses periféricos é fornecida a seguir.

PPI ou Interface Periférica Paralela

O processador Blackfin simplesmente fornece um PPI que também é conhecido como Parallel Peripheral Interface. Essa interface é conectada diretamente a conversores paralelos de analógico para digital e digital para analógico, codificadores e decodificadores de vídeo e também a outros periféricos de uso geral.

Esta interface inclui um pino CLK de entrada dedicado, três pinos de sincronização de quadros e 16 pinos de dados. Aqui, o pino CLK de entrada simplesmente suporta taxas de dados paralelas iguais à metade da velocidade CLK do sistema. Três modos ITU-R 656 diferentes suportam apenas vídeo ativo, supressão vertical e campo completo.

Os modos de uso geral do PPI são fornecidos para atender a uma ampla variedade de aplicações de transmissão e captura de dados. Portanto, esses modos são separados em categorias principais Recebimento de dados por meio de sincronizações de quadro geradas internamente, Transmissão de dados por meio de sincronizações de quadro geradas internamente, Transmissão de dados por meio de sincronizações de quadro geradas externamente e Dados recebidos por meio de sincronizações de quadro geradas externamente.

Esportes

O processador Blackfin inclui duas portas seriais síncronas de canal duplo SPORT0 e SPORT1 usadas para comunicação serial e multiprocessador. Portanto, essas são portas seriais síncronas e de alta velocidade que suportam I²S , TDM e vários outros modos de enquadramento configuráveis ​​para conexão DACs , ADC, FPGAs & outros processadores.

SPI ou Porta Serial de Interface Periférica

O processador Blackfin inclui uma porta SPI que permite que o processador converse com vários dispositivos compatíveis com SPI. Esta interface simplesmente utiliza três pinos para transmitir dados, pinos de dados-2 e um pino CLK. Os pinos de entrada e saída selecionados da porta SPI fornecem simplesmente um SSI full-duplex (interface serial síncrona) que suporta os modos mestre e escravo e também ambientes multi-mestre. A taxa de transmissão desta porta SPI e fase do relógio ou polaridades é programável. Esta porta possui um controlador DMA incorporado que suporta fluxos de dados de transmissão/recebimento.

Temporizadores

O processador Blackfin possui 9 unidades de timer programáveis. Esses temporizadores geram interrupções no núcleo do processador para fornecer eventos periódicos destinados à sincronização com o relógio do processador ou com uma contagem de sinais externos.

UART

O termo UART significa porta “transmissor receptor assíncrono universal”. O processador Blackfin fornece 2 portas UART half-duplex, que são completamente adequadas para UARTs padrão de PC. Essas portas simplesmente fornecem uma interface UART básica para outros hosts ou periféricos para fornecer transferências de dados seriais assíncronas, half-duplex e suportadas por DMA.

As portas UART incluem 5 a 8 bits de dados e 1 ou 2 bits de parada e suportam 2 modos de operação como E/S programada e DMA. No primeiro modo, o processador transmite ou recebe dados por meio da leitura/escrita de registradores mapeados por E/S, sempre que os dados são armazenados em buffer duas vezes na transmissão e na recepção. No segundo modo, o controlador DMA transmite e recebe dados e diminui o número de interrupções necessárias para transmitir dados de e para a memória.

RTC ou Relógio em Tempo Real

O relógio em tempo real do processador blackfin simplesmente fornece recursos diferentes, como cronômetro, hora atual e alarme. Assim, o relógio de tempo real é cronometrado com um cristal de 32,768 kHz externo ao processador Blackfin. O RTC dentro do processador possui pinos de fonte de alimentação, que podem permanecer ligados e com clock mesmo quando o restante do processador Blackfin estiver em uma condição de baixo consumo de energia. O relógio em tempo real fornece várias opções de interrupção programáveis. A frequência CLK de entrada de 32,768 kHz é separada em um sinal de 1 Hz por meio de um Prescaler. Semelhante aos outros dispositivos, o relógio em tempo real pode ativar o processador Blackfin do modo Deep Sleep/Modo Sleep.

Cão de guarda

O processador Blackfin possui um temporizador de vigilância de 32 bits, usado para executar uma função de vigilância de software. Assim, o programador inicializa o valor de contagem do temporizador que permite a interrupção adequada e, em seguida, permite o temporizador. Depois disso, o software deve recarregar o contador antes de contar do valor programado para '0'.

GPIO ou E/S de uso geral

Um GPIO é um pino de sinal digital usado como entrada, saída ou ambos e é controlado por software. O processador Blackfin inclui pinos GPIO (E/S de propósito geral), 48 bidirecionais em 3 módulos GPIO separados como PORTFIO, PORTHIO e PORGIO conectados com a Porta G, Porta H e Porta F, respectivamente. Cada pino de porta de uso geral é controlado individualmente por meio da manipulação do status, controle de porta e registros de interrupção como GPIO DCR, GPIO CSR, GPIO IMR e GPIO ISR.

Ethernet MAC

O periférico Ethernet MAC no processador Blackfin fornece 10 a 100 Mb/s entre um MII (Media Independent Interface) e o subsistema periférico do Blackfin. O MAC simplesmente funciona nos modos Full-Duplex e Half-Duplex. O controlador de acesso à mídia é cronometrado internamente a partir do pino CLKIN do processador.

Memória

A memória da arquitetura do processador Blackfin simplesmente fornece blocos de memória de nível 1 e nível 2 na implementação do dispositivo. A memória de L1 como memória de dados e instruções é simplesmente conectada diretamente ao núcleo do processador, funciona na velocidade CLK do sistema completo e fornece desempenho máximo do sistema para segmentos de algoritmo de tempo crítico. A memória L2, como a memória SRAM, é maior, o que proporciona um desempenho um pouco reduzido, no entanto, ainda é mais rápida em comparação com a memória off-chip.

A estrutura da memória L1 é implementada para fornecer o desempenho necessário para o processamento de sinais enquanto oferece programas em microcontroladores. Isto é conseguido simplesmente permitindo que a memória L1 seja arranjada como SRAM, cache, caso contrário, uma combinação de ambos.

Ao oferecer suporte aos modelos de programação de cache e SRAM, os projetistas do sistema atribuem conjuntos de dados críticos de processamento de sinal em tempo real que precisam de baixa latência e alta largura de banda na SRAM, enquanto armazenam controle em tempo real ou tarefas do sistema operacional na memória cache.

Modos de Inicialização

O processador Blackfin inclui seis mecanismos para carregamento automático da memória de instrução L1 interna após uma reinicialização. Portanto, os diferentes modos de inicialização incluem principalmente; Modo de inicialização a partir de memória flash externa de 8 bits e 16 bits, memória SPI serial. O dispositivo host SPI, UART, memória TWI serial, host TWI e executa a partir da memória externa de 16 bits, ignorando a série de inicialização. Para cada um dos primeiros 6 modos de inicialização, primeiro um cabeçalho de 10 bytes é lido de um dispositivo de memória externo. Assim, o cabeçalho indica o não. de bytes a serem transmitidos e o endereço de destino da memória. Vários blocos de memória podem ser carregados por meio de qualquer série de inicialização. Quando todos os blocos são simplesmente carregados, a execução do programa começa no início da instrução L1 SRAM.

Modos de Endereçamento

Os modos de endereçamento do processador blackfin simplesmente determinam como um indivíduo acessa a memória e o endereçamento para especificar um local. Os modos de endereçamento usados ​​no processador blackfin são endereçamento indireto, autoincremento/decremento, pós-modificação, indexado com deslocamento imediato, buffer circular e bit reverso.

Endereçamento Indireto

Neste modo, o campo de endereço dentro da instrução inclui a localização da memória ou registro sempre que o endereço do operando eficiente estiver presente. Esse endereçamento é classificado em duas categorias, como registrador indireto e memória indireta.

Por exemplo CARGA R1, @300

Na instrução acima, o endereço efetivo é simplesmente armazenado na posição 300 da memória.

Endereçamento de Autoincremento/Decremento

O endereçamento de incremento automático simplesmente atualiza o ponteiro, bem como os registros de índice após o direito de entrada. A quantidade de incremento depende principalmente do tamanho da palavra. O acesso à palavra de 32 bits pode resultar na atualização do ponteiro com '4'. Um acesso de palavra de 16 bits atualiza o ponteiro com '2' e um acesso de palavra de 8 bits atualiza o ponteiro com '1'. As operações de leitura de 8 bits e 16 bits podem indicar extensão de zero/extensão de sinal do conteúdo no registrador de destino. Os registradores de ponteiro são usados ​​principalmente para acessos de 8, 16 e 32 bits, enquanto os registradores de índice são usados ​​apenas para acessos de 16 e 32 bits

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

Na instrução acima, uma palavra de 16 bits é carregada em um registrador de destino de 32 bits de um endereço apontado através do registrador de ponteiro 'P1'. Depois disso, o ponteiro é aumentado em 2 e a palavra é ‘0’ estendida para preencher o registrador de destino de 32 bits.

Da mesma forma, o autodecremento funciona diminuindo o endereço após o direito de entrada.

Por exemplo: R0 = [ I2– ] ;

Na instrução acima, um valor de 32 bits é carregado no registrador de destino e reduz o registrador Index em 4.

Endereçamento pós-modificação

Este tipo de endereçamento simplesmente usa o valor dentro dos registradores Index/Pointer como o endereço eficiente. Depois disso, ele o modifica com o conteúdo do registro. Os registradores de índice são simplesmente alterados com registradores modificados, enquanto os registradores de ponteiro são alterados por outros registradores de ponteiro. Assim como os registradores de destino, o endereçamento do tipo pós-modificação não suporta os registradores de ponteiro.

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

Na instrução acima, um valor de 32 bits é carregado no registrador 'R3' e encontrado dentro da localização da memória apontada pelo registrador 'P1'. Depois disso, o valor dentro do registrador ‘P2’ é adicionado ao valor dentro do registrador P1.

Indexado com Deslocamento Imediato

O endereçamento indexado simplesmente permite que os programas obtenham valores das tabelas de dados. O registrador Pointer é trocado pelo campo imediato, após isso é utilizado como endereço efetivo. Portanto, o valor do registro do ponteiro não é atualizado.

Por exemplo, se P1 = 0x13, então [P1 + 0x11] seria eficientemente equivalente a [0x24], que está associado a todos os acessos.

Endereçamento Reverso de Bits

Para alguns algoritmos, os programas requerem endereçamento de transporte reverso de bit para obter resultados em ordem sequencial, particularmente para cálculos FFT (Fast Fourier Transform). Para satisfazer os requisitos desses algoritmos, o recurso de endereçamento de bit reverso dos geradores de endereço de dados permite repetidamente subdividir séries de dados e armazenar esses dados na ordem de bit reverso.

Endereçamento de Buffer Circular

O processador Blackfin fornece um recurso como endereçamento circular opcional que simplesmente aumenta um registrador de índice em uma faixa predefinida de endereços, depois disso ele redefine automaticamente os registradores de índice para repetir essa faixa. Portanto, esse recurso aprimora o desempenho do loop de entrada/saída simplesmente removendo o ponteiro do índice de endereço todas as vezes.

O endereçamento de buffer circular é muito útil ao carregar ou armazenar repetidamente uma sequência de blocos de dados de tamanho fixo. O conteúdo do buffer circular deve atender a estas condições:

  • O comprimento máximo do buffer circular deve ser um número sem sinal com uma magnitude abaixo de 231.
  • A magnitude do modificador deve estar abaixo do comprimento do buffer circular.
  • A primeira localização do ponteiro 'I' deve estar no buffer circular que é definido pelo comprimento 'L' e base 'B'.

Se alguma das condições acima não for satisfeita, o comportamento do processador não será especificado.

Arquivo de registro do processador Blackfin

O processador Blackfin inclui três arquivos de registro definitivos como; Arquivo de registro de dados, arquivo de registro de ponteiro e registro DAG.

  • O arquivo de registro de dados coleta operandos usando os barramentos de dados usados ​​para as unidades computacionais e armazena os resultados computacionais.
  • O arquivo de registro de ponteiro inclui ponteiros usados ​​para operações de endereçamento.
  • Os registradores DAG gerenciam buffers circulares de sobrecarga zero usados ​​para operações DSP.

O processador Blackfin fornece gerenciamento de energia e desempenho de primeira classe. Eles são projetados com uma metodologia de design de baixa tensão e baixa potência, capaz de variar a tensão e a frequência de operação para reduzir significativamente a utilização geral de energia. Portanto, isso pode resultar em uma diminuição considerável na utilização de energia, em comparação com apenas alterar a frequência de operação. Portanto, isso simplesmente permite que a vida útil da bateria seja mais longa para aparelhos úteis.

O processador Blackfin suporta diferentes memórias externas como DDR-SDRAM, SDRAM, NAND flash, SRAM e NOR flash. Alguns processadores Blackfin também incluem interfaces de armazenamento em massa como SD/SDIO e ATAPI. Eles também podem suportar 100 megabytes de memória dentro do espaço da memória externa.

Vantagens

o vantagens do processador Blackfin inclui o seguinte.

  • Os processadores Blackfin fornecem benefícios básicos ao projetista do sistema.
  • O processador Blackfin oferece flexibilidade de software, bem como escalabilidade para aplicativos convergentes, como processamento de áudio, vídeo, voz e imagem em multiformato, segurança em tempo real, processamento de controle e processamento de pacote de banda base multimodo
  • A capacidade de processamento de controle eficiente e o processamento de sinal de alto desempenho permitem diferentes novos mercados e aplicações.
  • O DPM (Dynamic Power Management) permite que o projetista do sistema modifique particularmente o consumo de energia do dispositivo de acordo com os requisitos do sistema final.
  • Esses processadores reduzem muito o tempo e os custos de desenvolvimento.

Formulários

o aplicações do processador Blackfin inclui o seguinte.

  • Os processadores Blackfin são ideais para muitas aplicações como ADAS (sistemas automotivos avançados de assistência ao motorista) , sistemas de vigilância ou segurança e visão mecânica industrial.
  • As aplicações do Blackfin incluem sistemas de controle de servomotores, eletrônicos automotivos, sistemas de monitoramento e dispositivos de consumo multimídia.
  • Esses processadores simplesmente executam funções de microcontrolador e processamento de sinal.
  • Estes são usados ​​para áudio, controle de processo, automotivo, teste, medição, etc.
  • Os processadores Blackfin são usados ​​em aplicações de processamento de sinal, como banda larga sem fio, comunicações móveis e aparelhos de Internet com capacidade de áudio ou vídeo.
  • O Blackfin é usado em aplicações convergentes, como mídia em rede e streaming, entretenimento doméstico digital, telemática automotiva, entretenimento informativo, TV móvel, rádio digital, etc.
  • O processador Blackfin é um processador embarcado que tem a eficiência de energia e o mais alto desempenho usado em aplicações onde voz multiformato, áudio, vídeo, banda base multimodo, processamento de imagem, processamento de pacotes, segurança em tempo real e processamento de controle são significativos.

Assim, este é uma visão geral do processador Blackfin – arquitetura, vantagens e suas aplicações. Este processador executa funções de processamento de sinal e microcontrolador. Aqui está uma pergunta para você, o que é um processador?