Procesor Blackfin: arhitektura, funkcije in njegove aplikacije

Preizkusite Naš Instrument Za Odpravo Težav





Procesor Blackfin je bil zasnovan, razvit in tržen prek Analog Devices & Intel kot Micro Signal Architecture (MSA). Arhitektura tega procesorja je bila objavljena decembra 2000 in prvič predstavljena na ESC ( Vgrajeni sistemi Conference) junija 2001. Ta procesor Blackfin je bil v glavnem zasnovan za doseganje omejitev moči in računalniških zahtev sedanjih vdelanih avdio, video in komunikacijskih aplikacij. Ta članek obravnava pregled a Blackfin procesor – arhitektura in njene aplikacije.


Kaj je procesor Blackfin?

Procesor Blackfin je 16 ali 32-bitni mikroprocesor ki vključuje vgrajeno funkcijo DSP s fiksno točko, dobavljeno prek 16-bitnih MAC (množenje–seštevanje). te procesorji so bili v glavnem zasnovani za kombinirano procesorsko arhitekturo z nizko porabo energije, ki lahko poganja OS, hkrati pa opravlja težke numerične naloge, kot je kodiranje videa H.264 v realnem času.



Ta procesor združuje 32-bitno RISC in dvojno 16-bitno MAC funkcijo obdelave signalov z enostavno uporabo atributov, ki jih najdete v mikrokontrolerjih za splošno uporabo. Tako ta kombinacija atributov obdelave omogoča procesorjem Blackfin, da dosegajo podobne rezultate v aplikacijah za obdelavo krmiljenja in obdelavo signalov. Ta zmožnost močno poenostavi naloge implementacije načrtovanja strojne in programske opreme.

  Blackfin procesor
Blackfin procesor

Lastnosti Blackfina:

  • Ta procesor ima arhitekturo z enim naborom ukazov, vključno z zmogljivostjo obdelave, ki preprosto dosega/premaga paleto izdelkov digitalni signalni procesor ali DSP za boljšo ceno, moč in pomnilniško učinkovitost.
  • Ta 16- ali 32-bitni arhitekturni procesor preprosto omogoča prihajajoče vdelane aplikacije.
    Obdelava večpredstavnosti, signalov in krmiljenja znotraj enega jedra.
  • Poveča produktivnost razvijalcev.
  • Ima nastavljivo zmogljivost skozi dinamično upravljanje porabe energije za porabo energije ali obdelavo signalov.
  • Zelo hitro je sprejet v različne oblike, ki jih preprosto podpira več orodnih verig in operacijskih sistemov.
  • Zahteva minimalno optimizacijo zaradi razvojnega okolja zmogljive programske opreme skupaj z zmogljivostjo jedra.
  • Procesor Blackfin podpira vodilna razvojna orodja v industriji.
  • Zmogljivost tega procesorja in polovica moči konkurenčnih DSP omogoča napredne specifikacije in nove aplikacije.

Arhitektura procesorja Blackfin

Procesor Blackfin zagotavlja tako funkcionalnost mikrokontrolerske enote kot digitalna obdelava signalov znotraj enega samega procesorja z omogočanjem prilagodljivosti. Torej ta procesor vključuje SIMD (single instruction multiple data) procesor, vključno z nekaterimi funkcijami, kot je spremenljiva dolžina TVEGANJE navodila, nadzorni časovnik, PLL na čipu, enota za upravljanje pomnilnika, ura realnega časa, serijska vrata s 100 Mbps, UART krmilniki & SPI pristanišča.



MMU podpira več DMA kanali za prenos podatkov med perifernimi napravami in pomnilniškimi podsistemi FLASH, SDRAM in SRAM. Podpira tudi predpomnilnike podatkov in nastavljiva navodila na čipu. Procesor Blackfin je preprosta strojna oprema, ki podpira 8, 16 in 32-bitne aritmetične operacije.

