Jste zde

Jaké jsou DSP procesory Freescale ?

I když se současné moderní CPU a MCU vyznačují často špičkovým výkonem a výbavou, obvykle jsou to více méně univerzální procesory určené pro realizaci co možná nejširší oblasti aplikací. Pro některé aplikace, jako je rychlé číslicové zpracování v reálném čase, však lépe vyhovují k tomuto účelu určené DSP procesory, vyznačující se speciálními funkcemi, hardwarovou strukturou i instrukčním souborem. Tak lze snadno a hlavně časově korektně zpracovávat nepřetržitý tok dat, např. videa, vícekanálového zvuku či signálů ze senzorů.

obvod DSP MSC8144DSP Freescale, dříve pod značkou Motorola, patří a vždy patřily ke špičce v této oblasti procesorů. Snad jediný významný soupeř v této oblasti je firma Texas Instrument a její DSP procesory TMS. Mezi "klasické" DSP procesory patří řada DSP563xx, zatímco špičku v nabídce zajišťují vícejádrové signálové procesory StarCore, které při relativně nízké frekvenci taktování (hodin) dosahují mnohonásobně vyššího výpočetního výkonu než klasická struktura. Na rozhraní kategorií MCU a DSP jsou pak signálové kontroléry DSC s jádry 56800. Závisí však na aplikaci, kterou je potřeba realizovat a podle které by měl být volen nejlépe přizpůsobený signálový procesor.

 

Obecné odlišnosti DSP od MCU a CPU

Každému technikovi, který se chce teď začít zabývat DSP, jistě vyvstane na mysli, jaký je rozdíl mezi DSP procesory, moderními MCU a výkonnými CPU a kde je vhodné DSP nasadit.

obvod DSP56303DSP se proti ostatním mikroprocesorům liší v několika směrech. Zatímco mikroprocesory a mikrokontroléry (MCU) jsou typicky navrhovány jako vysoce univerzální pro co nejširší rozsah různých aplikací, DSP jsou obvykle specializovány na rychlé a přesné zpracování digitálních a analogových vícekanálových signálů v reálném čase, tj. zpracování skupiny časově kritických signálů, kde je nutné zachovat přesná absolutní nebo vzájemná časování (např. vícekanálový zvuk, obraz). Často realizují řetězec typu A/D převodník - DSP - D/A převodník, disk/paměť - DSP - D/A převodník nebo A/D převodník - DSP - paměť.

Z pohledu výkonnostního jsou dnes DSP někde mezi MCU a výkonnými CPU (mikroprocesory). Zatímco mikrokontroléry obvykle neobsahují hardwarovou násobičku a vícenásobný datový přístup do RAM pro realizaci rychlého násobení a funkce MAC (Multiply-And-Accumulate = násob a sečti), CPU sice již násobičky mají, ale jejich struktura je již pro menší aplikace zbytečně moc složitá a také neumožňuje uspokojivě realizovat vybavení signálů s minimálním zpožděním. Navíc pro svojí složitost již vyžadují rozsáhlý operační systém (OS) typu Windows, Linux či Unix, který často bývá na překážku přesnému časově koordinovanému zpracování dat. Výkonnější typy DSP sice již také někdy využívají OS, ale jde speciální OS, tzv. RTOS (Real-Time OS), ale lze je v pohodě provozovat jen za použití jednoduchého mikrokernelu, který pouze realizuje funkce řízení toku dat (řízení toku dat, semafory, plánovače, prioritní řízení apod.) a jen minimálně zatěžuje výpočetní jádro. Takový mikrokernel se překládá, do DSP natahuje a spouští společně s naprogramovanou aplikací a je již programátoru k dispozici i při vývoji a simulaci programu ve vývojovém prostředí na PC.

Hardwarové rozdíly mezi DSP a MCU (příp. CPU):

  • Hardwarová násobička či jednotka MAC
  • Na vývody vyvedená adresová, datová a řídící sběrnice
  • Více adresových a datových sběrnic pro současný vícenásobný přístup do paměti
  • Více adresovacích režimů + speciální pro FIR a IIR filtry, FFT (DFT), LMS, banky filtrů, Viterbiho alg. apod.
  • Více registrů pro přímé i nepřímé adresování
  • Speciální instrukční soubor - rychlé příkazy pro přímou realizaci složitějších výpočtů nebo v cyklu opakované operace (blokové násobení skupiny vzorků, opak. násobení atd.)

 

