Procesor Blackfin: arhitectură, caracteristici și aplicații

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





Procesorul Blackfin a fost proiectat, dezvoltat și comercializat prin Analog Devices și Intel ca Micro Signal Architecture (MSA). Arhitectura acestui procesor a fost anunțată în decembrie 2000 și demonstrată mai întâi la ESC ( Sisteme integrate Conferința) din iunie 2001. Acest procesor Blackfin a fost proiectat în principal pentru a atinge constrângerile de putere și cerințele de calcul ale aplicațiilor actuale încorporate audio, video și comunicații. Acest articol discută o prezentare generală a unui procesor Blackfin – arhitectura și aplicațiile sale.


Ce este procesorul Blackfin?

Procesorul Blackfin este pe 16 sau 32 de biți microprocesor care include o funcționalitate DSP în virgulă fixă ​​încorporată furnizată prin MAC-uri pe 16 biți (multiplicare-acumulare). Aceste procesoare au fost concepute în principal pentru o arhitectură combinată de procesor de putere redusă care poate rula sistemul de operare în timp ce gestionează sarcini numerice dificile simultan, cum ar fi codificarea video H.264 în timp real.



Acest procesor combină o funcționalitate de procesare a semnalului RISC pe 32 de biți și o funcționalitate duală de procesare a semnalului MAC de 16 biți prin utilizarea cu ușurință a atributelor care se găsesc în microcontrolerele de uz general. Deci, această combinație de atribute de procesare permite procesoarelor Blackfin să obțină rezultate similare atât în ​​aplicațiile de procesare a controlului, cât și în procesarea semnalului. Această abilitate simplifică foarte mult atât sarcinile de implementare ale designului hardware, cât și al software-ului.

  Procesor Blackfin
Procesor Blackfin

Caracteristici Blackfin:

  • Acest procesor are o arhitectură unică de set de instrucțiuni, inclusiv performanță de procesare care pur și simplu îndeplinește/depășește gama de produse procesor de semnal digital sau DSP pentru a oferi costuri, putere și eficiență mai bună a memoriei.
  • Acest procesor cu arhitectură pe 16 sau 32 de biți permite pur și simplu aplicațiile încorporate viitoare.
    Procesare multimedia, semnal și control într-un singur nucleu.
  • Crește productivitatea dezvoltatorilor.
  • Are performanțe reglabile în întreaga gestionare dinamică a puterii pentru consumul de energie sau procesarea semnalului.
  • Este adoptat foarte rapid în diverse modele care sunt pur și simplu susținute de mai multe lanțuri de instrumente, precum și de sisteme de operare.
  • Necesită o optimizare minimă din cauza mediului de dezvoltare a unui software puternic cuplat cu performanța de bază.
  • Procesorul Blackfin acceptă instrumente de dezvoltare de vârf în industrie.
  • Performanța acestui procesor și jumătate din puterea DSP-urilor concurente permit specificații avansate și aplicații noi.

Arhitectura procesorului Blackfin

Procesorul Blackfin oferă atât funcționalitățile unei unități de micro-controler, cât și procesarea semnalului digital într-un singur procesor permiţând flexibilitate. Așadar, acest procesor include un procesor SIMD (single instruction multiple data) care include unele caracteristici precum lungimea variabilă RISC instrucțiuni, timer watchdog, PLL pe cip, unitate de gestionare a memoriei, ceas în timp real, porturi seriale cu 100 Mbps, UART controlori și SPI porturi.



MMU acceptă mai multe DMA canale pentru a transfera date între periferice și subsisteme de memorie FLASH, SDRAM și SRAM. De asemenea, acceptă cache de date și instrucțiuni configurabile pe cip. Procesorul Blackfin este un hardware simplu care acceptă operații aritmetice pe 8, 16 și 32 de biți.

Arhitectura Blackfin se bazează în principal pe arhitectura semnalului micro și aceasta a fost dezvoltată în comun de ADI (Analog Devices) și Intel, care include un set de instrucțiuni RISC pe 32 de biți și un set de instrucțiuni video de 8 biți cu acumulare de multiplicare duală de 16 biți. unități (MAC).

  PCBWay   Arhitectura procesorului Blackfin
Arhitectura procesorului Blackfin

Dispozitivele analogice sunt capabile să atingă un echilibru între cerințele DSP și MCU prin arhitectura setului de instrucțiuni Blackfin. În general, procesorul Blackfin este cuplat cu instrumentele puternice de dezvoltare software VisualDSP++, dar acum, folosind C sau C++, este posibil să se producă cod foarte eficient foarte ușor decât înainte. Pentru cerințele în timp real, suportul pentru sistemul de operare devine critic, așa că Blackfin acceptă un nr. a sistemelor de operare și a protecției memoriei. Procesorul Blackfin vine în ambele modele single-core, cum ar fi BF533, BF535 și BF537, și dual-core, cum ar fi modelele BF561.

Arhitectura procesorului Blackfin include diferite periferice pe cip, cum ar fi PPI (Parallel Peripheral Interface), SPORTS (Serial Ports), SPI (Serial Peripheral Interface), UART (Universal Asynchronous Receiver Transmitter), temporizatoare de uz general, RTC (Real-Time). Ceas), Timer Watchdog, I/O de uz general (steaguri programabile), Interfață Controller Area Network (CAN). , Ethernet MAC, DMA-uri periferice -12, DMA-uri de memorie în memorie -2 inclusiv DMA Handshake, controler TWI (Interfață cu două fire), un depanare sau JTAG Interfață și handler de evenimente cu 32 Întrerupe Intrări. Toate aceste periferice din arhitectură sunt pur și simplu conectate prin diferite magistrale cu lățime de bandă mare la nucleu. Deci, o descriere a unora dintre aceste periferice este dată mai jos.

PPI sau interfață periferică paralelă

Procesorul Blackfin oferă pur și simplu un PPI care este cunoscut și sub numele de interfață periferică paralelă. Această interfață este conectată direct la convertoare paralele analog-digital și digital-analogic, codificatoare video și decodoare și, de asemenea, la alte periferice de uz general.

Această interfață include un pin CLK de intrare dedicat, trei pini de sincronizare a cadrului și 16 pini de date. Aici, pinul CLK de intrare acceptă pur și simplu rate de date paralele egale cu jumătate din viteza CLK a sistemului. Trei moduri diferite ITU-R 656 acceptă numai Active Video, Vertical Blanking și câmp complet.

Modurile de uz general ale PPI sunt oferite pentru a se potrivi cu o mare varietate de aplicații de transmisie și captare a datelor. Deci, aceste moduri sunt separate în categorii principale: Primirea datelor prin sincronizarea cadrelor generate intern, Transmiterea datelor prin sincronizarea cadrelor generate intern, Transmiterea datelor prin sincronizarea cadrelor generate extern și Datele primite prin sincronizarea cadrelor generate extern.

Sport

Procesorul Blackfin include două porturi seriale sincrone cu două canale SPORT0 și SPORT1 utilizate pentru comunicații seriale și multiprocesor. Deci, acestea sunt porturi serial sincrone și de mare viteză care acceptă I²S , TDM și diverse alte moduri de încadrare configurabile pentru conectare DAC-uri , ADC-uri, FPGA-uri și alte procesoare.

Port SPI sau Serial Peripheral Interface Port

Procesorul Blackfin include un port SPI care permite procesorului să converse cu diverse dispozitive compatibile SPI. Această interfață folosește pur și simplu trei pini pentru a transmite date, pinii de date-2 și un pin CLK. Pinii de intrare și de ieșire selectați ai portului SPI oferă pur și simplu un SSI (interfață serială sincronă) full-duplex care acceptă atât modurile master și slave, cât și mediile multi-master. Rata baud a acestui port SPI și faza de ceas sau polaritățile este programabilă. Acest port are încorporat un controler DMA care acceptă fie transmiterea/primirea fluxurilor de date.

Cronometre

Procesorul Blackfin are 9 unități de cronometru programabile. Aceste temporizatoare generează întreruperi la miezul procesorului pentru a furniza evenimente periodice destinate sincronizării cu ceasul procesorului sau cu un număr de semnale externe.

UART

Termenul UART înseamnă port „transmițător receptor asincron universal”. Procesorul Blackfin oferă 2 porturi UART semi-duplex, care sunt complet potrivite prin UART-urile standard pentru PC. Aceste porturi oferă pur și simplu o interfață UART de bază altor gazde sau periferice pentru a oferi transferuri de date seriale asincrone, semi-duplex, suportate de DMA.

Porturile UART includ 5 până la 8 biți de date și 1 sau 2 biți de oprire și acceptă 2 moduri de operare, cum ar fi I/O programat și DMA. În primul mod, procesorul transmite sau primește date prin citirea/scrierea registrelor mapate I/O, oriunde datele sunt stocate în tampon de două ori atât la transmisie cât și la recepție. În al doilea mod, controlerul DMA transmite și primește date și scade numărul de întreruperi necesare pentru a transmite date din și către memorie.

RTC sau ceas în timp real

Ceasul în timp real al procesorului Blackfin oferă pur și simplu diferite funcții precum un cronometru, ora curentă și alarmă. Deci, ceasul în timp real este tactat cu un cristal de 32,768 kHz extern procesorului Blackfin. RTC din procesor are pini de alimentare, care pot rămâne porniți și tactati chiar și odată ce restul procesorului Blackfin este într-o stare de consum redus. Ceasul în timp real oferă o serie de opțiuni de întrerupere programabile. Frecvența CLK de intrare de 32,768 kHz este separată până la un semnal de 1 Hz printr-un Prescaler. Similar cu celelalte dispozitive, ceasul în timp real poate trezi procesorul Blackfin din modul Deep Sleep/Modul Sleep.

Timer Watchdog

Procesorul Blackfin are un timer watchdog pe 32 de biți, folosit pentru a executa o funcție de watchdog software. Așadar, programatorul inițializează valoarea de numărare a cronometrului care permite întreruperea adecvată și apoi permite cronometrul. După aceea, software-ul trebuie să reîncarce contorul înainte de a număra de la valoarea programată la „0”.

GPIO sau I/O de uz general

Un GPIO este un pin de semnal digital care este utilizat ca intrare, ieșire sau ambele și este controlat prin software. Procesorul Blackfin include pini GPIO (I/O de uz general), 48-bi-direcțional prin 3 module GPIO separate precum PORTFIO, PORTHIO și PORTGIO conectate la Port G, Port H și respectiv Port F. Fiecare pin de port de uz general este controlat individual prin manipularea stării, controlului portului și registrelor de întrerupere, cum ar fi GPIO DCR, GPIO CSR, GPIO IMR și GPIO ISR.

Ethernet MAC

Perifericul Ethernet MAC din procesorul Blackfin oferă 10 până la 100 Mb/s între o interfață MII (Media Independent Interface) și subsistemul periferic al Blackfin. MAC funcționează pur și simplu în ambele moduri Full-Duplex și Half-Duplex. Controlerul de acces media este tactat intern de la pinul CLKIN al procesorului.

Memorie

Memoria arhitecturii procesorului Blackfin asigură pur și simplu ambele blocuri de memorie de nivel 1 și de nivel 2 în implementarea dispozitivului. Memoria L1, cum ar fi memoria de date și instrucțiuni, este pur și simplu conectată direct la miezul procesorului, rulează la viteza completă a sistemului CLK și oferă performanță maximă a sistemului pentru segmentele de algoritm de timp critic. Memoria L2 precum memoria SRAM este mai mare, ceea ce oferă o performanță puțin redusă, cu toate acestea, este încă mai rapidă în comparație cu memoria off-chip.

Structura memoriei L1 este implementată pentru a oferi performanța necesară procesării semnalelor, oferind în același timp programe în microcontrolere. Acest lucru se realizează prin simpla permitere a memoriei L1 să fie aranjată ca SRAM, cache, altfel o combinație a ambelor.

Prin sprijinirea modelelor de programare cache și SRAM, proiectanții sistemului atribuie seturi critice de date de procesare a semnalului în timp real care au nevoie de latență scăzută și lățime de bandă mare în SRAM, stochând în același timp sarcinile de control în timp real sau OS în memoria cache.

Moduri de pornire

Procesorul Blackfin include șase mecanisme pentru încărcarea automată a memoriei de instrucțiuni L1 internă după o resetare. Deci, diferitele moduri de pornire includ în principal; Modul de pornire din memorie flash de 8 și 16 biți în afara memoriei SPI serial. Dispozitivul gazdă SPI, UART, memorie serială TWI, TWI găzduiește și funcționează din memorie externă de 16 biți, ocolind seria de pornire. Pentru fiecare dintre primele 6 moduri de pornire, mai întâi este citit un antet de 10 octeți de pe un dispozitiv de memorie exterior. Deci, antetul indică nr. de octeți de transmis și adresa de destinație a memoriei. Mai multe blocuri de memorie pot fi încărcate prin orice serie de boot. Când toate blocurile sunt pur și simplu încărcate, atunci execuția programului începe de la începutul instrucțiunii L1 SRAM.

Moduri de adresare

Modurile de adresare ale procesorului blackfin determină pur și simplu modul în care o memorie de acces individuală și adresare trebuie să specifice o locație. Modurile de adresare utilizate în procesorul blackfin sunt adresare indirectă, autoincrement/decrement, post-modificare, indexat cu offset imediat, buffer circular și Bit reverse.

Adresarea indirectă

În acest mod, câmpul de adresă din instrucțiune include locația memoriei sau a registrului oriunde este prezentă adresa operandului eficient. Această adresare este clasificată în două categorii, cum ar fi Register Indirect și Memory Indirect.

De exemplu LOAD R1, @300

În instrucțiunea de mai sus, adresa efectivă este pur și simplu stocată în locația de memorie 300.

Autoincrement/Decrement Addressing

Adresarea cu incrementare automată actualizează pur și simplu registrele Pointer și Index după dreptul de intrare. Cantitatea de creștere depinde în principal de dimensiunea mărimii cuvântului. Accesul la cuvinte pe 32 de biți poate rezulta în actualizarea Pointerului cu „4”. Un acces de cuvânt pe 16 biți actualizează pointerul cu „2”, iar un acces pe cuvânt pe 8 biți actualizează pointerul cu „1”. Operațiile de citire atât pe 8 biți, cât și pe 16 biți pot indica fie zero-extend/sign-extend conținutul în registrul țintă. Registrele pointer sunt utilizate în principal pentru accese pe 8, 16 și 32 de biți, în timp ce registrele index sunt utilizate doar pentru accesări pe 16 și 32 de biți

De exemplu: R0 = W [ P1++ ] (Z) ;

În instrucțiunea de mai sus, un cuvânt de 16 biți se încarcă într-un registru de destinație de 32 de biți de la o adresă punctată prin registrul Pointer „P1”. După aceea, indicatorul este mărit cu 2 și cuvântul este „0” extins pentru a umple registrul de destinație de 32 de biți.

În mod similar, auto-decrementarea funcționează prin scăderea adresei după dreptul de intrare.

De exemplu: R0 = [ I2– ] ;

În instrucțiunea de mai sus, o valoare de 32 de biți se încarcă în registrul de destinație și reduce registrul Index cu 4.

Adresare post-modificare

Acest tip de adresare folosește pur și simplu valoarea din registrele Index/Pointer precum adresa eficientă. După aceea, îl modifică cu conținutul registrului. Registrele index sunt modificate pur și simplu cu registre modificate, în timp ce registrele pointer sunt modificate de alte registre pointer. Ca și registrele de destinație, adresarea tip post-modificare nu acceptă registrele Pointer.

De exemplu: R3 = [ P1++P2 ] ;

În instrucțiunea de mai sus, o valoare de 32 de biți este încărcată în registrul „R3” și găsită în locația de memorie indicată de registrul „P1”. După aceea, valoarea din registrul „P2” este adăugată la valoarea din registrul P1.

Indexat cu compensare imediată

Adresarea indexată permite pur și simplu programelor să obțină valori din tabelele de date. Registrul Pointer este modificat de câmpul imediat, după care este folosit ca adresă efectivă. Deci valoarea registrului Pointer nu este actualizată.

De exemplu, dacă P1 = 0x13, atunci [P1 + 0x11] ar fi eficient echivalent cu [0x24], care este asociat cu toate accesele.

Bit de adresare inversă

Pentru unii algoritmi, programele necesită o adresare de transfer inversat pentru a obține rezultate în ordine secvențială, în special pentru calculele FFT (Fast Fourier Transform). Pentru a satisface cerințele acestor algoritmi, caracteristica de adresare cu biți inversați a generatoarelor de adrese de date permite în mod repetat subdivizarea serii de date și stocarea acestor date în ordinea inversă a biților.

Adresarea bufferului circular

Procesorul Blackfin oferă o caracteristică precum adresarea circulară opțională, care pur și simplu mărește un registru de index cu un interval predefinit de adrese, după care resetează automat registrele de index pentru a repeta intervalul respectiv. Deci, această caracteristică îmbunătățește performanța buclei de intrare/ieșire prin simpla eliminare de fiecare dată a indicatorului indexului adresei.

Adresarea bufferului circular este foarte utilă atunci când se încarcă sau se stochează în mod repetat un șir de blocuri de date de dimensiuni fixe. Conținutul tamponului circular trebuie să îndeplinească următoarele condiții:

  • Lungimea maximă a tamponului circular ar trebui să fie un număr fără semn cu o magnitudine sub 231.
  • Mărimea modificatorului trebuie să fie sub lungimea tamponului circular.
  • Prima locație a indicatorului „I” trebuie să fie în tamponul circular care este definit de lungimea „L” și baza „B”.

Dacă oricare dintre condițiile de mai sus nu este îndeplinită, atunci comportamentul procesorului nu este specificat.

Fișierul de înregistrare al procesorului Blackfin

Procesorul Blackfin include trei fișiere de înregistrare definitive, cum ar fi; Fișier registru date, fișier registru pointer și registru DAG.

  • Fișierul de registru de date colectează operanzi folosind magistralele de date utilizate pentru unitățile de calcul și stochează rezultatele de calcul.
  • Fișierul registru pointer include pointeri utilizați pentru operațiuni de adresare.
  • Registrele DAG gestionează tampoanele circulare zero-overhead utilizate pentru operațiunile DSP.

Procesorul Blackfin oferă management și performanță de primă clasă. Acestea sunt proiectate cu o metodologie de proiectare de joasă tensiune și putere scăzută, care sunt capabile să varieze atât tensiunea, cât și frecvența de funcționare pentru a reduce în mod semnificativ utilizarea generală a energiei. Deci, acest lucru poate duce la o scădere considerabilă a utilizării energiei, în comparație cu doar schimbarea frecvenței de funcționare. Deci, acest lucru permite pur și simplu o durată de viață mai lungă a bateriei pentru aparatele la îndemână.

Procesorul Blackfin acceptă diferite memorii externe, cum ar fi DDR-SDRAM, SDRAM, flash NAND, SRAM și flash NOR. Unele procesoare Blackfin includ, de asemenea, interfețe de stocare în masă precum SD/SDIO și ATAPI. De asemenea, pot suporta 100 de megaocteți de memorie în spațiul de memorie externă.

Avantaje

The avantajele procesorului Blackfin includ următoarele.

  • Procesoarele Blackfin oferă avantaje de bază proiectantului sistemului.
  • Procesorul Blackfin oferă flexibilitate software, precum și scalabilitate pentru aplicații convergente precum procesarea audio, video, voce și imagini în multiformat, securitate în timp real, procesare de control și procesare multimodă a pachetelor în bandă de bază
  • Capacitatea eficientă de procesare a controlului și procesarea de înaltă performanță a semnalului permit diferite piețe și aplicații noi.
  • DPM (Dynamic Power Management) permite proiectantului de sistem să modifice în mod special consumul de energie al dispozitivului la cerințele sistemului final.
  • Aceste procesoare reduc foarte mult timpul și costurile de dezvoltare.

Aplicații

The aplicații ale procesorului Blackfin includ următoarele.

  • Procesoarele Blackfin sunt ideale pentru multe aplicații precum ADAS (sisteme avansate de asistență pentru șofer) , sisteme de supraveghere sau securitate și viziune industrială.
  • Aplicațiile Blackfin includ sisteme de control al servomotoarelor, electronice auto, sisteme de monitorizare și dispozitive multimedia pentru consumatori.
  • Aceste procesoare realizează pur și simplu funcții de microcontroler și procesare a semnalului.
  • Acestea sunt utilizate pentru audio, controlul proceselor, auto, testare, măsurare etc.
  • Procesoarele Blackfin sunt utilizate în aplicații de procesare a semnalului, cum ar fi wireless în bandă largă, comunicații mobile și dispozitive de internet cu capacitate audio sau video.
  • Blackfin este utilizat în aplicații convergente, cum ar fi media în rețea și streaming, divertisment digital acasă, telematică auto, infotainment, TV mobil, radio digital etc.
  • Procesorul Blackfin este un procesor încorporat care are eficiența energetică și cea mai înaltă performanță utilizate în aplicații în care vocea, audio, video, bandă de bază multi-mod, procesarea imaginilor, procesarea pachetelor, securitatea în timp real și procesarea controlului sunt semnificative.

Astfel, aceasta este o prezentare generală a procesorului Blackfin – arhitectură, avantaje și aplicații ale acesteia. Acest procesor îndeplinește funcții de procesare a semnalului și microcontroler. Iată o întrebare pentru tine, ce este un procesor?