Blackfin-processor: architectuur, functies en toepassingen

Probeer Ons Instrument Voor Het Oplossen Van Problemen





De Blackfin-processor is ontworpen, ontwikkeld en op de markt gebracht via Analog Devices & Intel als Micro Signal Architecture (MSA). De architectuur van deze processor werd aangekondigd in december 2000 en voor het eerst gedemonstreerd op de ESC ( Ingebedde systemen Conference) in juni 2001. Deze Blackfin-processor is voornamelijk ontworpen om te voldoen aan de stroombeperkingen en computervereisten van de huidige ingebedde audio-, video- en communicatietoepassingen. Dit artikel bespreekt een overzicht van een Blackfin-processor – architectuur en haar toepassingen.


Wat is Blackfin-processor?

De Blackfin-processor is een 16- of 32-bits processor microprocessor dat een ingebouwde, fixed-point DSP-functionaliteit bevat die wordt geleverd via 16-bits MAC's (vermenigvuldigen-accumuleert). Deze verwerkers zijn voornamelijk ontworpen voor een gecombineerde processorarchitectuur met laag vermogen die het besturingssysteem kan uitvoeren en tegelijkertijd moeilijke numerieke taken kan uitvoeren, zoals real-time H.264-videocodering.



Deze processor combineert een 32-bits RISC- en dubbele 16-bits MAC-signaalverwerkingsfunctionaliteit door eenvoudig attributen te gebruiken die te vinden zijn in algemene microcontrollers. Dus deze combinatie van verwerkingsattributen stelt Blackfin-processors in staat om even goed te presteren in zowel besturingsverwerking als signaalverwerkingstoepassingen. Deze mogelijkheid vereenvoudigt zowel de implementatietaken van hardware- als softwareontwerp enorm.

  Blackfin-processor
Blackfin-processor

Blackfin-kenmerken:

  • Deze processor heeft een architectuur met een enkele instructieset inclusief verwerkingsprestaties die simpelweg voldoet aan/overtreft het productassortiment van digitale signaalprocessor of DSP voor betere kosten, energie en geheugenefficiëntie.
  • Deze 16- of 32-bits architectuurprocessor maakt opkomende ingebedde toepassingen gewoon mogelijk.
    Multimedia, signaal- en besturingsverwerking binnen een enkele kern.
  • Het verhoogt de productiviteit van ontwikkelaars.
  • Het heeft instelbare prestaties tijdens dynamisch energiebeheer voor stroomverbruik of signaalverwerking.
  • Het wordt zeer snel overgenomen in verschillende ontwerpen die eenvoudig worden ondersteund door verschillende toolchains en besturingssystemen.
  • Het vereist minimale optimalisatie vanwege de ontwikkelomgeving van krachtige software gekoppeld aan kernprestaties.
  • Blackfin-processor ondersteunt toonaangevende ontwikkeltools.
  • De prestaties van deze processor en de helft van de kracht van concurrerende DSP's maken geavanceerde specificaties en nieuwe toepassingen mogelijk.

Blackfin-processorarchitectuur

De Blackfin-processor biedt zowel de functionaliteiten van een microcontroller-eenheid als digitale signaalverwerking binnen een enkele processor door flexibiliteit toe te staan. Deze processor bevat dus een SIMD-processor (single instruction multiple data) met enkele functies zoals variabele lengte RISICO instructies, watchdog timer, on-chip PLL, memory management unit, real-time klok, seriële poorten met 100 Mbps, UART controllers & SPI havens.



De MMU ondersteunt meerdere DMA kanalen om gegevens over te dragen tussen randapparatuur en FLASH-, SDRAM- en SRAM-geheugensubsystemen. Het ondersteunt ook datacaches en configureerbare instructies op de chip. De Blackfin-processor is een eenvoudige hardware die 8-, 16- en 32-bits rekenkundige bewerkingen ondersteunt.

De Blackfin-architectuur is voornamelijk gebaseerd op de architectuur van het microsignaal en deze is gezamenlijk ontwikkeld door ADI (Analog Devices) en Intel, die een 32-bits RISC-instructieset en een 8-bits video-instructieset met dubbele 16-bits multiply-accumulate bevat. (MAC) eenheden.

  PCBWay   Blackfin-processorarchitectuur
Blackfin-processorarchitectuur

