Digitální signálové kontroléry Freescale 56800/E

Posted by Petr Hapal on 17 January 2013 | 0 Comments

Tags: , , ,

Přehled

Firmu Freescale jakožto předního výrobce mikrokontrolerů a signálových procesorů myslím není nutné nikterak představovat - rodina 8 bitových mikrokontrolerů S08 je ve světě velmi populární. Já se zaměřím na něco, co Freescale nazývá tzv. digitální signálové kontroléry (DSC) s jádrem 56800/E, které svoji využitelností leží někde mezi klasickými 8 bitovými mikrokontrolery a výkonnými mikrokontroléry s jádrem ARM. Zajímavé jsou zejména díky svému signálovému jádru, rozumnou cenou a rozsahem vývojových prostředků, které Freescale nabízí zdarma.

Freescale ve svých materiálech uvádí, že skloubil solidní signálové jádro s periferiemi a lehkostí programování mikrokontrolerů. Je potřeba podotknout, že je tato kombinace velmi příjemná a dobře se s ní pracuje i na té nejnižší úrovni. Výhody této kombinace jsou jasné:

  • Méně externích komponent
  • Širší rozsah použití
  • Minimalizace použití analogové filtrace signálu
  • Možnost tvorby adaptivního měřicího řetězce
  • Lepší analogové vlastnosti celé aplikace (odolnost proti šumu, PSRR, snadná justace, atd.)

Cílové aplikace těchto kontrolerů jsou především:

  • Řízení motorů (3 fázové BLDC, PMSM,  atd.)
  • Inteligentní výkonové měniče
  • Řízení a regulace obecně
  • Lékařská a terapeutická zařízení
  • Senzorika

 

Na úvod si uveďme ty nejdůležitější vlastnosti této architektury:

  • 16 bitový procesor – 16 bitová organizace paměti s možností adresace/přesunů bytů, wordů i longů
  • 4x 36 bitové akumulátory – každý z akumulátorů je složen ze dvou 16 bitových částí a 4 bitového rozšíření, které snižuje riziko přetečení výsledku. Instrukce mezi akumulátory typu ADD, SUB, atd. jsou plně 36 bitové
  • DSP instrukce – součin 16 x 16 s 36 bitovou akumulací (MAC) v rámci jediné instrukce
  • Paralelismus – každá jednotka procesoru (paměť, periferie, ALU) pracuje nezávisle a je tedy možné s nimi v současném okamžiku pracovat. Je např. možné v rámci jedné instrukce provést následující operace
    • načíst další instrukci
    • MAC 16bx16b+32b
    • Volitelně saturovat či zaokrouhlit výsledek
    • Dva 16 bitové přesuny
    • Aktualizace dvou ukazatelů
  • Hardwarové smyčky – podpora dvou vnořených smyček typu „opakuj N-krát“ přímo instrukční sadou
  • Podpora multitaskingu – takto to alespoň uvádí Freescale. Srovnat např. s ARM se to nedá (ochrana paměti není, privilegované instrukce také ne), ale je možné na něm provozovat preemptivní multitasking (ukážu v některém z dalších příspěvků)
  • JTAG debugging

Vřele doporučuji prosurfovat si domovskou stránku signálových kontrolerů. Je tam k nalezení řada užitečných dokumentů, ze kterých si lze udělat základní představu o jejich vlastnostech, možnosti nasazení a zejména dostupných typech. Zaměřím se pouze na typy MC56F8XXX (tedy 80XX, 81XX, 82XX, 83XX a 84XX). Všechny ostatní jsou buď klasické signálové procesory (stejné jádro ovšem téměř žádné periferie) anebo kontroléry se starší verzí jádra. Z počátku může být trochu komplikovanější se ve všech typech vyznat.  Na obrázku níže je vyobrazena kompletní roadmap DSC. Odtud je vidět smysl značení procesorů v závislosti na jejich výkonu/periferiích.

 

Freescale 56800/E roadmapa

Všechny tyto procesory spojuje stejné jádro – 56800/E a kvalitně propracované periferie (zejména PWM s ohledem na cílový segment). U procesorů 56F84XX je použita poslední verze jádra 56800/EX, která má vyšší výkon, nižší spotřebu a několik podstatných vylepšení.

 

Co se týče dostupnosti této rodiny procesorů, je poměrně dobrá. Farnell, Digikey a jiní známí dodavatelé je mají běžně skladem, navíc Freescale je znám pro svou vstřícnou politiku vzorků (zašlou vždy téměř jakýkoliv typ a velmi svižně).

Potřebné vybavení

Na tomto webu se budu snažit typově pokrýt celou rodinu procesorů. Cenově dostupný pro širokou veřejnost je pouze kit MC56F8006DEMO (obrázek níže). Cena kitu se v současné době pohybuje kolem 1000Kč (Farnell). Pro bastlíře je dobrou zprávou, že jsou k dispozici všechna schémata všech kitů, takže asi nebude problémem navrhnout si vlastní desku a osadit si do ní navzorkovaný procesor.

 

Freescale MC56F8006DEMO kit

 

Co budeme potřebovat k našemu tvoření:

  • MC56F8006DEMO kit nebo nějakou desku s libovolným procesorem s jádrem 56800/E
  • CodeWarrior for DSC Special edition – vývojové prostředí s překladačem C s limitací kódu 64kB - zdarma
  • DSP56800E QuickStart v2.4 – konfigurační aplikace a sada funkcí a maker pro rychlý začátek s touto rodinou procesorů – zdarma
  • FreeMASTER Run-Time Debugging Tool – vizualizační software pro debugging – zdarma
  • JTAG adaptér – buď Codewarrior USB TAP (cena asi 2000Kč) anebo LPG JTAG na bázi 74HC244 a 74LS00

Jak vidno Freescale jde cestou nabídky maximálních možností pro začínající vývojáře -limitace kódu 64k je u tohoto typu procesoru nevídaná porce (vždyť MC56F8323 v LQFP64 má celkem 64k FLASH). Co se týče JTAGu, tak lze koupit kit MC56F8006DEMO v dlouhodobé akci společně s USB JTAG za cca 2000Kč což je slušná cena.

CodeWarrior Development Suite existuje ve dvou variantách:

  • Classic IDE - starý
  • Eclipse IDE - nový

Osobně používám staré IDE, ale má podivné chování oken editoru a špatné doplňování syntaxe. V nejbližší době hodlám přejít na Eclipse IDE.

Zaslat komentář

Komentáře

Nikdo na této stránce ještě nepřidal komentář.

RSS kanál pro komentáře na této stránce | RSS kanál pro všechny komentáře