Procesor Blackfin: architektura, funkcje i zastosowania

Wypróbuj Nasz Instrument Do Eliminowania Problemów





Procesor Blackfin został zaprojektowany, opracowany i wprowadzony na rynek przez Analog Devices & Intel jako Micro Signal Architecture (MSA). Architektura tego procesora została ogłoszona w grudniu 2000 roku i po raz pierwszy zademonstrowana na ESC ( Systemy wbudowane Conference) w czerwcu 2001. Ten procesor Blackfin został zaprojektowany głównie w celu sprostania ograniczeniom mocy i wymaganiom obliczeniowym obecnych wbudowanych aplikacji audio, wideo i komunikacyjnych. W tym artykule omówiono przegląd a Procesor Blackfin – architektura i jej zastosowania.


Co to jest procesor Blackfin?

Procesor Blackfin jest 16- lub 32-bitowy mikroprocesor który obejmuje wbudowaną funkcję DSP punktu stałego dostarczaną przez 16-bitowe MAC (mnożenie-akumulacja). Te procesory zostały zaprojektowane głównie z myślą o połączonej architekturze procesora o niskim poborze mocy, która może obsługiwać system operacyjny, jednocześnie obsługując trudne zadania numeryczne, takie jak kodowanie wideo H.264 w czasie rzeczywistym.



Procesor ten łączy w sobie 32-bitową architekturę RISC i podwójną 16-bitową funkcję przetwarzania sygnału MAC dzięki łatwemu wykorzystaniu atrybutów, które można znaleźć w mikrokontrolerach ogólnego przeznaczenia. Tak więc ta kombinacja atrybutów przetwarzania pozwala procesorom Blackfin osiągać podobne wyniki zarówno w zastosowaniach związanych z przetwarzaniem sterowania, jak i przetwarzaniem sygnałów. Ta umiejętność znacznie upraszcza zarówno zadania implementacyjne związane z projektowaniem sprzętu, jak i oprogramowania.

  Procesor Blackfin
Procesor Blackfin

Funkcje Blackfin:

  • Ten procesor ma architekturę z pojedynczym zestawem instrukcji, w tym wydajność przetwarzania, która po prostu spełnia/przebija gamę produktów cyfrowy procesor sygnałowy lub DSP, aby zapewnić lepszą wydajność kosztową, energetyczną i pamięciową.
  • Ten procesor o architekturze 16 lub 32-bitowej po prostu obsługuje nadchodzące aplikacje wbudowane.
    Przetwarzanie multimediów, sygnałów i sterowania w jednym rdzeniu.
  • Zwiększa produktywność programistów.
  • Ma regulowaną wydajność w ramach dynamicznego zarządzania energią w zakresie zużycia energii lub przetwarzania sygnału.
  • Jest bardzo szybko adaptowany do różnych projektów, które są po prostu obsługiwane przez kilka łańcuchów narzędzi, a także systemy operacyjne.
  • Wymaga minimalnej optymalizacji ze względu na środowisko programistyczne potężnego oprogramowania w połączeniu z podstawową wydajnością.
  • Procesor Blackfin obsługuje wiodące w branży narzędzia programistyczne.
  • Wydajność tego procesora i połowa mocy konkurencyjnych procesorów DSP umożliwia zaawansowane specyfikacje i nowe aplikacje.

Architektura procesora Blackfin

Procesor Blackfin zapewnia zarówno funkcjonalność mikrokontrolera, jak i przetwarzanie sygnału cyfrowego w ramach jednego procesora, zapewniając elastyczność. Tak więc ten procesor zawiera procesor SIMD (pojedyncza instrukcja wielu danych), w tym niektóre funkcje, takie jak zmienna długość RYZYKO instrukcje, watchdog timer, on-chip PLL, jednostka zarządzania pamięcią, zegar czasu rzeczywistego, porty szeregowe o przepustowości 100 Mb/s, UART kontrolery i SPI porty.



MMU obsługuje wiele DMA kanały do ​​przesyłania danych między urządzeniami peryferyjnymi i podsystemami pamięci FLASH, SDRAM i SRAM. Obsługuje również pamięci podręczne danych i konfigurowalne instrukcje na chipie. Procesor Blackfin to prosty sprzęt obsługujący 8, 16 i 32-bitowe operacje arytmetyczne.

Architektura Blackfin opiera się głównie na architekturze mikrosygnału i została opracowana wspólnie przez ADI (Analog Devices) i Intel, która obejmuje 32-bitowy zestaw instrukcji RISC i 8-bitowy zestaw instrukcji wideo z podwójną 16-bitową mnożnikową akumulacją (MAC).

  PCBWay   Architektura procesora Blackfin
Architektura procesora Blackfin

Urządzenia analogowe są w stanie osiągnąć równowagę między wymaganiami DSP i MCU dzięki architekturze zestawu instrukcji Blackfin. Ogólnie rzecz biorąc, procesor Blackfin jest połączony z potężnymi narzędziami do tworzenia oprogramowania VisualDSP++, ale teraz, używając C lub C++, możliwe jest tworzenie wysoce wydajnego kodu w znacznie łatwiejszy sposób niż wcześniej. W przypadku wymagań w czasie rzeczywistym obsługa systemu operacyjnego staje się krytyczna, więc Blackfin obsługuje nie. systemów operacyjnych i ochrony pamięci. Procesor Blackfin jest dostępny zarówno w wersji jednordzeniowej, jak BF533, BF535 i BF537, jak i dwurdzeniowej, jak BF561.

Architektura procesora Blackfin obejmuje różne wbudowane urządzenia peryferyjne, takie jak PPI (równoległy interfejs peryferyjny), SPORTS (porty szeregowe), SPI (interfejs szeregowy urządzeń peryferyjnych), UART (uniwersalny asynchroniczny nadajnik odbiornika), zegary ogólnego przeznaczenia, RTC (czas rzeczywisty Zegar), Watchdog timer, We/Wy ogólnego przeznaczenia (programowalne flagi), Interfejs sieci kontrolera (CAN). , Ethernet MAC, peryferyjne DMA -12, Memory to Memory DMA -2, w tym Handshake DMA, kontroler TWI (interfejs dwuprzewodowy), debugowanie lub JTAG Interfejs i obsługa zdarzeń z 32 Przerwać Wejścia. Wszystkie te urządzenia peryferyjne w architekturze są po prostu połączone z rdzeniem różnymi magistralami o dużej przepustowości. Tak więc opis niektórych z tych urządzeń peryferyjnych znajduje się poniżej.

PPI lub równoległy interfejs peryferyjny

Procesor Blackfin po prostu zapewnia PPI, który jest również znany jako równoległy interfejs peryferyjny. Ten interfejs jest bezpośrednio podłączony do równoległych konwerterów analogowo-cyfrowych i cyfrowo-analogowych, koderów wideo i dekoderów, a także do innych urządzeń peryferyjnych ogólnego przeznaczenia.

Ten interfejs zawiera dedykowany pin wejściowy CLK, trzy piny synchronizacji ramek i 16 pinów danych. Tutaj wejściowy pin CLK po prostu obsługuje równoległe szybkości transmisji danych równe połowie szybkości systemowej CLK. Trzy różne tryby ITU-R 656 obsługują tylko aktywne wideo, pionowe wygaszanie i pełne pole.

Tryby ogólnego przeznaczenia PPI są dostosowane do wielu różnych aplikacji do transmisji i przechwytywania danych. Tryby te są podzielone na główne kategorie Odbieranie danych poprzez wewnętrznie generowane synchronizacje ramek, Transmisja danych poprzez wewnętrznie generowane synchronizacje ramek, Transmisja danych poprzez zewnętrznie generowane synchronizacje ramek i Dane odbierane poprzez zewnętrznie generowane synchronizacje ramek.

Sporty

Procesor Blackfin zawiera dwa dwukanałowe synchroniczne porty szeregowe SPORT0 i SPORT1 używane do komunikacji szeregowej i wieloprocesorowej. Są to więc szybkie i synchroniczne porty szeregowe, które obsługują I²S , TDM i różne inne konfigurowalne tryby kadrowania do łączenia przetworniki cyfrowo-analogowe , ADC, układy FPGA i inne procesory.

SPI lub port szeregowego interfejsu peryferyjnego

