Dacă aruncați o privire în jur, veți observa că sunteți înconjurat de o mulțime de dispozitive de măsurare, la fiecare pas din viața cotidiană. Ne referim la tot ce este electric, sisteme de contorizare pentru consum de gaz și de apă, dispozitive de contorizare a energiei termice în casele noastre, fără a mai vorbi de debitmetre, de sisteme de cântărire și înregistrare la stațiile de carburant și centrele comerciale. Aparatele de contorizare produse în prezent, folosite pentru facturare, sunt controlate electronic de microcontrolere.
Exactitatea datelor de facturare într-o aplicație tipică de contorizare controlată de microcontroler depinde, în primul rând, de precizia convertorului analog-digital (A/D), de frecvența de eșantionare și gama dinamică amplă pentru calcule metrologice. De asemenea, aceasta depinde şi de fiabilitatea software-ului, astfel încât trebuie acordat un surplus de atenție influenței software-ului asupra tranzacției financiare. Obiectivul companiilor care produc dispozitive semiconductoare este, prin urmare, de a dezvolta un microcontroler care îndeplinește nu numai cerințele tehnice de bază în ceea ce privește precizia de măsurare, capacitatea de calcul și consumul propriu de energie, dar şi să ofere o flexibilitate suficientă și opțiunea de a separa metrologia “legală” de alte părți ale aplicației.
În octombrie 2013, Freescale a lansat un brand pentru o nouă serie de microcontrolere cu nucleul ARM® Cortex®-M0+, numit Kinetis® M. În plus, față de multe periferice analogice de înaltă rezoluție, timere digitale, interfețe de comunicație și un ceas de timp real cu sursă de alimentare independentă și compensare cu temperatura, aceste microcontrolere sunt echipate cu un hardware pentru controlul accesului la memorie, periferice și porturi I/O integrate pe chip.
Caracteristici
Figura 1 arată schema bloc a microcontrolerului Kinetis M.
Din această diagramă se vede clar că, în plus față de nucleul cu 32-biți ARM Cortex-M0+, microcontrolerele oferă patru convertoare independente pe 24-biți A/D (SD ADC) având amplificatoare programabile (PGA) incluse și viteza de conversie de până la 100 ksps. Proiectul convertorului, cuplat cu principiul de operare (modulator sigma-delta de ordinul 2), permite măsurarea semnalelor analogice bipolare de la câțiva microvolți la un volt în toate canalele simultan, sau cu o întârziere definită precis. Celelalte blocuri analogice includ două comparatoare analogice de mare viteză (HSCMP) cu un histerezis programabil în gama 5-30mV, un convertor pe 16-biți de tip SAR A/D cu 12 canale, și o tensiune de referință de 1,2V de precizie, având un coeficient de temperatură de 33ppm/°C. Această tensiune de referință este concepută nu numai pentru toate blocurile analogice menționate, dar poate fi, cu un amplificator intern cu rol de buffer, utilizată ca sursă de tensiune de referință pentru alte circuite de pe placă. Dacă, totuși, parametrii de referință ai sursei interne de tensiune nu sunt suficienți, blocuri analogice ale microcontrolerului pot fi alimentate de la o tensiune de referință externă de 1,2V.
Scopul companiei Freescale a fost de a proiecta dispozitive programabile ideale pentru aplicații de contorizare. Din acest motiv, seria de microcontrolere Kinetis M este compusă nu numai din blocuri standard din familia Kinetis, dar și din alte blocuri tipice în alte linii de produse. De exemplu, matricea de interconectare de semnale interne, dispozitivul de intrări și ieșiri (XBar) și un temporizator cu patru canale (Quad Timer) sunt blocuri utilizate în mod tradițional în controlere digitale de semnal (DSC). Aceste blocuri permit unui dezvoltator de aplicații să facă conexiuni mai sofisticate între periferice interne, să definească secvențe de timp între eșantioanele măsurate, oferind și opțiunea de monitorizare a funcționării perifericelor interne. Conectarea de periferice on-chip și pini I/O în blocul XBAR este prezentată în Figura 2.
Aceste blocuri pot, de exemplu, să fie folosite pentru declanșarea măsurătorilor de tensiune pe fiecare fază (trei canale de 16-biți SAR ADC) din partea măsurătorilor de curent pe fază (trei convertoare de 24-biți SD ADC), într-o aplicație tipică de contor trifazic de putere. Alte domenii de utilizare includ măsurarea autonomă a perioadei (frecvenței) unui semnal analogic, detectarea vitezei de comunicație în legături seriale RS-485 și RS-232, comunicații modulate conform IEC 1107 și 38k IR, interfațare la modulatoare analogice de tip sigma-delta externe și generarea de impulsuri de calibrare cu mare stabilitate.
Modulul de generare de ceas intern este reprezentat de blocuri de tip frequency-locked loop (FLL), phase-locked loop (PLL), oscilator de frecvență joasă (OSC32K), oscilator de înaltă frecvență (OSCMHZ), ceas intern de referință de 32kHz și 4/2MHz (IRC).
În ultimul rând, dar nu cel mai puțin important, trebuie menționate blocurile care contribuie la siguranța în aplicare, incluzând ceasul de gardă (watchdog timer) care respectă standardul de siguranță pentru aparatele de uz casnic (IEC 60730), acceleratorul ciclic de verificare a redundanței (CRC), generatorul de numere aleatoare (RNGA) și detectarea de intrare neautorizată (Tamper).
Familia de microcontrolere Kinetis M oferă două configurații de memorie și trei tipuri de încapsulare. Dezvoltatorii de aplicații pot alege dispozitive de 64KB sau 128KB Flash, în capsule 44 LGA, 64 LQFP și 100 LQFP. Dispozitivele derivate în capsule 64 LQFP și 100 LQFP includ un controler LCD standard, ce poate comanda până la 160 și respectiv 288 de segmente. Producătorul garantează funcționalitatea tuturor componentelor în intervalul de temperatură de la -40°C până la +85°C și tensiunea de alimentare de la 1,71V până la 3,6V. Dispozitivele derivate, încapsulările și caracteristicile de bază sunt prezentate în Tabelul 1.
Organizații internaționale precum International Organization of Legal Metrology (OIML) și European Cooperation in Legal Metrology (WELMEC) oferă consultanță pentru linii directoare în scrierea de aplicații destinate instrumentelor de măsură controlate prin software, și anume, reguli de separare a părții software din aplicație care afectează datele de facturare, față de celelalte părți ale aplicației. În cazul în care un producător dezvoltă un instrument de măsurare în conformitate cu aceste linii directoare și oferă dovezi de respectare a Organismelor notificate în timpul autorizării inițiale și a verificării, se pot face apoi modificări în alte părți ale aplicației, fără re-aprobare, câștigând flexibilitate, precum și economii semnificative de costuri.
Proiectanții de la Freescale, fiind conștienți de acest lucru, au beneficiat în timpul dezvoltării unui dispozitiv de acest avantaj prin adăugarea de hardware pentru controlul accesărilor la toate memoriile integrate, periferice și porturi I/O (vedeți Figura 3).
Platforma Kinetis M constă dintr-un nucleu ARM Cortex-M0+ și două controlere DMA. Aceste module active (de tip bus masters) au acces la alte module pasive (de tip bus slaves) în mod de lucru “User” sau “Privileged”. Un modul suplimentar, așa numitul modul de control diverse (MCM – Miscellaneous Control Module) adaugă un atribut de acces care indică o stare “Secure” sau “Non-secure”, bazată pe o setare a unui identificator de proces (PID – Process Indentifier). Rezultatul este un model de prioritate pentru acces impus de hardware, cu 3 stări:
Privileged (Secure)> User Secure> User Non-secure. În aplicația de măsurare, toate sarcinile legate de metrologie “legală” se desfășoară în modul “Privileged”, în timp ce alte părți ale aplicației rulează în modul “Utilizator”.
Accesările instantanee, efectuate de nucleul ARM Cortex-M0+ și controlerul DMA, sunt evaluate de către unitatea de protecție a memoriei (MPU), podul periferic (AIPS) și modulele de uz general de intrare-ieșire (GPIO), care, conform unor criterii specificate de utilizator, permit sau refuză accesul la hardware-ul de pe cip, când se referă la segmente de memorie, periferice și porturi I/O.
Dacă proiectantul permite controlul accesului și, în același timp, stabilește atribute de acces în funcție de nevoile cererii, platforma microcontroler va elimina în mod autonom orice accesări emise de către alte părți ale aplicației care ar afecta părțile de metrologie “legală”.
Unelte de dezvoltare
Pentru dezvoltarea de aplicații noi, Freescale oferă un Kit de dezvoltare TWR-KM34Z50M. Acest kit sprijină dezvoltarea rapidă și ușoară de aplicații utilizând SWD (OpenSDA) – interfață de depanare integrată cu port serial virtual de tip built-in. Portul serial virtual, împreună cu driver-ul FreeMASTER și aplicația din PC, pot fi utilizate pentru monitorizarea oricăror variabile globale și statice ale aplicației care rulează pe dispozitivul microcontroler.
În afară de conectoare de interfațare ale microcontrolerului, placa de circuit imprimat având dimensiunile 80 × 90 mm, conține următoarele circuite: un display LCD cu 160 segmente, un accelerometru pe trei axe MMA8491Q, un generator sinusoidal cu șapte canale programabile și cu o interfață USB, un senzor de temperatură IRDA de tip NTC, și mai multe LED-uri și butoane. Kit-ul de dezvoltare poate fi folosit separat sau împreună cu alte carduri I/O ale sistemului modular TowerTM (vedeți Figura 4).
Microcontrolerul poate fi ușor programat folosind instrumente de dezvoltare care sprijină nucleul ARM Cortex-M0+. Puteți, de exemplu, să utilizați instrumentul de dezvoltare IAR Embedded Workbench pentru ARM 6. 70, şi anume, ediția Kickstart a acestui instrument, pe care IAR Systems o pune la dispoziție cu titlu gratuit. Acesta vă va permite să creați o aplicație de 16KB sau mai mică.
Pentru aplicații mai solicitante, cu o dimensiune de cod de până la 64KB, puteți utiliza ediția specială a CodeWarrior® IDE MCU v10.5. Acest instrument gratuit conține: un C compiler, assembler, linker și instrumente de depanare accesibile din interiorul unui mediu de dezvoltare integrat Eclipse IDE (vedeți Figura 5).
O parte integrală, nu numai comercială, dar oferită și ca versiune gratuită a instrumentului de dezvoltare CodeWarrior, este Processor Expert® software.
Folosind acest instrument, puteți programa o aplicație prin simpla selectare a parametrilor cu mouse-ul. Processor Expert® software este un instrument de modelare care verifică continuu setările parametrilor și generează cod C. Acest instrument este adesea folosit pentru inițializarea de microcontrolere nu numai de către începători, dar și de programatori cu experiență. Folosind acest instrument, puteți crea o aplicație simplă, fără a avea cunoștințe legate de arhitectura și registrele unui anumit microcontroler. În plus, codul generat nu conține mult cod redundant.
În mod evident, utilizând instrumentul de modelare Processor Expert software, nu se poate scrie un cod la fel de eficient ca atunci când se scrie programul de mână, având avantajele unui pre-procesor C. Acest tip de programare este folosit în principal de către acei utilizatori cu experiență, care au deprins arhitectura microcontrolerului și perifericele on-chip. Dacă aparțineți acestui grup de programatori, veți fi cu siguranță de acord cu mine că, pentru a dezvolta o aplicație, este suficient a avea un exemplu de software bine testat, care cuprinde un modul de “start-up”, o tabelă definită pentru vectori de întrerupere, un fișier linker command și drivere de tip “bare-metal software” pentru periferice on-chip.
Numeroase exemple de software sunt disponibile în pachetul de instalare numit “Kinetis M bare-metal drivers and software examples”. Versiunea curentă (EAR2.2) sprijină CodeWarrior IDE MCU v10.5, IAR Embedded Workbench pentru ARM 6.70 și Rowley CrossWorks pentru instrumente de dezvoltare ARM 2.3.
Driverele software pentru periferice on-chip au fost scrise cu accent pe executarea rapidă de cod și, împreună cu exemple, sunt disponibile sub formă de cod sursă. Pachetul de instalare include, de asemenea, un utilitar simplu pentru a crea un nou proiect.
O listă de exemple de software care sunt parte a pachetului de instalare este prezentată în Figura 6.
Concluzie
Seria Kinetis M de la Freescale se bazează pe tehnologia de proces 90-nm Thin Film Storage (TFS). Acestă serie este controlată de nucleul ARM Cortex-M0+ cu o frecvență de ceas de până la 50MHz. Modulul generator de ceas intern cuprinde blocuri de tip frequency-locked loop (FLL), phase-locked loop (PLL), oscilator de frecvență joasă (OSC32K), oscilator de înaltă frecvență (OSCMHZ), și ceas intern de referință 32kHz și 4/2MHz (IRC). În plus, față de mai multe periferice pentru procesarea semnalelor analogice (timere digitale, un controler LCD, interfață de comunicație și un ceas de timp real) aceste dispozitive includ, de asemenea, un “watchdog timer” – ceas de gardă, accelerator CRC 16/32-biți, generator de numere aleatoare și un circuit pentru detectarea de intrare neautorizată. Seria Kinetis M oferă două configurații de memorie, 64/128KB, și trei tipuri de încapsulări, 44 LGA, 64 LQFP și 100 LQFP.
Perifericele on-chip, opțiunile de capsule și, mai presus de toate, suportul hardware pentru separarea părții aplicaţiei care afectează datele de facturare, de la alte părți ale aplicaţiei, fac aceste microcontrolere deosebit de bine adaptate pentru echipamentele de măsură pentru facturare. Freescale oferă în prezent o serie de proiecte de referință, care demonstrează aceste capabilități ale dispozitivului pentru aplicații de măsurare contorizare și a puterii pe una, două sau trei faze.
NXP România S.R.L.
București
Tel: 021 3052 400
https://www.nxp.com/