Jste zde

Jak snadný je přechod z 8bit. MCU na 32bitový s kitem DEMOQE128 ?

Každý přechod z jednoho typu MCU na jiný či přechod z 8bitové architektury na 32bitovou vždy zavání pro programátory velkými problémy a nutností přepisovat či minimálně upravování programu a pro hardwaráře předěláváním desek plošných spojů. S novou verzí vývojového softwaru CodeWarrior for Microcontrollers a MCU nízkopříkonové řady Flexis QE128 firmy Freescale, kde 8bit. MCU HCS08 i 32bit. MCU ColdFire mohou mít stejná pouzdra i periferie, to již není problém. Vše si lze vyzkoušet a osahat na vývojovém a demonstračním kitu DEMOQE128.

S mikrokontroléry nízkopříkonové řady Flexis QE128 firmy Freescale je přechod hračkou, protože jak 8bitové MCU HCS08, tak 32bitové MCU ColdFire V1 jsou umisťovány ve stejných pouzdrech, mají podobnou výbavu (periferie). Pak tedy není problém i v aplikaci provést snadno jejich přímou fyzickou záměnu bez nutnosti jakékoliv úpravy desky plošných spojů (DPS). Stačí pouze vyjmout z patice či vyletovat předchozí MCU a zasadit nový. Navíc s novou verzí vývojového programu CodeWarrior for Microcontrollers V6.0, který umožňuje pouze několika kliknutími myši změnit program původně napsaný pro HCS08 na program pro ColdFire V1. Jde to však i obráceně.

To je možné pokud je program napsán v jazyku C (tzn. neobsahuje ani krátké kódy v Asembleru) a tak, že využívá knihoven programu CodeWarrior, který konktrétním fyzickým adresám registrů a periférií přiřazuje symbolické označení (názvy), které se pak následně využívají v samotném programu. Pak tedy při přeměně programu pro 8bit. MCU na 32bitový stačí přiřadit (vyměnit) tyto knihovní soubory a není nutné jakkoliv měnit samotný zdrojový zápis programu, protože přiřazená symbolická označení jsou stejná. Při překladu programu pak jsou C příkazům přiřazeny na úrovni asembleru 32bit. instrukce a operace místo 8bitových. Pouze některé bitové a logické operace, práci stacku apod. konvertor řeší, pokud to jde, vygenerováním a přidáním různých funkcí. Takto konvertovaný zdrojový kód sice často není tak "elegantní", jako když je přímo napsán pro 32bitové MCU, ale je plně funkční a to je to hlavní.

Samozřejmě to lze provést pouze s mikrokontroléry, které mají nejlépe stejný nebo alespoň podobný počet vstupů a výstupů a počet využívaných periférií a s programy vytvořenými v nějakém vyšším programovacím jazyce, jako je jazyk C. Nelze logicky bez problémů převod provést mezi programy a mikrokontroléry, kde se využívá například 5 analogových vstupů přičemž cílové MCU má třeba jen 4, nebo vstupy sdílí s jinými periferiemi, které jsou však taky využívány. Tak je nutné program skutečně upravit.

Jaký je a k čemu je dobrý vývojový kit DEMOEQ128 ?

Nejen pro ukázku výše zmíněné schopnosti snadného převodu mezi různými jádry a MCU slouží nový kit s Freescalem spolupracující firmy P&E Micro. I když je označen jako DEMOQE128 kit je vzhledem ke své výbavě velmi dobře vhodný i k vývoji nových aplikací a hlavně pro potřeby zkoušení, jak se změní vykononávání programu či spotřeba MCU při běhu na 8bitovém a 32bitovém mikrokontroléru. Výsledkem je tedy určení, zda pro ten či ten program je vhodnější použít 8bitový či 32bitový MCU. Mimo to je to výborný výukový nástroj jak pro začínající amatéry, programátory i pro různé kroužky a školy.

