Digitálny signálový procesor. Digitálne signálové procesory

  • 29.07.2019

Čo je DSP?

Digitálne signálové procesory (DSP) prijímajú ako vstup vopred digitalizované fyzické signály, ako sú zvuk, video, teplota, tlak a poloha, a vykonávajú s nimi matematické manipulácie. Vnútorná štruktúra procesorov digitálnych signálov je špeciálne navrhnutá tak, aby mohli veľmi rýchlo vykonávať matematické funkcie ako „sčítanie“, „odčítanie“, „násobenie“ a „delenie“.

Signály musia byť spracované tak, aby informácie, ktoré obsahujú, bolo možné graficky zobraziť, analyzovať alebo previesť na užitočný signál iného typu. V reálnom svete sú signály, ktoré zodpovedajú fyzikálnym javom, ako je zvuk, svetlo, teplota alebo tlak, detekované a ovládané analógovými komponentmi. Potom analógovo-digitálny prevodník vezme skutočný signál a digitalizuje ho ako postupnosť jednotiek a núl. V tejto fáze vstupuje do procesu digitálny signálový procesor, ktorý zbiera digitalizované informácie a spracováva ich. Potom odovzdá digitalizované informácie späť do reálneho sveta na ďalšie použitie. Informácie sa vydávajú jedným z dvoch spôsobov – v digitálnom alebo analógovom formáte. V druhom prípade digitalizovaný signál prechádza cez digitálno-analógový prevodník. Všetky tieto akcie sa vykonávajú veľmi vysokou rýchlosťou.

Na ilustráciu tohto konceptu zvážte nasledujúci blokový diagram, ktorý ukazuje, ako sa digitálny signálový procesor používa v audio prehrávači MP3. Počas fázy nahrávania vstupuje do systému analógový zvukový signál z prijímača alebo iného zdroja. Tento analógový signál sa prevedie na digitálny signál pomocou analógovo-digitálneho prevodníka a odošle sa do procesora digitálneho signálu. Digitálny signálový procesor vykoná kódovanie MP3 a uloží súbor do pamäte. Počas fázy prehrávania je súbor načítaný z pamäte, dekódovaný digitálnym signálovým procesorom a konvertovaný digitálno-analógovým prevodníkom späť na analógový signál, ktorý je možné prehrať v reproduktore. V zložitejšom príklade môže digitálny signálový procesor vykonávať ďalšie funkcie, ako je ovládanie hlasitosti, frekvenčná kompenzácia a poskytovanie užívateľského rozhrania.

Informácie generované digitálnym signálovým procesorom môže počítač využiť napríklad na ovládanie bezpečnostných systémov, telefónov, domácich kín alebo kompresiu videa. Signály môžu byť komprimované (komprimované) pre rýchlejší a efektívnejší prenos z jedného miesta na druhé (napríklad v telekonferenčných systémoch na prenos hlasu a obrazu cez telefónne linky). Signály môžu prejsť aj dodatočným spracovaním, aby sa zlepšila ich kvalita alebo poskytli informácie, ktoré sú pre ľudské vnímanie spočiatku nedostupné (napríklad pri úlohách potlačenia ozveny v mobilných telefónoch alebo vylepšenia obrazu v počítači). Fyzické signály môžu byť spracované v analógovej forme, ale digitálne spracovanie poskytuje lepšiu kvalitu a výkon.

Keďže digitálny signálový procesor je programovateľný, môže byť použitý v širokej škále aplikácií. Pri vytváraní projektu môžete napísať svoj vlastný softvér alebo použiť softvér od spoločnosti Analog Devices alebo tretích strán.

Viac informácií o výhodách používania digitálnych signálových procesorov pri spracovaní signálov v reálnom svete nájdete v prvej časti Digitálneho spracovania signálu 101 – Úvodný kurz do návrhu systému digitálneho spracovania signálu, Prečo potrebujete procesor digitálneho signálu?


Čo je vo vnútri digitálneho signálového procesora (DSP)?

Procesor digitálneho signálu obsahuje nasledujúce kľúčové komponenty:

  • Pamäť programu: Obsahuje programy, ktoré procesor digitálneho signálu používa na spracovanie údajov
  • Dátová pamäť: Obsahuje informácie, ktoré sa majú spracovať
  • Výpočtové jadro: Vykonáva matematické spracovanie odkazom na program obsiahnutý v pamäti programu a na údaje obsiahnuté v dátovej pamäti
  • I/O subsystém: Poskytuje celý rad funkcií pre rozhranie s vonkajším svetom

Ďalšie informácie o procesoroch a presných analógových mikrokontroléroch Analog Devices nájdete v nasledujúcich zdrojoch:

Spracovanie digitálneho signálu je komplexná téma, ktorá dokáže premôcť aj tých najskúsenejších DSP profesionálov. Uviedli sme tu len stručný prehľad, ale Analog Devices ponúka aj ďalšie zdroje pre ďalšie informácie o digitálnom spracovaní signálu:

  • - prehľad technológií a otázok praktickej aplikácie
  • Séria článkov v Analog Dialogue: (v angličtine)
    • Časť 1: Prečo potrebujete procesor digitálneho signálu? Architektúra procesorov digitálneho signálu a výhody spracovania digitálneho signálu oproti tradičným analógovým obvodom
    • Časť 2: Získajte viac informácií o digitálnych filtroch
    • Časť 3: Implementácia algoritmov na hardvérovej platforme
    • Časť 4: Úvahy o programovaní pre podporu I/O v reálnom čase
  • : Často používané slová a ich význam

Praktické laboratóriá DSP predstavujú rýchly a efektívny spôsob, ako sa zoznámiť s DSP od Analog Devices. Poskytnú vám solídne praktické skúsenosti s analógovými zariadeniami DSP prostredníctvom kurzu prednášok a praktických cvičení. Harmonogram a informácie o registrácii nájdete na stránke Školenia a rozvoj.

Digitálne signálové procesory sú triedou špecializovaných mikroprocesorov určených na riešenie problémov digitálne spracovanie signálu(DSP), ktoré zahŕňajú spracovanie audio signálu, spracovanie obrazu, rozpoznávanie reči, rozpoznávanie vzorov, digitálne filtrovanie, spektrálnu analýzu atď.

Často sa v literatúre takéto mikroprocesory nazývajú digitálne signálové procesory(DSP) alebo DSP (Digital Signal Processors).

Prvé procesory tejto triedy sa objavili koncom sedemdesiatych rokov minulého storočia. Praktické požiadavky spojené s rozsiahlym rozvojom mobilnej bezdrôtovej komunikácie, pevných širokopásmových systémov, používaním digitálneho spracovania signálov v spotrebiteľských audio a video zariadeniach a periférnych zariadeniach počítačov na jednej strane a kolosálnym pokrokom v elektronickom priemysle na strane druhej , viedli k tomu, že súčasná produktivita DSP stúpla na stovky miliónov operácií za sekundu a cena klesla o viac ako 90% a dokonca aj pre najvýkonnejšie procesory je v súčasnosti menej ako 20 dolárov. Nízka spotreba energie (menej ako 1 W pri maximálnej frekvencii procesora) zabezpečuje ich široké využitie v rôznych vstavaných zariadeniach od spotrebnej elektroniky až po špeciálne palubné systémy.

Digitálne spracovanie signálu je aritmetické spracovanie sekvencie hodnôt amplitúdy signálu získavaných v pravidelných intervaloch. Hlavná vec, ktorá odlišuje tieto informácie, je to, že nie sú nevyhnutne uložené v pamäti, a preto nemusia byť v budúcnosti dostupné. Preto je potrebné ho spracovať v reálnom čase (RMV).