Analoge apparaten kunnen een balans bereiken tussen de DSP- en MCU-vereisten via de instructiesetarchitectuur van Blackfin. Over het algemeen wordt de Blackfin-processor gekoppeld aan de krachtige VisualDSP++-softwareontwikkelingstools, maar nu door C of C++ te gebruiken, is het mogelijk om heel gemakkelijk zeer efficiënte code te produceren dan voorheen. Voor real-time vereisten wordt ondersteuning van het besturingssysteem van cruciaal belang, dus de Blackfin ondersteunt een nee. van besturingssystemen en geheugenbescherming. Blackfin-processor wordt geleverd in zowel single-core zoals BF533, BF535 & BF537, als dual-core zoals BF561-modellen.

De Blackfin-processorarchitectuur omvat verschillende randapparatuur op de chip, zoals een PPI (Parallel Peripheral Interface), SPORTS (Serial Ports), SPI (Serial Peripheral Interface), UART (Universal Asynchronous Receiver Transmitter), Timers voor algemeen gebruik, RTC (Real-Time klok), Watchdog-timer, algemene I/O (programmeerbare vlaggen), Controller Area Network (CAN)-interface , Ethernet MAC, Peripheral DMA's -12, Memory to Memory DMA's -2 inclusief Handshake DMA, TWI (Two-Wire Interface) Controller, een Debug of JTAG Interface & Event Handler met 32 Onderbreken Ingangen. Al deze randapparatuur in de architectuur is eenvoudig via verschillende bussen met hoge bandbreedte met de kern verbonden. Daarom volgt hieronder een beschrijving van enkele van deze randapparatuur.

PPI of parallelle perifere interface

De Blackfin-processor levert gewoon een PPI die ook wel bekend staat als Parallel Peripheral Interface. Deze interface is rechtstreeks aangesloten op parallelle analoog naar digitaal en digitaal naar analoog converters, video-encoders en decoders en ook op andere algemene randapparatuur.

Deze interface bevat een speciale invoer-CLK-pin, drie framesynchronisatiepinnen en 16 datapinnen. Hier ondersteunt de input-CLK-pin eenvoudigweg parallelle datasnelheden die gelijk zijn aan de helft van de CLK-snelheid van het systeem. Drie verschillende ITU-R 656-modi ondersteunen alleen actieve video, verticale blanking en volledig veld.

De algemene modi van de PPI zijn geschikt voor een breed scala aan toepassingen voor transmissie en gegevensverzameling. Deze modi zijn dus onderverdeeld in hoofdcategorieën Gegevens ontvangen via intern gegenereerde framesynchronisaties, Gegevensverzending via intern gegenereerde framesynchronisaties, Gegevensoverdracht via extern gegenereerde framesynchronisaties en Gegevens ontvangen via extern gegenereerde framesynchronisaties.

Sport

De Blackfin-processor bevat twee dual-channel synchrone seriële poorten SPORT0 & SPORT1 die worden gebruikt voor seriële en multiprocessor-communicatie. Dit zijn dus snelle en synchrone seriële poorten die worden ondersteund I²S , TDM en diverse andere configureerbare framing-modi om verbinding te maken DAC's , ADC's, FPGA's & andere verwerkers.

SPI of seriële perifere interfacepoort

De Blackfin-processor bevat een SPI-poort waarmee de processor kan communiceren met verschillende SPI-compatibele apparaten. Deze interface gebruikt eenvoudigweg drie pinnen om gegevens te verzenden, datapinnen-2 en één CLK-pin. De geselecteerde invoer- en uitvoerpennen van de SPI-poort geven eenvoudigweg een full-duplex SSI (synchrone seriële interface) die zowel master- als slave-modi en ook multi-master-omgevingen ondersteunt. De baudrate van deze SPI-poort & klokfase of polariteiten is programmeerbaar. Deze poort heeft een ingebouwde DMA-controller die het verzenden/ontvangen van gegevensstromen ondersteunt.

Timers

Blackfin-processor heeft 9 programmeerbare timereenheden. Deze timers genereren interrupts naar de processorkern voor het leveren van periodieke gebeurtenissen die bedoeld zijn voor synchronisatie met de klok van de processor of met een externe signaaltelling.

UART

De term UART staat voor 'universal asynchronous receiver transmitter'-poort. De Blackfin-processor biedt 2-half-duplex UART-poorten, die volledig geschikt zijn voor pc-standaard UART's. Deze poorten bieden gewoon een eenvoudige UART-interface voor andere hosts of randapparatuur om DMA-ondersteunde, half-duplex, asynchrone seriële gegevensoverdracht te bieden.

De UART-poorten bevatten 5 tot 8 databits en 1 of 2 stopbits en ze ondersteunen 2 werkingsmodi zoals geprogrammeerde I/O en DMA. In de eerste modus verzendt of ontvangt de processor gegevens via lezen/schrijven I/O-toegewezen registers, waar de gegevens tweemaal worden gebufferd bij zowel verzenden als ontvangen. In de tweede modus verzendt en ontvangt de DMA-controller gegevens en vermindert het aantal onderbrekingen dat nodig is om gegevens van & naar het geheugen te verzenden.

