În plus față de microcontrolere, Microchip oferă și instrumente de dezvoltare hardware și software. Familia de microcontrolere include exemple de aplicații sau instrumente pentru dezvoltarea de prototipuri pentru segmente industriale și tehnologice, cum ar fi conectivitatea, consumul redus de putere, siguranță funcțională și altele. Instrumentele de dezvoltare hardware și software ne permit să dezvoltăm rapid prototipuri fără a proiecta, chiar, plăcile PCB.
Ca parte a ofertei sale de instrumente hardware, Microchip oferă plăcile de dezvoltare Curiosity și Curiosity Nano.
Curiosity Nano sunt kituri de dezvoltare cu factor de formă mic și costuri reduse, cu capabilități de depanare și programare incorporate, acestea aflându-se pe un adaptor numit Nano Base Board. Utilizând plăcile Click cu microcontroler precum și plăcile de extensie pro, se poate mări funcționalitatea plăcilor de dezvoltare prin adăugarea de senzori, interfețe tactile, display-uri sau orice alte interfețe de conectivitate necesare pentru dezvoltarea oricărei aplicații date.
Kiturile nano dispun, totodată, de un concept unitar în cadrul familiei de microcontrolere Microchip pe 8-biți, 16-biți și 32-biți, astfel încât aplicațiile de toate tipurile sunt scalabile în cadrul acestor familii de microcontrolere.
Plăcile de dezvoltare Curiosity vin cu unele capabilități suplimentare integrate pe placă, cum ar fi conectori audio, interfețe grafice, conectori grafici sau conectori pentru conectivitate la internet.
Pe lângă conectorii de la Mikroe există și conectori XPRO, în timp ce unele dintre plăcile Curiosity sunt prevăzute și cu conectori Arduino, permițând utilizarea shield-urilor Arduino pentru implementarea prototipurilor de aplicații.
Instrumente software pentru completarea hardware-ului
Când vine vorba de instrumente software, Microchip oferă patru instrumente principale. Primul și cel mai important este MPLAB® X IDE, un IDE sau mediu de dezvoltare integrat utilizat pentru a dezvolta aplicații embedded bazate pe controlerele de semnal digital și microcontrolerele Microchip.
Un alt instrument este Compilatorul MPLAB XC. Compilatorul XC vă permite să convertiți codul limbajului de nivel înalt C sau C++ în limbajul de asamblare al microcontrolerului pe care dezvoltați aplicația.
Un alt instrument important este mediul de dezvoltare software MPLAB Harmony, parte a ecosistemului MPLAB X al Microchip, care vă permite să dezvoltați aplicații embedded cu ajutorul microcontrolerelor pe 32-biți de la Microchip. Harmony are numeroase caracteristici și funcționalități. Sistemul include exemple demonstrative pentru a începe să dezvoltați aplicații și prototipuri și dispune de biblioteci stratificate și modulare. Totodată, are biblioteci periferice care asigură interfața cu regiștrii hardware și oferă biblioteci middleware, drivere abstractizate și servicii de sistem.
Există, de asemenea, o serie de instrumente de dezvoltare grafică, care vă permit să creați proiecte și să generați cod printr-o interfață grafică cu utilizatorul. Toate acestea sunt disponibile pentru descărcare prin intermediul platformei GitHub, iar întregul mediu de dezvoltare software MPLAB Harmony v3 este disponibil pe GitHub. Unul dintre instrumentele de dezvoltare grafică este MCC, instrumentul de configurare de cod al Microchip, care, acum, suportă microcontrolere pe 32-biți, oferind astfel clienților un instrument de configurare comun pentru toate familiile de microcontrolere. Cu ajutorul acestui instrument vă puteți configura codul, vă puteți crea proiectele și genera cod utilizând bibliotecile software.
Vom analiza trei exemple de proiecte de dezvoltare, dar mai întâi trebuie să ne uităm la câteva resurse care sunt relevante pentru aceste exemple. O primă resursă este pachetul MPLAB Harmony Reference Apps, disponibil pe GitHub. Această arhivă conține o mulțime de aplicații de sine stătătoare pentru a demonstra caracteristicile și capabilitățile microcontrolerelor pe 32-biți. Exemplele din aplicațiile noastre de referință merg de la aplicații de inițiere și demo-uri la aplicații mult mai complexe și bogate în caracteristici, precum și demo-uri care utilizează plăcile Click și XPRO de la MikroElektronika și așa mai departe.
Ca parte a pachetului de aplicații de referință în sine, avem, de asemenea, exemple demonstrative cu plăci Click de la MikroElektronika, care vă arată cum să le utilizați în mediul de dezvoltare software Harmony.
Exemple de prototipare rapidă
Primul nostru exemplu este controlul modului de operare al unui ventilator în funcție de temperatura camerei, prezentat în diagrama alăturată.
Ventilatorul funcționează la viteză mică, medie sau mare și poate fi pornit sau oprit în funcție de temperatura camerei. În acest exemplu, folosim kitul de evaluare PIC32CM MC00 Curiosity Nano, care conține un microcontroler cortex M0+, un dispozitiv firewall, care se interfațează cu placa Click de la MikroElektronika folosind protocolul de comunicație I2C. Aici, dispunem de două plăci Click: placa Click pentru vreme și placa Click pentru ventilator. Placa Click pentru vreme utilizează parametrii de temperatură, presiune și umiditate, în timp ce placa Click pentru ventilator ne permite să controlăm ventilatorul.
Acestea se conectează printr-o interfață I2C. Microcontrolerul utilizează o singură instanță I2C, care se conectează la două linii diferite, fiecare având o adresă distinctă. Aplicația inițializează aceste plăci Click și citește, apoi, temperatura din încăpere prin I2C. În funcție de valoarea temperaturii, aceasta este comparată cu cerințele aplicației, iar dacă temperatura este mai mare de 25 de grade și vreți ca ventilatoarele să funcționeze la viteză medie, aplicația pornește ventilatoarele în consecință. Similar, se pornește, se oprește sau poate funcționa la diferite viteze.
Exemplul 2 monitorizează ritmul cardiac al unei ființe umane, fiind util în analiza tiparelor de somn sau a performanțelor într-o varietate de activități sportive. În acest exemplu, se utilizează placa SAM E51 Curiosity Nano care se conectează cu plăcile Heart Rate 9 Click și eINK Bundle Click. Totodată, placa conține un microcontroler Cortex M4. Placa Heart Rate 9 click oferă datele privind ritmul cardiac și se conectează printr-o interfață UART; mai avem și un display cu consum redus de putere – eINK Click Bundle – conectat prin SPI.
După inițializarea modulelor și afișarea unei valori implicite pe INK Click Bundle, utilizatorul declanșează măsurarea apăsând un buton și plasând degetul pe senzorul de ritm cardiac. Microcontrolerul citește valoarea pe care o afișează, apoi, pe ecranul cu consum redus de putere.
Exemplul 3 este o extensie a exemplului 1, în care adăugăm funcția de afișare la controlul ventilatorului comandat în funcție de temperatura camerei.
Aici, avem un dreptunghi punctat în care eINK Click Bundle a fost adăugat la aceeași diagramă bloc. Fluxul aplicației rămâne același. Odată ce avem temperatura, ventilatorul este în continuare setat la viteză mică, medie sau mare, dar în același timp valoarea temperaturii și viteza ventilatorului sunt vizualizate pe display-ul adăugat.
Partea 2 a acestui exemplu adaugă capabilități wireless, oferind posibilitatea de a controla aplicația prin intermediul unui telefon inteligent Android bazat pe BLE. Puteți trimite comenzi prin telefon pentru a porni și opri ventilatorul sau pentru a-i regla viteza în funcție de temperatură.
Exemplul 3, părțile 1 și 2 ar putea fi, de asemenea, integrate într-o aplicație controlată de un dispozitiv inteligent, cu posibilitatea de a controla și afișa totul de la distanță.
Dezvoltarea aplicațiilor
Merită să trecem în revistă cei trei pași care ar trebui urmați pentru a dezvolta aceste aplicații. Primul pas este crearea unui proiect MPLAB X IDE pentru microcontrolerul selectat, de exemplu, un SAM E51 folosind MCC. Apoi, configurați ceasul, perifericele și pinii corespunzători. Dacă utilizați un demo exemplu și doriți să îl extindeți, nu trebuie să creați un proiect nou, ci mai degrabă să utilizați unul existent și, pur și simplu, să îl deschideți în MPLAB X IDE.
Pasul 2 este adăugarea codului aplicației. Înainte de aceasta, ar trebui să utilizați exemplele oferite pentru placa Click de la MikroElektronika.
Aceste exemple au anumite rutine pe care le puteți utiliza pentru a implementa acea funcționalitate click în aplicațiile voastre finale – în esență, ar trebui să le adăugați în aplicația voastră și apoi să implementați aplicația în funcție de cerințe.
Al treilea pas implică rularea aplicației și evaluarea rezultatului. Pentru a face acest lucru, lansați aplicația Android, cunoscută sub numele de MBD și, dacă vă solicită să activați locația Bluetooth, faceți-o. Atingeți pictograma BLE UART, care vă arată tipul de dispozitive pe care le poate scana. Alegeți BM70, iar aceasta va lista toate dispozitivele disponibile bazate pe BLE. Căutați dispozitivul demo UART, iar odată ce îl vedeți, puteți anula scanarea în curs.
Se va stabili, apoi, o conexiune cu dispozitivul și se va activa calea pentru comunicația de date. Trebuie doar să apăsați pe pictograma de transfer de date și să activați transferul de date în partea de jos. Acest lucru ne trimite la un ecran în care puteți tasta comenzile pentru a controla dispozitivul – opriți ventilatorul, porniți ventilatorul sau rulați-l la o anumită viteză. Comenzile sunt realizate prin mesaje text.
Dacă doriți să opriți ventilatorul, trebuie să introduceți comanda BLE control fan off și să apăsați butonul “send”. Pentru a-l face să funcționeze în funcție de temperatură, introduceți comanda temp control și apăsați butonul, iar ventilatorul va funcționa în funcție de temperatura camerei. De asemenea, puteți varia temperatura punând un deget pe senzor, iar ventilatorul își va modifica viteza în consecință, funcționând la viteză mică, medie sau mare.
Platforma de dezvoltare software MPLAB Harmony
Microchip oferă numeroase resurse pentru a vă ajuta să dezvoltați aplicații, inclusiv stive grafice, audio, biblioteci criptografice, precum și multe altele.
Pe lângă plăcile Curiosity și Curiosity Nano pentru prototipări rapide, Microchip oferă și câteva platforme mult mai cuprinzătoare, precum seria de plăci de dezvoltare Xplained Pro sau XPLORE, precum și seria Ultra de plăci de dezvoltare Curiosity.
Pentru mai multe informații, accesați: http://www.microchip.com/harmony
Autori:
Syed Thaseemuddin, Technical Staff Engineer
Shridhar Channagiri, Product Marketing Manager
Microchip Technology | https://www.microchip.com