Arhitektura Blackfin v glavnem temelji na arhitekturi mikro signala, ki sta jo skupaj razvila ADI (Analog Devices) in Intel, ki vključuje 32-bitni nabor navodil RISC in 8-bitni nabor video navodil z dvojnim 16-bitnim množenjem-akumulacijo (MAC) enote.

  PCBWay   Arhitektura procesorja Blackfin
Arhitektura procesorja Blackfin

Analogne naprave so sposobne doseči ravnotežje med zahtevami DSP in MCU prek arhitekture nabora navodil Blackfin. Na splošno je procesor Blackfin povezan z zmogljivimi orodji za razvoj programske opreme VisualDSP++, zdaj pa je z uporabo C ali C++ mogoče izdelati zelo učinkovito kodo zelo preprosto kot prej. Za zahteve v realnem času postane podpora operacijskega sistema kritična, zato Blackfin podpira št. operacijskih sistemov in zaščite pomnilnika. Procesor Blackfin je na voljo v enojedrnih, kot so BF533, BF535 in BF537, ter dvojedrnih, kot so modeli BF561.

Arhitektura procesorja Blackfin vključuje različne periferne naprave na čipu, kot so PPI (vzporedni periferni vmesnik), SPORTS (zaporedna vrata), SPI (zaporedni periferni vmesnik), UART (univerzalni asinhroni sprejemni oddajnik), časovniki za splošne namene, RTC (realni čas). Ura), časovnik Watchdog, V/I za splošne namene (programabilne zastavice), Vmesnik krmilnega omrežja (CAN). , Ethernet MAC, Peripheral DMAs -12, Memory to Memory DMAs -2 vključno z Handshake DMA, TWI (Two-Wire Interface) Controller, Debug oz. JTAG Vmesnik in upravljavec dogodkov z 32 Prekiniti Vložki. Vse te periferne enote v arhitekturi so preprosto povezane prek različnih vodil z visoko pasovno širino do jedra. Zato je spodaj podan opis nekaterih od teh zunanjih naprav.

PPI ali vzporedni periferni vmesnik

Procesor Blackfin preprosto zagotavlja PPI, ki je znan tudi kot vzporedni periferni vmesnik. Ta vmesnik je neposredno povezan z vzporednimi analogno-digitalnimi in digitalno-analognimi pretvorniki, video kodirniki in dekodirniki ter tudi z drugimi zunanjimi napravami za splošno uporabo.

Ta vmesnik vključuje namenski vhodni zatič CLK, tri zatiče za sinhronizacijo okvirjev in 16 podatkovnih zatičev. Tu vhodni pin CLK preprosto podpira vzporedne podatkovne hitrosti, ki so enake polovici sistemske hitrosti CLK. Trije različni načini ITU-R 656 podpirajo samo aktivni video, navpično praznjenje in celotno polje.

Splošni načini PPI so podani tako, da ustrezajo širokemu spektru aplikacij za prenos in zajem podatkov. Ti načini so torej ločeni v glavne kategorije Prejemanje podatkov prek interno ustvarjenih okvirnih sinhronizacij, Prenos podatkov prek interno ustvarjenih okvirnih sinhronizacij, Prenos podatkov prek zunanje ustvarjenih okvirnih sinhronizacij in Podatki, prejeti prek zunanje ustvarjenih okvirnih sinhronizacij.

ŠPORT

Procesor Blackfin vključuje dve dvokanalni sinhroni serijski vrati SPORT0 in SPORT1, ki se uporabljata za serijsko in večprocesorsko komunikacijo. To so torej hitra in sinhrona serijska vrata, ki podpirajo I²S , TDM & različni drugi nastavljivi načini okvirjanja za povezovanje DAC-ji , ADC, FPGA in drugi procesorji.

SPI ali vrata serijskega perifernega vmesnika

Procesor Blackfin vključuje vrata SPI, ki procesorju omogočajo komunikacijo z različnimi napravami, združljivimi s SPI. Ta vmesnik preprosto uporablja tri zatiče za prenos podatkov, podatkovne zatiče-2 in en zatič CLK. Izbirni vhodni in izhodni zatiči vrat SPI preprosto dajejo full-duplex SSI (sinhroni serijski vmesnik), ki podpira tako glavne in podrejene načine kot tudi večglavna okolja. Hitrost prenosa teh vrat SPI in fazo ali polarnosti ure je mogoče programirati. Ta vrata imajo vgrajen krmilnik DMA, ki podpira oddajanje/sprejemanje podatkovnih tokov.

Časovniki

Procesor Blackfin ima 9 programabilnih časovnih enot. Ti časovniki ustvarjajo prekinitve v jedru procesorja za zagotavljanje periodičnih dogodkov, namenjenih sinhronizaciji z uro procesorja ali s štetjem zunanjih signalov.

UART

Izraz UART pomeni vrata »univerzalni asinhroni sprejemnik oddajnik«. Procesor Blackfin ponuja 2-poldupleksna vrata UART, ki so popolnoma primerna za standardne UART-je za osebni računalnik. Ta vrata preprosto zagotavljajo osnovni vmesnik UART drugim gostiteljem ali zunanjim napravam za zagotavljanje DMA podprtih poldupleksnih asinhronih serijskih prenosov podatkov.

Vrata UART vključujejo 5 do 8 podatkovnih bitov in 1 ali 2 stop bita in podpirajo 2 načina delovanja, kot sta programirani V/I in DMA. V prvem načinu procesor oddaja ali sprejema podatke prek bralnih/pisanih V/I-preslikanih registrov, pri čemer so podatki dvakrat medpomnjeni tako pri oddajanju kot pri sprejemanju. V drugem načinu krmilnik DMA prenaša in sprejema podatke ter zmanjšuje število prekinitev, potrebnih za prenos podatkov iz & v pomnilnik.

RTC ali ura realnega časa

Ura v realnem času procesorja blackfin preprosto ponuja različne funkcije, kot so štoparica, trenutni čas in alarm. Tako je ura realnega časa taktna s kristalom 32,768 kHz, ki je zunaj procesorja Blackfin. RTC v procesorju ima zatiče za napajanje, ki lahko ostanejo napajani in taktni, tudi ko je preostali del procesorja Blackfin v stanju nizke porabe energije. Ura realnega časa ponuja številne možnosti programiranja prekinitev. Vhodna frekvenca CLK 32,768 kHz se prek preddelilnika loči na signal 1 Hz. Podobno kot pri drugih napravah lahko ura realnega časa prebudi procesor Blackfin iz načina globokega spanja/načina mirovanja.

Watchdog Timer

Procesor Blackfin ima 32-bitni nadzorni časovnik, ki se uporablja za izvajanje programske funkcije čuvaja. Tako programator inicializira vrednost števca časovnika, ki omogoča pravilno prekinitev, in nato dovoli časovnik. Po tem mora programska oprema znova naložiti števec, preden začne šteti od programirane vrednosti do '0'.

GPIO ali V/I za splošne namene

GPIO je digitalni signalni zatič, ki se uporablja kot vhod, izhod ali oboje in se nadzira s programsko opremo. Procesor Blackfin vključuje nožice GPIO (splošni V/I), 48-bi-directional prek 3-ločenih modulov GPIO, kot so PORTFIO, PORTHIO in PORTGIO, ki so povezani z vrati G, vrati H in vrati F. Vsak zatič vrat za splošno uporabo se nadzoruje posamično z manipulacijo statusa, nadzora vrat in registrov prekinitev, kot so GPIO DCR, GPIO CSR, GPIO IMR in GPIO ISR.

Ethernet MAC

Zunanja enota Ethernet MAC v procesorju Blackfin zagotavlja 10 do 100 Mb/s med MII (medijsko neodvisnim vmesnikom) in perifernim podsistemom Blackfin. MAC preprosto deluje tako v polnem kot poldupleksnem načinu. Krmilnik za dostop do medijev je interno taktiran s procesorjevega priključka CLKIN.

Spomin

Pomnilnik arhitekture procesorja Blackfin preprosto zagotavlja pomnilniške bloke ravni 1 in 2 pri izvedbi naprave. Pomnilnik L1, kot je pomnilnik podatkov in navodil, je preprosto neposredno povezan z jedrom procesorja, deluje s celotno sistemsko hitrostjo CLK in zagotavlja največjo zmogljivost sistema za kritične segmente časovnega algoritma. Pomnilnik L2, kot je pomnilnik SRAM, je večji, kar zagotavlja nekoliko zmanjšano zmogljivost, vendar je še vedno hitrejši v primerjavi s pomnilnikom zunaj čipa.

Struktura pomnilnika L1 je implementirana tako, da zagotavlja zmogljivost, potrebno za obdelavo signalov, medtem ko ponuja programe v mikrokontrolerjih. To dosežemo tako, da preprosto dovolimo, da je pomnilnik L1 urejen kot SRAM, predpomnilnik ali kombinacija obojega.

S podporo za modele programiranja predpomnilnika in SRAM oblikovalci sistema dodelijo kritične nabore podatkov za obdelavo signalov v realnem času, ki potrebujejo nizko zakasnitev in visoko pasovno širino, v SRAM, medtem ko nadzor v realnem času ali naloge OS shranijo v predpomnilnik.

Načini zagona

Procesor Blackfin vključuje šest mehanizmov za samodejno nalaganje notranjega pomnilnika ukazov L1 po ponastavitvi. Torej različni načini zagona vključujejo predvsem; Način zagona iz 8-bitnega in 16-bitnega zunanjega bliskovnega pomnilnika, serijski pomnilnik SPI. Gostiteljska naprava SPI, UART, serijski pomnilnik TWI, gostitelj TWI in delujejo iz 16-bitnega zunanjega pomnilnika, mimo zagonske serije. Za vsakega od prvih 6 načinov zagona se najprej prebere 10-bajtna glava iz zunanje pomnilniške naprave. Torej, glava označuje št. bajtov za prenos in ciljni naslov pomnilnika. Skozi katero koli zagonsko serijo se lahko naloži več pomnilniških blokov. Ko so vsi bloki preprosto naloženi, se izvajanje programa začne od začetka ukaza L1 SRAM.

Načini naslavljanja

Načini naslavljanja procesorja blackfin preprosto določajo, kako mora posameznik dostopati do pomnilnika in naslavljati lokacijo. Načini naslavljanja, ki se uporabljajo v procesorju blackfin, so posredno naslavljanje, samodejno povečevanje/zmanjševanje, naknadno spreminjanje, indeksirano s takojšnjim odmikom, krožni medpomnilnik in obračanje bitov.

Posredno naslavljanje

V tem načinu naslovno polje znotraj ukaza vključuje lokacijo pomnilnika ali registra, kjer koli je prisoten naslov učinkovitega operanda. To naslavljanje je razvrščeno v dve kategoriji, kot sta posredno registriranje in posredno pomnilnik.

Na primer LOAD R1, @300

V zgornjem navodilu je efektivni naslov preprosto shranjen na pomnilniški lokaciji 300.

Samodejno povečanje/zmanjšanje naslavljanja

Naslavljanje s samodejnim prirastkom preprosto posodobi kazalec in indeksne registre po pravici do vnosa. Količina prirastka je v glavnem odvisna od velikosti velikosti besede. 32-bitni dostop do besed lahko povzroči posodobitev kazalca s »4«. 16-bitni besedni dostop posodobi kazalec z '2', 8-bitni besedni dostop pa posodobi kazalec z '1'. Operacije branja tako 8-bitnih kot 16-bitnih lahko nakazujejo razširitev z ničlo/razširitev z znakom vsebine v ciljni register. Kazalni registri se večinoma uporabljajo za 8-, 16- in 32-bitne dostope, medtem ko se indeksni registri uporabljajo samo za 16- in 32-bitne dostope

Na primer: R0 = W [ P1++ ] (Z);

V zgornjem navodilu se 16-bitna beseda naloži v 32-bitni ciljni register s koničastega naslova prek kazalnega registra 'P1'. Po tem se kazalec poveča za 2 in beseda se razširi na '0', da zapolni 32-bitni ciljni register.

Podobno deluje samodejna dekrementacija tako, da zmanjša naslov za pravico do vstopa.

Na primer: R0 = [ I2– ] ;

V zgornjem navodilu se 32-bitna vrednost naloži v ciljni register in zmanjša indeksni register za 4.

Naslavljanje po spremembi

Ta vrsta naslavljanja preprosto uporablja vrednost v registrih indeksa/kazalca kot učinkovit naslov. Nato ga spremeni z vsebino registra. Indeksni registri se preprosto spremenijo s spremenjenimi registri, medtem ko se kazalni registri spremenijo z drugimi kazalnimi registri. Tako kot ciljni registri tudi naslavljanje tipa po spremembi ne podpira kazalnih registrov.

Na primer: R3 = [ P1++P2 ] ;

V zgornjem navodilu je 32-bitna vrednost naložena v register 'R3' in najdena znotraj lokacije pomnilnika, ki jo kaže register 'P1'. Po tem se vrednost v registru 'P2' doda vrednosti v registru P1.

Indeksirano s takojšnjim odmikom

Indeksirano naslavljanje preprosto dovoljuje programom, da dobijo vrednosti iz podatkovnih tabel. Kazalec register se spremeni s takojšnjim poljem, nato pa se uporablja kot efektivni naslov. Torej vrednost registra kazalca ni posodobljena.

Na primer, če je P1 = 0x13, bi bil [P1 + 0x11] učinkovito enakovreden [0x24], ki je povezan z vsemi dostopi.

Bitno obratno naslavljanje

Za nekatere algoritme programi zahtevajo bitno obrnjeno naslavljanje prenosa, da dobijo rezultate v zaporednem vrstnem redu, zlasti za izračune FFT (hitra Fourierjeva transformacija). Za izpolnjevanje teh zahtev algoritmov funkcija bitno obrnjenega naslavljanja generatorjev podatkovnih naslovov vedno znova omogoča razdelitev nizov podatkov in shranjevanje teh podatkov v bitno obrnjenem vrstnem redu.

Naslavljanje krožnega medpomnilnika

Procesor Blackfin ponuja funkcijo, kot je izbirno krožno naslavljanje, ki preprosto poveča indeksni register za vnaprej določen obseg naslovov, nato pa samodejno ponastavi indeksne registre, da ponovi ta obseg. Tako ta funkcija poveča zmogljivost vhodno/izhodne zanke tako, da vsakič preprosto odstrani kazalec indeksa naslova.

Naslavljanje krožnega medpomnilnika je zelo uporabno pri ponavljajočem se nalaganju ali shranjevanju niza podatkovnih blokov fiksne velikosti. Vsebina krožnega medpomnilnika mora izpolnjevati te pogoje:

  • Največja dolžina krožnega medpomnilnika mora biti število brez predznaka z velikostjo pod 231.
  • Velikost modifikatorja mora biti pod dolžino krožnega medpomnilnika.
  • Prva lokacija kazalca 'I' mora biti v krožnem medpomnilniku, ki je določen z dolžino 'L' in osnovo 'B'.

Če kateri koli od zgornjih pogojev ni izpolnjen, vedenje procesorja ni določeno.

Registrska datoteka procesorja Blackfin