Medzi hlavné vlastnosti digitálneho spracovania signálu, ktoré do značnej miery určujú architektúru procesorov DSP, patria:

    in-line charakter spracovania veľkého množstva údajov v RMV;

    zabezpečenie možnosti intenzívnej výmeny s externými zariadeniami.

Na efektívnu implementáciu algoritmov spracovania digitálneho signálu je potrebná hardvérová podpora základných operácií DSP. Preto najprv zvážime princípy digitálneho spracovania signálu, ktoré majú osobitný vplyv na architektúru DSP.

Akýkoľvek analógový signál môže byť reprezentovaný vo forme charakteristík - buď amplitúda-čas, alebo frekvencia-amplitúda. Ak chcete prepnúť z jednej formy prezentácie na druhú, použite Fourierova transformácia... Operácie vykonávajúce túto konverziu sú základné digitálne spracovanie signálu.

Fourierova transformácia je vo všeobecnom prípade práca s nejakou spojitou funkciou. S spojitou Fourierovou transformáciou je výhodné pracovať v teórii, ale v praxi sa väčšinou zaoberáme diskrétnymi dátami. Na spracovanie zvukových a obrazových signálov v počítači sa najskôr prevedú do digitálnej podoby a reprezentujú sa ako súbor vzoriek frekvencie a amplitúdy, ktoré sa vytvárajú v určitých intervaloch (perióda vzorkovania). Preto tu stojí za to hovoriť nie o integráli, ale o diskrétna Fourierova transformácia(DFT).

Nech je daná konečná postupnosť čísel x 0, x 1, x 2, ..., x N-1 (vo všeobecnom prípade komplex). Diskrétna gj Fourierova transformácia je nájsť inú postupnosť X 0, X 1, X 2, ..., X N-1, ktorej prvky sa vypočítajú podľa vzorca:

Vo všeobecnom prípade harmonická vibrácia, ktorá má tvar znázornený na obr. 16.1 je opísaný nasledujúcim výrazom:

Ryža. 16.1. Celkový pohľad na harmonickú vibráciu

kde je kruhová frekvencia signálu. Tento výraz sa bude nazývať harmonický.

Posledný výraz transformujeme do tvaru:

Rozložme každé komplexné číslo X k z vyjadrenia inverznej Fourierovej transformácie (16.2) na imaginárnu a reálnu zložku a exponent podľa Eulerovej formuly na sínus a kosínus reálneho argumentu. Dostaneme:

Uvažujme teraz o funkcii x = f (t), čo je nejaký zvuk alebo iné vibrácie. Nech toto kolísanie opíšeme grafom na časovom intervale (obr. 16.2).

Aby sa tento signál spracoval v počítači, musí sa navzorkovať. Na tento účel je časový interval rozdelený na N-1 častí.

Ryža. 16.2. Diskretizácia harmonickej funkcie

a hodnoty funkcie x 0, x 1, x 2, ..., x N-1 sú uložené pre N bodov na hraniciach intervalov.

Ako výsledok priama diskrétna Fourierova transformácia Hodnoty N pre X k možno získať podľa (16.1).

Ak sa teraz prihlásime inverzná diskrétna Fourierova transformácia, potom dostanete pôvodnú postupnosť (x n). Pôvodná postupnosť pozostávala z reálnych čísel a postupnosť (X k) je vo všeobecnosti zložitá. Ak prirovnáme jeho imaginárnu časť k nule, dostaneme:

Porovnaním tohto vzorca so vzorcami (16.4) a (16.6) pre harmonickú, uvidíme, že výraz (16.8) je súčtom N harmonických kmitov rôznych frekvencií, fáz a amplitúd. To je fyzikálny význam diskrétna Fourierova transformácia je reprezentovať nejaký diskrétny signál ako súčet harmonických. Parametre každej harmonickej sú vypočítané priamou Fourierovou transformáciou a súčet harmonických sú vypočítané inverzne.

Teraz napríklad operácia "dolnopriepustného filtra", ktorá zo signálu vylúči všetky frekvencie nad určitým vopred stanoveným signálom, môže jednoducho vynulovať koeficienty zodpovedajúce frekvenciám, ktoré sa majú odstrániť. Potom sa po spracovaní vykoná inverzná transformácia.

Zvláštnosti digitálne spracovanie signálu Zoberme si príklad nerekurzívneho filtrovacieho algoritmu. Štruktúra zariadenia, ktoré implementuje tento algoritmus, je znázornená na obr. 16.3.

Ryža. 16.3. Schéma činnosti nerekurzívneho filtra

Spracovanie spočíva vo vygenerovaní výstupného signálu Y [k] na základe hodnôt N posledných vstupných vzoriek x [k], ktoré sú po určitom časovom intervale T prijaté na vstup zariadenia. Prijaté vzorky sú uložené v bunkách kruhového pufra. Po prijatí ďalšej vzorky sa obsah všetkých buniek vyrovnávacej pamäte prepíše na susednú pozíciu, najstaršia vzorka opustí vyrovnávaciu pamäť a nová sa zapíše do jej najnižšej bunky.

Analyticky je algoritmus pre činnosť nerekurzívneho filtra napísaný ako:

kde a i - koeficienty určené typom filtra.

Údaje z výstupov vyrovnávacích prvkov sa privádzajú do multiplikátorov, ktorých druhé vstupy prijímajú koeficienty a i. Výsledky produktov sa sčítajú a tvoria počet výstupného signálu Y [k], po ktorom sa obsah vyrovnávacej pamäte posunie o 1 pozíciu a cyklus filtra sa opakuje. Výstupný signál Y [k] je potrebné vypočítať pred príchodom ďalšieho vstupného signálu, teda v intervale T. Toto je podstata činnosti zariadenia v reálnom čase. Časový interval T je nastavený rýchlosťou vzorkovania, ktorá je určená oblasťou použitia filtra. V dôsledku Kotelnikovovej vety v diskrétnom signáli perióda zodpovedajúca najvyššej reprezentatívnej frekvencii zodpovedá dvom periódam vzorkovania. Pri spracovaní zvukového signálu môže byť vzorkovacia frekvencia 40 kHz. V tomto prípade, ak je potrebné implementovať digitálny nerekurzívny filter 50. rádu, je potrebné vykonať 50 násobení a 50 akumulácií výsledkov násobenia v čase 1/40 kHz = 25 μs. Pre spracovanie videosignálu bude časový interval, počas ktorého sa musia tieto úkony vykonávať, o niekoľko rádov kratší.

Ak vykonáte DFT vstupnej sekvencie priamo, striktne podľa pôvodného vzorca, potom to zaberie veľa času. Po spočítaní podľa definície (N-krát na súčet N členov) dostaneme hodnotu rádovo N2.

Vystačíte si však s podstatne menším počtom operácií.

Najpopulárnejším zo zrýchlených algoritmov DFT je metóda Cooley-Tukey, ktorá umožňuje vypočítať DFT pre počet vzoriek N = 2k v čase rádovo N * log 2 N (odtiaľ názov - rýchla Fourierova transformácia, FFT, alebo v anglickej verzii FFT - Fast Fourier TRansformation). Hlavnou myšlienkou tejto metódy je rekurzívne rozdeliť pole čísel do dvoch podpolí a zredukovať výpočet DFT z celého poľa na výpočet DFT z podpolí oddelene. V tomto prípade sa proces rozdelenia pôvodného poľa na podpolia vykonáva pomocou metódy bit-reversal sortINg.

Najprv sa vstupné pole rozdelí na dve podpole – s párnymi a nepárnymi číslami. Každé z podpolí je prečíslované a opäť rozdelené na dve podpolia – s párnymi a nepárnymi číslami. Toto triedenie pokračuje, kým veľkosť každého podpola nedosiahne 2 prvky. V dôsledku toho (ktorý môže byť znázornený matematicky) je počet každého zdrojového prvku v binárnom systéme obrátený. To znamená, že napríklad pre jednobajtové čísla sa binárne číslo 00000011 stane číslom 110000000 a číslo 01010101 sa stane číslom 10101010.

Existujú FFT algoritmy pre prípady, keď N je mocninou ľubovoľného prvočísla (nie len dvoch), a tiež pre prípad, keď číslo N je súčinom mocnín prvočísel ľubovoľného počtu vzoriek. Najpoužívanejšia je však FFT implementovaná metódou Cooley-Tukey pre prípad N = 2k. Dôvodom je, že algoritmus vytvorený pomocou tejto metódy má množstvo veľmi dobrých technologických vlastností:

    štruktúra algoritmu a jeho základné operácie nezávisia od počtu vzoriek (mení sa len počet sérií základnej operácie);

    algoritmus sa dá jednoducho paralelizovať pomocou základnej operácie a zreťaziť a tiež jednoducho kaskádovať (koeficienty FFT pre 2N vzorky možno získať prevodom koeficientov dvoch FFT na N vzoriek získaných „decimovaním“ pôvodných 2N vzoriek cez jednu);

    algoritmus je jednoduchý a kompaktný, umožňuje spracovanie údajov "na mieste" a nevyžaduje dodatočnú RAM.

Jednočipové mikrokontroléry a dokonca aj mikroprocesory na všeobecné použitie sú pri vykonávaní operácií DSP relatívne pomalé. Okrem toho sa neustále zvyšujú požiadavky na kvalitu konverzie analógových signálov. V signálne mikroprocesory takéto operácie sú podporované na hardvérovej úrovni, a preto sa vykonávajú pomerne rýchlo. Prevádzka v reálnom čase vyžaduje, aby procesor podporoval na úrovni hardvéru také akcie, ako je spracovanie prerušení a programových cyklov.

To všetko vedie k tomu, že procesory DSP, architektonicky zahŕňajúce mnoho funkcií ako univerzálne mikroprocesory, najmä s RISC architektúra a jednočipové mikrokontroléry, zároveň sa od nich výrazne líši. Univerzálny mikroprocesor plní okrem čisto výpočtových operácií aj funkciu zjednocujúceho článku pre celý mikroprocesorový systém, najmä počítač.

Musí riadiť činnosť rôznych hardvérových komponentov, ako sú disketové jednotky, grafické displeje, sieťové rozhranie, aby sa zabezpečilo ich konzistentné fungovanie. To vedie k pomerne zložitej architektúre, pretože musí podporovať, spolu s celočíselnými aritmetickými operáciami a operáciami s pohyblivou rádovou čiarkou, také základné funkcie, ako je ochrana pamäte, multiprogramovanie, spracovanie vektorovej grafiky atď. Výsledkom je, že typický univerzálny mikroprocesor s CISC- a často Architektúra RISC má systém niekoľkých stoviek príkazov, ktoré poskytujú všetky tieto funkcie a zodpovedajúcu hardvérovú podporu. To vedie k potrebe mať v zložení takéhoto MP desiatky miliónov tranzistorov.

V rovnakom čase DSP procesor je vysoko špecializované zariadenie. Jeho jedinou úlohou je rýchlo spracovať toky digitálneho signálu. Pozostáva hlavne z vysokorýchlostných hardvérových obvodov, ktoré vykonávajú aritmetické funkcie a funkcie bitovej manipulácie, optimalizované na rýchle spracovanie veľkého množstva údajov. Z tohto dôvodu je inštrukčná sada DSP oveľa menšia ako v prípade univerzálneho mikroprocesora: ich počet zvyčajne nepresahuje 80. To znamená, že DSP vyžaduje ľahký inštrukčný dekodér a oveľa menší počet vykonávacích jednotiek. Okrem toho musia všetky pohony v konečnom dôsledku podporovať vysoký výkon aritmetické operácie. Teda typický DSP procesor pozostáva z nie viac ako niekoľkých stoviek tisíc (nie desiatok miliónov, ako v moderných CISC-MP) tranzistorov. Z tohto dôvodu tieto MP spotrebúvajú menej energie, čo umožňuje ich použitie v produktoch napájaných z batérie. Ich výroba je extrémne zjednodušená, preto sa používajú v lacných zariadeniach. Kombinácia nízkej spotreby energie a nízkych nákladov umožňuje ich využitie nielen v špičkových telekomunikáciách, ale aj v mobilných telefónoch a hračkárskych robotoch.

Všimnime si to hlavné vlastnosti architektúry procesorov na digitálne spracovanie signálu:

    Harvardská architektúra, ktorý je založený na fyzickom a logickom oddelení pamäte inštrukcií a pamäte údajov. Kľúčové príkazy DSP procesor sú multioperandy a na urýchlenie ich práce je potrebné súčasné čítanie niekoľkých pamäťových buniek. Podľa toho sú na čipe samostatné adresové a dátové zbernice (v niektorých typoch procesorov je niekoľko adresových a dátových zberníc). To umožňuje časovo kombinovať vzorkovanie operandov a vykonávanie inštrukcií. Použitie upravená harvardská architektúra predpokladá, že operandy môžu byť uložené nielen v dátovej pamäti, ale aj v pamäti inštrukcií spolu s programami. Napríklad, keď sú implementované digitálne filtre, koeficienty môžu byť uložené v pamäti programu a dátové hodnoty v dátovej pamäti. Preto je možné zvoliť faktor a dáta v rovnakom strojovom cykle. Aby sa zabezpečilo načítanie inštrukcií v rovnakom strojovom cykle, použije sa buď vyrovnávacia pamäť programu, alebo sa počas strojového cyklu použije dvojnásobný prístup do pamäte programu.

    Na skrátenie doby vykonávania jednej z hlavných operácií digitálneho spracovania signálu - násobenia - sa používa hardvérový multiplikátor. V procesoroch na všeobecné použitie táto operácia trvá niekoľko hodinových cyklov posunu a sčítania a trvá dlho, zatiaľ čo v DSP procesory vďaka špeciálnemu multiplikátoru je potrebný iba jeden cyklus. Zabudovaný hardvérový multiplikačný obvod umožňuje vykonávať hlavnú operáciu DSP v 1 hodinovom cykle - násobenie s akumuláciou(MultIPly-Accumulate - MAC) pre 16- a/alebo 32-bitové operandy.

    Hardvérová podpora pre kruhové vyrovnávacie pamäte. Napríklad pre filter znázornený na obr. 16.3, pri každom výpočte výstupnej vzorky sa použije nová vstupná vzorka, ktorá sa uloží do pamäte na miesto najstaršej. Pre takúto cirkulujúcu vyrovnávaciu pamäť možno použiť pevnú oblasť RAM. V tomto prípade sa počas výpočtov generujú iba sekvenčné hodnoty adries RAM, bez ohľadu na to, aká operácia - zápis alebo čítanie - sa práve vykonáva. Hardvérová implementácia kruhových vyrovnávacích pamätí umožňuje nastaviť parametre vyrovnávacej pamäte (štartovacia adresa, dĺžka) v programe mimo tela filtračného cyklu, čo umožňuje skrátiť čas vykonávania cyklickej časti programu.

    Skrátenie trvania príkazového cyklu. Je to do značnej miery spôsobené technikami typickými pre procesory RISC. Hlavnými sú umiestnenie operandov väčšiny inštrukcií v registroch, ako aj pipelining na úrovni inštrukcií a mikroinštrukcií. Dopravník má 2 až 10 stupňov, čo umožňuje spracovať až 10 príkazov v rôznych fázach vykonávania. Toto využíva generovanie adries registrov paralelne s vykonávaním aritmetických operácií, ako aj viacportový prístup do pamäte. Patrí sem aj taká technika, ktorá je typická pre univerzálne mikroprocesory s EPIC architektúra ako použitie inštrukcií extra-long word length (VLIW) generovaných v čase kompilácie. Vyššie uvedené harvardská architektúra procesor, typický pre jednočipové mikrokontroléry.

    Prítomnosť procesora vnútornej pamäte na čipe, vďaka čomu sú DSP spojené s jednočipovými MCU. Pamäť zabudovaná v procesore je zvyčajne oveľa rýchlejšia ako externá pamäť. Prítomnosť vstavanej pamäte umožňuje výrazne zjednodušiť systém ako celok, znížiť jeho veľkosť, spotrebu energie a náklady. Kapacita vnútornej pamäte je výsledkom kompromisu. Jeho zvýšenie vedie k zvýšeniu ceny procesora a zvýšeniu spotreby energie a obmedzená kapacita programovej pamäte neumožňuje ukladanie zložitých algoritmov. Väčšina procesorov DSP s pevným bodom má malé kapacity vnútornej pamäte, zvyčajne 4 až 256 KB, a nízkokapacitné externé dátové zbernice spájajúce procesor s externou pamäťou. Súčasne DSP s pohyblivou rádovou čiarkou zvyčajne zahŕňajú prácu s veľkými dátovými poľami a zložitými algoritmami a majú buď vstavanú veľkokapacitnú pamäť alebo veľké adresové zbernice na pripojenie externej pamäte (a niekedy oboje).

    Rozsiahle príležitosti na interakciu hardvéru s externými zariadeniami vrátane:

    široká škála rozhraní, vrátane ovládačov lokálnej priemyselnej siete CAN, vstavaných komunikačných (SCI) a periférnych (SPI) rozhraní, I2C, UART;

    niekoľko vstupov pre analógové signály a podľa toho aj vstavaný ADC;

    výstupné kanály modulácie šírky impulzov (PWM);

    rozvinutý systém vonkajších prerušení;

    DMA ovládače.

Niektoré rodiny DSP poskytujú vyhradený hardvér na uľahčenie vytvárania viacprocesorových systémov paralelného spracovania na zvýšenie výkonu.

DSP sú široko používané v mobilných zariadeniach, kde je hlavnou charakteristikou spotreba energie. Signálové procesory využívajú rôzne techniky na zníženie spotreby energie, vrátane zníženia napájacieho napätia a zavedenia funkcií správy napájania, ako je dynamická zmena taktovacej frekvencie, prepnutie do režimu spánku alebo pohotovostného režimu alebo vypnutie periférií, ktoré sa práve nepoužívajú. Treba si uvedomiť, že tieto opatrenia majú výrazný vplyv na rýchlosť procesora a pri nesprávnom použití môžu viesť k nefunkčnosti navrhnutého zariadenia (ako príklad môžeme uviesť niektoré mobilné telefóny, ktoré v dôsledku chyby v programoch správy napájania, niekedy sa prestali zapínať) alebo k zhoršeniu prevádzkových charakteristík (napríklad výrazný čas zotavenia z režimu spánku).

Inštrukčná sada signálového procesora má mnoho funkcií príkazových systémov univerzálnych mikroprocesorov (najmä tých s architektúrou RISC) a jednočipových mikrokontrolérov. Obsahuje základné aritmetické a logické operácie a inštrukcie skokov, ale v menšom množstve ako v univerzálnom MP. Počet režimov adresovania operandov je tiež relatívne malý. Príkaz má jednoduchý, dobre definovaný formát. Dĺžka príkazu je jedno, zriedka dve 16-bitové slová. Spolu s použitím redukovanej inštrukčnej sady však DSP procesory využívajú aj hardvérovo podporované inštrukcie typické pre MMX spracovanie, ako sú inštrukcie na nájdenie minima a maxima, získanie absolútnej hodnoty, sčítanie so saturáciou, v ktorej sa v prípade pri pretečení pri sčítaní dvoch čísel sa výsledku priradí maximálna možná hodnota v danej bitovej mriežke. To vedie k menšiemu počtu konfliktov v potrubí a zlepšuje efektivitu procesora.

Na druhej strane DSP obsahujú množstvo inštrukcií, ktorých prítomnosť je spôsobená špecifikami ich aplikácie a ktoré sa v dôsledku toho zriedka vyskytujú v iných typoch mikroprocesorov. V prvom rade je to, samozrejme, príkaz MAC sum multiply-accumulate, ktorý je základom DSP: A = B * C + A. V inštrukčných systémoch niektorých signálových procesorov je možné pri programovaní špecifikovať počet vykonaní tejto inštrukcie v cykle a pravidlá pre zmenu indexov pre adresovanie operandov B a C. V tomto prípade na rozdiel od opakovacích inštrukcií z konvenčných procesorov môže signálový procesor hardvérovo podporovať kontrolu stavu dokončenia cyklu. Patria sem aj príkazy na posun (prepis) do susednej bunky dátovej RAM, ktoré podporujú činnosť kruhovej vyrovnávacej pamäte pre prípravu násobenia v nasledujúcom taktovom cykle.

Pre efektívnu implementáciu FFT algoritmov obsahuje inštrukčná sada niektorých DSP procesorov schopnosti adresovania s obrátením adresných bitov.

Programovanie mikroprocesorov tejto triedy má tiež svoje zvláštnosti. Významné pohodlie pre vývojárov zvyčajne spojené s používaním jazykov na vysokej úrovni sa vo väčšine prípadov prekladá do menej kompaktného a rýchlejšieho kódu. Keďže funkcie DSP predpokladajú prevádzku v reálnom čase, vedie to k potrebe použiť výkonnejšie a drahšie DSP na riešenie rovnakých problémov. Táto situácia je obzvlášť kritická pri veľkoobjemovej výrobe, kde hrá dôležitú úlohu rozdiel v cene výkonnejšieho DSP alebo dodatočného procesora. Zároveň v moderných podmienkach môže rýchlosť vývoja (a teda uvedenia nového produktu na trh) priniesť viac výhod ako čas strávený optimalizáciou kódu pri písaní programu v jazyku symbolických inštancií.

Kompromisným prístupom je tu použitie assembleru na písanie časovo a zdrojovo najnáročnejších častí programu, pričom hlavná časť programu je napísaná v jazyku vysokej úrovne, spravidla C alebo C++.

Tento článok je prvým zo série publikácií o viacjadrových procesoroch DSP TMS320C6678. Tento článok poskytuje všeobecný prehľad o architektúre procesora. Článok reflektuje prednáškovo-praktický materiál ponúkaný poslucháčom v rámci pokročilých školení v rámci programu „Texas Instruments C66x Multicore Digital Signal Processors“, ktorý sa konal na Rjazanskej štátnej rádiotechnickej univerzite.

TMS320C66xx DSP sú založené na architektúre KeyStone a sú to vysokovýkonné viacjadrové signálové procesory pracujúce s pevnou aj pohyblivou rádovou čiarkou. Architektúra KeyStone je princíp pre výrobu viacjadrových systémov na čipe vyvinutý spoločnosťou Texas Instruments, ktorý umožňuje organizovať efektívnu spoločnú prevádzku veľkého počtu DSP a RISC jadier, akcelerátorov a periférnych zariadení s dostatočnou šírkou pásma pre interné a externé kanály prenosu dát, ktoré sú založené na hardvérových komponentoch: Multicore Navigator (ovládač na výmenu dát cez interné rozhrania), TeraNet (interná zbernica na prenos dát), Multicore Shared Memory Controller (ovládač pre prístup k zdieľanej pamäti) a HyperLink (rozhranie s externým zariadenia pri rýchlosti na čipe).

