Integrovaný obvod MAXQ3120 je 16bitový RISC mikrokontrolér, vhodný pro měření různých analogových i digitálních signálů napětí a proudů. Pro tyto účely obsahuje logické vstupy GPIO a hlavně opravdový reálný hardwarový duální diferenciální 16bitový sigma-delta A/D převodníky ADC0 a ADC1. Tím je například ideální pro měření spotřeby jednofázové napájecí sítě. A protože je vybaven i obvodem reálných hodin RTC a integrovaným rozhraním pro LED a LCD displej, je možné jedním obvodem vytvořit celý "inteligentní" digitální elektroměr. Pomocí USART nebo bezdrátové infra IR komunikace lze naměřené hodnoty a parametry přenášet do nadřazeného systému. Vzdálený přenos dat je možné provést po modemu nebo internetovou TCP/IP komunikací při použití převodníku UART/Ethernet nebo UART/WiFi (např. výrobky firmy Sollae).
Obecné vlastnosti MAXQ3120
- Duální diferenciální 16bitový sigma-delta A/D převodníky
- LCD a LED rozhraní
- Blok reálných hodin RTC (Real-Time Clock)
- Komunikační rozhraní: I2C, RS-485, IR, 2x UART, JTAG
- MCU: 8MHz, 16x16bit. hardwarová násobička se 40bit. akumulátorem
- Paměť: 16kslov FLASH, 256 kslov RAM, 2kslov ROM
- 3x čítač/časovač
- Napájecí napětí: 3.3 V
Použití
- Měření napětí a proudů
- Jednofázový elektroměr
- Snímání, zpracování a měření logických a impulsních signálů
- Zpracování signálů z elektrochemických a optických senzorů
- Průmyslové řízení a regulace (MaR)
- Předzpracování a uložení dat
- Domácí spotřebiče
- Spotřební elektronika
- Teploměry/Termostaty/Vlhkoměry
- Detektory plynů a chemické senzory
- HMI - Human-Machine Interface (Rozhraní člověk-přístroj)
Stručně struktura chipu MAXQ3120
V centru obvodu MAXQ3120 je nízkopříkonový 16bitový CMOS RISC mikrokontrolér s výpočetním výkonem 8 MIPS (milionu instrukcí za sekundu). Příprava a zpracování instrukce probíhá v jednom hodinovém cyklu bez využití pipelingu. Efektivita jádra je zvýrazněná 16úrovňovým hardwarovým zásobníkem, umožňující rychlé vykonávání volání podprogramů a přepínání úloh. Rychlý přístup k datům v SRAM paměti o velikosti 256 slov lze provést 3 interními datovými ukazateli. To umožňuje vícenásobný přístup do paměti a tím již zmíněné zpracování instrukce v jednom instrukčním cyklu. Pro program je k dispozici 16kslov FLASH. Instrukční soubor, složený se 16bitových instrukcí, pracuje s vnitřními registry nebo přímím přístupem do paměti. K výpočtům lze mimo 40bitový akumulátor použít kterýkoliv z registrů. Paměť se vyznačuje Harvardskou architekturou s odděleným adresovým prostorem pro program a data.
Pro výpočetní operace je zde mimo klasické sčítačky i hardwarová 16bitová násobička poskytující operaci MAC, prováděnou v jednom hodinovém cyklu. Násobička se skládá ze dvou 16bitových registrů MA a MB a výsledek se ukládá do akumulátoru tvořeného třemi 16bitovými registry MC2, MC1, MC0 a stavovým/řídím registrem MCNT. Akumulační funkce MAC je všeobecně základem pro digitální filtry, zpracování signálů a na PID založené algoritmy. Umožňuje znaménkové i neznaménkové násobení (MPY), násobení s přičítáním (MAC), umocňování 2 apod.
Blok reálných binárních hodin RTC (Real-Time Clock) počítá denní čas v absolutních sekundách s 1/256 sekundovým rozlišením. 32bitový sekundový čítač může nasčítat až cca 136 let, přičemž hodnota může být aplikačním softwarem přetransformována do kalendářního zobrazení. Nastavit lze časový denní alarm a nezávislý sekundový alarm, které mohou vyvolat přerušení nebo chip vzbudit z nízkopříkonového módu. Na chipu umístěné tři čítače/časovače pracují i jako zachycování a měření hran (input capture), generátory obdélníkových signálů (output compare) nebo PWM. Reagovat mohou na vnitřní (interní) nebo vnější (externí) signály. Čítání může být duální 8bitové, 13 nebo 16bitové při taktování frekvencí hodin 8MHz. Součástí MCU je i watchdog s nastavitelnou časovací periodou od 512µs do 61.7s, v závislosti na módu systémových hodin.
Možnosti připojení externích zařízení
MAXQ3120 je z pohledu datové komunikace s okolím vybavená dvěmi plně nezávislými univerzálními synchronními/asynchronními přijímači/vysílači (USART) typu 8051. Ty umožňují po hardwarové úpravě signálů i komunikaci RS-232, kterou jsou vybavené modemy a PC. Jejich plná vzájemná nezávislost umožňuje současně komunikovat rozdílnou přenosovou rychlostí. Ta dosahuje při synchronním přenosu až 2Mb/s a při asynchronním až 250 kb/s při CLK 8MHz. Pro přímé zobrazení výsledků a hodnot najdeme budič/řadič pro běžné nízkonapěťové 7segmentové LCD displeje. Budit lze nezávisle až 112 segmentů, což odpovídá 16 znakům, pomocí multiplexování 28 vývodů SEG0 až SEG27 čtyřmi vývody COM0 až COM3.
Téměř hlavní komponenta pro měření analogových signálů (napětí a proudů) je kompletně paralelní diferenciální dvoukanálový 16bitový A/D převodník sigma-delta 2.řádu. Pokud se jeden z kanálů nevyužívá, lze jej přepnout do nízkopříkonového módu. Každý ze dvou vstupních signálů každého kanálu (AN0+ a AN0- pro kanál 0, resp. AN1+ a AN1- pro kanál 1) mají vstupní napěťový rozsah +1 V až -1 V. Možné je použít programovatelné zesílení (1x, 16x), měnitelné softwarově odděleně pro každý kanál. Při měření stejného signálu oběma kanály, provádí se korekce fáze v phase-correction bufferu, aby byl kompenzován jakýkoliv vnesený fázový posuv mezi kanály, způsobený externími obvody. Buffer korekce fáze pracuje plně digitálně tak, že zpožďuje bitový tok kompenzovaného kanálu až o 140 bitů. Pak bitový tok projde dvěma digitálními sinc filtry typu dolní propust, které konvertují bitový tok na 16bitové PCM hodnoty, vhodné pro další zpracování.
Pro potřeby testování a vývoje softwaru slouží JTAG rozhraní. Jeho řízení je uvnitř obvodu součástí tzv. aplikačního softwaru uloženého ve vnitřní ROM a obsahuje:
- In-system programming (bootloader) přes JTAG rozhraní - nahrání zdrojového programu přes 4pinové JTAG rozhraní.
- In-circuit debug - ladění programu běžící uvnitř MCU.
- Testování částí chipu - vnitřní paměti, načítání dat z vstupů/výstupů apod.
- Programové smyčky pro potřeby aplikačního programování flash paměti a tabulky kódů - změna obsahu flash samotnou běžící aplikací.
Použití pro měření spotřeby el. energie
MAXQ3120 je svojí výbavou velmi vhodný pro měření spotřeby el.energie a snadno lze s jeho použitím vytvořit digitální elektroměr. Ten tak může splňovat následující vlastnosti:
- Jmenovité napětí (Nominal voltage): 230V ±10%
- Jmenovitý proud (Base current): 10A
- Maximální proud (Maximum current): 40A
- Frekvence (Frequency): 50Hz, ±10%
- Komunikační rozhraní (Communications): Asynchronní IR, EIA485
- Měřící pulzní výstup (Meter pulse output): Izolovaný výstup, proměnlivá konstanta měření, proměnlivá délka pulsu
Elektroměr pro vícesazbové měření spotřeby energie vyžaduje měření času a určování data. V průběhu každého dne je pak údaj o elektroměrem akumulované energii načítán v jednom z několika akumulátorů pro případ vícesazbového účtovacího tarifu v jednotlivých časových úsecích během dne nebo v průběhu roku. V tomto případě je důležité přesné načítání času kritickou záležitostí, kterou lze provést dvěma způsoby:
|
Závislost přesnosti/chyby na teplotě interních hodin MAXQ3120 |
Aplikační program
Aplikační program může být například realizován jako jednoduchou propojenou sekvenci úloh (tasks), které se navzájem řetězově volají, dokud není úloha dokončena nebo není potřeba čekat na externí data. Jednotlivé úlohy si mohou informace předávat prostřednictvím pole bitů, označené jako Message Board, a sadou globálních proměnných. Takovým to způsobem vytvořený program je lehce updatovatelný a přehledný.
Příklad reálného zapojení nutných částí pro měření spotřeby el. energie (klikněte na obrázek pro detail)
Závěr
Integrovaný obvod MAXQ3120 je zajímavý mikrokontrolér velmi vhodný pro aplikace měření. Pro bližší informace odkazuji na strány výrobce a přímé odkazy na datasheety a aplikační listy - viz odkazy níže.
Antonín Vojáček
vojacek@ hwg.cz
DOWNLOAD & Odkazy
- Domovská stránka českého distributora obvodů MAXIM - firmy HT Eurep - www.hte.cz
- Domovská stránka firmy MAXIM - www.maxim-ic.com
- Přímé odkazy na informace a datasheety k MAXQ3120 naleznete na: www.maxim-ic.com/solutions/electricity_metering_system/index.mvp
- článek o FPGA MachXO
- článek o Lattice
EC & ECP na HW serveru