blok. schema DSP56303

Obr. 1. Příklad typické struktury DSP procesoru - zde konkrétně obvod Freescale DSP56303

Pokud tedy potřebujete realizovat výpočetně a z pohledu časování náročnou aplikaci, kde zároveň není nutné realizovat složité HMI rozhraní apod., je DSP ideální volbou jak z pohledu výkonového, tak finančního. Pro jednoduché a výpočetně nenáročné aplikace dobře poslouží MCU a naopak pro rozsáhlé systémy, kde je nutné vytvořit grafické HMI, pracovat s disky, internetem apod., se již hodí výkonné CPU. V současných průmyslových systémech se také často využívá kombinace CPU typu AMD, Via, Intel a DSP Freescale či Texas Instruments, aby bylo zajištěno superrychlé a přesné prvotní zpracování dat i realizováno složité řízení a požadovaný uživatelský komfort s grafickým OS.

 

Rozdělení DSP v nabídce Freescale

V nabídce firmy Freescale lze při základním pohledu najít následující konstrukcí "klasické" DSP platformy:

  • STARCORE DSP - velmi výkonné procesory s jedním a více DSP jádry na jednom chipu
    • MSC810x - procesory s jedním DSP jádrem SC140
    • MSC812x - procesory se 4 DSP jádry SC140
    • MSC8144x - procesory se 4 DSP jádry SC3400
    • MSC71xx - levné a méně vybavené procesory s jedním DSP jádrem SC1400
  • DSP56300 - "klasické" 24bit. DSP konstrukcí srovnatelné s jinými DSP, např. Texas Instruments
  • 56800E - 16bitové jádro pro obvody DSP568xx a 56F8, označované jako DSC (Digital Signal Controllers)

 

porovnani vykonu

Obr. 2. Graf porovnávající výkony DSP s pevnou řádovou čárkou různých výrobců dle testů BDTImark2000

 

Freescale STARCORE DSP

obvod MSC8144EProcesory MSCxxxx patří mezi nejzajímavější DSP v nabídce firmy Freescale, protože jejich netypická architektura obsahuje až 4 DSP jádra StarCore a tím poskytují až neuvěřitelný výpočetní výkon, kterého nedosahují žádné běžně nabízené DSP ostatních výrobců. Přítomností několika výpočetních jednotek se tak povedlo do procesoru vpašovat něco z paralelismu FPGA obvodů.

Jak šel vývoj, tak existují tři typy StarCore jader, označené jako:

  • StarCore SC140 - jde o první generaci StarCore DSP jádra
  • StarCore SC1400 - jádro pro low cost DSP
  • StarCore SC3400 - v současné sobě nejnovější jádro (3. generace)

 

První uvedené jádro SC140 využívá integrovaný obvod MSC8101 se speciálním koprocesorem pro filtraci EFCOP (Enhanced Filter Coprocessor) a obvod MSC8103 s integrovanou hardwarovou podporou síťové komunikace. Oba pak obsahují hardwarový programovatelný 32bitový komunikační RISC modul CPM (Communications Processor Module) určený pro realizaci časově multiplexovaného přenosu dat, Ethernetové a ATM komunikace. Dále obsahují 512 kB RAM paměti komunikující 64/128bit. sběrnicí s DSP jádrem se 4 ALU a výkonem až 1500 MMACS (Million Multiply ACcumulates per Second) při 300 MHz taktování a napájení napětím 1.6 V. Samozřejmostí je DMA řadič (až 16 kanálů) a ladící rozhraní JTAG/Enhanced OnCE.

Zatímco obvody řady MSC810x využívají pouze jedno StarCore jádro, následující DSP řad MSC812x již využívají čtyři jádra SC140, kde každé obsahuje svoji hardwarovou násobičku se čtyřmi ALU jednotky, interní paměť, zápisový buffer a řadiče přerušení, čímž se výrazně zvyšuje výpočetní výkon. Například lze uvést, že čtyři jádra SC140 taktované 500 MHz svým výkonem cca odpovídají jednomu jádru taktovanému 2 GHz.

MSC8122 obvod je nejvíce vhodný pro zpracování dat pro datovou komunikaci pro přepínané hlasové kanály, faxové služby, klasické i multikanálové modemy a paketově založené protokoly, VoIP, bezdrátové přenosové systémy a kódování videa i zvuku na úrovni nízkých i vyšších hladin OSI modelu. Pro tyto aplikace, vyžadující vysoký výpočetní výkon v reálném čase, poskytuje výkon až 8000 MMACS při taktování až 500 MHz.