Architektúra procesora TMS320C6678, najvýkonnejšieho procesora v rodine TMS320C66xx, je znázornená na obrázku 1. Architektúru možno rozdeliť do nasledujúcich hlavných komponentov:

  • súbor operačných jadier (CorePack);
  • subsystém pre prácu so zdieľanou internou a externou pamäťou (Memory Subsystem);
  • periférne zariadenia;
  • sieťový koprocesor;
  • kontrolór interných prenosov (Multicore Navigator);
  • servis hardvérových modulov a internej zbernice TeraNet.

Obrázok 1. Všeobecná architektúra procesora TMS320C6678

Procesor TMS320C6678 je taktovaný na 1,25 GHz. Procesor je založený na sade operačných jadier C66x CorePack, ktorých počet a zloženie závisí od konkrétneho modelu procesora. DSP TMS320C6678 obsahuje 8 jadier typu DSP. Jadro je základným výpočtovým prvkom a zahŕňa výpočtové jednotky, sady registrov, programovateľný stroj, programovú a dátovú pamäť. Pamäť, ktorá je súčasťou jadra, sa nazýva lokálna pamäť.

Okrem lokálnej pamäte existuje pamäť spoločná pre všetky jadrá – zdieľaná pamäť viacjadrového procesora (Multicore Shared Memory – MSM). K zdieľanej pamäti sa pristupuje cez Memory Subsystem, ktorý obsahuje aj externé pamäťové rozhranie EMIF na výmenu dát medzi procesorom a externými pamäťovými čipmi.

Sieťový koprocesor zvyšuje efektivitu procesora ako súčasti rôznych telekomunikačných zariadení, pričom pre túto oblasť implementuje úlohy spracovania dát založené na hardvéri. Koprocesor je založený na Packet Accelerator a Security Accelerator. Špecifikácia procesora uvádza sadu protokolov a štandardov podporovaných týmito urýchľovačmi.

Medzi periférne zariadenia patria:

  • Serial RapidIO (SRIO) verzia 2.1 - poskytuje rýchlosť prenosu dát až 5 GBaud na linku s počtom liniek (kanálov) - až 4;
  • PCI Express (PCIe) Verzie Gen2 - poskytujú rýchlosť prenosu dát až 5 GBaud na linku s počtom liniek (kanálov) - až 2;
  • HyperLink- interné zbernicové rozhranie, ktoré umožňuje prepínať procesory postavené na architektúre KeyStone priamo medzi sebou a vymieňať si ich rýchlosťou na čipe; rýchlosť prenosu dát - až 50 Gbaud;
  • Gigabit Ethernet (GbE) poskytuje prenosové rýchlosti: 10/100/1000 Mbps a je podporovaný hardvérovým akcelerátorom sieťovej komunikácie (sieťový koprocesor);
  • EMIF DDR3- rozhranie externej pamäte typu DDR3; má 64-bitovú šírku zbernice, ktorá poskytuje adresovateľný pamäťový priestor až 8 GB;
  • EMIF- univerzálne rozhranie externej pamäte; má 16-bitovú šírku zbernice a možno ju použiť na pripojenie 256 MB NAND Flash alebo 16 MB NOR Flash;
  • TSIP (telekomunikačné sériové porty)- telekomunikačný sériový port; poskytuje prenosové rýchlosti až 8 Mbit / s na linku s počtom liniek - až 8;
  • UART- univerzálny asynchrónny sériový port;
  • I2C- interná komunikačná zbernica;
  • GPIO- vstup-výstup na všeobecné použitie - 16 výstupov;
  • SPI- univerzálne sériové rozhranie;
  • Časovače- používajú sa na generovanie periodických udalostí.
Servisné hardvérové ​​moduly zahŕňajú:
  • Modul ladenia a sledovania- umožňuje ladiacim nástrojom získať prístup k vnútorným zdrojom bežiaceho procesora;
  • boot ROM - ukladá zavádzací program;
  • hardvérový semafor- slúži na hardvérovú podporu pre organizovanie zdieľaného prístupu paralelných procesov k zdieľaným procesorovým zdrojom;
  • modul správy napájania- implementuje dynamické riadenie režimov napájania komponentov procesora s cieľom minimalizovať spotrebu energie v momentoch, keď procesor nepracuje na plný výkon;
  • PLL obvod- generuje vnútorné hodinové frekvencie procesora z externého referenčného hodinového signálu;
  • radič priameho prístupu do pamäte (EDMA).- riadi proces prenosu dát, odbremeňuje operačné jadrá DSP a je alternatívou k Multicore Navigator.
Interný kontrolér prenosu (Multicore Navigator) je výkonný a efektívny hardvérový modul zodpovedný za rozhodovanie o prenosoch údajov medzi rôznymi komponentmi procesora. Viacjadrové systémy TMS320C66xx na čipe sú veľmi zložité zariadenia a na organizovanie výmeny informácií medzi všetkými komponentmi takéhoto zariadenia je potrebná špeciálna hardvérová jednotka. Multicore Navigator umožňuje jadrám, periférnym zariadeniam a hostiteľským zariadeniam nepreberať funkcie riadenia komunikácie. Keď ktorýkoľvek komponent procesora potrebuje poslať pole údajov inému komponentu, jednoducho povie riadiacej jednotke, čo má preniesť a kam. Všetky funkcie preposielania a synchronizácie odosielateľa a príjemcu vykonáva Multicore Navigator.

Jadrom viacjadrového procesora TMS320C66xx z hľadiska vysokorýchlostnej výmeny dát medzi všetkými početnými komponentmi procesora, ako aj externými modulmi, je interná zbernica TeraNet.

V nasledujúcom článku sa bližšie pozrieme na architektúru operačného jadra C66x.

1. Sprievodca viacjadrovým programovaním / SPRAB27B - august 2012;
2. TMS320C6678 Viacjadrový pevný a digitálny signálový procesor Dátová príručka TMS320C6678 / SPRS691C - február 2012.


"Vedecké a technické články"- výber vedecké a technické články rádioelektronické témy: nové položky elektronické komponenty, vedecký vývoj v oblasti rádiového inžinierstva a elektroniky, články na príbehov rozvoj rádiotechniky a elektroniky, nové technológie a stavebné metódy a rozvoj rádioelektronické zariadenia sľubné technológie budúcnosti, aspekty a dynamika rozvoja všetkých oblastí rádiotechniky a elektroniky, prehliadky výstav rádioelektronické témy.

Článok rozoberá hlavné parametre digitálnych signálových procesorov (DSP) a ich vplyv na výber vhodného mikroobvodu a tiež popisuje súčasný stav na trhu DSP.

Pri výbere obuvi chceme, aby bola módna, pohodlná a kvalitná, preto dávame prednosť známym značkám, tým firmám, ktoré sú už známe a zaberajú ani zďaleka posledné miesta na trhu. Teraz sa musíme rozhodnúť: na čo tieto topánky potrebujeme? Ak na ranný beh, potom je lepšie kúpiť tenisky a na firemný večer topánky. A čo si obliecť do hôr? V tomto prípade potrebujete špeciálnu pevnú obuv s pevnou podrážkou – vibramy. A čo je horšie DSP? Pri výbere digitálneho signálového procesora by bolo pekné mať predstavu o existujúcom trhu DSP, poznať hlavných výrobcov a smery vývoja procesorov, ktoré vytvárajú.