RTC of realtime klok

De real-time klok van de blackfin-processor biedt eenvoudigweg verschillende functies, zoals een stopwatch, huidige tijd en alarm. De real-time klok wordt dus geklokt met een kristal van 32,768 kHz buiten de Blackfin-processor. De RTC in de processor heeft stroomvoorzieningspennen, die ingeschakeld en geklokt kunnen blijven, zelfs als de rest van de Blackfin-processor zich in een toestand met laag stroomverbruik bevindt. De real-time klok biedt een aantal programmeerbare onderbrekingsopties. De CLK-ingangsfrequentie van 32,768 kHz wordt via een prescaler gescheiden tot een signaal van 1 Hz. Net als bij de andere apparaten kan de real-time klok de Blackfin-processor uit de diepe slaapstand/slaapstand halen.

Waakhond-timer

De Blackfin-processor heeft een 32-bit watchdog-timer, die wordt gebruikt om een ​​software watchdog-functie uit te voeren. Dus de programmeur initialiseert de telwaarde van de timer die de juiste onderbreking mogelijk maakt, en staat vervolgens de timer toe. Daarna moet de software de teller opnieuw laden voordat deze van de geprogrammeerde waarde naar ‘0’ telt.

GPIO of algemene I/O

Een GPIO is een digitale signaalpen die wordt gebruikt als invoer, uitvoer of beide en wordt bestuurd via software. De Blackfin-processor bevat GPIO-pinnen (general-purpose I/O), 48 bidirectioneel over 3 afzonderlijke GPIO-modules zoals PORTFIO, PORTHIO en PORTGIO die zijn verbonden met respectievelijk poort G, poort H en poort F. Elke poortpin voor algemeen gebruik wordt afzonderlijk bestuurd door manipulatie van de status, poortcontrole en interruptregisters zoals GPIO DCR, GPIO CSR, GPIO IMR en GPIO ISR.

Ethernet-MAC

Het Ethernet MAC-randapparaat in de Blackfin-processor levert 10 tot 100 Mb/s tussen een MII (Media Independent Interface) en het perifere subsysteem van Blackfin. De MAC werkt gewoon in zowel de Full-Duplex- als de Half-Duplex-modus. De mediatoegangscontroller wordt intern geklokt vanaf de CLKIN-pin van de processor.

Geheugen

Het geheugen van de Blackfin Processor-architectuur voorziet eenvoudig in geheugenblokken van zowel niveau 1 als niveau 2 bij de implementatie van het apparaat. Het geheugen van L1, zoals gegevens- en instructiegeheugen, is eenvoudigweg rechtstreeks verbonden met de processorkern, werkt op volledige CLK-snelheid van het systeem en biedt maximale systeemprestaties voor kritieke tijdalgoritmesegmenten. Het L2-geheugen is, net als SRAM-geheugen, groter en biedt iets mindere prestaties, maar het is nog steeds sneller in vergelijking met geheugen buiten de chip.

De structuur van het L1-geheugen is geïmplementeerd om de prestaties te bieden die nodig zijn voor het verwerken van signalen en tegelijkertijd programma's in microcontrollers aan te bieden. Dit wordt bereikt door simpelweg toe te staan ​​dat het geheugen L1 wordt gerangschikt als SRAM, cache of anders een combinatie van beide.

Door de cache- en SRAM-programmeermodellen te ondersteunen, wijzen de ontwerpers van het systeem kritieke real-time signaalverwerkingsgegevenssets toe die een lage latentie en hoge bandbreedte nodig hebben in SRAM, terwijl ze real-time besturing of OS-taken opslaan in het cachegeheugen.

Opstartmodi

De Blackfin-processor bevat zes mechanismen voor het automatisch laden van het interne L1-instructiegeheugen na een reset. Dus de verschillende opstartmodi omvatten voornamelijk; Opstartmodus van 8-bits en 16-bits extern flashgeheugen, serieel SPI-geheugen. Het SPI-hostapparaat, UART, serieel TWI-geheugen, TWI Host en presteert vanaf 16-bits extern geheugen, waarbij de opstartreeks wordt omzeild. Voor elk van de eerste 6 opstartmodi wordt eerst een header van 10 bytes gelezen van een extern geheugenapparaat. Dus de kop geeft het nummer aan. aantal te verzenden bytes en het geheugenbestemmingsadres. Verschillende geheugenblokken kunnen via elke opstartreeks worden geladen. Wanneer alle blokken gewoon zijn geladen, begint de uitvoering van het programma vanaf het begin van L1-instructie SRAM.

