Processore Blackfin: architettura, caratteristiche e sue applicazioni

Prova Il Nostro Strumento Per Eliminare I Problemi





Il processore Blackfin è stato progettato, sviluppato e commercializzato tramite Analog Devices e Intel come Micro Signal Architecture (MSA). L'architettura di questo processore è stata annunciata nel dicembre 2000 e dimostrata per la prima volta all'ESC ( Sistemi integrati Conference) nel giugno 2001. Questo processore Blackfin è stato progettato principalmente per soddisfare i limiti di potenza e le esigenze computazionali delle attuali applicazioni audio, video e di comunicazione integrate. Questo articolo discute una panoramica di a Processore Blackfin – l'architettura e le sue applicazioni.


Cos'è il processore Blackfin?

Il processore Blackfin è a 16 o 32 bit microprocessore che include una funzionalità DSP a virgola fissa integrata fornita tramite MAC a 16 bit (moltiplicazione-accumulazione). Queste processori sono stati progettati principalmente per un'architettura di processore combinata a basso consumo in grado di eseguire il sistema operativo gestendo contemporaneamente attività numeriche difficili come la codifica video H.264 in tempo reale.



Questo processore combina una funzionalità RISC a 32 bit e una doppia funzionalità di elaborazione del segnale MAC a 16 bit utilizzando facilmente gli attributi che si trovano all'interno dei microcontrollori generici. Quindi questa combinazione di attributi di elaborazione consente ai processori Blackfin di ottenere risultati altrettanto buoni sia nell'elaborazione del controllo che nelle applicazioni di elaborazione del segnale. Questa capacità semplifica notevolmente le attività di implementazione della progettazione hardware e software.

  Processore pinna nera
Processore pinna nera

Caratteristiche della pinna nera:

  • Questo processore ha un'architettura a set di istruzioni singolo che include prestazioni di elaborazione che soddisfano/superano semplicemente la gamma di prodotti di processore di segnali digitali o DSP per fornire una migliore efficienza in termini di costi, potenza e memoria.
  • Questo processore con architettura a 16 o 32 bit consente semplicemente le imminenti applicazioni embedded.
    Elaborazione multimediale, segnale e controllo all'interno di un singolo core.
  • Aumenta la produttività degli sviluppatori.
  • Ha prestazioni regolabili durante la gestione dinamica dell'alimentazione per il consumo energetico o l'elaborazione del segnale.
  • Viene adottato molto rapidamente in vari progetti che sono semplicemente supportati da diverse toolchain e sistemi operativi.
  • Richiede un'ottimizzazione minima a causa dell'ambiente di sviluppo di un potente software unito alle prestazioni di base.
  • Il processore Blackfin supporta strumenti di sviluppo leader del settore.
  • Le prestazioni di questo processore e la metà della potenza dei DSP concorrenti consentono specifiche avanzate e nuove applicazioni.

Architettura del processore Blackfin

Il processore Blackfin fornisce sia le funzionalità di un'unità microcontrollore che elaborazione del segnale digitale all'interno di un singolo processore consentendo flessibilità. Quindi questo processore include un processore SIMD (dati multipli a singola istruzione) che include alcune funzionalità come la lunghezza variabile RISCHIO istruzioni, timer watchdog, PLL su chip, unità di gestione della memoria, orologio in tempo reale, porte seriali con 100 Mbps, UART controller & SPI porti.



La MMU supporta più file DMA canali per trasferire dati tra periferiche e sottosistemi di memoria FLASH, SDRAM e SRAM. Supporta anche cache di dati e istruzioni on-chip configurabili. Il processore Blackfin è un hardware semplice che supporta operazioni aritmetiche a 8, 16 e 32 bit.

L'architettura Blackfin si basa principalmente sull'architettura del micro segnale e questo è stato sviluppato congiuntamente da ADI (Analog Devices) e Intel, che include un set di istruzioni RISC a 32 bit e un set di istruzioni video a 8 bit con doppia accumulazione multipla a 16 bit unità (MAC).

  PCBWay   Architettura del processore Blackfin
Architettura del processore Blackfin

I dispositivi analogici sono in grado di raggiungere un equilibrio tra i requisiti DSP e MCU attraverso l'architettura del set di istruzioni di Blackfin. Generalmente, il processore Blackfin è accoppiato con i potenti strumenti di sviluppo software VisualDSP++, ma ora utilizzando C o C++, è possibile produrre codice altamente efficiente molto facilmente rispetto a prima. Per i requisiti in tempo reale, il supporto del sistema operativo diventa fondamentale, quindi Blackfin supporta un no. di sistemi operativi e protezione della memoria. Il processore Blackfin è disponibile sia in single-core come BF533, BF535 e BF537, sia in dual-core come i modelli BF561.

L'architettura del processore Blackfin include diverse periferiche su chip come PPI (Parallel Peripheral Interface), SPORTS (Serial Ports), SPI (Serial Peripheral Interface), UART (Universal Asynchronous Receiver Transmitter), timer generici, RTC (Real-Time orologio), watchdog timer, I/O generico (flag programmabili), Interfaccia CAN (Controller Area Network). , Ethernet MAC, DMA periferici -12, DMA da memoria a memoria -2 incluso Handshake DMA, controller TWI (Two-Wire Interface), un debug o JTAG Interfaccia e gestore di eventi con 32 Interrompere Ingressi. Tutte queste periferiche nell'architettura sono semplicemente collegate tramite diversi bus ad alta larghezza di banda al core. Quindi, di seguito viene fornita una descrizione di alcune di queste periferiche.

PPI o interfaccia periferica parallela

Il processore Blackfin fornisce semplicemente un PPI noto anche come Parallel Peripheral Interface. Questa interfaccia è collegata direttamente a convertitori paralleli da analogico a digitale e da digitale ad analogico, codificatori video e decodificatori e anche ad altre periferiche generiche.

Questa interfaccia include un pin CLK di input dedicato, tre pin di sincronizzazione dei frame e 16 pin di dati. In questo caso, il pin CLK di input supporta semplicemente velocità dati parallele pari alla metà della velocità CLK del sistema. Tre diverse modalità ITU-R 656 supportano solo Active Video, Vertical Blanking e campo completo.

Le modalità generiche del PPI sono fornite per adattarsi a un'ampia gamma di applicazioni di trasmissione e acquisizione dati. Pertanto, queste modalità sono suddivise in categorie principali Ricezione dati tramite sincronizzazione frame generata internamente, Trasmissione dati tramite sincronizzazione frame generata internamente, Trasmissione dati tramite sincronizzazione frame generata esternamente e Dati ricevuti tramite sincronizzazione frame generata esternamente.

Gli sport

Il processore Blackfin include due porte seriali sincrone a doppio canale SPORT0 e SPORT1 utilizzate per comunicazioni seriali e multiprocessore. Quindi queste sono porte seriali ad alta velocità e sincrone che supportano I²S , TDM e varie altre modalità di inquadratura configurabili per la connessione DAC , ADC, FPGA e altri processori.

SPI o porta di interfaccia periferica seriale

Il processore Blackfin include una porta SPI che consente al processore di conversare con vari dispositivi compatibili con SPI. Questa interfaccia utilizza semplicemente tre pin per trasmettere dati, pin dati-2 e un pin CLK. I pin di input e output selezionati della porta SPI forniscono semplicemente un SSI full-duplex (interfaccia seriale sincrona) che supporta sia le modalità master che slave e anche ambienti multi-master. La velocità di trasmissione di questa porta SPI e la fase di clock o le polarità sono programmabili. Questa porta ha un controller DMA incorporato che supporta sia la trasmissione che la ricezione di flussi di dati.

Timer

Il processore Blackfin ha 9 unità timer programmabili. Questi timer generano interruzioni al core del processore per fornire eventi periodici destinati alla sincronizzazione con l'orologio del processore o con un conteggio di segnali esterni.

UART

Il termine UART sta per porta 'trasmettitore ricevitore asincrono universale'. Il processore Blackfin fornisce 2 porte UART half-duplex, che sono perfettamente adatte agli UART standard per PC. Queste porte forniscono semplicemente un'interfaccia UART di base ad altri host o periferiche per fornire trasferimenti di dati seriali asincroni, half-duplex e supportati da DMA.

Le porte UART includono da 5 a 8 bit di dati e 1 o 2 bit di stop e supportano 2 modalità di funzionamento come I/O programmato e DMA. Nella prima modalità, il processore trasmette o riceve dati attraverso la lettura/scrittura di registri mappati I/O, dove i dati vengono bufferizzati due volte sia in trasmissione che in ricezione. Nella seconda modalità, il controller DMA trasmette e riceve dati e diminuisce il numero di interruzioni necessarie per trasmettere dati da e verso la memoria.

RTC o orologio in tempo reale

L'orologio in tempo reale del processore Blackfin fornisce semplicemente diverse funzionalità come cronometro, ora corrente e sveglia. Quindi, l'orologio in tempo reale è sincronizzato con un cristallo da 32,768 kHz esterno al processore Blackfin. L'RTC all'interno del processore ha pin di alimentazione, che possono rimanere accesi e sincronizzati anche quando il resto del processore Blackfin è in condizioni di basso consumo. L'orologio in tempo reale fornisce una serie di opzioni di interrupt programmabili. La frequenza CLK di ingresso di 32,768 kHz viene separata in un segnale di 1 Hz tramite un Prescaler. Analogamente agli altri dispositivi, l'orologio in tempo reale può riattivare il processore Blackfin dalla modalità Deep Sleep/ Sleep.

Timer cane da guardia

Il processore Blackfin ha un timer watchdog a 32 bit, utilizzato per eseguire una funzione watchdog software. Quindi il programmatore inizializza il valore di conteggio del timer che consente l'interrupt appropriato, quindi consente il timer. Successivamente, il software deve ricaricare il contatore prima che conti dal valore programmato a '0'.

GPIO o I/O generico

Un GPIO è un pin di segnale digitale utilizzato come ingresso, uscita o entrambi ed è controllato tramite software. Il processore Blackfin include pin GPIO (I/O generico), 48 bidirezionali su 3 moduli GPIO separati come PORTFIO, PORTHIO e PORTGIO collegati rispettivamente con Port G, Port H e Port F. Ogni pin di porta generico è controllato individualmente attraverso la manipolazione dello stato, del controllo della porta e dei registri di interrupt come GPIO DCR, GPIO CSR, GPIO IMR e GPIO ISR.

MAC Ethernet

La periferica MAC Ethernet nel processore Blackfin fornisce da 10 a 100 Mb/s tra un MII (Media Independent Interface) e il sottosistema periferico di Blackfin. Il MAC funziona semplicemente in entrambe le modalità Full-Duplex e Half-Duplex. Il controller di accesso ai supporti è sincronizzato internamente dal pin CLKIN del processore.

Memoria

La memoria dell'architettura del processore Blackfin prevede semplicemente blocchi di memoria di livello 1 e livello 2 nell'implementazione del dispositivo. La memoria della memoria di dati e istruzioni simile a L1 è semplicemente collegata direttamente al core del processore, funziona alla velocità CLK del sistema completo e fornisce le massime prestazioni del sistema per i segmenti dell'algoritmo di tempo critico. La memoria L2 come la memoria SRAM è più grande e fornisce prestazioni leggermente ridotte, tuttavia è ancora più veloce rispetto alla memoria off-chip.

La struttura della memoria L1 è implementata per fornire le prestazioni richieste per l'elaborazione dei segnali pur offrendo programmi nei microcontrollori. Ciò si ottiene semplicemente consentendo alla memoria L1 di essere organizzata come SRAM, cache, altrimenti una combinazione di entrambi.

Supportando i modelli di programmazione cache e SRAM, i progettisti del sistema assegnano set di dati di elaborazione del segnale in tempo reale critici che richiedono bassa latenza e larghezza di banda elevata in SRAM, mentre memorizzano il controllo in tempo reale o le attività del sistema operativo all'interno della memoria cache.

Modalità di avvio

Il processore Blackfin include sei meccanismi per il caricamento automatico della memoria di istruzioni L1 interna dopo un ripristino. Quindi le diverse modalità di avvio includono principalmente; Modalità di avvio da memoria flash esterna a 8 bit e 16 bit, memoria SPI seriale. Il dispositivo host SPI, UART, la memoria TWI seriale, l'host TWI e l'esecuzione da una memoria esterna a 16 bit, bypassando le serie di avvio. Per ciascuna delle prime 6 modalità di avvio, prima viene letta un'intestazione di 10 byte da un dispositivo di memoria esterno. Quindi, l'intestazione indica il n. di byte da trasmettere e l'indirizzo di destinazione della memoria. Diversi blocchi di memoria possono essere caricati tramite qualsiasi serie di avvio. Quando tutti i blocchi vengono semplicemente caricati, l'esecuzione del programma inizia dall'inizio della SRAM dell'istruzione L1.

Modalità di indirizzamento

Le modalità di indirizzamento del processore blackfin determinano semplicemente come una singola memoria di accesso e indirizzamento deve specificare una posizione. Le modalità di indirizzamento utilizzate nel processore blackfin sono indirizzamento indiretto, incremento/decremento automatico, post modifica, indicizzazione con offset immediato, buffer circolare e inversione di bit.

Indirizzamento indiretto

In questa modalità, il campo dell'indirizzo all'interno dell'istruzione include la posizione della memoria o del registro ovunque sia presente l'indirizzo dell'operando efficiente. Questo indirizzamento è classificato in due categorie come Register Indirect e Memory Indirect.

Ad esempio LOAD R1, @300

Nell'istruzione precedente, l'indirizzo effettivo viene semplicemente memorizzato nella posizione di memoria 300.

Indirizzamento autoincremento/decremento

L'indirizzamento con incremento automatico aggiorna semplicemente il puntatore e i registri dell'indice dopo il diritto di accesso. La quantità di incremento dipende principalmente dalla dimensione della dimensione della parola. L'accesso a parole a 32 bit può risultare nell'aggiornamento del puntatore con '4'. Un accesso a parola a 16 bit aggiorna il puntatore con '2' e un accesso a parola a 8 bit aggiorna il puntatore con '1'. Le operazioni di lettura sia di 8 bit che di 16 bit possono indicare l'estensione zero/estensione del segno del contenuto nel registro di destinazione. I registri puntatore vengono utilizzati principalmente per gli accessi a 8, 16 e 32 bit, mentre i registri indice vengono utilizzati solo per gli accessi a 16 e 32 bit

Ad esempio: R0 = W [ P1++ ] (Z) ;

Nell'istruzione precedente, una parola a 16 bit viene caricata in un registro di destinazione a 32 bit da un indirizzo puntato attraverso il registro puntatore 'P1'. Successivamente, il puntatore viene aumentato di 2 e la parola viene '0' estesa per riempire il registro di destinazione a 32 bit.

Allo stesso modo, il decremento automatico funziona diminuendo l'indirizzo dopo il diritto di accesso.

Ad esempio: R0 = [ I2– ] ;

Nell'istruzione precedente, un valore a 32 bit viene caricato nel registro di destinazione e riduce il registro indice di 4.

Indirizzamento post-modifica

Questo tipo di indirizzamento utilizza semplicemente il valore all'interno dei registri Index/Pointer come l'indirizzo efficiente. Successivamente, lo modifica con i contenuti del registro. I registri indice vengono semplicemente modificati con registri modificati mentre i registri puntatore vengono modificati da altri registri puntatore. Come i registri di destinazione, l'indirizzamento di tipo Post-modifica non supporta i registri Pointer.

Ad esempio: R3 = [ P1++P2 ] ;

Nell'istruzione precedente, un valore a 32 bit viene caricato nel registro 'R3' e trovato all'interno della posizione di memoria indicata dal registro 'P1'. Successivamente, il valore all'interno del registro 'P2' viene aggiunto al valore all'interno del registro P1.

Indicizzato con offset immediato

L'indirizzamento indicizzato consente semplicemente ai programmi di ottenere valori dalle tabelle di dati. Il registro Pointer viene modificato dal campo immediato, dopodiché viene utilizzato come indirizzo effettivo. Quindi il valore del registro Pointer non viene aggiornato.

Ad esempio, se P1 = 0x13, allora [P1 + 0x11] sarebbe efficientemente equivalente a [0x24], che è associato a tutti gli accessi.

Indirizzamento inverso dei bit

Per alcuni algoritmi, i programmi richiedono l'indirizzamento del riporto inverso di bit per ottenere risultati in ordine sequenziale, in particolare per i calcoli FFT (Fast Fourier Transform). Per soddisfare i requisiti di questi algoritmi, la funzione di indirizzamento a bit invertito dei generatori di indirizzi dati consente ripetutamente di suddividere le serie di dati e memorizzare questi dati in ordine di bit invertito.

Indirizzamento del buffer circolare

Il processore Blackfin fornisce una funzionalità come l'indirizzamento circolare opzionale che semplicemente aumenta un registro indice di un intervallo predefinito di indirizzi, dopodiché ripristina automaticamente i registri indice per ripetere tale intervallo. Quindi questa funzione migliora le prestazioni del ciclo di input/output semplicemente rimuovendo ogni volta il puntatore dell'indice dell'indirizzo.

L'indirizzamento del buffer circolare è molto utile quando si carica o memorizza ripetutamente una stringa di blocchi di dati di dimensioni fisse. Il contenuto del buffer circolare deve soddisfare le seguenti condizioni:

  • La lunghezza massima del buffer circolare deve essere un numero senza segno con una grandezza inferiore a 231.
  • L'ampiezza del modificatore deve essere inferiore alla lunghezza del buffer circolare.
  • La prima posizione del puntatore 'I' deve trovarsi nel buffer circolare definito dalla lunghezza 'L' e dalla base 'B'.

Se una delle condizioni di cui sopra non è soddisfatta, il comportamento del processore non è specificato.

File di registro del processore Blackfin

Il processore Blackfin include tre file di registro definitivi come; File registro dati, file registro puntatore e registro DAG.

  • Il file di registro dei dati raccoglie gli operandi utilizzando i bus di dati utilizzati per le unità computazionali e memorizza i risultati computazionali.
  • Il file di registro dei puntatori include i puntatori utilizzati per le operazioni di indirizzamento.
  • I registri DAG gestiscono i buffer circolari a zero overhead utilizzati per le operazioni DSP.

Il processore Blackfin offre gestione dell'alimentazione e prestazioni di prima classe. Questi sono progettati con una metodologia di progettazione a bassa tensione e bassa potenza che è in grado di variare sia la tensione che la frequenza operativa per ridurre significativamente l'utilizzo complessivo dell'energia. Pertanto, ciò può comportare una notevole riduzione dell'utilizzo dell'energia, rispetto alla semplice modifica della frequenza operativa. Quindi questo consente semplicemente una maggiore durata della batteria per apparecchi a portata di mano.

Il processore Blackfin supporta diverse memorie esterne come DDR-SDRAM, SDRAM, NAND flash, SRAM e NOR flash. Alcuni processori Blackfin comprendono anche interfacce di archiviazione di massa come SD/SDIO e ATAPI. Possono anche supportare 100 megabyte di memoria all'interno dello spazio della memoria esterna.

Vantaggi

Il vantaggi del processore Blackfin include il seguente.

  • I processori Blackfin forniscono vantaggi di base al progettista del sistema.
  • Il processore Blackfin offre flessibilità software e scalabilità per applicazioni convergenti come l'elaborazione di audio, video, voce e immagini in multiformato, sicurezza in tempo reale, elaborazione di controllo ed elaborazione di pacchetti in banda base multimodale
  • L'efficiente capacità di elaborazione del controllo e l'elaborazione del segnale ad alte prestazioni consentono diversi nuovi mercati e applicazioni.
  • DPM (Dynamic Power Management) consente al progettista del sistema di modificare in modo particolare il consumo energetico del dispositivo in base ai requisiti del sistema finale.
  • Questi processori riducono notevolmente i tempi ei costi di sviluppo.

Applicazioni

Il applicazioni del processore Blackfin include il seguente.

  • I processori Blackfin sono ideali per molte applicazioni come ADAS (sistemi avanzati di assistenza alla guida automobilistica) , sistemi di sorveglianza o di sicurezza e visione artificiale industriale.
  • Le applicazioni Blackfin includono sistemi di controllo di servomotori, elettronica automobilistica, sistemi di monitoraggio e dispositivi consumer multimediali.
  • Questi processori eseguono semplicemente le funzioni di elaborazione del segnale e del microcontrollore.
  • Questi sono utilizzati per audio, controllo di processo, automotive, test, misurazione, ecc.
  • I processori Blackfin sono utilizzati in applicazioni di elaborazione del segnale come wireless a banda larga, comunicazioni mobili e dispositivi Internet con capacità audio o video.
  • Blackfin è utilizzato in applicazioni convergenti come media in rete e in streaming, intrattenimento domestico digitale, telematica automobilistica, infotainment, TV mobile, radio digitale, ecc.
  • Il processore Blackfin è un processore integrato che ha l'efficienza energetica e le massime prestazioni utilizzate in applicazioni in cui voce multiformato, audio, video, banda base multimodale, elaborazione di immagini, elaborazione di pacchetti, sicurezza in tempo reale e elaborazione di controllo sono significativi.

Così, questo è una panoramica del processore Blackfin – architettura, vantaggi e sue applicazioni. Questo processore esegue l'elaborazione del segnale e le funzioni del microcontrollore. Ecco una domanda per te, cos'è un processore?