DSP-procesory sú určené na digitálne spracovanie signálu - matematickú manipuláciu s digitalizovanými signálmi. Sú široko používané v bezdrôtových systémoch, spracovaní zvuku a videa, riadiacich systémoch. S nárastom počtu aplikácií využívajúcich DSP a zložitosťou algoritmov spracovania sa zvyšujú aj požiadavky na ne z hľadiska zvyšovania výkonu a vybavenia rozhraním a ďalšími špecializovanými uzlami. V súčasnosti sa objavilo mnoho typov DSP, univerzálnych aj zameraných na pomerne úzky rozsah úloh.

Tabuľka 1. Hlavní výrobcovia DSP a ich podiely na trhu

Lídri na trhu meno spoločnosti podiel na trhu DSP
1 Texas Instruments 54,3%
2 Freescale Semiconductor 14,1%
3 Analógové zariadenia 8,0%
4 Polovodiče Philips 7,5%
5 Agere Systems 7,3%
6 Toshiba 4,9%
7 DSP Group 2,2%
8 NEC Electronics 0,6%
9 Fujitsu 0,4%
10 Intersil 0,3%

Iné spoločnosti 0,5%

Celkom 100,0%

Prirodzene, žiadny z procesorov nemôže byť vhodný pre všetky aplikácie. Prvou úlohou vývojára je preto vybrať procesor, ktorý je najvhodnejší z hľadiska výkonu, ceny, dostupnosti určitých periférií, spotreby energie, jednoduchosti použitia a ďalších kritérií.

Napríklad pre prenosné zariadenia, ako sú mobilné telefóny, prenosné digitálne prehrávače, sú náklady, integrácia a spotreba energie prvoradé a maximálny výkon je často zbytočný (pretože zvyčajne znamená výrazné zvýšenie spotreby energie bez poskytovania výhod spracovania zvuku s relatívne nízkou bitovou rýchlosťou). údaje). Zároveň sú pre hydroakustické alebo radarové systémy určujúcimi parametrami rýchlosť prevádzky, dostupnosť vysokorýchlostných rozhraní a pohodlný vývojový systém a náklady sú sekundárnym kritériom.

Okrem toho má v mnohých prípadoch zmysel brať do úvahy trhové miesto, ktoré zaujíma dodávateľ spracovateľa, keďže Nie všetci výrobcovia vám môžu poskytnúť rad procesorov, ktoré vyhovujú všetkým vašim potrebám. Súčasné rozdelenie trhu medzi popredných dodávateľov (pozri tabuľku 1) ukazuje, že 4 spoločnosti na vrchole zoznamu dodávajú viac ako 80 % všetkých DSP používaných vo svete. Práve tieto spoločnosti sú najznámejšie na ruskom trhu a ich produkty sa často spomínajú v našom časopise, napríklad aké sú hlavné charakteristiky Texas Instruments DSP? Analógové zariadenia boli preskúmané v # 7 2005 a # 1 2006.

Malo by sa pamätať na to, že výrobcovia DSP pri navrhovaní nových mikroobvodov ich celkom jasne umiestňujú na použitie v určitých aplikáciách. To má vplyv na ich architektúru a na výkon a na vybavenie procesora jednou alebo druhou sadou periférnych modulov. Tabuľka 2 ukazuje umiestnenie DSP z pohľadu ich tvorcov.

Tabuľka 2. Oblasti použitia rodín signálových procesorov od rôznych výrobcov

Spracovanie videa, video dohľad, digitálne fotoaparáty, 3D grafika TMS320DM64x / DaVinci, TMS320C64xx, TMS320C62xx (TI), PNX1300, PNX1500, PNX1700 (Philips), MPC52xx (Freescale)
Spracovanie zvuku, rozpoznávanie reči, syntéza zvuku TMS320C62xx, TMS320C67xx (TI), SHARC (analógové zariadenia)
Prenosné mediálne zariadenia TMS320C54xx, TMS320C55xx (TI), Blackfin (analógové zariadenia)
Bezdrôtová komunikácia, telekomunikácie, modemy, sieťové zariadenia TMS320C64xx, TMS320C54xx, TMS320C55xx (TI), MPC7xxx, MPC86xx, MPC8xx PowerQUICC I, MPC82xx PowerQUICC II, MPC83xx PowerQUICC II Pro, MPC85xx (Free scale), Tixger1 Black3SH)AR
Riadenie pohonu, konverzia energie, automobilová elektronika, domáce potreby, kancelárske vybavenie TMS320C28xx, TMS320C24xx (TI), ADSP-21xx (Analógové zariadenia), MPC55xx, MPC55xx (Freescale)
Medicína, biometria, meracie systémy TMS320C62xx, TMS320C67xx, TMS320C55xx, TMS320C28xx (TI), TigerSHARC, SHARC (analógové zariadenia)

Formát údajov a bitová šírka

Jednou z hlavných charakteristík procesorov digitálnych signálov je formát spracovávaných údajov.

Všetky DSP pracujú buď s celými číslami alebo s číslami vo formáte s pohyblivou rádovou čiarkou a pre celé čísla je bitová šírka 16 alebo 32 a pre čísla s pohyblivou rádovou čiarkou je to 32. Pri výbere formátu údajov majte na pamäti nasledovné: DSP s celými číslami dáta (alebo dáta s pevným bodom) sú zvyčajne lacnejšie a poskytujú väčšiu absolútnu presnosť s rovnakou bitovou hĺbkou (keďže všetkých 32 bitov je pridelených mantise v 32-bitovom procesore s pevnou desatinnou čiarkou a v procesore s pohyblivou rádovou čiarkou - iba 24). Zároveň dynamický rozsah signálov, s ktorými dokážu procesory pracovať bez skreslenia, je u procesorov s pevnou bodkou oveľa užší (o niekoľko desatinných rádov). Pri relatívne jednoduchých algoritmoch spracovania to nemusí vadiť, pretože dynamický rozsah skutočných vstupných signálov je často menší, než umožňuje DSP, avšak v niektorých prípadoch sa môžu počas vykonávania programu vyskytnúť chyby pretečenia. To vedie k zásadne fatálnym nelineárnym skresleniam vo výstupnom signáli, podobne ako orezávacie skreslenie v analógových obvodoch.

Preto pri výbere DSP je potrebné starostlivo analyzovať algoritmus spracovania a vstupné signály pre správny výber bitovej hĺbky a typu aritmetiky. Niekedy, keď nie je možné vybrať vhodný procesor s pohyblivou rádovou čiarkou (kvôli jeho vyššej cene alebo spotrebe energie), používa sa DSP s pevnou bodovou čiarkou a kompresia dynamického rozsahu spracovávaných signálov (kompresia), čo však vedie k zvýšeniu v zložitosti algoritmu spracovania signálu a zvyšuje požiadavky na rýchlosť. Samozrejme, môžete emulovať operácie s pohyblivou rádovou čiarkou na procesore s celočíselnou aritmetikou alebo prejsť na spracovanie dvojciferných čísel, čo však tiež výrazne komplikuje program a výrazne znižuje výkon.

Napriek všetkým obmedzeniam väčšina vstavaných aplikácií používa procesory s pevným bodom kvôli nižšej cene a spotrebe energie.

Zvýšenie počtu bitov zvyšuje náklady, veľkosť matrice a počet požadovaných pinov procesora, ako aj množstvo potrebnej externej pamäte. Preto sa vývojári snažia použiť kryštál s čo najnižšou bitovou hĺbkou.

Je potrebné poznamenať, že bitovosť údajov a bitovosť inštrukcií procesora nie sú vždy ekvivalentné.

