Popularne procesory sygnałowe

| Technika

W latach 60. i 70. ubiegłego wieku, gdy technika cyfrowego przetwarzania sygnałów zaczynała się rozwijać, procesory sygnałowe DSP stosowane były tylko w nielicznych aplikacjach profesjonalnych, w medycynie do analizy obrazu, eksploracji kosmosu oraz w wojsku do budowy nowoczesnych radarów i sonarów. Kolejne lata spowodowały znaczny spadek cen tych układów i wzrost możliwości, co wywołało dynamiczny postęp w dziedzinie technologii cyfrowego przetwarzania sygnałów.

Popularne procesory sygnałowe

Rys. 1. Moduły zestawów do tworzenia aplikacji na procesory DSP dostępne w sprzedaży: (a) zestaw dla procesora Delfino TMS320F28335 firmy Texas Instruments, (b) zestaw EZ-KIT dla procesora ADSP-21161 firmy Analog Devices

Procesory sygnałowe są specjalizowanymi układami scalonymi, przeznaczonymi do zastosowań w przetwarzaniu sygnałów, zarówno w postaci analogowej, jak i cyfrowej. Przetwarzanie wielkości wejściowych odbywa się w czasie rzeczywistym, z możliwie jak największym stosunkiem jakości do wydajności. Układy te można podzielić według następujących kryteriów:

  • ze względu na format arytmetyczny zapisu liczby rzeczywistej: stałoprzecinkowe (fixed-point DSP), zmiennoprzecinkowe (floating-point DSP),
  • ze względu na rozmiar słowa danych: 16-bitowe - typowe dla stałoprzecinkowych DSP, 32- lub 64-bitowe - typowe dla zmiennoprzecinkowych DSP,
  • organizację pamięci, szybkość działania i pobór mocy.

Rynek procesorów sygnałowych jest zdominowany przez firmę Texas Instruments (65% udziałów) oraz Freescale i Analog Devices. Stąd w dalszej części artykułu zostaną omówione sztandarowe produkty tych trzech największych firm.

Przegląd procesorów DSP

Rys. 2. Wybrane elementy głównego okna programu Code Composer Studio 3.3.

Rodzina DSP TI obejmuje trzy grupy produktów o różnej wydajności i przeznaczeniu: od najmocniejszych obliczeniowo C6000, przez najbardziej efektywne energetycznie i kosztowo C5000, aż do tanich układów z serii C2000. Grupy te zawierają serie zmienno- i stałoprzecinkowe o różnych konfiguracjach pamięci.

Układy z rodziny TMS320C2000 są procesorami zmiennoprzecinkowymi z wbudowaną pamięcią, w których można wyróżnić dwa tryby pracy z obniżonym poborem mocy. Są one przeznaczone do zastosowań głównie w układach sterowania zarówno elektroniki, jak i automatyki przemysłowej, a ich budowa wewnętrzna przypomina mikrokontroler z rozbudowanymi układami peryferyjnymi i silną jednostką obliczeniową zapewniającą odpowiedni zapas wydajności na wykonanie skomplikowanych algorytmów.

Instrukcje odczytu, modyfikacji i zapisu wykonywane są w jednym cyklu maszynowym. Firma Analog Devices wytwarza kilka podstawowych rodzin procesorów przeznaczonych do różnego rodzaju zastosowań. Najprostsze układy z serii ADSP-21xx przeznaczone są głównie do układów sterowania obiektów w czasie rzeczywistym, jak również do układów przetwarzania mowy i głosu. Mogą pracować z częstotliwością zegara sięgającą 160 MHz i charakteryzują się niskim poborem prądu.

Drugą rodzinę tworzą 16- i 32-bitowe układy Blackfin, przeznaczone głównie do układów audio-wideo, gdzie potrzebne jest wielomodowe przetwarzanie zarówno dźwięku i obrazu. Największą wydajnością charakteryzują się zmiennoprzecinkowe DSP SHARC (Super Harvard Architecture), zarówno dla rdzenia, jak i pamięci wewnętrznej oraz wyjątkowo wysoką przepustowością układów wejścia/wyjścia.

Układy SHARC znajdują zastosowanie w aplikacjach, gdzie wymogiem kluczowym jest bardzo duża wydajność. Dostępne są również w szybszej wersji TrigerSHARC, pracującej z zegarem do 600 MHz. Podobnie jak poprzednicy także i Freescale w zakresie DSP oferuje trzy rodziny produktów.

Najwyższą wydajność mają układy wykonane w technologii StarCORE bazującej na FPGA, jedno- lub wielordzeniowe pracujące z zegarem do 1,2 GHz. Układy te znalazły zastosowanie głównie w urządzeniach, gdzie wymogiem jest bardzo wysoka wydajność przetwarzania informacji (medycyna, lotnictwo, kosmos).

Różnice pomiędzy poszczególnymi producentami

Tabela 1. Zestawienie najważniejszych właściwości wybranych zmiennoprzecinkowych procesorów sygnałowych TI, ADI i Freescale

Główne różnice pomiędzy procesorami DSP poszczególnych producentów wynikają głównie z technologii wykonania samego układu scalonego. Wydajność procesora DSP zależy od szybkości taktowania, szerokości magistral, rejestrów i jednostek ALU oraz sposobu współpracy procesora z pamięcią operacyjną i urządzeniami wejścia/ wyjścia (I/O).

Najistotniejsze parametry przedstawionych procesorów DSP zebrano w tabeli 1. Od strony wydajności czołową pozycję zajmuje MSC8251, ale brak wyjść sterujących typu PWM, mała liczba portów GPIO oraz brak magistrali CAN dyskwalifikuje tego rodzaju procesory pod względem współpracy z układami sterowania urządzeń przemysłowych.

Procesor MSC8251 wykorzystywany jest głównie w aplikacjach przeznaczonych do cyfrowej obróbki obrazu np. filtracjach 2D obrazów formatu MPEG i JPEG, transformacjach ortogonalnych 2D oraz falkowej dekompozycji 2D i 3D obrazu. Takie aplikacje występują w medycynie oraz analizatorach zdjęć wysokiej rozdzielczości.

Z kolei procesor ADSP-21161 SHARC dzięki dużej pojemności wewnętrznej pamięci oraz bardzo ograniczonej liczbie uniwersalnych cyfrowych GPIO przeznaczony jest głównie do zastosowań audio. Na tych układach realizowane są algorytmy kompresji i rozpoznawania sygnału mowy (standardu LPC-10), kompresji dźwięku (modele psychoakustyczne standardu MPEG audio, kodowanie dźwięku na poziomach MP1 i MP2).

Powszechnie tego typu procesory DSP stosuje się także we wzmacniaczach gitarowych, a także efektach dźwiękowych, subwooferach itp. Pod względem uniwersalności zastosowań najlepiej wypada procesor TMS320F28335. Dzięki bogatej architekturze wewnętrznej może stanowić dobrą bazę dla układów sterowania i nadzoru procesów przemysłowych.

DSP ma dużą liczbę interfejsów, m.in. SPI, CAN, McBSP lub I²C, 18 niezależnych wyjść sterujących PWM oraz 88 uniwersalnych wyjść/wejść cyfrowych GPIO i wbudowane przetworniki A/C i C/A. Obszar zastosowań obejmuje układy sterowania, falowniki, zespoły napędowe. Procesor realizuje dowolne algorytmy w tym obszarze aplikacyjnym, a czas wykonania podprogramu wynosi około 1 μs.

Projektowanie układów z DSP

Tabela 2. Zestawienie najpopularniejszych narzędzi programistycznych dla procesorów DSP

Programy dla procesorów sygnałowych tworzy się przy wykorzystaniu zintegrowanych narzędzi, pozwalających możliwie maksymalnie uprościć i przyspieszyć cykl projektowy. Wiele z nich dostarczają producenci tych układów. W tabeli 2 zostały przedstawione najważniejsze zintegrowane środowiska programistyczne, które umożliwiają symulację układu, weryfikację kodu, tłumaczenie kodu źródłowego oraz uruchomienie całego systemu docelowego.

Zestaw narzędzi uzupełniają biblioteki gotowych funkcji dostarczonych ze środowiskiem oraz bardzo duża baza gotowych aplikacji, dostępnych odpłatnie na stronach internetowych samych producentów. Tak jest na przykład z firmą Texas Instruments, w której opracowano zbiór ogólnodostępnych zasad, jak należy napisać algorytm programu i jak go dołączyć do biblioteki funkcji standardowych w środowisku Code Composer Studio.

Każdy z producentów DSP oferuje także uniwersalne zestawy narzędziowe służące do tworzenia, uruchamiania i testowania aplikacji stworzonych pod procesory sygnałowe. Na stronach internetowych producentów znaleźć można biblioteki, noty aplikacyjne, poradniki, gotowe algorytmy podprogramów np. konfiguracji wewnętrznych układów PWM lub układu przerwań czasowo- krytycznych.

Rejestrując się na stronach producentów, można za darmo korzystać z dostępnego tam oprogramowania np. Code Composer Studio (TI), VisualDSP++ (ADI), służącego do tworzenia, uruchamiania i testowania aplikacji dla DSP. Dodatkowo każda firma prowadzi forum dyskusyjne poświęcone wymianie informacji i poglądów między użytkownikami tworzącymi aplikacje.

Piotr Legutko

Zobacz również