Procesor Blackfin zawiera port SPI, który umożliwia procesorowi komunikację z różnymi urządzeniami kompatybilnymi z SPI. Ten interfejs po prostu wykorzystuje trzy piny do przesyłania danych, piny danych-2 i jeden pin CLK. Wybrane piny wejściowe i wyjściowe portu SPI po prostu zapewniają pełny dupleks SSI (synchroniczny interfejs szeregowy), który obsługuje tryby master i slave, a także środowiska multi-master. Szybkość transmisji tego portu SPI i fazy zegara lub polaryzacji jest programowalna. Ten port ma wbudowany kontroler DMA, który obsługuje przesyłanie/odbieranie strumieni danych.

Timery

Procesor Blackfin posiada 9 programowalnych timerów. Te zegary generują przerwania do rdzenia procesora w celu dostarczania okresowych zdarzeń przeznaczonych do synchronizacji z zegarem procesora lub licznikiem sygnałów zewnętrznych.

UART

Termin UART oznacza port „uniwersalny asynchroniczny nadajnik odbiornika”. Procesor Blackfin zapewnia 2 porty UART w trybie półdupleksowym, które doskonale współpracują ze standardowymi układami UART komputerów PC. Porty te po prostu zapewniają podstawowy interfejs UART innym hostom lub urządzeniom peryferyjnym, aby zapewnić obsługiwane przez DMA, półdupleksowe, asynchroniczne szeregowe transfery danych.

Porty UART zawierają od 5 do 8 bitów danych i 1 lub 2 bity stopu i obsługują 2 tryby działania, takie jak zaprogramowane wejścia/wyjścia i DMA. W pierwszym trybie procesor przesyła lub odbiera dane poprzez odczytywanie/zapisywanie rejestrów mapowanych we/wy, gdzie dane są buforowane dwukrotnie zarówno podczas nadawania, jak i odbierania. W drugim trybie kontroler DMA wysyła i odbiera dane oraz zmniejsza liczbę przerwań niezbędnych do przesłania danych z & do pamięci.

RTC lub zegar czasu rzeczywistego

Zegar czasu rzeczywistego procesora Blackfin zapewnia po prostu różne funkcje, takie jak stoper, aktualny czas i alarm. Tak więc zegar czasu rzeczywistego jest taktowany kryształem 32,768 kHz znajdującym się poza procesorem Blackfin. RTC w procesorze ma styki zasilacza, które mogą pozostać zasilane i taktowane, nawet gdy reszta procesora Blackfin jest w stanie niskiego zużycia energii. Zegar czasu rzeczywistego zapewnia szereg programowalnych opcji przerwań. Wejściowa częstotliwość CLK 32,768 kHz jest rozdzielana do sygnału 1 Hz przez Preskaler. Podobnie jak inne urządzenia, zegar czasu rzeczywistego może wybudzać procesor Blackfin z trybu głębokiego uśpienia/uśpienia.

Zegar stróżujący

Procesor Blackfin ma 32-bitowy zegar kontrolny, używany do wykonywania programowej funkcji kontrolnej. Tak więc programista inicjalizuje wartość zliczania timera, która pozwala na prawidłowe przerwanie, a następnie zezwala timerowi. Następnie oprogramowanie musi ponownie załadować licznik, zanim zacznie liczyć od zaprogramowanej wartości do „0”.

GPIO lub wejścia/wyjścia ogólnego przeznaczenia

GPIO to cyfrowy pin sygnałowy, który jest używany jako wejście, wyjście lub jedno i drugie i jest kontrolowany przez oprogramowanie. Procesor Blackfin zawiera piny GPIO (we/wy ogólnego przeznaczenia), 48 dwukierunkowych w 3 oddzielnych modułach GPIO, takich jak PORTFIO, PORTHIO i PORTGIO, połączonych odpowiednio z portem G, portem H i portem F. Każdy pin portu ogólnego przeznaczenia jest kontrolowany indywidualnie poprzez manipulowanie statusem, kontrolą portu i rejestrami przerwań, takimi jak GPIO DCR, GPIO CSR, GPIO IMR i GPIO ISR.

Ethernet MAC

Urządzenie peryferyjne Ethernet MAC w procesorze Blackfin zapewnia przepustowość od 10 do 100 Mb/s pomiędzy MII (Media Independent Interface) a podsystemem urządzeń peryferyjnych Blackfin. MAC po prostu działa zarówno w trybie pełnego dupleksu, jak i półdupleksu. Kontroler dostępu do multimediów jest wewnętrznie taktowany z pinu CLKIN procesora.

Pamięć

Pamięć architektury procesora Blackfin po prostu zapewnia zarówno bloki pamięci poziomu 1, jak i poziomu 2 w implementacji urządzenia. Pamięć L1, podobnie jak pamięć danych i instrukcji, jest po prostu podłączona bezpośrednio do rdzenia procesora, działa z pełną szybkością systemu CLK i zapewnia maksymalną wydajność systemu w krytycznych segmentach algorytmu czasowego. Pamięć L2, podobnie jak pamięć SRAM, jest większa, co zapewnia nieco mniejszą wydajność, jednak nadal jest szybsza w porównaniu z pamięcią poza chipem.

Struktura pamięci L1 została zaimplementowana w celu zapewnienia wydajności wymaganej do przetwarzania sygnałów przy jednoczesnym oferowaniu programów w mikrokontrolerach. Osiąga się to po prostu pozwalając, aby pamięć L1 była zorganizowana jako SRAM, pamięć podręczna, w przeciwnym razie kombinacja obu.

Wspierając modele programowania pamięci podręcznej i SRAM, projektanci systemu przypisują do SRAM krytyczne zestawy danych przetwarzania sygnałów w czasie rzeczywistym, które wymagają małych opóźnień i dużej przepustowości, jednocześnie przechowując sterowanie w czasie rzeczywistym lub zadania systemu operacyjnego w pamięci podręcznej.

Tryby uruchamiania

Procesor Blackfin zawiera sześć mechanizmów automatycznego ładowania wewnętrznej pamięci instrukcji L1 po resecie. Tak więc różne tryby rozruchu obejmują głównie; Tryb rozruchu z 8-bitowej i 16-bitowej zewnętrznej pamięci flash, szeregowej pamięci SPI. Urządzenie hosta SPI, UART, szeregowa pamięć TWI, host TWI i wykonywanie z 16-bitowej pamięci zewnętrznej, z pominięciem serii rozruchowej. Dla każdego z pierwszych 6 trybów rozruchu najpierw odczytywany jest 10-bajtowy nagłówek z zewnętrznego urządzenia pamięci. Tak więc nagłówek wskazuje nr. bajtów do przesłania i adres docelowy pamięci. Kilka bloków pamięci może być ładowanych przez dowolną serię rozruchową. Kiedy wszystkie bloki są po prostu załadowane, wówczas wykonywanie programu rozpoczyna się od początku instrukcji L1 SRAM.

Tryby adresowania

Tryby adresowania procesora czarnopłetwego po prostu określają, w jaki sposób indywidualny dostęp do pamięci i adresowanie mają określać lokalizację. Tryby adresowania używane w procesorze Blackfin to adresowanie pośrednie, automatyczne zwiększanie/zmniejszanie, postmodyfikacja, indeksowanie z natychmiastowym przesunięciem, bufor kołowy i odwracanie bitów.

Adresowanie pośrednie

W tym trybie pole adresu w instrukcji zawiera lokalizację pamięci lub rejestru, gdziekolwiek obecny jest adres efektywnego operandu. To adresowanie jest podzielone na dwie kategorie, takie jak Register Indirect i Memory Indirect.

Na przykład ŁADUJ R1, @300

W powyższej instrukcji adres efektywny jest po prostu przechowywany w komórce pamięci 300.

Adresowanie z automatycznym zwiększaniem/zmniejszaniem

Adresowanie z automatycznym przyrostem po prostu aktualizuje rejestry wskaźnika i indeksu po prawie wejścia. Wielkość przyrostu zależy głównie od wielkości słowa. 32-bitowy dostęp do słów może skutkować aktualizacją wskaźnika z wartością „4”. 16-bitowy dostęp do słowa aktualizuje wskaźnik o „2”, a 8-bitowy dostęp do słowa aktualizuje wskaźnik o „1”. Operacje odczytu zarówno 8-bitowego, jak i 16-bitowego mogą wskazywać rozszerzenie zerowe/rozszerzenie znaku do rejestru docelowego. Rejestry wskaźnikowe są używane głównie dla dostępów 8, 16 i 32-bitowych, podczas gdy rejestry indeksowe są używane tylko dla dostępów 16 i 32-bitowych

