[POLICZ OCZKA ;-)] FinBoard Analog Devices: procesory DSP z rodziny Blackfin w aplikacjach wideo

Niewielu konstruktorów zna z własnej praktyki realne możliwości mikroprocesorów DSP, co sprzyja tworzeniu mitów. Prezentowany w artykule zestaw o nazwie FinBoard ułatwi i przyspieszy poznanie możliwości jednego z procesorów należącego do rodziny Blackfin, w aplikacji demonstrującej zaawansowaną obróbkę obrazu.

 

Większość konstruktorów zapytanych o producentów mikroprocesorów dla aplikacji DSP odpowie zapewne: „Analog Devices” lub „Texas Instruments”. Tak też wygląda rzeczywistość rynkowa: tylko te dwie firmy oferują dojrzałe, kompleksowe rozwiązania DSP. W artykule chcemy zwrócić uwagę Czytelników na oferowane przez Analog Devices mikroprocesory z rodziny Blackfin, które są szczególnie interesujące dla konstruktorów nie mających doświadczeń z aplikacjami DSP. Tworząc je na układach z rodziny Blackfin mogą podczas pisania aplikacji stosować klasyczne podejście „mikrokontrolerowe”, co minimalizuje ryzyko przymusu radykalnej zmiany zawodowych przyzwyczajeń.

Mikroprocesory DSP tworzące rodzinę o nazwie Blackfin należą do najnowszej generacji układów tego typu w ofercie Analog Devices. Producent opracował je z myślą o stosowaniu w aplikacjach audio i wideo, cyfrowych sterownikach silników i konwerterów energii elektrycznej, a także systemach sterująco-regulacyjnych. Rodzina mikroprocesorów Blackfin składa się 45 typów układów, wyposażonych w jeden lub dwa rdzenie, które są przystosowane do taktowania sygnałami zegarowymi o częstotliwości od 350 do 600 MHz. Zestawienie podstawowych cech i parametrów układów Blackfin ADSP-BF60x znajduje się w tabeli 1.

Tab. 1. Zestawienie bloków peryferyjnych wbudowanych w mikroprocesory Blackfin ADSP-BF60x

Blok peryferyjny

ADSP-BF606

ADSP-BF607

ADSP-BF608

ADSP-BF609

Liczniki up/down/rotary

1

Timery-liczniki PWM

8

3-fazowe timery-liczniki PWM

4 pary

SPORT/SPI/TWI

3/2/2

USB-OTG

1

PPI

3

RSI

1

CAN

1

UART

2

ACM

1

Link Port

4

Ethernet MAC

2

PIXC

1

1

PVP

VGA

HD

GPIO

112

Liczba rdzeni

2 x Blackfin

Częstotliwość taktowania

400 MHz

500 MHz

500 MHz

500 MHz

Pojemność cache L1

128 kB (po 64 kB na rdzeń)

296 kB (po 148 kB/rdzeń)

296 kB (po 148 kB/rdzeń)

296 kB (po 148 kB/rdzeń)

Pojemność cache L2

128 kB (po 64 kB na rdzeń)

256 kB (po 128 kB/rdzeń)

256 kB (po 128 kB/rdzeń)

256 kB (po 128 kB/rdzeń)

 

Lista instrukcji obsługiwanych przez rdzenie mikroprocesorów Blackfin jest poszerzona w stosunku do listy instrukcji obsługiwanych przez klasyczne mikroprocesory RISC i to właśnie te instrukcje (SIMD) nadają DSP-owy charakter układom z rodziny Blackfin. Przykładowo, z myślą o obróbce obrazów, zaimplementowano specjalne instrukcje arytmetyczne przyspieszające m.in. obliczanie przekształcenia DCT (Discrete Cosine Transform), które jest bazowym obliczeniem używanym przez algorytmy kompresji obrazów, zarówno statycznych (JPEG) jak i dynamicznych (MPEG2 i MPEG4). Innymi przykładami rozszerzeń DSP zastosowanymi w mikroprocesorach Blackfin są: sprzętowa obsługa instrukcji mnożenia modulo 232, instrukcji uśredniania danych 8-bitowych, czy instrukcje porównywania wektorów.

O autorze