Rýchlosť

Kľúčovým parametrom pri výbere procesora je rýchlosť. Ovplyvňuje čas spracovania vstupného signálu, a preto určuje jeho maximálnu frekvenciu. Jednou z najčastejších chýb vývojárov je identifikácia taktovacej frekvencie a rýchlosti, ktorá je vo väčšine prípadov chybná.

Veľmi často sa rýchlosť DSP udáva v MIPS (milióny inštrukcií za sekundu). Toto je najľahšie merateľný parameter.

Problémom porovnávania rýchlosti rôznych DSP je však to, že procesory majú rôzne systémy inštrukcií a rôzne procesory vyžadujú rôzny počet týchto inštrukcií na vykonanie rovnakého algoritmu. Okrem toho je niekedy potrebný iný počet hodinových cyklov na vykonanie rôznych inštrukcií na tom istom procesore. Výsledkom je, že procesor s rýchlosťou 1 000 MIPS sa môže ukázať ako niekoľkonásobne pomalší ako procesor s rýchlosťou 300 MIPS, najmä s rôznymi veľkosťami bitov.

Jedným z riešení tohto problému je porovnanie procesorov z hľadiska rýchlosti, akou vykonávajú určité operácie, ako sú operácie multiply-accumulate (MAC). Rýchlosť takýchto operácií je kritická pre algoritmy, ktoré používajú digitálne filtrovanie, koreláciu a Fourierove transformácie. Bohužiaľ, takýto odhad tiež neposkytuje úplné informácie o skutočnej rýchlosti procesora.

Najpresnejšie posúdenie rýchlosti vykonávania určitých algoritmov - napríklad filtrovania FIR a IIR, si však vyžaduje vývoj vhodných programov a starostlivú analýzu výsledkov testov.

Ryža. 1 Porovnanie rýchlosti moderných DSP od rôznych výrobcov

Existujú spoločnosti, ktoré analyzujú a porovnávajú procesory podľa ich hlavných charakteristík, vrátane rýchlosti. Lídrom medzi takýmito spoločnosťami je BDTI - Berkeley Design Technology, Inc. (www.bdti.com). Ako príklad ukazuje obrázok 1 porovnanie rýchlosti moderných DSP od rôznych výrobcov.

Digitálny signálový procesor

DSP (D digitálny S signálne P processor) (v preklade z angličtiny znamená digitálny signálový procesor (DSP) alebo nazývaný aj ako signálový mikroprocesor (SMP) s architektúrou optimalizovanou pre prevádzkové potreby digitálneho spracovania signálov) - špecializovaný mikroprocesor, vlastnosť čo je charakter toku, ktorý spracováva veľké množstvo údajov v reálnom čase a zvyčajne s intenzívnou výmenou údajov s inými externými zariadeniami. (Je potrebný na konverziu signálov prezentovaných vo forme čísel, zvyčajne v reálnom čase).

Rozsah v reálnom čase(real time of operation, Real Time Scale) je režim prevádzky zariadenia, v ktorom sa registrácia a aritmetické spracovanie (a v prípade potreby analýza, vizualizácia, ukladanie, systematizácia, syntéza a prenos cez komunikačné kanály) údajov vykonáva bez stratu informácií pochádzajúcich z jej zdroja

Popis

Účel DSP

Účelom DSP je typicky merať, filtrovať a/alebo komprimovať súvislé analógové signály reálneho sveta. Väčšina mikroprocesorov na všeobecné použitie môže tiež úspešne vykonávať algoritmy DSP, ale vyhradený DSP má zvyčajne lepší stupeň účinnosti, takže sú vhodnejšie v prenosných zariadeniach, ako sú mobilné telefóny, kvôli obmedzeniam napájania. DSP často používa špeciálnu pamäťovú architektúru, ktorá je schopná načítať viacero údajov a/alebo inštrukcií súčasne.

Typický systém digitálneho spracovania

Digitálne spracovanie

Algoritmy digitálneho spracovania signálov zvyčajne vyžadujú veľké množstvo matematických operácií, ktoré sa majú vykonávať rýchlo a opakovane na množstve vzoriek údajov. Signály (možno zo zvuku alebo videa) sa neustále konvertujú z analógového na digitálny, používajú sa v digitálnej forme a potom sa konvertujú späť na analógový. Mnoho aplikácií DSP má limity latencie; tie. Aby systém fungoval, musí byť operácia DSP dokončená v určitom stanovenom čase a oneskorená, spracovanie nie je životaschopné.

Výhody DSP

Väčšina mikroprocesorov a operačných systémov na všeobecné použitie môže úspešne vykonávať algoritmy DSP, ale nie sú vhodné na použitie v prenosných zariadeniach, ako sú mobilné telefóny z dôvodu obmedzení energetickej účinnosti. A špecializovaný digitálny signálový procesor však zvyčajne poskytuje lacnejšie riešenie s lepším výkonom, nižšou latenciou a bez potreby špeciálneho chladenia alebo väčších batérií.

Architektúra

Architektúra DSP je optimalizovaná najmä pre digitálne spracovanie signálu. Niektoré funkcie sú tiež najviac podporované, ako napríklad aplikačný procesor alebo mikrokontrolér, pretože spracovanie signálu je zriedka jedinou úlohou systému. Niektoré užitočné optimalizačné funkcie algoritmov DSP sú uvedené nižšie.

Architektúra a jej vlastnosti

Architektúra DSP má na rozdiel od mikroprocesorov na všeobecné použitie množstvo funkcií. Spočíva v maximálnom zrýchlení vykonávania podobných úloh pre digitálne spracovanie signálu (vyhľadávanie signálu, Fourierova transformácia atď.). V matematike sa takéto úlohy redukujú na jednoduchšie podľa pravidla „rozdeľ a panuj“. V našom prípade je tento typ podúloh prvkový súčin prvkov viaczložkových vektorov reálnych čísel (sú to čísla, ktoré možno zapísať ako konečný alebo nekonečný (periodický alebo neperiodický) desatinný zlomok.) A následný súčet výsledkov produktu.

Na základe toho sú procesory špeciálne optimalizované na určité operácie (v našom prípade na násobenie a sčítanie). Výsledkom je zvýšenie produktivity a výkonu. Primárne DSP sú zamerané na viacnásobné násobenie s veľmi rýchlym výpočtom adries násobených prvkov poľa:

  1. „Multiplikácia a akumulácia“ (obvykle implementovaná v hardvéri a vykonávaná v jednom strojovom cykle) (M = M + X × Y), kde M, X a Y sú prvky skutočných polí s automatickým výpočtom adries prvkov polí. (MAC)
  2. Hardvérová implementácia viacnásobného opakovania danej sady príkazov.
  3. Použitie viacerých DSP pamäťových prístupových portov pre simultánny (v jednom strojovom cykle) výber inštrukcií a dvoch operačných argumentov pre rýchle násobenie a akumuláciu.
  4. Schopnosť vektorového zreťazeného spracovania pomocou generátorov sekvencií adries.

ale architektúra sa zmenila kvôli obmedzeným hardvérovým zdrojom prvých DSP. Pamäť bola rozdelená na nezávislé segmenty, deterministická práca inštrukcií (doba vykonávania je známa) viedla k plánovaniu práce v reálnom čase, kvôli malému potrubiu dochádza k neoprávneným prechodom oveľa rýchlejšie ako v univerzálnom, vzácnom súbore registrov a pokyny.

Architektúra softvéru

Podľa štandardov procesorov na všeobecné použitie sú inštrukčné sady DSP často nesprávne. Jedným z dôsledkov pre softvérovú architektúru je, že ručne optimalizované rutiny v jazyku assembleru sú zvyčajne zabalené v knižniciach na opätovné použitie, namiesto toho, aby sa spoliehali na pokročilé technológie kompilátora na spracovanie základných algoritmov.

Procesory digitálnych signálov niekedy používajú pevne zakódované časové kódovanie na zjednodušenie hardvéru a znásobenie efektívnosti kódovania. Viaceré aritmetické jednotky môžu vyžadovať, aby architektúra pamäte podporovala viacero vykonávaní na cyklus inštrukcie. Vyhradené ovládacie prvky slučky, ako je architektonická podpora na vykonávanie viacerých riadiacich slov vo veľmi tesnej slučke, bez režijných nákladov na volania príkazov alebo testovanie ukončenia.

Hardvérová architektúra

Pamäťová architektúra

DSP je zvyčajne optimalizovaný na streamovanie dát a využíva špeciálnu pamäťovú architektúru, ktorá je schopná vybrať viacero dát a/alebo inštrukcií súčasne, ako napríklad Harvardská architektúra alebo modifikovaná von Neumannova architektúra, ktoré využívajú oddelený program a dátovú pamäť ( niekedy dokonca paralelný prístup k dátam viacerých zberníc).

DSP sa niekedy môže spoliehať na podporu kódu, aby si bol vedomý hierarchií vyrovnávacej pamäte a súvisiacej latencie. Toto je kompromis, ktorý umožňuje lepší výkon. Okrem toho je DMA široko používaný.

Adresovanie a virtuálna pamäť

DSPS často používa multitaskingové operačné systémy, ale nemá podporu ani ochranu virtuálnej pamäte. Operačným systémom, ktoré využívajú virtuálnu pamäť, trvá prepínanie medzi procesmi dlhšie, čo zvyšuje latenciu.

  • Modulárny adresovací hardvér
    • Umožňuje implementáciu kruhových nárazníkov bez nutnosti testovania balenia
  • Bitovo spätné adresovanie, špeciálna metóda adresovania
    • Užitočné na výpočet rýchlej Fourierovej transformácie
  • Výnimka bloku správy pamäte
  • Kalkulačka adresy pamäte

Príklady: TMS320Cxxxx, ADSP-21XX

Ryža. 1. Architektúra procesorov rodiny ADSP-218x

Funkcie DSP

Najdôležitejšie vlastnosti DSP:

  • pamäť s náhodným prístupom, pamäť iba na čítanie;
  • rozhrania sériové aj paralelné;
  • schéma spracovania prerušenia;
  • centrálny dispečing je optimalizovaný pre opakujúce sa matematické operácie v reálnom čase.

Základné parametre DSP

Hlavné parametre DSP:

  1. Aritmetický typ (pevná / s pohyblivou rádovou čiarkou).
  2. Bitová hĺbka dát (pre pevnú / plávajúcu - 16/32 bitov).
  3. Vysokorýchlostný výkon.
  4. Frekvencia hodín (interná a / alebo externá) a Doba cyklu príkazu (čas vykonania jedného kroku príkazu).
  5. Počet príkazov vykonaných za jednotku času.
  6. Počet operácií vykonaných za jednotku času (MIPS).
  7. Počet operácií s pohyblivou rádovou čiarkou vykonaných za jednotku času.
  8. Počet operácií násobnej akumulácie vykonaných za jednotku času.
  9. Typy (RAM a flash pamäť) a množstvo internej pamäte (koľko dát dokáže DSP spracovať bez prístupu k externej pamäti).
  10. Adresovateľné množstvo pamäte.
  11. Počet a parametre vstupno-výstupných portov.
  12. Zloženie vnútorných prídavných zariadení (časovače, kompresory atď.).
  13. Napájacie napätie a spotreba energie.
  14. Zloženie a funkčnosť vývojových a podporných nástrojov.
  15. Zoznam programovacích jazykov, pre ktoré existujú kompilátory pre tento systém;
  16. Dostupnosť a možnosti nástrojov na ladenie hotových programov;
  17. Dostupnosť dokumentácie a technickej podpory;
  18. Prítomnosť knižníc štandardných rutín a matematických funkcií;
  19. Dostupnosť, dostupnosť a možnosti kompatibilných zariadení - ADC, DAC, výkonové regulátory atď.
  20. Prípustné parametre prostredia.
  21. Ostatné, v závislosti od destinácie.

Aplikácie

Existuje pomerne veľa oblastí aplikácie DSP.

Aplikácie DSP:

  1. Komunikácia (Kódovanie informácií a/alebo kanálový multiplex (spektrálny))
  2. Rozpoznanie niečoho
  3. Spektrálny analyzátor (prístroj na pozorovanie a meranie relatívneho rozloženia energie elektrických (elektromagnetických) kmitov vo frekvenčnom pásme) atď.

Často sú to oblasti, kde je potrebné vysokorýchlostné spracovanie akýchkoľvek signálov (informácií).

História

Pred príchodom čipov DSP bolo veľa aplikácií DSP implementovaných pomocou delených mikroprocesorov. Obľúbený bol BS Chip (vybíjací modulárny kryštál) AMD 2901 so svojou sadou komponentov. AMD tiež vytvorilo podobné modely, veľmi často sa však našli charakteristické črty konkrétneho dizajnu. Tieto sekčné architektúry občas obsahovali periférny multiplikačný čip. Príkladmi týchto multiplikátorov bol rad od TRW, vrátane TDC1008 a TDC1010, z ktorých niektoré obsahovali batériu na zabezpečenie potrebnej funkcie multiplikácie a akumulácie (MAC).

V roku 1976. Richard Wiggins predstavil koncept Speak & Spell Paulovi Bradlove, Larrymu Brantinghamovi a Gene Franzovi z Texas Instruments Research Center v Dallase. O dva roky neskôr, v roku 1978, vytvorili prvý „Speak & Spell“ s technologickým stredobodom, TMS5100, ako prvý digitálny signálový procesor v tomto odvetví. To si vyžiadalo aj ďalšie kroky, keďže ide o prvý mikroobvod, na použitie lineárneho predikčného kódovania na uskutočnenie syntézy reči.

Na druhej strane Intel 1978. vyrobil "analógový signálový procesor" -2920. Zahŕňal prevodník z analógového na digitálny a naopak, na mikroobvode so vstavaným signálovým procesorom, ale nemal hardvérový multiplikátor a nebol na trhu žiadaný. V roku 1979. Spoločnosť AMI vydala perifériu spracovania-S2811. Bol navrhnutý ako zariadenie na prepojenie mikroprocesorov s možnosťou prispôsobenia majiteľom. S2811 tiež nebol na trhu žiadaný.

V roku 1980. Prvý realizovaný samostatný procesor: DSP - NEC µPD7720 a AT&T DSP1 - boli predstavené na MC (International Conference) polovodičových obvodov "80. Tieto dva procesory inšpirovali výskum v oblasti telekomunikácií PSTN.

AltamiraDX1 je ďalšie skoré DSP používané kvadrafonické celočíselné potrubia s oneskorenými odbočkami a predikciami vetvenia.

TMS32010 je ďalší DSP vyrobený spoločnosťou Texas Instruments (TI) a predstavený v roku 1983 s veľkým úspechom. Bol založený na architektúre Harvardu, a tak obsahoval individuálnu inštrukčnú a dátovú pamäť. Mal špeciálny inštrukčný systém s pokynmi: načítať-akumulovať alebo násobiť-akumulovať. Vedel pracovať so 16-bitovými číslami a vynásobenie tým trvalo 390 ns. TI je teraz lídrom na trhu v oblasti DSP na všeobecné použitie.