Na przykład: R0 = W [ P1++ ] (Z) ;

W powyższej instrukcji 16-bitowe słowo ładuje się do 32-bitowego rejestru docelowego ze wskazanego adresu przez rejestr wskaźnika „P1”. Następnie wskaźnik jest zwiększany o 2, a słowo jest rozszerzane o „0”, aby wypełnić 32-bitowy rejestr docelowy.

Podobnie, automatyczne zmniejszanie działa poprzez zmniejszanie adresu za prawem do wpisu.

Na przykład: R0 = [ I2– ] ;

W powyższej instrukcji 32-bitowa wartość ładuje się do rejestru docelowego i zmniejsza rejestr indeksu o 4.

Adresowanie po modyfikacji

Ten typ adresowania po prostu wykorzystuje wartość w rejestrach Indeks/Wskaźnik, tak jak efektywny adres. Następnie modyfikuje go za pomocą zawartości rejestru. Rejestry indeksowe są po prostu zmieniane za pomocą zmodyfikowanych rejestrów, podczas gdy rejestry wskaźników są zmieniane przez inne rejestry wskaźników. Podobnie jak rejestry docelowe, adresowanie typu post-modify nie obsługuje rejestrów wskaźników.

Na przykład: R3 = [ P1++P2 ] ;

W powyższej instrukcji 32-bitowa wartość jest ładowana do rejestru „R3” i znajdowana w miejscu pamięci wskazanym przez rejestr „P1”. Następnie wartość w rejestrze „P2” jest dodawana do wartości w rejestrze P1.

Indeksowane z natychmiastowym przesunięciem

Adresowanie indeksowane po prostu pozwala programom pobierać wartości z tabel danych. Rejestr wskaźnika jest zmieniany przez bezpośrednie pole, po czym jest używany jako adres efektywny. Tak więc wartość rejestru wskaźnika nie jest aktualizowana.

Na przykład, jeśli P1 = 0x13, to [P1 + 0x11] będzie skutecznie równoważne z [0x24], które jest powiązane ze wszystkimi dostępami.

Odwrotne adresowanie bitowe

W przypadku niektórych algorytmów programy wymagają adresowania przenoszenia z odwróceniem bitów, aby uzyskać wyniki w kolejności sekwencyjnej, szczególnie w przypadku obliczeń FFT (szybka transformata Fouriera). Aby spełnić wymagania tego algorytmu, funkcja adresowania z odwróceniem bitów w generatorach adresów danych umożliwia wielokrotne dzielenie serii danych i przechowywanie tych danych w kolejności odwróconej bitów.

Adresowanie bufora okrężnego

Procesor Blackfin zapewnia funkcję, taką jak opcjonalne adresowanie cykliczne, które po prostu zwiększa rejestr indeksowy o predefiniowany zakres adresów, po czym automatycznie resetuje rejestry indeksowe, aby powtórzyć ten zakres. Tak więc ta funkcja poprawia wydajność pętli wejścia/wyjścia, po prostu usuwając wskaźnik indeksu adresu za każdym razem.

Adresowanie bufora okrężnego jest bardzo przydatne podczas wielokrotnego ładowania lub przechowywania ciągu bloków danych o stałym rozmiarze. Zawartość bufora cyklicznego musi spełniać następujące warunki:

  • Maksymalna długość bufora cyklicznego powinna być liczbą bez znaku o wielkości mniejszej niż 231.
  • Wielkość modyfikatora musi być mniejsza od długości bufora kołowego.
  • Pierwsza lokalizacja wskaźnika „I” musi znajdować się w okrągłym buforze zdefiniowanym przez długość „L” i podstawę „B”.

Jeśli którykolwiek z powyższych warunków nie jest spełniony, wówczas zachowanie procesora nie jest określone.

Zarejestruj plik procesora Blackfin