Procesor Blackfin vključuje tri dokončne registrske datoteke, kot so; Datoteka podatkovnega registra, datoteka kazalnega registra in register DAG.

  • Datoteka podatkovnega registra zbira operande z uporabo podatkovnih vodil, ki se uporabljajo za računske enote, in shranjuje računske rezultate.
  • Datoteka registra kazalcev vključuje kazalce, ki se uporabljajo za operacije naslavljanja.
  • Registri DAG upravljajo krožne medpomnilnike z ničelnimi stroški, ki se uporabljajo za operacije DSP.

Procesor Blackfin zagotavlja prvovrstno upravljanje porabe energije in zmogljivost. Ti so zasnovani z metodologijo načrtovanja nizke napetosti in nizke porabe energije, ki lahko spreminja tako napetost kot delovno frekvenco, da znatno zmanjša skupno porabo energije. To lahko povzroči znatno zmanjšanje izkoriščenosti energije v primerjavi s samo spremembo frekvence delovanja. To preprosto omogoča daljšo življenjsko dobo baterije za priročne naprave.

Procesor Blackfin podpira različne zunanje pomnilnike, kot so DDR-SDRAM, SDRAM, NAND flash, SRAM & NOR flash. Nekateri procesorji Blackfin vključujejo tudi vmesnike za množično shranjevanje, kot sta SD/SDIO in ATAPI. Podpirajo lahko tudi 100 megabajtov pomnilnika znotraj prostora zunanjega pomnilnika.

Prednosti

The prednosti procesorja Blackfin vključujejo naslednje.

  • Procesorji Blackfin zagotavljajo osnovne prednosti oblikovalcu sistema.
  • Procesor Blackfin ponuja prilagodljivost programske opreme in razširljivost za konvergentne aplikacije, kot so obdelava zvoka, videa, glasu in slik v več formatih, varnost v realnem času, obdelava nadzora in obdelava paketov v več načinih osnovnega pasu
  • Učinkovita zmogljivost obdelave krmiljenja in visokozmogljiva obdelava signalov omogočata različne nove trge in aplikacije.
  • DPM (Dynamic Power Management) omogoča oblikovalcu sistema, da posebej prilagodi porabo energije naprave glede na zahteve končnega sistema.
  • Ti procesorji močno skrajšajo razvojni čas in stroške.

Aplikacije

The aplikacije procesorja Blackfin vključujejo naslednje.

  • Procesorji Blackfin so idealni za številne aplikacije, npr ADAS (avtomobilski napredni sistemi za pomoč voznikom) , nadzorni ali varnostni sistemi & industrijski strojni vid.
  • Aplikacije Blackfin vključujejo krmilne sisteme servo motorjev, avtomobilsko elektroniko, nadzorne sisteme in multimedijske potrošniške naprave.
  • Ti procesorji preprosto izvajajo funkcije mikrokrmilnika in obdelave signalov.
  • Uporabljajo se za zvok, nadzor procesov, avtomobilsko industrijo, testiranje, merjenje itd.
  • Procesorji Blackfin se uporabljajo v aplikacijah za obdelavo signalov, kot so širokopasovne brezžične povezave, mobilne komunikacije ter internetne naprave, ki podpirajo zvok ali video.
  • Blackfin se uporablja v konvergentnih aplikacijah, kot so omrežni in pretočni mediji, digitalna domača zabava, avtomobilska telematika, infotainment, mobilna TV, digitalni radio itd.
  • Procesor Blackfin je vgrajeni procesor, ki ima energijsko učinkovitost in najvišjo zmogljivost, ki se uporablja v aplikacijah, kjer so pomembni večformatni glas, zvok, video, večnačinski osnovni pas, obdelava slik, obdelava paketov, varnost v realnem času in obdelava nadzora.

Torej, to je pregled procesorja Blackfin – arhitektura, prednosti in njene aplikacije. Ta procesor izvaja obdelavo signalov in funkcije mikrokrmilnika. Tukaj je vprašanje za vas, kaj je procesor?