blok. schema MSC8126

Obr. 3. Bloková struktura DSP MSC8126 se čtyřmi jádry StarCore již ukazuje na složitost, ale i vybavenost obvodu

Nakonec DSP MSC8126 je hlavně určen pro zpracování bezdrátové komunikace třetí generace (3G), realizaci BTS stanic apod. Tomu odpovídá i široká výbava zahrnující RS-232 rozhraní, čtyři časově multiplexovaná rozhraní (TDM), 32 univerzálních časovačů, flexibilní jednotku systémového rozhraní (SUI), Ethernet, Turbo koprocesor (TCOP), Virbiho koprocesor (VCOP) a multikanálové DMA řadiče. S výkonem 8000 MMACS koresponduje i vnitřní RAM paměť s kapacitou větší než 1 MB. Signálové procesory MSC8126 jsou stejně jako ostatní obvody MSC 81xxx vyráběné 90 nm křemíkovou technologií a pouzdřené v pouzdrech BGA.

blokove schema jadra SC3400

Obr. 4. Bloková struktura StarCore jádra - zde nejnovější jádro SC3400

Nejvýkonnějším StarCore DSP jsou pak obvody MSC8144x, které také obsahují 4 jádra, ale narozdíl od předchozích procesorů již nejnovější typ SC3400 (3.generace StarCore). Jejich "motor" tak dosahuje nejlepších výkonových parametrů (až 16 000 MMASC při taktování 1 GHz), což tyto obvody řadí nejen na špičku v nabídce DSP firmy Freescale, ale i v porovnání s konkurencí. Jeho hlavním zaměřením a využitím by mělo být v multikanálovém paketové komunikaci, bezdrátové komunikaci, zpracování videa a obrazu s vysokým rozlišením v reálném čase. Pro tyto účely výpočetní jádra dohromady se 16 ALU jednotkami doplňují další podpůrné obvody a koprocesory. Jedním je i tzv. bezpečnostní motor (security engine), který bez intervence jádra je schopen provádět kódování dat (data plane encryption/descryption). Dále lze jmenovat QUICC Engine™ dual-RISC packet-processor, který zajišťuje a podporuje komunikaci obvodu s okolím pomocí všech běžných standardů (Ethernet, SPI, ATM), opět aniž by bylo nutné zatěžovat DSP jádra. K tomu jsou k dispozici klasická rozhraní jako jsou PCI, UART, I2C apod. - viz obrázek 5.

blok. schema obvodu MSC8144

Obr. 5. Podrobné blokové schéma DSP řady MSC8144

obvod MSC7120Signálové procesory řady MSC71xx patří mezi cenově přijatelné ale stále velmi výkonné DSP založené na StarCore jádru SC1400, které jsou vhodné pro široké množství aplikací vyžadující hlavně velký výpočetní výkon. S tím koresponduje i interních 448 kB SRAM, 16 kB instrukční Cache a 8 kB bootovací ROM paměti. To doplňuje možnost rozšíření RAM přes 150 MHz DDR-DRAM řadič. Dva 128 kanálové TDM rozhraní hardwarově podporují kódování a dekódování dat podle A-zákona (A-law decoding/encoding) a mezi komunikačními rozhraními lze nalézt UART, 16bitový rozšiřující interface (HDI16), Ethernet 10/100 Base-T MII/RMII, I2C, JTAG i univerzální vstupy a výstupy. Jádro SC1400 má čtyři ALU dohromady poskytující zajímavý výpočetní výkon 1200 MMACS při taktování jen 300 MHz a napájení 1.2 V. Takto dosažený výkon při "pomalém" taktování snižuje spotřebu a zvyšuje životnost součástky.

 

Freescale DSP56300

obvod DSP56374Signálové procesory řady DSP563xx se dají svými vlastnostmi a strukturou zařadit mezi "klasické" DSP, kde je již silná konkurence od dalších výrobců. Jde o 24bitovou rodinu procesorů jejichž výpočetní jádro nabízí široký instrukční soubor a dobrý výkon 100 až 275 MMACS při taktování 100 a 275 MHz, při nízké spotřebě a relativně jednoduché konstrukci. Napájení napětí je 3.3 V a všichni zástupci mimo jiné obsahují 24bit. násobičku s 58bitovým posuvným registrem, 24bitové adresování, DMA modul (Direct Memory Access). Tím se hodí jak pro oblast telekomunikací, tak pro zpracování řeči a videa, senzory naměřených signálů, nebo řízení procesů.

Celá řada těchto DSP v současnosti čítá 12 obvodů, z nichž nejnovější je DSP56374 s výkonem 150 MIPS při taktování 150 MHz a nízkým napájecím napětím 1.25 V. Ten je hlavně určen pro digitální zpracování zvuku (audio processing), pro realizaci různých ekvalizačních algoritmů, kompresí signálů, signálních a tónových generátorů, spektrálních analyzátorů, korekčních a dalších algoritmů pro zpracování audia, hlasu a hudby. Pro tyto účely využívá programovatelné CMOS jádro DSP56300 kombinované se speciálním audio procesorem, označený jako Freescale Symphony. Přesto toto rozšíření je plně zpětně programově kompatibilní s ostatními DSP řady 56000.

blok .schema DSP56374

Obr. 6. Bloková struktura obvodu DSP56374, typického představitele řady DSP56800

 

Freescale DSC 56800E

Zatímco výše uvedené součástky jsou Freescalem prezentovány jako klasické DSP, obvody řady DSP568xxx a 56F8xx již jsou označovány jako tzv. DSC (Digital Signal Controllers), tedy jako digitální signálové kontroléry. Jak již toto označení napovídá, jde o dnes stále populárnější hybrid MCU a DSP, kde je k dispozici hardwarová násobička i velké množství periferních bloků. Výsledkem je tedy velmi dobrý výpočetní výkon při univerzálním zaměření a nízké ceně. Tyto obvody bývají obvykle nasazovány do inteligentních senzorů, zabezpečovacích systémů a spotřební elektroniky.

Základem všech mnoha desítek DSC v nabídce je jádro 56800E, jehož funkce je založena na Harvardské architektuře a je složené ze tří výpočetních jednotek pracující paralelně. To umožňuje vykonat až 6 instrukcí během jednoho instrukčního cyklu. Snadné programování naopak umožňuje instrukční soubor stylu mikrokontrolér, přičemž obvody jsou optimalizovány pro použití jazyka C. Jejich hlavní zaměření je řízení aplikací a spotřební elektronika.

 

 

vybava obvodu DSP56852

Obr. 7. Nejvýkonnější představitel řady DSP568xx - obvod DSP56852

vyvoj rad obvodu DSC

Obr. 8. V nabídce digitálních signálových kontrolérů je několik desítek různých typů od starších DSP56F800 až po moderní MC56F8400

Obvody řady MC56F8xx jsou vznikem mladší než obvody DSP658xx a využívají 2. generaci DSC jádra 56800E. Svojí výbavou kladou důraz na měření a regulaci, čímž se výborně hodí pro ovládání a řízení motorů, osvětlení, první zpracování signálů ze senzorů apod. K tomu slouží 12bitové A/D a D/A převodníky, PWM, QSPI atd. Prakticky je vhodné tyto součástky použít všude tam, kde MCU již nedostačuje, ale úloha přesto ještě není moc náročná a složitá.

vybava  obvodu 56F8xx

Obr. 9. Typické bloky digitálních signálových kontrolérů DSC řady 56F8xx

Závěr

Jak je z výše uvedeného přehledu a popisu patrné, DSP procesory jsou rozhodně stále potřeba a nelze je nahradit výkonnými univerzálními procesory, jak si občas někdo myslí. Navíc v nabídce firmy Freescale lze nalézt ucelenou nabídku, kde lze bez problémů nalézt právě ten vhodný obvod pro potřeby dané aplikace, nezávisle na tom, zda je nutný vysoký výpočetní výkon, velké množství periferií nebo jednoduchost a nízká cena.

Jednotlivé řady nabízí výběr až z několik desítek typů a proto ani náznakem nebylo možné na všechny zajímavé DSP upozornit. Proto všem zájemcům o tyto součástky a o problematiku DSP vřele doporučuji navštívit firemní stránky www.freescale.com, kde najdete přehledy, porovnání, bloková i podrobná schémata, obecné i detailní popisy. V případě zájmu o koupi některého z procesorů odkazuji na pražské zastoupení firmy Spoerle (skelca@ arrowce.com).

Antonín Vojáček
vojacek@ hwg.cz

DOWNLOAD & Odkazy

Hodnocení článku: