contador de visitas gratis Skip to content

Jak si vybrat mikrokontrolér pro aplikace zpracování digitálního signálu

Tento článek popisuje funkce, které byste měli hledat, když potřebujete, aby MCU fungoval jako systémový řadič i jako procesor digitálního signálu.

Digitální zpracování signálu může přidat cennou funkcionalitu široké škále produktů a aplikací. Dokonce i návrhy omezené náklady, tvarovým faktorem nebo časováním mohou snadno kombinovat výhody DSP, protože inženýři dnes mají přístup k velkému množství kódu knihovny, ukázkovým projektům a vysoce výkonným procesorům. levné a relativně snadno použitelné. .

Skutečným digitálním signálním procesorem, jako je součást rodiny Texas Instruments C5000 nebo Analog Devices SHARC, může být skličujícím zařízením. Primárně jsem pracoval s DSP od společnosti Texas Instruments a celková zkušenost byla produktivní a obohacující. Ale v tomto případě jsem nemusel navrhovat desku plošných spojů a nelíbilo se mi pokoušet se opravit podivné chyby systému a porozumět podrobnostem operačního systému.

Není pochyb o tom, že některé výpočtově náročné úkoly DSP budou vyžadovat skutečný procesor digitálního signálu nebo dokonce FPGA. Je však také pravda, že v mnoha aplikacích bude stačit dobře zvolený mikrokontrolér. Tento článek se zabývá funkcemi a schopnostmi, na které byste se měli zaměřit, když se chcete ujistit, že váš MCU má dostatečný výkon DSP.

8 bitů, 16 bitů nebo 32 bitů?

Tento problém je jednodušší, než si myslíte. Obecně budou pro aplikace DSP vhodnější 16bitová a 32bitová zařízení. Digitální zpracování signálu zahrnuje matematické postupy, které často vedou k velkým číslům, a vy chcete procesor, který je dokáže přímo zpracovat.

8bitové zpracování však není ve své podstatě špatné, a pokud víte, že se budete zabývat omezeným rozsahem digitálních hodnot, 8bitový mikrokontrolér může být dobrou volbou.

Inženýři také často nemají čas nebo chuť studovat podrobnosti na nízké úrovni procesoru, a proto může být obtížné vytvořit jasnou souvislost mezi specifikovanou bitovou šířkou a skutečnou výpočetní účinností. Existují například 32bitové registry v „32bitovém mikrokontroléru“? Je to 32bitová ALU? 32bitová adresová sběrnice? 32bitové komunikační rozhraní? Co přesně znamená „32bitový“? Tyto podrobnosti mohou ovlivnit vaše rozhodnutí, zvláště pokud očekáváte, že se budete zabývat malým počtem, který nepotřebuje všechny ty další kousky.

Tato modernizovaná 8bitová architektura byla vyvinuta společností Silicon Labs (diagram převzatý z tohoto dokumentu). Varují před předpokladem, že 16bitové nebo 32bitové zařízení bude trvale překonávat 8bitové zařízení.

Rychlost hodin

Maximální taktovací frekvence mikrokontroléru je rozhodně dobrým ukazatelem jeho výhod jako procesoru digitálního signálu. Je však důležité porozumět rozdílu mezi cykly hodin za sekundu a instrukcemi za sekundu. Procesor provádí úkoly DSP podle pokynů a ve výsledku je jeho výkon ovlivněn jak hodinovou frekvencí, tak počtem hodinových cyklů potřebných k provedení pokynů.

Bohužel se tento problém rychle stává docela složitým. Počet hodinových cyklů požadovaných pro instrukci se liší od jedné instrukce k další a průměrný Počet hodinových cyklů na příkaz lze snížit pomocí segmentované architektury. Dále musíte zvážit množství „funkčnosti na jeden příkaz“, tj. Mikrokontrolér A potřebuje pouze jeden příkaz k provedení něčeho, co vyžaduje více příkazů v mikrokontroléru B.

Tento diagram vyjadřuje koncept segmentovaného procesoru. Další informace najdete v tomto článku. Colin ML Burnett [CC-BY-SA-3.0].

Tady je můj zkrácený tip: Pokud porovnáváte zařízení ze stejné rodiny, použijte vyšší rychlost hodin. Pokud porovnáváte zařízení s významnými architektonickými rozdíly, zkuste najít spolehlivou funkci, která ukazuje rychlost provádění příkazu (MIPS vyjádřenou v milionech příkazů za sekundu) nebo průměrný počet hodinových cyklů na příkaz.

Pevný bod atd. plovoucí bod

Termín „plovoucí desetinná čárka“ označuje číselné vyjádření, ve kterém může základní bod „plovoucí“, protože číslo se skládá z celočíselné části (kudlanky) a exponentu. Alternativa („pevný bod“) odkazuje na způsob, jakým běžně zpracováváme a vnímáme data v běžném mikrokontroléru. Pečlivé srovnání aritmetiky s plovoucí desetinnou čárkou a aritmetiky s pevnou řádovou čárkou není v žádném případě jednoduchý úkol, ale zdá se, že existuje shoda, že zpracování s plovoucí desetinnou čárkou může být v matematicky náročných aplikacích lepší.

Myslím, že lze s jistotou říci, že všechny mikrokontroléry jsou zařízení s pevnou řádovou čárkou, protože si myslím, že pokud je to opravdu procesor s plovoucí desetinnou čárkou, už to není mikrokontrolér. Pokud jste však skutečně odhodláni maximalizovat svůj matematický výkon při pobytu v doméně mikrokontroléru, měli byste zvážit zařízení s plovoucí desetinnou čárkou. manželprocesor.

LPC3180FEL320, 16 / 32bitový mikrokontrolér na bázi ARM od NXP, má procesor s plovoucí desetinnou čárkou a může dosáhnout až 220 MIPS. STMicroelectronics má také mikrokontroléry STM32, které obsahují jednotku s pohyblivou řádovou čárkou (FPU).

Ve svém projektu kruhového dotykového senzoru jsem použil trochu matematiky s plovoucí desetinnou čárkou. Ve většině případů není nutný samostatný FPU – kompilátoři jsou dobří v implementaci proměnných s plovoucí desetinnou čárkou v typických mikrokontrolérech.

souhrn

V tomto článku prozkoumáme funkce CPU, díky nimž je mikrokontrolér více či méně vhodný pro aplikace DSP. Myslím, že ve většině případů má smysl soustředit se na bitwidth a MIPS, pokud ovšem s MCU neplánujete seriózní výpočty, neměli byste se příliš starat o plovoucí desetinnou čárku, než o pevnou čárku. V tomto budeme pokračovat v příštím článku, který pojednává o environmentálních aspektech DSP.

Úvod do řady mikrokontrolérů

Tento článek je součástí větší série. Níže naleznete další články: