Blackfin-prosessor: arkitektur, funksjoner og applikasjoner

Prøv Instrumentet Vårt For Å Eliminere Problemer





Blackfin-prosessor ble designet, utviklet og markedsført gjennom Analog Devices & Intel som Micro Signal Architecture (MSA). Arkitekturen til denne prosessoren ble annonsert i desember 2000 og demonstrert først på ESC ( Innebygde systemer Conference) i juni 2001. Denne Blackfin-prosessoren ble hovedsakelig designet for å nå strømbegrensningene og beregningskravene til nåværende innebygde lyd-, video- og kommunikasjonsapplikasjoner. Denne artikkelen diskuterer en oversikt over en Blackfin prosessor – arkitektur og dens anvendelser.


Hva er Blackfin-prosessor?

Blackfin-prosessoren er en 16- eller 32-biters mikroprosessor som inkluderer en innebygd DSP-funksjonalitet med faste punkter levert gjennom 16-bits MAC-er (multiplisere – akkumulerer). Disse prosessorer ble hovedsakelig designet for en kombinert laveffekt prosessorarkitektur som kan kjøre OS mens de håndterer vanskelige numeriske oppgaver samtidig som sanntids H.264-videokoding.



Denne prosessoren kombinerer en 32-biters RISC og dobbel 16-bits MAC-signalbehandlingsfunksjonalitet ved å enkelt bruke attributter som finnes i mikrokontrollere for generelle formål. Så denne kombinasjonen av prosesseringsattributter gjør at Blackfin-prosessorer kan oppnå tilsvarende gode resultater i både kontroll- og signalbehandlingsapplikasjoner. Denne evnen forenkler i stor grad både implementeringsoppgavene for maskinvare- og programvaredesign.

  Blackfin-prosessor
Blackfin-prosessor

Blackfin-funksjoner:

  • Denne prosessoren har enkelt instruksjonssettarkitektur inkludert prosessytelse som ganske enkelt møter/slår produktutvalget til digital signalprosessor eller DSP for å gi bedre kostnader, kraft og minneeffektivitet.
  • Denne 16- eller 32-bits arkitekturprosessoren tillater ganske enkelt kommende innebygde applikasjoner.
    Multimedia-, signal- og kontrollbehandling i en enkelt kjerne.
  • Det øker produktiviteten til utviklerne.
  • Den har justerbar ytelse gjennom dynamisk strømstyring for strømforbruk eller signalbehandling.
  • Det tas svært raskt i bruk i ulike design som ganske enkelt støttes av flere verktøykjeder så vel som operativsystemer.
  • Det krever minimalt med optimalisering på grunn av utviklingsmiljøet til kraftig programvare kombinert med kjerneytelse.
  • Blackfin-prosessor støtter bransjeledende utviklingsverktøy.
  • Ytelsen til denne prosessoren og halvparten av kraften til konkurrerende DSP-er tillater avanserte spesifikasjoner og nye applikasjoner.

Blackfin prosessorarkitektur

Blackfin-prosessoren gir både funksjonaliteten til en mikrokontrollerenhet og Digital signalbehandling i én enkelt prosessor ved å tillate fleksibilitet. Så denne prosessoren inkluderer en SIMD (single instruction multiple data) prosessor inkludert noen funksjoner som variabel lengde FARE instruksjoner, watchdog-timer, on-chip PLL, minnestyringsenhet, sanntidsklokke, serielle porter med 100 Mbps, UART kontrollere og SPI havner.



MMU støtter flere DMA kanaler for å overføre data mellom periferiutstyr og FLASH-, SDRAM- og SRAM-minneundersystemer. Den støtter også databuffere og konfigurerbar instruksjon på brikken. Blackfin-prosessoren er en enkel maskinvare som støtter 8, 16 og 32-bits aritmetiske operasjoner.

Blackfin-arkitekturen er hovedsakelig basert på arkitekturen til mikrosignal, og denne ble utviklet i fellesskap av ADI (Analog Devices) og Intel, som inkluderer et 32-bits RISC-instruksjonssett og 8-bits videoinstruksjonssett med dobbel 16-bits multiplikasjonsakkumuler (MAC) enheter.

  PCBWay   Blackfin prosessorarkitektur
Blackfin prosessorarkitektur

Analoge enheter er i stand til å oppnå en balanse mellom DSP- og MCU-kravene gjennom instruksjonssettarkitekturen til Blackfin. Vanligvis er Blackfin-prosessoren kombinert med de kraftige VisualDSP++ programvareutviklingsverktøyene, men nå ved å bruke C eller C++, er det mulig å produsere svært effektiv kode veldig enkelt enn før. For sanntidskrav blir operativsystemstøtte kritisk, så Blackfin støtter et nei. av operativsystemer og minnebeskyttelse. Blackfin-prosessor kommer i både single-core som BF533, BF535 og BF537, og dual-core som BF561 modeller.

Blackfin-prosessorarkitekturen inkluderer forskjellige periferiutstyr på brikken som PPI (Parallell Peripheral Interface), SPORTS (Serial Ports), SPI (Serial Peripheral Interface), UART (Universal Asynchronous Receiver Transmitter), generelle timere, RTC (sanntid) Klokke), Watchdog-timer, generell I/O (programmerbare flagg), Controller Area Network (CAN) grensesnitt , Ethernet MAC, perifere DMA-er -12, minne til minne DMA-er -2 inkludert Handshake DMA, TWI (To-Wire Interface)-kontroller, en feilsøking eller JTAG Grensesnitt og hendelsesbehandler med 32 Avbryte Innganger. Alle disse periferienhetene i arkitekturen er ganske enkelt koblet til kjernen via forskjellige høybåndsbusser. Så en beskrivelse av noen av disse periferiutstyrene er gitt nedenfor.

PPI eller Parallell Periferal Interface

Blackfin-prosessoren gir ganske enkelt en PPI som også er kjent som Parallel Peripheral Interface. Dette grensesnittet er direkte koblet til parallelle analog- til digital- og digital-til-analog-omformere, videokodere og dekodere og også til andre eksterne enheter for generell bruk.

Dette grensesnittet inkluderer en dedikert CLK-inngang, tre rammesynkroniseringspinner og 16 datapinner. Her støtter inngangs-CLK-pinnen ganske enkelt parallelle datahastigheter lik halvparten av systemets CLK-hastighet. Tre forskjellige ITU-R 656-moduser støtter kun Active Video, Vertical Blanking og komplett felt.

PPIs generelle moduser er gitt for å passe til en rekke forskjellige overførings- og datafangstapplikasjoner. Så disse modusene er delt inn i hovedkategorier Datamottak gjennom internt genererte rammesynkroniseringer, dataoverføring gjennom internt genererte rammesynkroniseringer, dataoverføring gjennom eksternt genererte rammesynkroniseringer og data mottatt gjennom eksternt genererte rammesynkroniseringer.

SPORT

Blackfin-prosessoren inkluderer to tokanals synkrone serielle porter SPORT0 og SPORT1 som brukes til seriell og multiprosessorkommunikasjon. Så disse er høyhastighets og synkron seriell port som støtter I²S , TDM og forskjellige andre konfigurerbare innrammingsmodi for tilkobling DAC-er , ADC-er, FPGAer og andre prosessorer.

SPI eller seriell perifer grensesnittport

Blackfin-prosessoren inkluderer en SPI-port som lar prosessoren kommunisere med ulike SPI-kompatible enheter. Dette grensesnittet bruker ganske enkelt tre pinner for å overføre data, datapinner-2 og en CLK pin. De utvalgte inngangs- og utgangspinnene til SPI-porten gir ganske enkelt en full-dupleks SSI (synkront serielt grensesnitt) som støtter både master- og slave-moduser og også multi-master-miljøer. Baudhastigheten til denne SPI-porten og klokkefasen eller polaritetene er programmerbare. Denne porten har en innebygd DMA-kontroller som støtter enten overføring/mottak av datastrømmer.

Tidtakere

Blackfin-prosessoren har 9 programmerbare timerenheter. Disse tidtakerne genererer avbrudd til prosessorkjernen for å tilveiebringe periodiske hendelser beregnet for synkronisering med klokken til prosessoren eller til en ekstern signaltelling.

UART

Begrepet UART står for 'universal asynchronous receiver transmitter' port. Blackfin-prosessoren har 2-halvdupleks UART-porter, som er fullstendig godt egnet gjennom PC-standard UART-er. Disse portene gir ganske enkelt et grunnleggende UART-grensesnitt til andre verter eller periferiutstyr for å gi DMA-støttede, halv-dupleks, asynkrone serielle dataoverføringer.

UART-portene inkluderer 5 til 8 databiter og 1 eller 2 stoppbiter, og de støtter 2 driftsmoduser som Programmert I/O og DMA. I den første modusen sender eller mottar prosessoren data gjennom lesing/skriving av I/O-tilordnede registre, uansett hvor dataene er bufret to ganger på både sending og mottak. I den andre modusen sender og mottar DMA-kontrolleren data og reduserer antallet avbrudd som er nødvendig for å overføre data fra & til minnet.

RTC eller sanntidsklokke

Sanntidsklokken til blackfin-prosessoren gir ganske enkelt forskjellige funksjoner som en stoppeklokke, gjeldende tid og alarm. Så sanntidsklokken klokkes med en 32,768 kHz krystall eksternt til Blackfin-prosessoren. RTC-en i prosessoren har strømforsyningspinner, som kan forbli slått på og klokket selv når resten av Blackfin-prosessoren er i lavstrømstilstand. Sanntidsklokken gir en rekke programmerbare avbruddsalternativer. 32.768 kHz inngangs-CLK-frekvensen er separert ned til et 1 Hz-signal gjennom en Prescaler. I likhet med de andre enhetene kan sanntidsklokken vekke Blackfin-prosessoren fra dyp søvnmodus/hvilemodus.

Watchdog Timer

Blackfin-prosessoren har en 32-bits watchdog-timer, som brukes til å utføre en programvare-watchdog-funksjon. Så programmereren initialiserer timerens telleverdi som tillater riktig avbrudd, og tillater deretter timeren. Deretter må programvaren laste telleren på nytt før den teller fra den programmerte verdien til '0'.

GPIO eller generell I/O

En GPIO er en digital signalpinne som brukes som inngang, utgang eller begge deler og styres gjennom programvare. Blackfin-prosessoren inkluderer GPIO (generelle I/O)-pinner, 48-toveis på tvers av 3-separate GPIO-moduler som PORTFIO, PORTHIO og PORTGIO koblet til henholdsvis Port G, Port H og Port F. Hver generell portpinne styres individuelt gjennom manipulering av status, portkontroll og avbruddsregistre som GPIO DCR, GPIO CSR, GPIO IMR og GPIO ISR.

Ethernet MAC

Ethernet MAC-tilbehøret i Blackfin-prosessoren gir 10 til 100 Mb/s mellom en MII (Media Independent Interface) og det perifere delsystemet til Blackfin. MAC-en fungerer ganske enkelt i både full-dupleks og halv-dupleks-modus. Medietilgangskontrolleren klokkes internt fra prosessorens CLKIN-pinne.

Hukommelse

Minnet til Blackfin Processor-arkitektur sørger ganske enkelt for både nivå 1 og nivå 2 minneblokker i implementeringen av enheten. Minnet til L1 som data- og instruksjonsminne er ganske enkelt koblet til prosessorkjernen direkte, kjører med fullstendig system CLK-hastighet og gir maksimal systemytelse for kritiske tidsalgoritmesegmenter. L2-minnet som SRAM-minnet er større som gir litt redusert ytelse, men det er fortsatt raskere sammenlignet med off-chip-minne.

Strukturen til L1-minnet er implementert for å gi ytelsen som kreves for å behandle signaler samtidig som den tilbyr programmer i mikrokontrollere. Dette oppnås ved ganske enkelt å la minnet L1 ordnes som SRAM, cache, ellers en kombinasjon av begge.

Ved å støtte cache- og SRAM-programmeringsmodellene tildeler systemdesignerne kritiske sanntidssignalbehandlingsdatasett som trenger lav latens og høy båndbredde til SRAM, mens de lagrer sanntidskontroll eller OS-oppgaver i hurtigbufferminnet.

Oppstartsmoduser

Blackfin-prosessoren inkluderer seks mekanismer for innlasting av intern L1-instruksjonsminne automatisk etter en tilbakestilling. Så de forskjellige oppstartsmodusene inkluderer hovedsakelig; Oppstartsmodus fra 8-bit og 16-bit eksternt flashminne, seriell SPI-minne. SPI-vertsenheten, UART, seriell TWI-minne, TWI Host og utfører fra 16-bits eksternt minne, utenom oppstartsserien. For hver av de første 6 oppstartsmodusene leses først en 10-byte header fra en ekstern minneenhet. Så overskriften indikerer nei. byte som skal overføres og minnedestinasjonsadressen. Flere minneblokker kan lastes gjennom en hvilken som helst oppstartsserie. Når alle blokkene ganske enkelt er lastet, starter programkjøringen fra begynnelsen av L1-instruksjonen SRAM.

Adresseringsmoduser

Adresseringsmodusene til blackfin-prosessoren bestemmer ganske enkelt hvordan et individuelt tilgangsminne og adressering skal spesifisere en plassering. Adresseringsmodusene som brukes i blackfin-prosessoren er indirekte adressering, autoincrement/decrement, post modify, indeksert med umiddelbar offset, sirkulær buffer og Bit revers.

Indirekte adressering

I denne modusen inkluderer adressefeltet i instruksjonen plasseringen av minnet eller registeret uansett hvor den effektive operandens adresse er til stede. Denne adresseringen er klassifisert i to kategorier som Register Indirect og Memory Indirect.

For eksempel LOAD R1, @300

I instruksjonen ovenfor lagres den effektive adressen ganske enkelt på minnested 300.

Autoincrement/Decrement Addressing

Automatisk inkrement-adressering oppdaterer ganske enkelt både peker- og indeksregistrene etter inngangsretten. Mengden av økning avhenger hovedsakelig av størrelsen på ordstørrelsen. 32-biters ordtilgang kan resultere i pekeroppdateringen med '4'. En 16-bits ordtilgang oppdaterer pekeren med '2' og en 8-bits ordtilgang oppdaterer pekeren med '1'. Leseoperasjonene til både 8-biters og 16-biters kan indikere enten null-utvide/tegn-utvide innholdet inn i målregisteret. Pekerregistre brukes hovedsakelig for 8-, 16- og 32-biters aksesser, mens indeksregistre kun brukes for 16- og 32-biters tilganger

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

I instruksjonen ovenfor lastes et 16-bits ord inn i et 32-bits destinasjonsregister fra en spiss adresse gjennom pekerregisteret 'P1'. Deretter økes pekeren med 2, og ordet utvides til å fylle 32-bits destinasjonsregisteret.

På samme måte fungerer automatisk dekrementering ved å redusere adressen etter innreiseretten.

For eksempel: R0 = [ I2– ] ;

I instruksjonen ovenfor lastes en 32-bits verdi inn i destinasjonsregisteret og reduserer indeksregisteret med 4.

Adressering etter endring

Denne typen adressering bruker ganske enkelt verdien i Index/Pointer-registrene som den effektive adressen. Etter det modifiserer den det med registerinnhold. Indeksregistre endres ganske enkelt med modifiserte registre, mens pekerregistre endres av andre pekerregistre. I likhet med destinasjonsregistre, støtter ikke adresseringstypen etter endring av pekerregistrene.

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

I instruksjonen ovenfor blir en 32-bits verdi lastet inn i 'R3'-registeret og funnet innenfor plasseringen til minnet pekt av 'P1'-registeret. Deretter legges verdien i 'P2'-registeret til verdien i P1-registeret.

Indeksert med Umiddelbar Offset

Indeksert adressering tillater ganske enkelt programmer å hente verdier fra datatabeller. Pekerregisteret endres av det umiddelbare feltet, deretter brukes det som effektiv adresse. Så Pointer-registerverdien er ikke oppdatert.

For eksempel, hvis P1 = 0x13, vil [P1 + 0x11] effektivt være ekvivalent med [0x24], som er assosiert med alle tilganger.

Bit omvendt adressering

For noen algoritmer krever programmer bit-reversert bæreadressering for å oppnå resultater i sekvensiell rekkefølge, spesielt for FFT (Fast Fourier Transform) beregninger. For å tilfredsstille disse algoritmens krav tillater den bit-reverserte adresseringsfunksjonen til Data Address Generators gjentatte ganger å underinndele dataserier og lagre disse dataene i bit-reversert rekkefølge.

Sirkulær bufferadressering

Blackfin-prosessoren gir en funksjon som valgfri sirkulær adressering som ganske enkelt øker et indeksregister med et forhåndsdefinert område av adresser, etter det tilbakestiller den automatisk indeksregistrene for å gjenta det området. Så denne funksjonen forbedrer ytelsen til input/output loopen ved ganske enkelt å fjerne adresseindekspekeren hver gang.

Sirkulær bufferadressering er veldig nyttig når du gjentatte ganger laster eller lagrer en streng med datablokker med fast størrelse. Innholdet i den sirkulære bufferen må oppfylle disse betingelsene:

  • Den sirkulære bufferens maksimale lengde skal være et tall uten fortegn med en størrelsesorden under 231.
  • Modifikatorens størrelse må være under den sirkulære bufferens lengde.
  • Den første plasseringen av pekeren 'I' må være i den sirkulære bufferen som er definert av lengden 'L' og base 'B'.

Hvis noen av betingelsene ovenfor ikke er oppfylt, spesifiseres ikke oppførselen til prosessoren.

Registrer filen til Blackfin-prosessoren

Blackfin-prosessoren inkluderer tre definitive registerfiler som; Dataregisterfil, Pekerregisterfil og DAG-register.

  • Dataregisterfilen samler operander ved å bruke databussene som brukes for beregningsenhetene og lagrer beregningsresultater.
  • Pekerregisterfilen inkluderer pekere som brukes for adresseringsoperasjoner.
  • DAG-registrene administrerer null-overhead sirkulære buffere som brukes for DSP-operasjoner.

Blackfin-prosessor gir førsteklasses strømstyring og ytelse. Disse er designet med en designmetodikk med lav spenning og lav effekt som er i stand til å variere både spenningen og driftsfrekvensen for å redusere den totale kraftutnyttelsen betydelig. Så dette kan resultere i en betydelig reduksjon i kraftutnyttelsen, sammenlignet med bare å endre driftsfrekvensen. Så dette lar ganske enkelt batterilevetiden for praktiske apparater.

Blackfin-prosessor støtter forskjellige eksterne minner som DDR-SDRAM, SDRAM, NAND flash, SRAM og NOR flash. Noen Blackfin-prosessorer omfatter også masselagringsgrensesnitt som SD/SDIO og ATAPI. De kan også støtte 100 megabyte minne innenfor plassen til eksternt minne.

Fordeler

De fordelene med Blackfin-prosessoren Inkluder følgende.

  • Blackfin-prosessorer gir grunnleggende fordeler til designeren av systemet.
  • Blackfin-prosessor tilbyr programvarefleksibilitet så vel som skalerbarhet for konvergerende applikasjoner som lyd-, video-, tale- og bildebehandling i multiformat, sanntidssikkerhet, kontrollbehandling og multimodus basebåndpakkebehandling
  • Den effektive kontrollbehandlingskapasiteten og høyytelsessignalbehandlingen tillater forskjellige nye markeder og applikasjoner.
  • DPM (Dynamic Power Management) lar systemdesigneren spesielt endre strømforbruket til enheten til kravene til sluttsystemet.
  • Disse prosessorene reduserer utviklingstiden og -kostnadene betraktelig.

applikasjoner

De applikasjoner til Blackfin-prosessoren Inkluder følgende.

  • Blackfin-prosessorer er ideelle for mange applikasjoner som ADAS (avanserte førerassistentsystemer for biler) , overvåkings- eller sikkerhetssystemer og industriell maskinsyn.
  • Blackfin-applikasjoner inkluderer servomotorkontrollsystemer, bilelektronikk, overvåkingssystemer og multimedia-forbrukerenheter.
  • Disse prosessorene utfører ganske enkelt mikrokontroller og signalbehandlingsfunksjoner.
  • Disse brukes til lyd, prosesskontroll, bilindustri, testing, måling, etc.
  • Blackfin-prosessorene brukes i signalbehandlingsapplikasjoner som trådløst bredbånd, mobilkommunikasjon og lyd eller videokompatible Internett-apparater.
  • Blackfin brukes i konvergerende applikasjoner som nettverks- og strømmemedier, digital hjemmeunderholdning, biltelematikk, infotainment, mobil-TV, digital radio, etc.
  • Blackfin-prosessor er en innebygd prosessor som har krafteffektiviteten og den høyeste ytelsen som brukes i applikasjoner der multiformat tale, lyd, video, multi-modus basebånd, bildebehandling, pakkebehandling, sanntidssikkerhet og kontrollbehandling er viktig.

Dermed er dette en oversikt over Blackfin-prosessor – arkitektur, fordeler og dens anvendelser. Denne prosessoren utfører signalbehandling og mikrokontrollerfunksjoner. Her er et spørsmål til deg, hva er en prosessor?