Z pohledu hardwarovaného provedení kitu, jde o jednu 4 vrstvou (oboustranou) DPS obsahující mimo komunikačního USB rozhraní s PC, napájecích obvodů (napájet lze z USB nebo z externího napáječe 5 až 12V) a pomocných vývojových periférií i speciálně vytvořený slot pro dvě ke kitu přiložené a pro tento účel speciálně vytvořené jednostrané DPS destičky s 8bit. MCU HCS08 (zelená) a 32bit. ColdFire V1 (červená), konkrétně tvořené obvody MC9S08QE128 (PCS08QE128CLH) a MCF51QE128 (PCF51QE128CLH), doplněné ještě o dva filtrační kondenzátory. Prakticky jde o takovou redukci z malé rozteče 63pinového pouzdra na klasickou rozteč 2.54 mm. Celé programovací, ladící rozhraní a komunikační USB rozharní je na spodní straně kitu realizováno zapojením s mikrokontrolérem MC9S12UF32PUE.

 

 

Zatímco na svrchní straně DEMOQE128 kitu je umístěn slot pro zasunutí destiček s MCU HCS08 a ColdFire, různé periferie a napájecí obvody, na spodní straně je realizována komunikace s PC po USB prostřednictvím virtuálního sériového portu a možnost napájení kitu i bateriově (pouzdro pro 2 tužková baterie AAA, které jsou součástí balení kitu)

Pro snadnou výměnu zkoušených mikrokontrolérů v DEMOQE kitu jsou umístěny na jednoduché jednostrané DPS, která tak vytváří jednoduchou redukci

Samotná deska kitu obsahuje následující kompletní periferie:

  • Krystal pro zdroj hod. signálu do slotu vloženého MCU
  • 3D akcelerometr Freescale MMA7260 připojený na vstupy PTA7, PTA6, PTA1 a PTC7
  • 4 tlačítka připojené na vstupy PTA2, PTA3, PTD2 a PTD3
  • 8 zelených SMD LED diod na vstupy PTC0 až PTC5 a PTE6 a 7
  • resetovací tlačítko
  • akustický piezoměnič (Buzzer) připojený buzený PWM signálem na výstupu PTB5
  • jednootáčkový potencimetr připojený na vstup PTC6 s A/D převodníkem MCU
  • RS-232 rozhraní realizované obvodem MAXIM3218C vyvedené na 9pinový D-SUB konektor

Všechny zde uvedené periferie jsou navíc připojeny na uvedené vstupy/výstupy přes jumpery (zkrat. propojky), takže je lze kdykoliv odpojit a na výstupy připojit něco jiného ubastleného.

DEMOQE deska komunikuje s PC, resp. s vývojovým softwarem CodeWarrior for Microcontrollers a případně nástroji PEMicro Toolkits, prostřednictvím virtuálního sériového portu vytvořeného přes USB port. Protože však DEMOQE kit obsahuje i vývody 6vodičového BDM rozhraní nebo přímo vývody pinů mikrokontrolerů (MCU Port), i když jen v podobě neosazených pájecích otvorů, lze kit rozšířit i o další funkce, vývojové destičky nebo ubastlená zapojení.

 

 

Startovací program DEMOQE128_Quick_Start_S08, který je součástí dodávaného kitu DEMOQE a generuje 4 různé tóny po stistku 4 tlačítek, lze provozovat stejně dobře jak na MCU HCS08, tak i na 32bit. MCU ColdFire po konverzi v CodeWarrioru

CodeWarrior for Microcontrollers V6.0

Nová verze vývojového softwaru CodeWarrior, která je dodávána ve verzi Special Edition na DVD "Breaking Bit Boundaries - Getting Started with QE128" jako součást kitu DEMOQE, je proti předchozím verzím doplněna o různé záplaty, všechny typy mikrokontrolérů včetně nízkopříkonové řady Flexis QE a s tím souvisí i vylepšená schopnost již výše uvedeného převodu "dobře" napsaného programu mezi jednotlivými jádry.

K tomuto úkonu stačí jen otevřít hotový projekt a kliknout na ikonku pouzdra vedle volby kitu nebo výběrem z menu "Projekt->Change MCU/Connection". Poté se zobrazí okno výběru, kde se zvolí nový cílový procesor a klikne na "Dokončit". Pokud je program "vhodně" napsán celý v jazyku C (tzn. neobsahuje žádný kód v Asembleru), proběhne převod zakončený vygenerováním hlášek informující co vše muselo být upraveno. Zároveň se v stromové struktuře okna projektu změní knihovny a proti původnímu stavu přibydou zdrojáky nazvané "exceptions.c", které v sobě definují vyjímky a vhodně přizpůsobují (konvertují) věci, ve kterých se 8bit. a 32bit. MCU výrazně liší (funkci Stacku, vektorů přerušení, některé bitové operace apod.).

 

 

Porovnání struktury projektu (přiřazených souborů/knihoven) stejného programu pro 8bit. MCU HCS08 (vlevo) a 32bit. MCU ColdFire V1 (vpravo) - pro zvětšení stačí kliknout na příslušný obrázek

Značnou nevýhodou této nové verze CodeWarrioru v současné době může být zatím neexistence verze pro operační systém Linux, protože i když je na stránkách Freescalu k dispozici verze pro Linux, jde o starší verzi, nepodporuje přímo vše co verze "for Microcontrollers V6.0". Verze na DVD je oficiálně určena pro Windows 2000 a XP, ale nezaznamenal jsem žádné potíže ani při běhu na 32bitových Windows Vista Home Basic. Navíc i pomocné nástroje firmy P&E Micro jsou k dispozici pouze ve verzi pro OS Windows XP či Vista a to nejen na DVD dodávaného v rozměrné krabici s kitem DEMOQE, ale i na webových stránkách. Dále je tento CodeWarrior docela náročný na paměť PC, protože i pro běh na Windows XP by počítač měl mít alespoň 512 MHz RAM, což stále ne každý má. Pro běh na Vistách je pak vhodné mít alespoň 1 GB RAM.

I inovovaná verze CodeWarrioru si udržela vzhled i provedení všech základních oken programu - na obrázku je fotka okna True-Time Simulator & Real-Time Debuggeru běžícího ve Windows Vista pro ladění, krokování a sledování programu nahraného do 8bit. MCU HCS08 (pro zvětšení klikněte na obrázek)

P&E Micro DEMOQE128 Toolkits

Na DVD označeném jako "Breaking Bit Boundaries - Getting Started with QE128" dodávané s kitem DEMOQE128 je mimo zmíněného softwaru CodeWarrior i PEMicro DemoQE Utility, což je soubor prográmků pro potřeby snadnější vizualizace a sledování běhu mikrokontroléru v reálném čase.

K dispozici jsou následující prográmky:

  • Accelerometer demo - prográmek pro real-time zobrazení funkce akcelerometru, jestliže je ve slotu vloženém MCU nahrán a spuštěn na DVD dodávaný demonstrační program / projekt "DEMOQE_Accelerometer_Ex_S08". Prográmek využívá níže uvedeného prográmku Serial Grapher.

  • Logic Analyzer - univerzální prográmek pro sledování logických stavů vstupů a výstupů v reálném čase

  • Serial Grapher - univerzální prográmek pro sledování dat přenášených po virtuálním sériovém portu

  • Terminal - jednoduchý terminál pro čtení, zápis a sledování dat na virtuálním sériovém rozhraní

  • Unsecure - prográmek pro odblokování zablokovéno přístupu MCU HCS08 a ColdFire V1
 

Utilita Accelerometer Demo ve spojení s programem "DEMOQE_Accelerometer_Ex_S08" nahraného v MCU HCS08 nebo po konverzi v MCU ColdFire umožňuje pěkně demonstrovat a osahat si funkci MEMS akcelerometru Freescale MMA7260 (pro zvětšení klikněte na obrázek)

Utilita Logic Analyzer umožňuje pomocí virtuálního sériového portu pracující přes USB propojení kitu a PC sledovat logické stavy vstupů a výstupů v reálném čase (pro zvětšení klikněte na obrázek)

Závěr

Kit DEMOQE128 může být zajímavý jak pro toho, kdo není zatím příliš zběhlý v programování mikrokontrolérů a potřebuje dobrý prostředek pro zkoušení (začínající amatéři, školy apod.), tak i pro vývojáře i obchodníky, kteří potřebují kvalitní prostředek pro vývoj, testování a prezentaci. Tomu nahrává možnost napájení kitu po USB, z externího napájecího zdroje 5 až 12 V, nebo i pomocí 2 ks běžných tužkových baterií. Cena kitu okolo 3000,- Kč pak na dnešní poměry není až tak vysoká, vezmeme-li fakt, že součástí kitu jsou dva MCU, USB kabel i baterie, vývojový software i pomocné utility (prográmky), i kompletní dokumentace včetně schématu zapojení kitu a přímých odkazu na další informace na webu na přiloženém DVD. Základní informace pro zprovoznění kitu i softwaru jsou i na tištěných návodech.

Antonín Vojáček

DOWNLOAD & Odkazy

Hodnocení článku: