česky english Vítejte, dnes je neděle 22. prosinec 2024

Vývoj aplikací s moduly SQM4: PWM generátor – část 1

DPS 3/2015 | Články
Autor: Ing. Jan Kubizňák, Elnico

Cílem tohoto několikadílného seriálu je seznámit čtenáře s možnostmi vývoje reálných aplikací s procesorovými moduly SQM4.

Pro jednotlivé příklady bude představena použitá hardwarová platforma, nastíněn bude design celé aplikace a podrobněji budou vysvětleny i jednotlivé softwarové komponenty. Stručně zmíněny budou i potřebné vývojové nástroje. V této první části seriálu začneme s vývojem zakázkového generátoru PWM signálu.

Specifikace úlohy

Jak již bylo zmíněno, zadáním úlohy je vývoj PWM generátoru, což zahrnuje jak hardwarové, tak softwarové práce.

Požadované mobilní zařízení vhodných rozměrů by mělo splňovat následující parametry:

  • 4 PWM výstupy 12 V / 1 A s kmitočtem nastavitelným v rozmezí 0,1 Hz–1 kHz a střídou od 0 do 100 %. Pro každý z těchto výstupů je dále požadována funkce konfigurovatelného blikače s periodou v mezích 0,1–10 sec a střídou od 0 do 100 %.
  • Ovládání zařízení využitím barevného dotykového LCD displeje a jednoduché klávesnice.
  • Možnost ukládání a opětovného načítání konfigurací PWM výstupů.
  • USB Host konektivita pro přenos dat.
  • Napájení v rozsahu 10–40 V.

Hardwarové komponenty

Z definovaných požadavků je patrné, že pro aplikaci PWM generátoru bude muset být navrženo hardwarové řešení na míru. Tuto práci nám ale může ulehčit vhodný polotovar, což v našem případě bude procesorový modul SQM4-K70 od společnosti ELNICO (obr. 1).

obr. 1

Použitím hotového modulu bude vyřešeno prakticky celé jádro nového systému. Vývoj hardwaru aplikační desky díky tomu bude již poměrně jednoduchý, a tedy i rychlý a levný.

SQM4-K70

SQM4-K70 je procesorový modul s mikrokontrolérem Freescale Kinetis K70, nejvyšším z řady Kinetis K. Obsahuje ale zároveň 128 MB RAM, 128 MB NAND Flash a fyzickou vrstvu ETH 10/100 Mbit. Navíc může být modul osazen buď Wi-Fi rozhraním (varianta -W) nebo 32kB pamětí SPI EEPROM (-M). Pro aplikaci PWM generátoru bude využita druhá varianta, tedy -M.

Z hlediska konektivity jsou dostupná tři provedení zobrazená na obr. 2, z nichž první – tzv. Down-pins využívá připojení konektorem a další dva – Side-pins a Edge jsou pájitelné.

obr. 2

EasyBoard

Pro konektorovou variantu (Down-pins) modulu SQM4-K70 je dostupný zároveň vývojový kit – EasyBoard (obr. 3). Ten obsahuje následující periferie, které lze pro vývoj PWM generátoru okamžitě využít:

  • dotykový barevný LCD displej připojený RGB rozhraním,
  • sériová linka,
  • USB Host konektor,
  • FlexTimer kanály využitelné jako PWM výstupy, vyvedené na expanzním portu.

Se softwarovými pracemi lze díky vývojovému kitu v podstatě okamžitě začít – mohou tedy probíhat paralelně s pracemi hardwarovými.

obr. 3

Aplikační deska

Ač lze EasyBoard v některých aplikacích i přímo využít, pro mobilní PWM generátor vhodný není. Je tedy třeba navrhnout vlastní aplikační desku na míru.

Pro zajištění dostatečné robustnosti elektrického zařízení je vhodné použít pájitelnou variantu modulu SQM4-K70. V této aplikaci bude použita konkrétně varianta Side-pins.

Dále bude aplikační deska oproti Easy- Boardu obsahovat pouze pro aplikaci nezbytné prvky. Nově bude muset být řešeno napájení a výkonová část PWM výstupů.

Softwarové komponenty

Pro zvolené hardwarové prostředky – tj. modul SQM4-K70 s mikrokontrolérem Kinetis K70 – je k dispozici celá řada hotových softwarových komponent. Díky nim lze vývoj celé aplikace výrazně urychlit.

Freescale MQX RTOS 4.1

Real-time operační systém MQX, volně dostupný pro procesory Freescale, nabízí plnou podporu pro mikrokontroléry Kinetis K70. Krom typických vlastností každého RTOS (plánování a synchronizace úloh) poskytuje zároveň např. USB stack (Host i Device) či TCP/IP stack.

ESL (Elnico Support Library)

ESL je komerční podpůrná knihovna pro procesorové moduly řady SQM4 od firmy ELNICO. Poskytuje množství softwarových komponent určených k urychlení aplikačního vývoje. Pro PWM generátor lze s výhodou využít její moduly pro klávesnici, komunikaci s SPI EEPROM, USB konektivitu a logování informací.

eGUI

eGUI je grafická knihovna od společnosti Freescale určená pro aplikace v embedded zařízeních. Je kompatibilní s real-time operačním systémem MQX a v současnosti je distribuována zdarma pod LGPL licencí.

Aplikační software

Využitím hotových softwarových komponent lze výrazně zkrátit čas pro vývoj vlastní aplikace. V rámci aplikačního kódu bude potřeba řešit v podstatě pouze ovládání PWM výstupů, návrh grafického rozhraní a provázání jednotlivých softwarových komponent.

Nástroje

Co se týče vývojových nástrojů – pro programování mikrokontrolérů Kinetis K70 se takřka výhradně používá jazyk C, eventuálně i C++. K sestavení kódu lze využít celou řadu vývojových prostředí – od Freescale CodeWarrior či IAR až po např. CrossWorks. Flashování a ladění programu probíhá přes JTAG rozhraní.

Příště

V příští části seriálu o vývoji reálných aplikací s procesorovými moduly SQM4 se zaměříme na design a implementaci celé aplikace PWM generátoru. Detailněji rozebráno bude využití již zmíněných softwarových komponent, popsán bude návrh vlastních funkčních modulů i grafická stránka aplikace.