Adresseringsmodi

De adresseringsmodi van de blackfin-processor bepalen eenvoudig hoe een individu toegang heeft tot geheugen en adressering om een ​​locatie te specificeren. De adresseringsmodi die in de blackfin-processor worden gebruikt, zijn indirecte adressering, autoincrement/decrement, post-modificatie, geïndexeerd met onmiddellijke offset, circulaire buffer en Bit reverse.

Indirecte adressering

In deze modus bevat het adresveld binnen de instructie de locatie van het geheugen of register waar het adres van de efficiënte operand aanwezig is. Deze adressering is ingedeeld in twee categorieën, zoals Register Indirect & Memory Indirect.

Bijvoorbeeld LADEN R1, @300

In de bovenstaande instructie wordt het effectieve adres eenvoudig opgeslagen op geheugenlocatie 300.

Adressering automatisch verhogen/verlagen

Auto-increment-adressering werkt eenvoudig de Pointer- en Index-registers bij na het invoerrecht. De hoeveelheid verhoging hangt voornamelijk af van de grootte van de woordgrootte. 32-bits woordtoegang kan resulteren in de Pointer-update met '4'. Een 16-bits woordtoegang werkt de aanwijzer bij met '2' en een 8-bits woordtoegang werkt de aanwijzer bij met '1'. De leesbewerkingen van zowel 8-bits als 16-bits kunnen duiden op nul-uitbreiding of teken-uitbreiding van de inhoud in het doelregister. Pointerregisters worden voornamelijk gebruikt voor 8-, 16- en 32-bits toegangen, terwijl indexregisters alleen worden gebruikt voor 16- en 32-bits toegangen

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

In de bovenstaande instructie laadt een 16-bits woord in een 32-bits bestemmingsregister vanaf een aangewezen adres via het pointerregister 'P1'. Daarna wordt de aanwijzer verhoogd met 2 en wordt het woord '0' uitgebreid om het 32-bits bestemmingsregister te vullen.

Evenzo werkt automatisch verlagen door het adres na het invoerrecht te verlagen.

Bijvoorbeeld: R0 = [ I2– ] ;

In de bovenstaande instructie laadt een 32-bits waarde in het bestemmingsregister en vermindert het indexregister met 4.

Adressering achteraf wijzigen

Dit type adressering gebruikt gewoon de waarde binnen de Index/Pointer-registers zoals het efficiënte adres. Daarna wijzigt het het met registerinhoud. Indexregisters worden eenvoudig gewijzigd met gewijzigde registers, terwijl pointerregisters worden gewijzigd door andere pointerregisters. Net als bestemmingsregisters ondersteunt Post-modify-type adressering de Pointer-registers niet.

Bijvoorbeeld: R3 = [ P1++P2 ] ;

In de bovenstaande instructie wordt een 32-bits waarde geladen in het 'R3'-register en gevonden in de geheugenlocatie die wordt aangewezen door het' P1'-register. Daarna wordt de waarde binnen het ‘P2’ register opgeteld bij de waarde binnen het P1 register.

Geïndexeerd met onmiddellijke offset

Geïndexeerde adressering stelt programma's eenvoudigweg in staat waarden uit gegevenstabellen te halen. Het Pointer-register wordt gewijzigd door het onmiddellijke veld, daarna wordt het gebruikt als het effectieve adres. De Pointer-registerwaarde wordt dus niet bijgewerkt.

Bijvoorbeeld, als P1 = 0x13, dan zou [P1 + 0x11] efficiënt gelijk zijn aan [0x24], dat geassocieerd is met alle toegangen.

Bit omgekeerde adressering

Voor sommige algoritmen vereisen programma's bit-omgekeerde carry-adressering om resultaten in sequentiële volgorde te verkrijgen, met name voor FFT-berekeningen (Fast Fourier Transform). Om aan de vereisten van deze algoritmen te voldoen, maakt de bit-omgekeerde adresseringsfunctie van Data Address Generators herhaaldelijk het onderverdelen van gegevensreeksen mogelijk en het opslaan van deze gegevens in bit-omgekeerde volgorde.

Circulaire bufferadressering

De Blackfin-processor biedt een functie zoals optionele circulaire adressering die eenvoudig een indexregister verhoogt met een vooraf gedefinieerd bereik van adressen, waarna het automatisch de indexregisters reset om dat bereik te herhalen. Deze functie verbetert dus de prestaties van de invoer-/uitvoerlus door simpelweg de adresindexaanwijzer elke keer te verwijderen.

Circulaire bufferadressering is erg handig bij het herhaaldelijk laden of opslaan van een reeks gegevensblokken met een vaste grootte. De inhoud van de circulaire buffer moet aan deze voorwaarden voldoen:

  • De maximale lengte van de circulaire buffer moet een niet-ondertekend getal zijn met een grootte van minder dan 231.
  • De grootte van de modifier moet onder de lengte van de circulaire buffer liggen.
  • De eerste locatie van de aanwijzer 'I' moet zich in de cirkelvormige buffer bevinden die wordt gedefinieerd door de lengte 'L' en basis 'B'.

Als aan een van de bovenstaande voorwaarden niet wordt voldaan, wordt het gedrag van de processor niet gespecificeerd.

Registreer bestand van Blackfin Processor

De Blackfin-processor bevat drie definitieve registerbestanden zoals; Gegevensregisterbestand, pointerregisterbestand en DAG-register.

  • Het gegevensregisterbestand verzamelt operanden met behulp van de databussen die worden gebruikt voor de rekeneenheden en slaat rekenresultaten op.
  • Het pointerregisterbestand bevat pointers die worden gebruikt voor adresseringsbewerkingen.
  • De DAG-registers beheren cirkelvormige buffers zonder overhead die worden gebruikt voor DSP-bewerkingen.

Blackfin-processor biedt eersteklas energiebeheer en prestaties. Deze zijn ontworpen met een laagspannings- en laagvermogenontwerpmethodologie die in staat is om zowel de spanning als de bedrijfsfrequentie te variëren om het algehele stroomverbruik aanzienlijk te verminderen. Dit kan dus resulteren in een aanzienlijke vermindering van het stroomverbruik, in vergelijking met alleen het wijzigen van de werkfrequentie. Dit verlengt dus gewoon de batterijduur voor handige apparaten.

De Blackfin-processor ondersteunt verschillende externe geheugens zoals DDR-SDRAM, SDRAM, NAND-flash, SRAM en NOR-flash. Sommige Blackfin-processors bevatten ook interfaces voor massaopslag, zoals SD/SDIO en ATAPI. Ze kunnen ook 100 megabyte geheugen ondersteunen binnen de ruimte van extern geheugen.

Voordelen

De voordelen van de Blackfin-processor omvatten het volgende.

  • Blackfin-processors bieden basisvoordelen voor de ontwerper van het systeem.
  • Blackfin-processor biedt softwareflexibiliteit en schaalbaarheid voor convergente toepassingen zoals audio-, video-, spraak- en beeldverwerking in multiformat, real-time beveiliging, besturingsverwerking en multimode basisbandpakketverwerking
  • De efficiënte besturingsverwerkingscapaciteit en krachtige signaalverwerking maken verschillende nieuwe markten en toepassingen mogelijk.
  • Met DPM (Dynamic Power Management) kan de systeemontwerper met name het stroomverbruik van het apparaat aanpassen aan de vereisten van het eindsysteem.
  • Deze processors verkorten de ontwikkeltijd en -kosten aanzienlijk.

toepassingen

De toepassingen van de Blackfin-processor omvatten het volgende.

  • Blackfin-processors zijn ideaal voor veel toepassingen, zoals ADAS (automotive geavanceerde rijhulpsystemen) , bewakings- of beveiligingssystemen & industriële machinevisie.
  • Blackfin-toepassingen omvatten servomotorbesturingssystemen, auto-elektronica, bewakingssystemen en multimedia-consumentenapparaten.
  • Deze processors voeren eenvoudig microcontroller- en signaalverwerkingsfuncties uit.
  • Deze worden gebruikt voor audio, procescontrole, automotive, testen, meten, etc.
  • De Blackfin-processors worden gebruikt in signaalverwerkingstoepassingen zoals draadloze breedband, mobiele communicatie en audio- of video-compatibele internettoestellen.
  • Blackfin wordt gebruikt in convergente toepassingen zoals genetwerkte en streaming media, digital home entertainment, automotive telematica, infotainment, mobiele tv, digitale radio, enz.
  • Blackfin-processor is een ingebedde processor met de energie-efficiëntie en de hoogste prestaties die worden gebruikt in toepassingen waar multi-format spraak, audio, video, multi-mode basisband, beeldverwerking, pakketverwerking, real-time beveiliging en besturingsverwerking belangrijk zijn.

Dit is dus een overzicht van Blackfin Processor – architectuur, voordelen en toepassingen. Deze processor voert signaalverwerking en microcontrollerfuncties uit. Hier is een vraag voor u, wat is een processor?