Procesor Blackfin zawiera trzy ostateczne pliki rejestru, takie jak; Plik rejestru danych, plik rejestru wskaźnika i rejestr DAG.

  • Plik rejestru danych gromadzi operandy za pomocą szyn danych używanych dla jednostek obliczeniowych i przechowuje wyniki obliczeń.
  • Plik rejestru wskaźników zawiera wskaźniki używane do operacji adresowania.
  • Rejestry DAG zarządzają buforami kołowymi o zerowym narzucie, używanymi do operacji DSP.

Procesor Blackfin zapewnia pierwszorzędne zarządzanie energią i wydajność. Zostały one zaprojektowane z wykorzystaniem metodologii projektowania niskiego napięcia i małej mocy, które są w stanie zmieniać zarówno napięcie, jak i częstotliwość pracy, aby znacznie zmniejszyć ogólne zużycie energii. Może to więc skutkować znacznym spadkiem zużycia energii w porównaniu z samą zmianą częstotliwości roboczej. To po prostu zapewnia dłuższą żywotność baterii w poręcznych urządzeniach.

Procesor Blackfin obsługuje różne pamięci zewnętrzne, takie jak DDR-SDRAM, SDRAM, NAND flash, SRAM i NOR flash. Niektóre procesory Blackfin zawierają również interfejsy pamięci masowej, takie jak SD/SDIO i ATAPI. Mogą również obsługiwać 100 megabajtów pamięci w przestrzeni pamięci zewnętrznej.

Zalety

The zalety procesora Blackfin zawierać następujące.

  • Procesory Blackfin zapewniają podstawowe korzyści projektantowi systemu.
  • Procesor Blackfin oferuje elastyczność oprogramowania oraz skalowalność dla aplikacji konwergentnych, takich jak przetwarzanie audio, wideo, głosu i obrazu w wielu formatach, bezpieczeństwo w czasie rzeczywistym, przetwarzanie kontrolne i wielomodowe przetwarzanie pakietów w paśmie podstawowym
  • Wydajna zdolność przetwarzania sterowania i wysokowydajne przetwarzanie sygnału umożliwiają różne nowe rynki i zastosowania.
  • DPM (Dynamic Power Management) pozwala projektantowi systemu w szczególności modyfikować pobór mocy urządzenia do wymagań systemu końcowego.
  • Procesory te znacznie skracają czas i koszty opracowywania.

Aplikacje

The aplikacje procesora Blackfin zawierać następujące.

  • Procesory Blackfin są idealne do wielu zastosowań, np ADAS (zaawansowane systemy wspomagania kierowcy w branży motoryzacyjnej) , systemy nadzoru lub bezpieczeństwa oraz przemysłowa wizja maszynowa.
  • Zastosowania Blackfin obejmują systemy sterowania silnikami serwo, elektronikę samochodową, systemy monitorowania i multimedialne urządzenia konsumenckie.
  • Te procesory po prostu wykonują funkcje mikrokontrolera i przetwarzania sygnału.
  • Są one używane do audio, kontroli procesów, motoryzacji, testowania, pomiarów itp.
  • Procesory Blackfin są używane w aplikacjach do przetwarzania sygnałów, takich jak szerokopasmowa łączność bezprzewodowa, komunikacja mobilna oraz urządzenia internetowe obsługujące dźwięk lub wideo.
  • Blackfin jest używany w aplikacjach konwergentnych, takich jak media sieciowe i strumieniowe, cyfrowa rozrywka domowa, telematyka samochodowa, systemy informacyjno-rozrywkowe, telewizja mobilna, radio cyfrowe itp.
  • Procesor Blackfin to wbudowany procesor, który charakteryzuje się efektywnością energetyczną i najwyższą wydajnością stosowaną w aplikacjach wszędzie tam, gdzie istotne są wieloformatowe przetwarzanie głosu, audio, wideo, wielomodowe pasmo podstawowe, przetwarzanie obrazu, przetwarzanie pakietów, bezpieczeństwo i kontrola w czasie rzeczywistym.

Tak jest przegląd procesora Blackfin – architektura, zalety i jej zastosowania. Ten procesor wykonuje funkcje przetwarzania sygnału i mikrokontrolera. Oto pytanie do ciebie, co to jest procesor?