Často si mnoho lidí až při úhradě plateb za energie uvědomí, že jsme téměř na každém kroku našeho každodenního života obklopeni různými přístroji pro fakturační měření. Mám na mysli všechny ty elektroměry, plynoměry, vodoměry a měřiče tepla v domech, a též průtokoměry, vážní a registrační systémy na čerpacích stanicích a v nákupních centrech. V současnosti vyráběné měřící přístroje pro fakturační měření jsou již řízeny elektronicky pomocí mikrořadičů.
Správnost fakturačních údajů v typické mikrořadičem řízené měřící aplikaci závisí především na přesnosti analogově-digitálního (dále A/D) převodníku, na četnosti vzorkovaní a dostatečné dynamické šířce metrologických výpočtů. Rovněž spolehlivosti softwaru a jeho vlivu na ekonomické transakce musí být věnována náležitá pozornost. Cílem mnoha polovodičových firem je proto vývoj mikrořadiče, u kterého kromě důrazu na splnění základních technických požadavků na přesnost měření, výpočetní výkon a nízkou spotřebu bude též zaručena dostatečná flexibilita a možnost oddělení části „legální“ metrologie od ostatních částí aplikace.
V říjnu 2013 společnost Freescale uvedla na trh zcela novou řadu mikrořadičů s jádrem ARM® CortexTM-M0+, pojmenovanou Kinetis M. Tyto mikrořadiče obsahují kromě mnoha analogových periferií s vysokým rozlišením, digitalních časovačů, komunikačních rozhraní, hodin reálného času (RTC) se samostatným napájením a teplotní kompenzací i hardware pro řízení přistupů ke všem pamětem, periferiím a I/O portům integrovaným na čipu.
1) Charakteristika
Na obrázku 1 je uvedeno blokové schéma mikrořadiče řady Kinetis M.
Obr. 1: Blokové schéma
Z tohoto schématu je patrno, že vedle 32bitového ARM Cortex-M0+ jádra s maximálním kmitočtem 50 MHz tyto mikrořadiče dále nabízí čtyři samostatné 24bitové A/D převodníky (SD ADC) se zabudovaným programovatelným zesilovačem (PGA) a maximální rychlostí převodu 100 ksps. Konstrukce převodníků spolu s použitým principem převodu (sigma delta modulátor druhého řádu) umožňuje měření bipolárních analogových signálů v rozsahu od několik mikrovoltů až po jeden volt na všech kanálech současně nebo s přesně definovaným časovým zpožděním.
Dalšími analogovými bloky jsou ještě dva vysokorychlostní analogové komparátory (CMP) s programovatelnou hysterezí 5..30 mV, 16bitový A/D převodník typu SAR s 12 kanály a precizní napěťová reference 1,2 V s teplotním koeficientem 33 ppm/°C. Tato napěťová reference je určena nejen pro všechny zmiňované analogové bloky, nýbrž posílená interním zesilovačem může být též použita jako zdroj referenčního napětí i pro jiné obvody na plošném spoji. Pokud by však parametry interní napěťové reference nebyly dostatečné, je možno analogové bloky mikrořadiče napájet i externím referenčním napětím 1,2 V.
Cílem vývojářů bylo vývinutí programovatelné součástky, která by byla optimální pro měřící aplikace. Proto je řada Kinetis M složena nejen ze standardních bloků rodiny Kinetis, nýbrž i z dalších, typických pro jiné produktové řady. Například použitá propojovací matice interních signálů a vývodů (XBAR) a čtyřkanálový čítač jsou bloky tradičně použivané Freescalem v digitálně-signálových kontrolerech (DSC). Právě tyto bloky návrhářům umožní konstruování mnohem sofistikovanějších propojení interních periferií, definování časových posloupností mezi měřícími vzorky a v neposlední řadě jim poskytnou též možnost monitorování činnosti interních periferií na vývodech součástky. Připojení interních periferií a vývodů součástky k bloku XBAR je zřejmé z obrázku 2.
Obr. 2: XBAR signály a propojení
Bloky lze použít například pro trigrování měření fázových napětí (tří kanálů 16bitových SAR ADC) od měření fázových proudů (tří 24bitových SD ADC) v typické aplikací třífázového elektroměru. Další okruhy použití jsou například pro autonomní měření periody (frekvence) analogového signálu, detekci komunikační rychlosti RS-485 a RS-232, modulované IEC 1107 a 38K IR komunikace, připojení externích analogových sigma delta modulátorů a generování kalibračních pulsů s vysokou stabilitou. Modul vnitřní taktovací frekvence je zastoupen bloky Frequency-Locked Loop (FLL), Phase-Locked Loop (PLL), Low Frequency Oscillator (OSC32K), High Frequency Oscillator (OSCMHZ), 32 kHz a 4/2 MHz Internal Reference Clock (IRC).
V neposlední řadě je třeba zde zmínit též bloky přínosné pro bezpečnost a podporu aplikace, včetně „watchdog“ čítače, který vyhovuje požadavkům nové legislativy pro bezpečnost u domácích spotřebičů (IEC 60730), akcelerátoru výpočtu 16/32bitového CRC, generátoru náhodného čísla (RNGA), nebo detekce neoprávněného vniknutí (Tamper).
Tato řada nabízí dvě paměťové konfigurace a tři typy pouzder. Návrháři mohou zvolit buď součástky s 64 KB nebo 128 KB Flash v pouzdrech 44 LGA, 64 a 100 LQFP. Deriváty v pouzdrech se 64 a 100 vývody obsahují standardní LCD kontrolér, zvládající až 288 segmentů. Výrobce garantuje funkčnost součástek v teplotním rozsahu od –40 °C až do +85 °C a v rozsahu napájecích napětí od 1,71 do 3,6 V.
Seznam derivátů součástek, včetně dostupných pouzder a základních vlastností, je uveden v Tabulce 1.
Configuration/Module | Packages | ||
100 LQFP (14 x 14 mm2) |
64 LQFP (10 x 10 mm2) |
44 LGA (5 x 5 mm2) |
|
Core, Platform and Debug | |||
DMA | 4 ch | ||
MPU | yes | ||
Peripheral XBAR (I/O supported) | yes | ||
Single Wire Debug (SWD) | yes | ||
System Security and Integrity | |||
Cyclic redundancy check (CRC) | yes | ||
RNGA (Random Number Generator) | yes | ||
Watchdog timer | yes | ||
External Watchdog Monitor | yes | ||
Passive (Active) Tamper Pins | 3 (one pair) | 1 (NA) | 1 (NA) |
Embedded Memory | |||
Flash memory (KB) | 128/64 | ||
RAM (KB) | 16 | ||
Clock Generator | |||
MCG | FLL, Internal OSC (32 kHz or 4/2 MHz), PLL | ||
Real Time Clock (32 kHz OSC) | yes | ||
Timer/PWM | |||
QuadTimer | 4 ch | ||
Low power timer (LPTMR) | 1 | ||
Periodic Interrupt Timer(PIT) | 2 | ||
Communication Interfaces | |||
UART | 4 | 4 | 2 |
SPI | 2 | ||
I2C | 2 | 2 | 1 |
Analog | |||
24-bit Analog Front End (PGA) | 4 (2) | 3 (2) | 4 (2) |
16-bit SAR ADC | 12 ch | 6 ch | 5 ch |
1.2V VREF | yes | ||
CMP (Number of Channels) | 2 (12) | 2 (8) | 2 (6) |
Human Machine Interface | |||
Segmented LCD | 4x40 (8x36) | 4x24 (8x20) | NA |
Total GPIO pins | 68 | 38 | 20 |
Tab. 1: Deriváty a pouzdra součástek
2) Podpora pro oddělení „legální“ metrologie
Mezinarodní metrologické organizace, tj. International Organization of Legal Metrology (OIML) a European Cooperation in Legal Metrology (WELMEC), uvádějí řadu doporučení, jak tvořit aplikaci pro měřící přístroj z pohledu oddělení „legální“ metrologie, tedy té části aplikace, jež má vliv na fakturační údaje, od ostatních částí aplikace. Pokud výrobce vyvine měřící přistroj v souladu se všemi těmito doporučeními a tuto skutečnost prokazatelně doloží při prvotních schvalovacích a ověřovacích zkouškách, může i po schválení a ověření přistroje provádět úpravy ostatních částí aplikace bez nutnosti následného schválení a ověření přístroje. (Ověřování a schvalování typů měřidel v České republice zajišťuje Český metrologický institut. Tato státní instituce rovněž zastupuje Českou republiku v mezinárodních organizacích v oblasti metrologie (OIML, WELMEC).)
Tato skutečnost byla dobře známa při vývoji platformy tohoto mikrořadiče a byla zohledněna tím, že standardní bloky platformy byly doplněny o hardware pro řízení a kontrolu přístupů ke všem integrovaným pamětem, periferiím a I/O portům (viz obrázek 3).
Obr. 3: Platforma
Platforma Kinetis M sestává z jádra ARM Cortex-M0+ a DMA řadiče. Tyto aktivní moduly (bus masters) přistupují k ostatním pasivním modulům (bus slaves) v tak zvaném „User” nebo „Privileged” módu. Další modul platformy, Miscellaneous Control Module (MCM), rozšiřuje „User” mód přístupu o příznak „Secure” nebo „Nonsecure”, podle nastavení registru identifikátoru procesu (PID). Výsledkem je třístavový hardwarem podporovaný model přístupu s těmito módy: Privileged > User secure > User nonsecure. V aplikaci měřidel budou úlohy spojené s „legální“ metrologií vykonávány v „Privileged” módu na rozdíl od ostatních částí aplikace, které poběží v „User” módech.
Aktuální módy přístupů procesorového jádra a DMA řadiče jsou vyhodnocovány moduly Memory Protection Unit (MPU), Peripheral Bridge (AIPS) a General Purpose Input-Output (GPIO), které podle uživatelem zadaných kriterií povolí nebo zamítnou přístup k hardwaru na čipu, respektive k segmentům pamětí, periferiím a I/O portům.
Pokud návrhář povolí řízení a kontrolu přístupů a zároveň správně nastaví zmiňované registry, bude platforma mikrořadiče samostatně eliminovat jakékoliv pokusy ostatních částí aplikace o ovlivnění části „legální“ metrologie.
3) Vývojové nástroje
Pro návrh a ladění nových aplikací je v nabídce Freescale určen vývojový kit TWR-KM34Z50M. Ten podporuje rychlý a snadný vývoj aplikací prostřednictvím integrovaného ladícího rozhraní SWD (OpenSDA) se zabudovaným virtuálním sériovým portem. Virtuální sériový port lze použít spolu s ovladačem a programem FreeMASTER pro monitorování činnosti mikrořadiče, respektive pro vizualizaci a změny hodnot statických a globálních proměnných aplikace programu.
Na desce plošného spoje o rozměrech 80 x 90 mm jsou kromě konektorů pro připojení vývodů mikrořadiče umístěny ještě tyto obvody: 160segmentový LCD, tříosý akcelerometr MMA8491Q, sedmikanálový programovatelný generátor sínusových signálů s USB rozhraním, IRDA, teplotní snímač typu NTC, několik LED a tlačítek. Vývojový kit lze použít samostatně nebo společně s dalšími I/O kartami modulárního systému TOWER (viz obrázek 4).
Obr. 4: Vývojový kit TWR-KM34Z50M
Mikrořadič lze jednoduše programovat téměř všemi vývojovými nástroji, které podporují platformu ARM Cortex-M0+. Lze například použít vývojový nástroj IAR Embedded Workbench for ARM 6.70. Jmenovitě Kickstart edice tohoto nástroje, jež je společností IAR Systems dodavána bezplatně, umožní vytvářet menší aplikace do 16 KB kódu. Pro náročnější aplikace s velikostí kódu do 64KB je poskytováno bezplatné speciální vydání vývojového nástroje CodeWarrior for MCU’s 10.5. Tento nástroj obsahuje kompilátor jazyka C, ladící modul, linker, assembler a integrované prostředí (viz obrázek 5).
Obr. 5: Vývojové prostředí CodeWarrior for MCU’s 10.5
Nedílnou součástí nejen komerčních, nýbrž i bezplatné verze vývojového nástroje CodeWarrior je nadstavba Processor Expert. Programování aplikace se zde provádí výběrem potřebných vlastností a parametrů jednoduše myší a nadstavba již sama provádí kontroly nastavení a překlad do zdrojového C kódu. Nejen začatečníci, ale i zkušenější programátoři často tento nástroj používají pro inicializaci mikrořadiče. S tímto nástrojem vytvoříte jednoduchou aplikaci i bez znalosti architektury daného mikrořadiče a jeho registrů. Navíc vygenerovaný kód neobsahuje žádné výrazné zbytečnosti.
Samozřejmě s Processor Expertem nikdy nedosáhnete tak efektivního kódu, jako u ručně psaného programu, který hojně využívá maker a možností preprocesoru. Tento způsob programování je upřednostňován především zkušenějšími uživateli, protože jim umožní vytvářet aplikace, které jednak využívají možnosti mikrořadiče stoprocentně a jsou též lépe srozumitelné a přenositelné. Pokud se řadíte do této skupiny programátorů, jistě se mnou budete souhlasit, že pro vývoj aplikace plně postačí mít dobře ověřený vzorový projekt se „startup“ modulem, definiční tabulkou vektorů přerušení a procedurou pro linkování kódu, dále základní ovladače periferií a hlavně spoustu různých softwarových příkladů, které demonstrují správné programovací postupy a způsoby použití periferních modulů na čipu.
Dobře ověřené vzorové softwarové projekty, systémové soubory, ovladače periferií a příklady programování periferií jsou dostupné v instalačním balíku, pojmenovaném „Kinetis M bare-metal drivers and software examples“. Instalační balik ovladačů a příkladů v2.2 podporuje kompilátory CodeWarrior for MCU’s 10.5, IAR Embedded Workbench for ARM 6.70 a Rowley CrossWorks for ARM 2.3.
Všechny softwarové ovladače jsou napsány s důrazem na rychlost vykonávání kódu a spolu s příklady dodány ve formě zdrojových kódů. Součástí instalace je rovněž jednoduchá utilitka pro vytvoření nového projektu. Seznam všech přikladů, jež jsou součastí distribuce, je uveden na obrázku 6.
Obr. 6: Seznam příkladů
Závěr:
Mikrořadiče Kinetis M jsou vyráběny moderní technologií 90nm Thin Film Storage (TFS). Řízeny jsou jádrem ARM Cortex-M0+ s maximálním kmitočtem 50 MHz. Modul vnitřní taktovací frekvence je sestaven z bloků Frequency-Locked Loop (FLL), Phase-Locked Loop (PLL), Low Frequency Oscillator (OSC32K), High Frequency Oscillator (OSCMHZ), 32 kHz a 4/2 MHz Internal Reference Clock (IRC). Vedle mnoha periferií pro zpracování analogových signálů, digitálních časovačů, kontroléru LCD, komunikačních rozhraní a hodin reálného času (RTC) řada Kinetis M dále obsahuje „watchdog“ čítač, akcelerátor výpočtů 16/32bitového CRC, generátor náhodného čísla (RNGA) a obvod pro detekci neoprávněného vniknutí (Tamper). Jinak tato řada nabízí dvě paměťové konfigurace 64/128 KB a tři typy pouzder 44 LGA, 64 a 100 LQFP.
Skladba periferií, provedení pouzder a především jedinečná hardwarová podpora pro oddělení jednotlivých částí aplikace předurčuje tyto mikrořadiče hlavně k realizaci přístrojové techniky pro fakturační měření.
V současné době společnost Freescale nabízí celou řadu referenčních řešení jedno-, dvou- a třífázových elektroměrů pro použití v SmartGrid aplikacích. Popisy těchto referenčních řešení spolu s výrobní dokumentací a zdrojovými kódy aplikací jsou dostupné na stránkách freescale.com.
Při odběru 300+ ks cena součástek začíná již na necelých 50 Kč (farnell.com, MKM14Z128CHH5, 128 KB Flash, 44 LGA).
Download a odkazy:
- Domovská stránka produktu: http://www.freescale.com/webapp/sps/site/taxonomy.jsp?nodeId=01624698C9FA7D
- Katalogový list produktu: http://cache.freescale.com/files/microcontrollers/doc/ref_manual/MKMxxZxxCxx5RM.pdf
- Metodika oddělení částí aplikace: http://cache.freescale.com/files/32bit/doc/white_paper/KINETISMWP.pdf
- Vývojový kit: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=TWR-KM34Z50M
- Softwarové ovladače a příklady: http://cache.freescale.com/files/32bit/doc/ref_manual/KMSWDRVAPIRM_SW.zip
- Programovací nástroj: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=CW-SUITE-SPECIAL
- Úvod do jednofázového elektroměru: http://www.youtube.com/watch?v=zMFH6SeYlXo