Blackfin Processor: Arkitektur, funktioner og dens applikationer

Prøv Vores Instrument Til At Fjerne Problemer





Blackfin-processor blev designet, udviklet og markedsført gennem Analog Devices & Intel som Micro Signal Architecture (MSA). Arkitekturen af ​​denne processor blev annonceret i december 2000 og demonstreret først på ESC ( Indlejrede systemer Conference) i juni 2001. Denne Blackfin-processor blev hovedsageligt designet til at opfylde strømbegrænsningerne og beregningskravene til nuværende indlejrede lyd-, video- og kommunikationsapplikationer. Denne artikel diskuterer en oversigt over en Blackfin processor – arkitektur og dens anvendelser.


Hvad er Blackfin-processor?

Blackfin-processoren er en 16- eller 32-bit mikroprocessor som inkluderer en indbygget DSP-funktionalitet med faste punkter, der leveres gennem 16-bit MAC'er (multiply-akkumulerer). Disse processorer blev hovedsageligt designet til en kombineret lav-power processorarkitektur, der kan køre OS, mens de håndterer vanskelige numeriske opgaver samtidigt som real-time H.264 videokodning.



Denne processor kombinerer en 32-bit RISC og dobbelt 16-bit MAC-signalbehandlingsfunktionalitet ved nemt at bruge attributter, der findes i mikrocontrollere til generelle formål. Så denne kombination af behandlingsegenskaber gør det muligt for Blackfin-processorer at opnå tilsvarende godt i både kontrolbehandlings- og signalbehandlingsapplikationer. Denne evne forenkler i høj grad både implementeringsopgaverne for hardware- og softwaredesign.

  Blackfin processor
Blackfin processor

Blackfin funktioner:

  • Denne processor har en enkelt instruktionssæt-arkitektur inklusive behandlingsydeevne, der simpelthen møder/slår produktsortimentet af digital signalprocessor eller DSP for at give bedre omkostninger, strøm og hukommelseseffektivitet.
  • Denne 16- eller 32-bit arkitekturprocessor tillader simpelthen kommende indlejrede applikationer.
    Multimedie-, signal- og kontrolbehandling i en enkelt kerne.
  • Det øger udviklernes produktivitet.
  • Den har justerbar ydeevne gennem dynamisk strømstyring til strømforbrug eller signalbehandling.
  • Det adopteres meget hurtigt ind i forskellige designs, som simpelthen understøttes af flere værktøjskæder samt operativsystemer.
  • Det kræver minimal optimering på grund af udviklingsmiljøet af kraftfuld software kombineret med kerneydelse.
  • Blackfin-processor understøtter brancheførende udviklingsværktøjer.
  • Ydeevnen af ​​denne processor og halvdelen af ​​kraften fra konkurrerende DSP'er tillader avancerede specifikationer og nye applikationer.

Blackfin processorarkitektur

Blackfin-processoren giver både funktionaliteterne fra en mikrocontrollerenhed og digital signalbehandling inden for en enkelt processor ved at tillade fleksibilitet. Så denne processor inkluderer en SIMD (single instruction multiple data) processor inklusive nogle funktioner som variabel længde RISIKO instruktioner, watchdog timer, on-chip PLL, hukommelsesstyringsenhed, realtidsur, serielle porte med 100 Mbps, UART controllere & SPI havne.



MMU'en understøtter flere DMA kanaler til at overføre data mellem periferiudstyr og FLASH-, SDRAM- og SRAM-hukommelsesundersystemer. Det understøtter også datacaches og konfigurerbar on-chip-instruktion. Blackfin-processoren er en simpel hardware, der understøtter 8, 16 og 32-bit aritmetiske operationer.

Blackfin-arkitekturen er hovedsageligt baseret på mikrosignal-arkitekturen, og denne er udviklet i fællesskab af ADI (Analog Devices) & Intel, som inkluderer et 32-bit RISC-instruktionssæt og 8-bit videoinstruktionssæt med dobbelt 16-bit multiplikation-akkumuler (MAC) enheder.

  PCBWay   Blackfin processorarkitektur
Blackfin processorarkitektur

Analoge enheder er i stand til at opnå en balance mellem DSP- og MCU-kravene gennem Blackfins instruktionssæt-arkitektur. Generelt er Blackfin-processoren koblet sammen med de kraftfulde VisualDSP++ softwareudviklingsværktøjer, men nu ved at bruge C eller C++, er det muligt at producere meget effektiv kode meget nemt end før. For realtidskrav bliver operativsystemunderstøttelse kritisk, så Blackfin understøtter et nej. af operativsystemer og hukommelsesbeskyttelse. Blackfin-processor kommer i både single-core som BF533, BF535 & BF537 og dual-core som BF561 modeller.

Blackfin-processorarkitekturen inkluderer forskellige perifere enheder på chip som en PPI (Parallel Peripheral Interface), SPORTS (Serial Ports), SPI (Serial Peripheral Interface), UART (Universal Asynchronous Receiver Transmitter), generelle timere, RTC (Real-Time) Ur), Watchdog-timer, generel I/O (programmerbare flag), Controller Area Network (CAN) Interface , Ethernet MAC, Perifere DMA'er -12, Hukommelse til Hukommelse DMA'er -2 inklusive Handshake DMA, TWI (Two-Wire Interface) Controller, en Debug eller JTAG Interface & Event Handler med 32 Afbryde Indgange. Alle disse perifere enheder i arkitekturen er simpelthen forbundet via forskellige højbåndsbusser til kernen. Så en beskrivelse af nogle af disse perifere enheder er givet nedenfor.

PPI eller Parallel Peripheral Interface

Blackfin-processoren giver simpelthen en PPI, som også er kendt som Parallel Peripheral Interface. Denne grænseflade er direkte forbundet til parallelle analog til digital & digital til analog konvertere, videoenkodere og dekodere og også til andre generelle perifere enheder.

Denne grænseflade inkluderer en dedikeret CLK-input, tre rammesynkroniseringsben og 16 databen. Her understøtter input CLK pin blot parallelle datahastigheder svarende til halvdelen af ​​systemets CLK hastighed. Tre forskellige ITU-R 656-tilstande understøtter kun Active Video, Vertical Blanking og komplet felt.

PPI's generelle tilstande er givet til at passe til en lang række forskellige transmissions- og datafangstapplikationer. Så disse tilstande er opdelt i hovedkategorier Datamodtagelse gennem internt genererede rammesynkroniseringer, datatransmission gennem internt genererede rammesynkroniseringer, datatransmission gennem eksternt genererede rammesynkroniseringer og data modtaget via eksternt genererede rammesynkroniseringer.

SPORT

Blackfin-processoren inkluderer to to-kanals synkrone serielle porte SPORT0 & SPORT1, der bruges til seriel og multiprocessorkommunikation. Så disse er højhastigheds og synkron seriel port, der understøtter I²S , TDM og forskellige andre konfigurerbare rammetilstande til tilslutning DAC'er , ADC'er, FPGA'er & andre processorer.

SPI eller seriel perifer interfaceport

Blackfin-processoren inkluderer en SPI-port, der gør det muligt for processoren at tale med forskellige SPI-kompatible enheder. Denne grænseflade bruger ganske enkelt tre ben til at transmittere data, databen-2 og en CLK pin. SPI-portens udvalgte input- og outputben giver simpelthen en fuld-dupleks SSI (synkron seriel interface), der understøtter både master- og slave-tilstande og også multi-master-miljøer. Baudraten for denne SPI-port og urfase eller polariteter er programmerbar. Denne port har en indbygget DMA-controller, der understøtter enten at sende/modtage datastrømme.

Timere

Blackfin-processoren har 9 programmerbare timerenheder. Disse timere genererer afbrydelser til processorkernen for at tilvejebringe periodiske hændelser beregnet til synkronisering med processorens ur eller til en ekstern signaltælling.

UART

Udtrykket UART står for 'universal asynchronous receiver transmitter' port. Blackfin-processoren har 2-halv-dupleks UART-porte, som er fuldstændig velegnede gennem PC-standard UART'er. Disse porte giver simpelthen en grundlæggende UART-grænseflade til andre værter eller perifere enheder for at levere DMA-understøttede, halv-dupleks, asynkrone serielle dataoverførsler.

UART-portene inkluderer 5 til 8 databits og 1 eller 2 stopbits, og de understøtter 2 driftstilstande som Programmeret I/O og DMA. I den første tilstand transmitterer eller modtager processoren data gennem læse/skrive I/O-mappede registre, hvor som helst dataene bufferes to gange på både transmission og modtagelse. I den anden tilstand sender og modtager DMA-controlleren data og reducerer antallet af afbrydelser, der er nødvendige for at transmittere data fra & til hukommelsen.

RTC eller realtidsur

Blackfin-processorens realtidsur giver simpelthen forskellige funktioner som et stopur, aktuel tid og alarm. Så realtidsuret er klokket med en 32.768 kHz krystal eksternt til Blackfin-processoren. RTC'en i processoren har strømforsyningsben, som kan forblive tændt og clocket, selv når resten af ​​Blackfin-processoren er i en lav-strøm tilstand. Realtidsuret giver en række programmerbare afbrydelsesmuligheder. 32.768 kHz input CLK frekvensen er adskilt ned til et 1 Hz signal gennem en Prescaler. I lighed med de andre enheder kan realtidsuret vække Blackfin-processoren fra Deep Sleep-tilstand/dvaletilstand.

Watchdog timer

Blackfin-processoren har en 32-bit watchdog-timer, der bruges til at udføre en software watchdog-funktion. Så programmøren initialiserer timerens tælleværdi, der tillader den korrekte afbrydelse, og tillader derefter timeren. Derefter skal softwaren genindlæse tælleren, før den tæller fra den programmerede værdi til '0'.

GPIO eller General-Purpose I/O

En GPIO er en digital signalpin, der bruges som input, output eller begge dele & styres via software. Blackfin-processoren inkluderer GPIO (general-purpose I/O) ben, 48-tovejs på tværs af 3-separate GPIO-moduler som PORTFIO, PORTHIO & PORTGIO forbundet med henholdsvis Port G, Port H og Port F. Hver portpin til generelle formål styres individuelt gennem manipulation af status, portkontrol og afbrydelsesregistre som GPIO DCR, GPIO CSR, GPIO IMR og GPIO ISR.

Ethernet MAC

Ethernet MAC-enheden i Blackfin-processoren giver 10 til 100 Mb/s mellem en MII (Media Independent Interface) og det perifere delsystem af Blackfin. MAC'en fungerer simpelthen i både Full-Duplex og Half-Duplex-tilstande. Medieadgangscontrolleren clockes internt fra processorens CLKIN-pin.

Hukommelse

Hukommelsen i Blackfin Processor-arkitektur sørger simpelthen for både niveau 1 og niveau 2 hukommelsesblokke i implementeringen af ​​enheden. Hukommelsen i L1 som data- og instruktionshukommelse er simpelthen forbundet til processorkernen direkte, kører med komplet system CLK-hastighed og giver maksimal systemydelse til kritiske tidsalgoritmesegmenter. L2-hukommelsen som SRAM-hukommelsen er større, hvilket giver lidt reduceret ydeevne, men den er stadig hurtigere sammenlignet med off-chip-hukommelse.

Strukturen af ​​L1-hukommelsen er implementeret for at give den ydeevne, der kræves til behandling af signaler, mens den tilbyder programmer i mikrocontrollere. Dette opnås ved blot at tillade hukommelsen L1 at blive arrangeret som SRAM, cache, ellers en kombination af begge.

Ved at understøtte cache- og SRAM-programmeringsmodellerne tildeler systemets designere kritiske signalbehandlingsdatasæt i realtid, der har brug for lav latens og høj båndbredde, til SRAM, mens de lagrer realtidsstyring eller OS-opgaver i cachehukommelsen.

Opstartstilstande

Blackfin-processoren inkluderer seks mekanismer til automatisk indlæsning af intern L1-instruktionshukommelse efter en nulstilling. Så de forskellige boot-tilstande omfatter hovedsageligt; Opstartstilstand fra 8-bit & 16-bit ekstern flashhukommelse, seriel SPI-hukommelse. SPI-værtsenheden, UART, seriel TWI-hukommelse, TWI Host og udfører fra 16-bit ekstern hukommelse, uden om boot-serien. For hver af de første 6 starttilstande læses først en 10-byte header fra en ekstern hukommelsesenhed. Så overskriften angiver nr. af bytes, der skal transmitteres, og hukommelsesdestinationsadressen. Flere hukommelsesblokke kan indlæses gennem enhver boot-serie. Når alle blokke blot er indlæst, starter programudførelsen fra begyndelsen af ​​L1 instruktion SRAM.

Adresseringstilstande

Sortfinneprocessorens adresseringstilstande bestemmer simpelthen, hvordan en individuel adgangshukommelse og adressering skal angive en placering. De adresseringstilstande, der bruges i blackfin-processoren, er indirekte adressering, autoincrement/decrement, post modify, indekseret med øjeblikkelig offset, cirkulær buffer og Bit reverse.

Indirekte adressering

I denne tilstand inkluderer adressefeltet i instruktionen placeringen af ​​hukommelsen eller registeret, uanset hvor den effektive operandes adresse er til stede. Denne adressering er klassificeret i to kategorier som Register Indirect & Memory Indirect.

For eksempel LOAD R1, @300

I ovenstående instruktion er den effektive adresse simpelthen gemt på hukommelsesplads 300.

Autoincrement/Decrement Addressing

Auto-increment-adressering opdaterer simpelthen Pointer- såvel som Index-registre efter indtastningsretten. Mængden af ​​stigning afhænger hovedsageligt af størrelsen af ​​ordstørrelsen. 32-bit ordadgang kan resultere i Pointer-opdateringen med '4'. En 16-bit ordadgang opdaterer markøren med '2', og en 8-bit ordadgang opdaterer markøren med '1'. Læseoperationerne for både 8-bit og 16-bit kan angive enten nul-udvid/fortegn-udvid indholdet ind i målregisteret. Pointer-registre bruges hovedsageligt til 8, 16 og 32-bit-adgange, mens indeksregistre kun bruges til 16- og 32-bit-adgange

For eksempel: R0 = W [P1++] (Z);

I ovenstående instruktion indlæses et 16-bit ord i et 32-bit destinationsregister fra en spids adresse gennem Pointer registeret 'P1'. Derefter øges markøren med 2, og ordet udvides med '0' til at fylde 32-bit destinationsregisteret.

På samme måde fungerer automatisk nedsættelse ved at formindske adressen efter indtastningsretten.

For eksempel: R0 = [ I2– ] ;

I ovenstående instruktion indlæses en 32-bit værdi i destinationsregisteret og reducerer indeksregisteret med 4.

Post-modificere adressering

Denne type adressering bruger simpelthen værdien i Index/Pointer-registrene som den effektive adresse. Derefter ændres det med registerindhold. Indeksregistre ændres simpelthen med modificerede registre, hvorimod pointerregistre ændres af andre pointerregistre. Ligesom destinationsregistre understøtter Post-modify type-adressering ikke Pointer-registrene.

For eksempel: R3 = [P1++P2];

I ovenstående instruktion indlæses en 32-bit værdi i 'R3'-registret og findes inden for hukommelsesstedet, der peges af 'P1'-registret. Derefter tilføjes værdien i 'P2'-registret til værdien i P1-registret.

Indekseret med øjeblikkelig offset

Indekseret adressering tillader simpelthen programmer at hente værdier fra datatabeller. Pointer-registret ændres af det umiddelbare felt, hvorefter det bruges som den effektive adresse. Så pointerregisterværdien opdateres ikke.

For eksempel, hvis P1 = 0x13, så ville [P1 + 0x11] effektivt svare til [0x24], som er forbundet med alle adgange.

Bit omvendt adressering

For nogle algoritmer kræver programmer bit-reversed carry-adressering for at opnå resultater i sekventiel rækkefølge, især for FFT (Fast Fourier Transform) beregninger. For at opfylde disse algoritmes krav tillader den bit-omvendte adresseringsfunktion i Data Address Generators gentagne gange at underopdele dataserier og gemme disse data i bit-omvendt rækkefølge.

Cirkulær bufferadressering

Blackfin-processoren giver en funktion som valgfri cirkulær adressering, der blot øger et indeksregister med et foruddefineret område af adresser, hvorefter den automatisk nulstiller indeksregistrene for at gentage dette område. Så denne funktion forbedrer ydeevnen af ​​input/output-løkken ved blot at fjerne adresseindeksmarkøren hver gang.

Cirkulær bufferadressering er meget nyttig, når du gentagne gange indlæser eller lagrer en række datablokke med fast størrelse. Indholdet af den cirkulære buffer skal opfylde følgende betingelser:

  • Den cirkulære buffers maksimale længde skal være et tal uden fortegn med en størrelsesorden under 231.
  • Modifikatorens størrelse skal være under den cirkulære buffers længde.
  • Den første placering af markøren 'I' skal være i den cirkulære buffer, der er defineret af længden 'L' & base 'B'.

Hvis nogen af ​​ovenstående betingelser ikke er opfyldt, er processorens adfærd ikke specificeret.

Registrer fil af Blackfin-processor

Blackfin-processoren inkluderer tre definitive registerfiler som; Dataregisterfil, pointerregisterfil & DAG-register.

  • Dataregisterfilen indsamler operander ved hjælp af databusser, der bruges til beregningsenhederne og gemmer beregningsresultater.
  • Pointerregisterfilen inkluderer pointere, der bruges til adresseringsoperationer.
  • DAG-registrene administrerer nul-overhead cirkulære buffere, der anvendes til DSP-operationer.

Blackfin-processor giver førsteklasses strømstyring og ydeevne. Disse er designet med en lavspændings- og laveffektdesignmetode, som er i stand til at variere både spændingen og driftsfrekvensen for at reducere den samlede strømudnyttelse betydeligt. Så dette kan resultere i et betydeligt fald i strømudnyttelsen sammenlignet med blot at ændre driftsfrekvensen. Så dette giver simpelthen længere batterilevetid for praktiske apparater.

Blackfin-processor understøtter forskellige eksterne hukommelser som DDR-SDRAM, SDRAM, NAND flash, SRAM & NOR flash. Nogle Blackfin-processorer omfatter også masselagringsgrænseflader som SD/SDIO & ATAPI. De kan også understøtte 100 megabyte hukommelse inden for ekstern hukommelse.

Fordele

Det fordelene ved Blackfin-processoren omfatte følgende.

  • Blackfin-processorer giver grundlæggende fordele til designeren af ​​systemet.
  • Blackfin-processor tilbyder softwarefleksibilitet såvel som skalerbarhed til konvergerende applikationer som lyd-, video-, stemme- og billedbehandling i multiformat, realtidssikkerhed, kontrolbehandling og multimode basebånd-pakkebehandling
  • Den effektive kontrolbehandlingskapacitet og højtydende signalbehandling tillader forskellige nye markeder og applikationer.
  • DPM (Dynamic Power Management) giver systemdesigneren mulighed for især at ændre enhedens strømforbrug til kravene i slutsystemet.
  • Disse processorer reducerer udviklingstiden og -omkostningerne betydeligt.

Ansøgninger

Det applikationer af Blackfin-processoren omfatte følgende.

  • Blackfin-processorer er ideelle til mange applikationer som f.eks ADAS (automotive advanced driver assistance systems) , overvågnings- eller sikkerhedssystemer & industrielt maskinsyn.
  • Blackfin-applikationer omfatter servomotorstyringssystemer, bilelektronik, overvågningssystemer og multimedieforbrugerenheder.
  • Disse processorer udfører simpelthen mikrocontroller og signalbehandlingsfunktioner.
  • Disse bruges til lyd, proceskontrol, bilindustrien, test, måling osv.
  • Blackfin-processorerne bruges i signalbehandlingsapplikationer som trådløst bredbånd, mobilkommunikation og lyd eller video-kompatible internetapparater.
  • Blackfin bruges i konvergerende applikationer som netværks- og streamingmedier, digital hjemmeunderholdning, biltelematik, infotainment, mobil-tv, digital radio osv.
  • Blackfin-processor er en indlejret processor, der har den strømeffektivitet og højeste ydeevne, der bruges i applikationer, hvor som helst tale, lyd, video, multi-mode basebånd, billedbehandling, pakkebehandling, realtidssikkerhed og kontrolbehandling er væsentlige.

Dette er således en oversigt over Blackfin Processor – arkitektur, fordele og dens anvendelser. Denne processor udfører signalbehandling og mikrocontrollerfunktioner. Her er et spørgsmål til dig, hvad er en processor?