Aplicatii cu Ecran Inteligent pe Student Edea
LUCRARE DE LICENȚĂ
Aplicatii cu ecran inteligent pe Student EDEA
[anonimizat]. 1. INTRODUCERE
Cap. 2. FUNDAMENTE TEORETICE
2.2. Sistemele Embedded
2.3. Instrumentul NI myDAQ 10
Cap. 3. PREZENTAREA SISTEMULUI StudentEDEA
3.1. Caracteristici generale ale sistemului
3.2. Caracteristici și componente principale ale StudentEDEA
3.3. Caracteristici și componente principale ale StudentEDEA REV. 1
Cap. 4. DEZVOLTARE HARDWARE
4.1. Prezentare generala StudentEDEA REV.1
4.1.1. Sistemul de alimentare cu energie
4.1.2. Ansamblul soclurilor RCA/audio
4.1.3 Afișajul LCD
4.1.4 Ansamblul soclurilor BNC
4.1.5. Sistemul de programare al cipului PSoC1
4.1.6. Sistemul embedded PSoC1 CY8C29466-24PXI
4.1.7. Conectorul NI myDAQ 32
4.1.8. Zona de prototipaj
4.1.9. Sistemul de conexiune USB
4.2 Descrierea generala si schema electrica Student EDEA REV3.
4.3. Descrierea componentelor hardware ale SmartGPU2
4.4 Descrierea componentelor hardware ale MinismartGPU
Cap. 5. DEZVOLTARE SOFTWARE
5.1. Prezentarea programului PSoC Designer
5.2 Seturi de comenzi pentru ecranele SmartGPU2
5.3 Seturi de comenzi pentru ecran Minismart GPU
5.4 Descriere aplicatii software
5.4.1 Aplicatie miniSmart
5.4.2 Aplicatie SmartGPU2
Cap. 1. INTRODUCERE
Educația este un fenomen social, specific uman, care a apărut odată cu societatea, dintr-o anumită necesitate proprie a acesteia: dezvoltarea omului ca persoană, ca forță de muncă și ca ființă socială.
Educația are următoarele caracteristici:
Pune accent pe oameni;
Urmărește dezvoltarea unor calități umane și explorarea orizonturilor;
Este orientată predominant spre pregătirea pentru viață;
Are în vedere, cu precădere, întrebări asupra existenței;
Stimulează idealul ființei umane exprimat prin “a fi și a deveni”.
Activitatea educațională este flexibilă și dinamică simultan, iar finalitatea ei îmbină viziunea pe termen scurt cu cea pe termen lung. Educația, și modurile prin care este implementată educația, evoluează continuu, concomitent cu dezvoltarea societății umane și cu creearea unor noi invenții.
Dezvoltarea de dispozitive educationale este tendința actuală în evoluția metodelor de pregătire a elevilor și o alternativă la sistemul de clasic de educatie, bazat pe teorii și simulări. Companii precum Apple, Google, National Instruments, Cypress, Intel, AMD, Sony, Xilinx, Texas Instruments, Digilent etc. fac investiții substanțiale în dezvoltarea și crearea de noi dispozitive educaționale. Aceste instrumente sunt replici la scară mică a sistemelor utilizate în aplicații industriale, oferind studenților posibilitatea de a înțelege cum anumite fenomene apar și câștiga experiență din incercari.
Compania National Instruments a lansat pachetul de instrumente educaționale NI miniSystems. Aceste produse sunt replici la scară mică a unor sisteme utilizate în aplicații industriale și sunt dezvoltate în parteneriat cu producători din diverse domenii. NI myVTOL (Vertical Take-Off and Landing) este un sistem creat în parteneriat cu compania de aviație Lockheed Martin. Rolul său este reproducerea dinamicii de zbor a unui avion și a controlului mișcării avionului. NI myQuake este un sistem creat în parteneriat cu compania Pitsco Education și este folosit pentru reproducerea, controlarea și măsurarea efectelor unui cutremur asupra structurii unei clădiri[4].
Compania Digilent a creat, în parteneriat cu Xilinx, sistemul Analog Discovery. Analog Discovery este un instrument de măsurare, vizualizare, analiză și control a semnalelor. Analog Discovery poate fi conectat și controlat la un calculator printr-o conexiune USB sau poate fi conectat și controlat de pe un terminal iOS (iPOD, iPAD, iPhone)[5].
Numărul aplicațiilor mobile educaționale dezvoltate de pe platformele Apple (iOS) și Google (Android) crește odată cu expansiunea tehnologiilor mobile. Conform unui raport Ambient Insight, apariția smartphone-ului și a tabletei a condus la creșterea vânzărilor aplicațiilor mobile educaționale cu 89,4%. Surprinzător, în țările a căror economie este în curs de dezvoltare (Asia, Africa, America de Sud), aplicațiile mobile educaționale sunt preferate în locul soluțiilor software educaționale controlate de la un PC. De exemplu, doar 9,6% din populația totală a Africii are conexiune la Internet printr-un calculator; în timp ce 57% din populație are conexiune la Internet printr-un telefon mobil[3].
Toate aceste soluții au rolul de a oferi studenților posibilitatea de a înțelege cum se petrec anumite fenomene și de a dobândi experiență practică încă din timpul studiilor.
O problemă importantă a dezvoltării acestui tip de produse, mai ales în domeniul Electronicii și al Ingineriei Electrice, este raportul cost-flexibilitate; raport reflectat și în prețul final al acestor produse. Dezvoltarea acestor soluții este costisitoare și rolul instrumentelor educaționale este de obicei unul singur.
Scopul acestei lucrări este proiectarea și realizarea unui instrument educațional flexibil, low-cost, performant și capabil de realizarea majorității operațiilor electronice necesare unui student, printre care amintesc:
generare DC-AC;
măsurare și analiză de semnal;
programare și reconfigurare sistem;
implementare de aplicații;
prototipaj;
comunicare prin USB.
Lucrarea se axează pe proiectarea instrumentului și a funcțiilor de bază ale acestuia și pe proiectarea părții hardware, pornind de la schema electrică și ajungând până la realizarea cablajului imprimat. Partea software a lucrării va cuprinde exemple de aplicații implementate folosind instrumentul educațional creat și a explicării funcționalității acestora, prezentând părți relevante din cod.
Cap. 2. FUNDAMENTE TEORETICE
2.1. Microprocesorul
Microprocesorul încorporează functiile unitătii centrale de procesare a informației (UCP din eng. CPU – central processing unit) a unui calculator. Fizic acesta este realizat sub forma unui circuit electronic integrat fiind cunoscut și sub numele de chip electronic. Acesta reprezintă forma cea mai complexă pe care o poate avea un circuit integrat controlând activitățile întregului sistem în care este integrat. Microprocesorul este un dispozitiv programabil care procesează informațiile primite la intrare (informații digitale) conform instrucțiunilor implementate în chip și care ulterior genereaza un rezultat ca și ieșire. Acestea sunt utilizate în general pentru aplicații în care se impune o înaltă performanță .
În anul 1971 compania Intel a lansat primul microprocesor, Intel 4004. Avea în componența sa 2300 de tranzistoare și era proiectat pentru aplicații de control. Performanța procesoarelor este în continuă creștere, rata de îmbunătățire a performanțelor fiind dată de legea lui Moore : “Numărul de tranzistoare integrate pe un chip se dublează la fiecare doi ani”. Microprocesoarele pe 8 biți, Intel 8080, au apărut în anul 1974, iar în anii 1978 și 1979 microprocesoarele pe 16 biți Intel 8086 și Motorola MC68000. Apariția Internet-ului din anii ’90 a determinat o accelerare în evoluția microprocesoarelor. Astfel, în anul 1995 apare procesorul Intel Pentium cu o frecvență de ceas de 133 MHz, iar în anul 1999 este lansat modelul Intel Pentium III cu frecvența de 500MHz.
În prezent, microprocesoarele sunt utilizate în PC-uri (Personal Computer), servere, stații de lucru, etc. Dintre proprietățile microprocesoarelor pot fi enumerate următoarele:
frecvențe de ceas ridicate, 2-3 GHz;
consum redus de putere, facilitând astfel dezvoltarea aplicațiilor mobile;
sunt implementate mai multe nuclee de procesor pe un singur chip;
implementează micro-arhitecturi superscalare (pot executa instrucțiuni în paralel pe seturi diferite de date);
pot îndeplini funcții de prelucrare de tip DSP (Digital Signal Processing – procesare digitală de semnal): camere foto;
au memorie cache pe 2 sau 3 niveluri.
Prezentul proiect este bazat pe utilizarea sistemului StudentEDEA. Acesta are la bază utilizarea chip-ului CY8C29466 din familia PSoC1 (Programmable System-on-Chip 1) produs de compania . Chipul folosit este un sistem embedded care are la bază microprocesorul M8C. Acesta este un microprocesor pe 8 biți creat pe baza arhitecturii Harvard și care poate efectua până la 4 MIPS (Million Instructions Per Second). Funcționarea acestuia este bazată pe utilizarea regiștrilor și a acumulatorii de care dispune.
Arhitectura microprocesorului M8C permite utilizarea unei memorii flash de maxim 32Kbytes. Această memorie este programabilă în circuit, acest fapt oferindu-i utilizatorului posibilitatea programării cipului PSoC chiar și după ce acesta a fost plasat pe placa de dezvoltare. Memoria Flash utilizată are o anduranță de scriere – ștergere de 50000 de cicluri, fapt ce explică utilizarea sa ca memorie nonvolatilă în multe aplicații. Dispozitivele PsoC1 pot avea în componența lor maxim 2 unități MAC (Multiply-Accumulate) de 32 biți.
Procesorul poate fi conectat la blocuri analogice și/sau digitale în funcție de specificațiile fiecărui chip. Blocurile digitale pot îndeplini funcții digitale precum timere, numărătoare, UART-uri sau generatoare PWM, în timp ce blocurile analogice pot avea rolul de PGA-uri, comparatoare sau filtre.
2.2. Sistemele Embedded
Sistemele embedded sau SCI (Sistemele cu Calculator Înglobat) sunt bazate pe utilizarea unui microprocesor fiind construite pentru a controla o funcție sau un domeniu de funcții particulare. Acesta este în sine un sistem dedicat, utilizatorul final neavând posibilitatea programării acestuia. Singura interacțiune cu utilizatorul se face în scopul realizării funcțiilor impuse sistemului și aplicațiilor. Sistemul embedded folosește o combinație de hardware și software pentru a rezolva o funcție specifică, în acest sens fiind impuse constrângeri de timp. Componentele hardware și software trebuiesc privite ca un ansamblu prin intermediul căruia este atins scopul propus, acestea fiind diferite prin metode de proiectare, cost, performanță, dimensiune și flexibilitate.
În cadrul unui sistem embedded microprocesorul are rolul de a simplifica construcția sistemului și de a oferi flexibilitate în proiectare și realizare.
Creșterea complexității sistemelor embedded se datorează următoarelor tendințe în domeniu:
creșterea capacității de integrare a circuitelor integrate;
dezvoltarea de unelte software pentru proiectarea componentelor hardware ale sistemului. Uneltele de sinteză permit proiectantului să descrie funcționalitatea dorită într-un limbaj de programare de nivel înalt petru ca ulterior să genereze automat o implementare de procesor cu hardware particularizat;
creșterea calității compilatoarelor ce a condus la utilizarea comună a limbajelor independente de procesor și a mediilor de dezvoltare integrate (IDE) în proiectarea sistemelor embedded.
Din totalul dispozitivelor de calcul de pot fi regăsite pe piață aproximativ 90% dintre acestea reprezintă sisteme embedded. Acestea se regăsesc în domenii precum: industrie și energie, apărare și tehnici spațiale, automobile. Conform statisticilor se estimează că există aproximativ 3 dispozitive embedded pentru fiecare persoană de pe planetă (aproximativ 16 miliarde sisteme), iar până în anul 2020 vor fi peste 40 miliarde componente embedded.
Implementarea sistemului StudentEDEA a fost bazată pe utilizarea chip-ului CY8C29466 din cadrul familiei sistemelor embedded PSoC1 dezvoltat de compania Cypress. Familia sistemelor embedded PSoC este proiectată pentru a înlocui sistemele tradiționale bazate pe utilizarea mai multor microcontrollere. Înlocuirea acestora estea astfel realizată cu un singur dispozitiv programabil, low-cost și dezvoltat pe un singur chip. Dispozitivele PSoC includ blocuri analogice dar și blocuri digitale configurabile. În plus acestea includ și conexiuni programabile cu blocurile digitale. Această arhitectură permite utilizatorului creearea unor configurații care să răspundă fiecărei aplicații implementate.
Fig. 1. Arhitectura sistemumelor embedded.
Din totalul dispozitivelor de calcul de pot fi regăsite pe piață aproximativ 90% dintre acestea reprezintă sisteme embedded. Acestea se regăsesc în domenii precum: industrie și energie, apărare și tehnici spațiale, automobile. Conform statisticilor se estimează că există aproximativ 3 dispozitive embedded pentru fiecare persoană de pe planetă (aproximativ 16 miliarde sisteme), iar până în anul 2020 vor fi peste 40 miliarde componente embedded.
Implementarea sistemului StudentEDEA a fost bazată pe utilizarea chip-ului CY8C29466 din cadrul familiei sistemelor embedded PSoC1 dezvoltat de compania Cypress. Familia sistemelor embedded PSoC este proiectată pentru a înlocui sistemele tradiționale bazate pe utilizarea mai multor microcontrollere. Înlocuirea acestora estea astfel realizată cu un singur dispozitiv programabil, low-cost și dezvoltat pe un singur chip. Dispozitivele PSoC includ blocuri analogice dar și blocuri digitale configurabile. În plus acestea includ și conexiuni programabile cu blocurile digitale. Această arhitectură permite utilizatorului creearea unor configurații care să răspundă fiecărei aplicații implementate.
Fig. 1. Arhitectura sistemului embedded PSoC1
Arhitectura sistemului embedded PSoC1 constă în 4 blocuri funcționale (Fig. 1):
blocul microprocesorului M8C și a celor auxiliare acestuia;
sistemul digital;
sistemul analogic;
blocul resurselor de sistem.
Chipul CY8C29466 este unul din cele mai simple cipuri din familia PSoC1. Schema blocurilor sale logice (Fig. 2) este construită pe baza arhitecturii familiei PSoC1.
Fig. 2. Arhitectura chipului CY8C29466
Chipul CY8C29466 este alcătuit din:
microprocesorul M8C – nucleul sistemului PSoC1. M8C este un procesor pe 8 biți, construit folosind arhitectura Harvard, care operează la o frecvență de 24 MHz și poate executa până la 4 milioane de instrucțiuni pe secundă;
memorie flash – 64 Kbytes de memorie disponibili pentru stocarea programelor;
oscilatorul – operează la o frecvență de 24 MHz;
controller-ul de reset – pornește microcontrollerul sau îl readuce la o stare normală de funcționare;
timer-ul Watch Dog – detectează erorile software (buclele moarte);
timer-ul Sleep – scoate periodic procesorul din stările de „power saving”. Poate fi folosit ca un timer normal.
controller I2C – poate realiza hardware comunicarea prin folosind protocolul I2C pe frecvențele de 100 și 400 kHz. Sunt suportate toate modurile de comunicare: slave, master sau multi-master.
Vref (Voltage reference) – utilizată pentru operarea cu blocurile analogice programate.
unitatea MAC – este un multiplicator rapid pe 8 biți.
SMP (Switch-Mode Pump) – este un sistem ce generează tensiuni normale de lucru folosind o celulă de baterie cu tensiunea de 1,2 V. SMP este folosit ca un convertor low-cost auxiliar.
pinii input și output – sunt semnale care realizează comunicarea PSoC1 cu exteriorul.
blocurile programabile digitale – se utilizează la programarea componentelor digitale selectate de utilizator. Blocurile digitale se pot conecta cu exteriorul prin bus-urile GPIO (General Purpose Input Output). Sunt disponibile 16 blocuri, fiecare bloc fiind o resursă pe 8 biți care poate fi folosit singur sau împreună cu alte blocuri pentru a forma module de 8 biți, 16 biți, 24 biți și 32 biți, în funcție de felul cum sunt programate. Blocurile programabile digitale pot îndeplini funcția de:
module PWM – Pulse Width Modulation (8-32 biți),
countere (8-32 biți),
timere (8-32 biți),
module UART – Universal Asynchronous Receiver/Transmitter (8-32 biți),
module slave sau master SPI – Serial Peripheral Interface (maxim 2 simultan),
module slave sau master I2C – Inter Integrated Circuit (maxim 1),
generatoare CRC – Cyclic Redundancy Check (8-32 biți).
blocurile programabile analogice pot fi utilizate pentru programarea componentelor analogice selectate de către utilizator. Sunt disponibile 12 blocuri, fiecare dintre ele având în componența lor un circuit amplificator operațional. Blocurile programabile analogice sunt foarte flexibile și pot îndeplini diferite funcții:
module ADC – Analog to Digital Converter (până la 4 simultan)
filtre (trece-bandă, trece jos)
comparatoare (până la 4 simultan)
amplificatoare programabile (până la 4 simultan)
module multiplicatoare DAC – Digital to Analog Converter (până la 4 simultan)
modulatoare
corelatoare
module detectoare de vârf.
2.3. Instrumentul NI myDAQ
NI myDAQ este un instrument low-cost și portabil pentru achiziție de date produs de compania National Instruments. Dispozitivul folosește instrumente software bazate pe limbajul mediului de programare și simulare vizuală LabView. Per asamblu instrumentul este o soluție facilă pentru măsurarea și analiza în timp real a semnalelor și efectuarea de măsurători asupra senzorilor.
Fig. 3. Instrumentul NI myDAQ
Instrumentul NI myDAQ oferă o serie de funcționalități într-un singur dispozitiv compact care poate fi conectat la USB: input analogic (AI), output analogic (AO), input și output digital (DIO), conexiuni audio, surse de tensiune și multimetre digitale (DMM). Schema bloc a dispozitivului și modul în care aceste funcții relaționează și conexiunile dintre acestea sunt prezentate în Fig. 4.
Input-ul analogic (AI) – sunt 2 canale analogice de input disponibile pe NI myDAQ. Aceste canale pot fi configurate fie ca input-uri diferențiale, de înaltă impedanță, pentru uz general sau ca input-uri audio. Cele două canale sunt multiplexate, însemnând că un singur ADC (Analog Digital Converter) este folosit pentru eșantionarea ambelor canale. În modul de uz general, pot fi măsurate semnale de până la ±10 V. În modul audio, cele două canale reprezintă canalul stânga, respectiv dreapta a unei linii stereo. Input-urile analogice sunt folosite împreună cu instrumentele NI ELVISmx Oscilloscope, NI ELVISmx Dynamic Signal Analyzer și NI ELVISmx Bode Analyzer.
Output-ul analogic (AO) – sunt 2 canale analogice de output disponibile pe NI myDAQ. Acestea pot fi configurate fie ca output-uri analogice de uz general sau ca output-uri analogice. Ambele canale au un DAC (Digital to Analog Converter) dedicat astfel încât se pot modifica simultan. În modul de uz general, se pot genera semnale de până la ±10 V. În modul audio, cele două canale reprezintă output-urile stereo stânga și dreapta. Output-urile analogice pot fi updatate cu o viteză de până la 200 kS/s per canal, funcționalitate utilă în generarea semnalelor sinusoidale. Cele două canale de output analogic sunt proiectate pentru a fi utilizate împreună cu instrumentele NI ELVISmx Function Generator, NI ELVISmx Arbitrarz Waveform Generator și NI ELVISmx Bode Analyzer.
Input-ul sau Output-ul Digital (DIO) – sunt disponibile 8 linii de input sau output digital pe instrumentul NI myDAQ. Fiecare linie este o interfață PFI (Programmable Function Interface). Din această cauză fiecare linie poate fi configurată ca un input sau output digital de uz general sau poate funcționa ca un input sau output special pentru un counter digital.
Sursele de tensiune – sunt disponibile 3 surse de tensiune. +15V și -15V pot fi folosite pentru a alimenta componente analogice, cum ar fi amplificatoare operaționale sau regulatoare liniare. Sursa de +5V poate fi utilizată pentru alimentarea componentelor digitale cum ar fi dispozitivele logice.
Multimetrul digital (DMM) – furnizează funcțiile pentru măsurarea valorilor de tensiune (DC sau AC), curent (DC sau AC), valori de rezistențe sau a căderii de tensiunii de pe o diodă. Măsuratorile multimetrului digital sunt afectate de activitatea pe conexiunea USB și de performanțele calculatorului la care este conectat instrumentul NI myDAQ.
Fig. 4. Schema bloc a instrumentului NI myDAQ
Instrumentul software NI ELVISmx este o soluție de măsurare, analiză și generare de semnale dezvoltată în mediul de programare și simulare vizuală LabView. (Fig. 5)
Fig. 5. Panoul de comandă NI ELVISmx
NI ELVISmx este compus din mai multe instrumente de măsurare autonome. Accesul la panoul de comandă al NI ELVISmx se face automat la conectarea instrumentului NI myDAQ la un calculator. Pentru a măsura, analiza sau genera semnalul dorit ve alege unul dintre cele 8 instrumente disponibile.
Multimetrul Digital NI ELVISmx (DMM) (Fig. 6) este un instrument autonom care controlează funcționalitățile de bază ale multimetrului digital DMM disponibil pe NI myDAQ. Multimetrul digital NI ELVISmx poate realiza următoarele funcții: măsurarea căderilor de tensiune (DC sau AC), măsurare curenților care trece prin circuit (DC sau AC), măsurarea de rezistențe, testarea diodelor și testarea continuității.
Fig. 6. Multimetrul Digital NI ELVISmx
Osciloscopul NI ELVISmx (Scope) (Fig. 7) oferă funcționalitatea unui osciloscop standard regăsit în majoritatea laboratoarelor de electronică. Acesta dispune de două canale de achiziție și oferă două butoane pentru ajustarea scalării și a poziției semnalului într-o bază de timp flexibilă. Funcția de autoscalare permite utilizatorului ajustarea tensiunii vârf-la-vârf a semnalului AC pentru o afișare optimă a semnalului.
Fig. 7. Osciloscopul NI ELVISmx
Generatorul de funcții NI ELVISmx (FGEN) (Fig. 8) este folosit în generarea undelor. Acesta poate genera majoritatea tipurilor de semnal, sinusoidal, dreptunghiular sau triunghiular, în funcție de parametrii introduși de către utilizator (setarea frecvenței și a amplitudinii). În plus, generatorul de funcții NI ELVISmx oferă posibilitatea modulării semnalelor în amplitudine și frecvență. FGEN folosește pinii AO 0 și AO 1 de pe conectorul NI myDAQ.
Fig. 8. Generatorul de funcții NI ELVISmx
Analizorul Bode NI ELVISmx (Fig. 9) oferă o reprezentare grafică Bode a unui semnal cu scopul de a-l analiza. Prin combinarea funcției “frequency sweep“ cu funcția de input analog a instrumentului NI myDAQ se poate obține o analiză completă Bode. Analizorul Bode NI ELVISmx oferă mai mulți parametri reglabili, astfel utilizatorul poate seta gama de frecvențe a instrumentului și poate alege afișarea în scară logaritmică sau lineară. De asemenea, utilizatorul poate inversa valoarea măsurată a semnalului de input prin inversarea polarității semnalului amplificatorului operațional.
Fig. 9. Analizorul Bode NI ELVISmx
Analizorul dinamic de semnal NI ELVISmx (DSA) (Fig. 10) realizează o transformare a domeniului frecvenței folosind măsurarea semnalul de input analogic (AI) sau semnalul de input audio. Poate lucra în două moduri: modul continuu sau poate realiza o singură scanare. De asemenea, folosind DSA, utilizatorul poate aplica diferite filtre semnalului măsurat.
Fig. 10. Analizorul dinamic de semnal NI ELVISmx
Generatorul de undă arbitrară NI ELVISmx (ARB) (Fig. 11) generează un semnal și îl afișează ca o undă electrică. Utilizatorul poate crea o varietate mare de semnale folosind programul Waveform Editor (care este inclus în pachetul de programe NI ELVISmx).
Fig. 11. Generatorul de undă arbitrară NI ELVISmx
Instrumentul educațional StudentEDEA este conceput ca o soluție autonomă ce exploatează avantajele sistemelor PSoC în domeniul educației, dar și ca o extensie ce poate fi conectată la instrumentul NI myDAQ, oferind astfel un plus de funcționalitate.
Conexiunea instrumentului educațional dezvoltat cu dispozitivul NI myDAQ se realizează printr-un conector terminal cu 20 de pini, oferit de National Instruments în cadrul pachetului de vânzare myDAQ. Conectorul se conectează in lateralul instrumentului myDAQ, lângă mufele audio input și audio output.
Conectorul este legat direct la toate funcțiile instrumentului myDAQ, astfel încât utilizatorul poate explora și aplica toate avantajele acestuia, adaptându-le la cerințele aplicațiilor sale. Configurația conectorului myDAQ și a pinilor acestuia este prezentată în Fig. 12 și în Tabelul 1.
Fig. 12. Configurația conectorului myDAQ
Tab.1 . Configurația pinilor conectorului myDAQ
Cap. 3. PREZENTAREA SISTEMULUI StudentEDEA
3.1. Caracteristici generale ale sistemului
Acest instrument educațional, StudentEDEA ([anonimizat] for Electronic Applications) este gândit ca o soluție ușor de reconfigurat (reconfigurabilă hardware prin programare software) de extindere a înțelegerii studenților asupra fenomenelor care apar în electronică. Instrumentul educațional este unul flexibil, performant, compact, low-cost și capabil să realizeze majoritatea operațiilor necesare studenților (Fig. 13):
generare DC-AC;
măsurare și analiză de semnal;
programare și reconfigurare sistem;
implementare de aplicații;
prototipaj;
comunicare prin USB.
Fig. 13. Caracteristici generale ale StudentEDEA
Programarea chipului CY8C29466 a fost realizată prin intermediul programului PSoC Designer, versiunea 5.3 și a programatorului MiniProg1. PSoC Designer este o soluție software dezvoltată de Cypress și este un IDE (Integrated Design Enviroment) revoluționar ce permite utilizatorului să își personalizeze chipul PSoC1 în funcție de cerințele specifice fiecărei aplicații. PSoC Designer folosește o librărie de funcții analogice și digitale periferice deja create și un mediu de proiectare facil (bazat pe metoda drag-and-drop), oferind astfel sistemelor embedded din familia PSoC1 flexibilitatea specifică.
3.2. Caracteristici și componente principale ale StudentEDEA
Principalele componente ale sistemului StudentEDEA sunt: (Fig. 14):
Chipul CY8C29466-PXI din familia PSoC1;
Conectorul cu dispozitivul NI myDAQ;
Sursa de alimentare;
Mufa de programare ISSP;
Display-ul LCD;
Zona pentru prototipaj;
Mufe BNC;
Mufe RCA.
Fig. 14. Principalele componente ale StudentEDEA
Elementul central al StudentEDEA este chipul CY8C29466-24PXI (din familia sistemelor PSoC1). Alimentarea se face de la o sursă de 12V, prin conectorul POW. Folosind jumper-ul JP_POW se poate selecta tensiunea de alimentare (5V sau 3.3V). Patru conectoare de tip BNC (BNC1, BNC2, BNC3 și BNC4) sunt direct conectate la cipul PSoC1, pentru a putea prelua direct semnale generate de sistemul PSoC1 sau pentru a introduce și ulterior prelucra semnalele dorite. Un alt element important al echipamentului StudentEDEA este reprezentat de conectorul cu instrumentul pentru achiziție de date NI myDAQ. Acesta are 20 de porturi, majoritatea input-uri și output-uri analogice și digitale, care sunt conectate la porturile myDAQ_PORTS, pentru o utilizare mai facilă împreună cu sistemul PSoC1. Zona de prototipaj este alcătuită din: o placă pentru prototipaj, 4 LED-uri, un potențiometru, un switch, toate aceste componente fiind conectate la porturile AUX_PORTS. În plus, mai sunt disponibile și porturi legate la pinii cipului CY8C29466-24PXI. StudentEDEA are implementată și o conexiune cu un ecran LCD, prin blocul de headere LCD_MODULE. Display-ul LCD este util atât în dezvoltare și debugging dar și ca element de afișare în aplicații). Intensitatea luminoasă a ecranului LCD se poate regla prin potențiometrul POT_CON. Programarea StudentEDEA se realizează prin mufa de programare ISSP.
Schema bloc a sistemului și modul în care sunt interconectate componentele acestuia sunt prezentate în Fig. 15.
Fig. 15. Schema bloc a sistemului StudentEDEA
3.3. Caracteristici și componente principale ale StudentEDEA REV. 1
StudentEDEA REV. 1 reprezintă versiunea îmbunătățită a dispozitivului StudentEDEA. Acesta se bazează pe aceleași caracteristici principale ale StudentEDEA: folosirea cipului CY8C29466 ca nucleu al sistemului; proiectarea structurii ca un ansamblu autonom dar și ca o extensie a dispozitivului pentru achiziție de date NI myDAQ, selectarea valorii tensiunii de alimentare, posibilitatea utilizării unui display LCD pentru afișarea rezultatelor unei aplicații, existența unei zone de prototipaj cu acces la pinii sistemului embedded PSoC1 și posibilitatea realizării unor conexiuni BNC, RCA sau audio.
Principalele componente ale StudentEDEA REV. 1 sunt următoarele (Fig. 16):
Chipul CY8C29466-PXI;
Conectorul cu instrumentul pentru achiziție de date NI myDAQ;
Conectorul de alimentare;
Mufa de programare ISSP ;
Display-ul LCD;
Zona pentru prototipaj;
Mufe BNC;
Mufe RCA;
Conectorul USB și interfața USB – UART.
Fig. 16. Principalele componente ale StudentEDEA REV.1
Schema bloc a sistemului și modul în care sunt interconectate componentele acestuia sunt prezentate în Fig. 17.
Fig. 17. Schema bloc a sistemului StudentEDEA REV. 1
Cap. 4. DEZVOLTARE HARDWARE
4.1. Prezentare generala StudentEDEA REV.1
În Fig. 18 este prezentată schema electrică a instrumentului educațional pentru aplicații electronice StudentEDEA REV.1. Schema a fost realizată în Altium Designer ver. 13, folosind editorul pentru scheme electrice (Schematic Editor).
Fig. 18 . Schema electrică a StudentEDEA REV. 1
Schema electrică a StudentEDEA este compusă din mai multe părți funcționale, pe care le voi descrie în continuare.
4.1.1. Sistemul de alimentare cu energie
Sistemul de alimentare cu energie al StudentEDEA este versatil și flexibil. StudentEDEA poate fi alimentat în două moduri: prin conectarea sa la o sursă externă de tensiune sau folosind interfața de programare MiniProg1. Interfața de programare MiniProg1 alimentează instrumentul educațional StudentEDEA în timpul programării cipului PSoC1.
Sistemul de alimentare al PCB-ului folosind o sursă externă este prezentat în Fig. 19. Sursa externă de tensiune trebuie să producă o tensiune de ieșire de 12V și un curent de ieșire de 1A. Aceasta se conectează la StudentEDEA prin intermediul soclului de alimentare de tip tată, cu trei pini POWER_PLUG. Mufa de conectare a sursei de tensiune la soclul de alimentare are diametrul de 5,5 mm, iar grosimea pinului de conectare este de 2,1 mm . Tensiunea primită de soclul POWER_PLUG ajunge la rezistorul R_POW1 și apoi la dioda Schottky D_POW1. Rezistorul SMD R_POW1 de 0Ω se comportă ca o siguranță de protecție a sistemului, iar dioda SMD Schottky D_POW1 acționează ca un stabilizator de tensiune, menținând tensiunea de intrare (Vin) la 12V. Condensatoarele SMD C_POW1 și C_POW2 au valorile de 10 μF, respectiv 22 μF și sunt condensatori de decuplare, având rolul de protecție a intrării și ieșirii. Regulatorul de tensiune LM317 este un circuit LM317 cu 3 pini. El preia tensiunea de intrare Vin de 12V și o transformă în tensiunea de ieșire VCC de 5V, tensiune cu care lucrează instrumentul educațional StudentEDEA. Jumperul JP_POW este utilizat în selectarea tensiunii de ieșire a sistemului de alimentare. Dacă jumperul este șuntat, VCC va fi 3,3 V; în rest tensiunea de ieșire va fi 5 V. Am adăugat și două arce de măsurare, TP_VIN și TP_VCC, pentru a putea examina tensiunile de intrare (Vin) și de ieșire (VCC) din regulatorul de tensiune LM317.
Fig. 19 . Sistemul de alimentare al StudentEDEA REV. 1
4.1.2. Ansamblul soclurilor RCA/audio
Pentru un plus de funcționalitate și pentru a putea preluca semnale RCA, am păstrat în configurația instrumentului educațional pentru aplicații electronice StudentEDEA REV. 1 cele două socluri RCA: RCA_IN și RCA_OUT. Pinii de semnal ai celor două socluri, sunt conectate la un blocul de două porturi, RCA_PORTS. (Fig. 20)
Fig. 20. Cele două socluri RCA ale StudentEDEA REV. 1
Soclurile RCA folosite sunt de tip mamă, cu montare THT și conectoare placate cu nichel . Dimensiunile acestora sunt prezentate în Fig. 21. În plus, kit-ul StudentEDEA REV. 1 conține și două adaptoare RCA – soclu Jack de 3,5 mm, pentru a oferi posibilitatea prelucrării semnalelor audio.
Fig. 21 . Dimensiunile soclurilor RCA
4.1.3 Afișajul LCD
Instrumentul educațional StudentEDEA REV. 1 oferă o conexiune cu un afișaj LCD pentru ca utilizatorul să aibă posibilitatea creării aplicațiilor care necesită monitorizare vizuală. Afișajul LCD are dimensiunea de 2×16 caractere alfanumerice și se conectează la StudentEDEA prin intermediul blocului de headere LCD_MODULE. Schema conexiunilor display-ului LCD este postată în Fig. 22. Blocul de headere este legat direct la pinii cipului CY8C29466-24PXI, fapt ce cauzează comunicarea cu ușurință între sistemul embedded PSoC1 și afișajul LCD.
Alimentarea display-ului LCD se face de la tensiunea de alimentare a plăcii (VCC). Reglarea constrastului afișajului se realizează folosind potențiometrul POT_LCD. Potențiometrul POT_LCD este o componentă THT, având o rezistență de 10 kΩ și o putere de 100 mW, cu o toleranță de ±20% .
Fig. 22 . Schema conexiunilor afișajului LCD
4.1.4 Ansamblul soclurilor BNC
Instrumentul educațional StudentEDEA REV. 1 este capabil să recepționeze și să transmită semnale de la/către diferite surse externe prin intermediul celor patru socluri BNC montate pe placă. Cele patru socluri BNC sunt conectate la sistemul PSoC1 prin intermediul jumperelor de selecție JP1, JP2, JP3 și JP4. Șuntarea jumperelor în poziția 2-3 va determina apariția legăturilor între soclurile BNC și pinii sistemului înglobat PSoC1. Fiecare din cele patru socluri BNC îndeplinește rolul de receptor/transmițător de semnale, datorită conexiunilor sale cu pinii de input/output analogic ai cipului CY8C29466-24PXI. Conexiunile soclurilor BNC sunt:
Soclul BNC1 este legat la pinul P0[2], care reprezintă un input/output analogic.
Soclul BNC2 este legat la pinul P0[3], care reprezintă un input/output analogic.
Soclul BNC3 este legat la pinul P0[4], care reprezintă un input/output analogic.
Soclul BNC4 este legat la pinul P0[5], care reprezintă un input/output analogic.
Conexiunile soclurilor BNC sunt prezentate în Fig.23.
Fig. 23 . Schema conexiunilor soclurilor BNC
Soclurile BNC pe care le-am utilizat sunt componente THT de tip mamă, cu o impedanță de undă de 50Ω, care au contactul placat cu aur. Ele pot prelua sau transmite semnale de maxim 4GHz. Dimensiunile acestora sunt ilustrate în Fig. 24 .
Fig. 24 . Dimensiunile soclurilor BNC
4.1.5. Sistemul de programare al cipului PSoC1
Sistemul de programare al cipului CY8C29466-24PXI este o componentă vitală a instrumentului educațional StudentEDEA REV. 1. El permite reconfigurarea on-board a sistemului PSoC1 și posibilitatea explorării avantajelor oferite de sistemul embedded produs de Cypress. Programarea cipului CY8C29466-24PXI se realizează folosind programul PSoC Designer și interfața de programare MiniProg1.
Interfața de programare MiniProg1 este o interfață ISSP (In System Serial Programming) care se conectează la StudentEDEA REV. 1 printr-un conector cu 5 pini și la un calculator via USB, realizând astfel un canal de comunicare de mare viteză între PSoC Designer și cipul PSoC1 care urmează a fi programat. Aspectul interfeței MiniProg1 și porturile sale sunt prezentate în Fig. 25 .
Fig. 25 . Interfața de programare ISSP MiniProg1
Sunt disponibile două moduri de programare:
Modul Reset – folosit pentru programarea unui sistem PSoC1 deja alimentat. În acest mod, PCB-ul care include cipul PSoC1 oferă tensiune de alimentare interfeței de programare prin pinul XRES.
Modul Power Cycle – folosit atunci când placa pe care este montat cipul PSoC1 are nevoie de alimentare.
Interfața de programare MiniProg1 se conectează la instrumentul educațional StudentEDEA REV.1 prin intermediul mufei de programare cu 5 pini ISSP. Pinul 1 este legat la tensiunea de alimentare a plăcii, iar pinul 2 la masa plăcii. Pinii 3, 4 și 5 sunt legați direct la cipul CY8C29466-24PXI, la pinii 19 (XRES), respectiv 15 (Serial Data) și 13 (Serial Clock). Rezonatorul cu cuarț Y_ISSP are valoarea de 32 kHz și poate fi folosit ca o sursă externă de ceas, pentru o acuratețe de tact ridicată. Conexiunile sistemului de programare al cipului PSoC1 sunt ilustrate în Fig. 26.
Fig. 26 . Sistemul de programare al cipului CY8C29466-24PXI
4.1.6. Sistemul embedded PSoC1 CY8C29466-24PXI
Sistemul embedded PSoC1 CY8C29466-24PXI este nucleul central al intrumentului educațional pentru aplicații electronice StudentEDEA REV.1. Principalul său avantaj și motivul pentru care am ales utilizarea acestui cip în proiectul meu este amestecul unic pe care îl oferă între flexibilitate și adaptabilitate în proiectare și un cost relativ mic de implementare. Cipul CY8C29466-24PXI este reconfigurabil hardware prin programare software și este responsabil cu crearea majorității funcțiilor oferite de StudentEDEA.
Sistemul embedded PSoC1 cuprinde un microprocesor CPU rapid, memorie de program Flash, memorie de date SRAM, blocuri configurabile digitale și analogice și o multitudine de legături input/output.
Microprocesorul M8C este unitatea centrală de programare a sistemului înglobat PSoC1. Este un procesor pe 8 biți rapid, creat pe baza arhitecturii Harvard. M8C are o frecvență de tact de 24 MHz și este capabil de rularea a 4 milioane de instrucțiuni pe secundă (MIPS – Million Instructions Per Second). Microprocesorul folosește un controller de
întreruperi cu 17 vectori, pentru a simplifica programarea aplicațiilor în timp real. Execuția programelor este temporizată și protejată datorită timerelor sleep și watchdog incluse .
Memoria Flash folosește 16 kB de memorie volatilă pentru reținerea programelor și utilizează patru niveluri de protecție pe blocuri de 64 de biți, permițând astfel personalizarea informațiilor software .
Memoria SRAM are o dimensiune de 256 octeți și este utilizată pentru memorarea datelor [11].
Blocurile programabile digitale se utilizează la programarea componentelor digitale selectate de utilizator. Blocurile digitale se pot conecta cu exteriorul prin bus-urile GPIO (General Purpose Input Output). Configurația blocurilor digitale este prezentată în Fig.27. Sunt 16 blocuri disponibile, fiecare bloc fiind o resursă pe 8 biți care poate fi folosit singur sau împreună cu alte blocuri pentru a forma module de 8 biți, 16 biți, 24 biți și 32 biți, în funcție de felul cum sunt programate. Blocurile programabile digitale pot îndeplini funcția de:
module PWM – Pulse Width Modulation (8-32 biți);
countere (8-32 biți);
timere (8-32 biți);
module UART – Universal Asynchronous Receiver/Transmitter (8-32 biți);
module slave sau master SPI – Serial Peripheral Interface (maxim 2 simultan);
module slave sau master I2C – Inter Integrated Circuit (maxim 1);
generatoare CRC – Cyclic Redundancy Check (8-32 biți).
Fig. 27 . Configurația blocurilor digitale programabile ai sistemului înglobat PSoC1
Blocurile programabile analogice se utilizează la programarea componentelor analogice selectate de utilizator. Configurația blocurilor analogice este ilustrată în Fig. 28. Sunt disponibile 12 blocuri, fiecare dintre ele conținând un circuit amplificator operațional.
Blocurile programabile analogice sunt foarte flexibile și pot îndeplini diferite funcții:
module ADC – Analog to Digital Converter (până la 4 simultan);
filtre (trece-bandă, trece jos);
comparatoare (până la 4 simultan);
amplificatoare programabile (până la 4 simultan);
module multiplicatoare DAC – Digital to Analog Converter (până la 4 simultan);
modulatoare;
corelatoare;
module detectoare de vârf.
Fig. 28 . Configurația blocurilor analogice programabile ai sistemului înglobat PSoC1
Sistemul înglobat PSoC1 CY8C29466-24PXI este prezentat într-o capsulă PDIP (Plastic Dual In-Line Package) cu 28 de pini. Poziționarea pinilor este prezentată în Fig. 29, iar configurația acestora în Tabelul 2.
Fig. 29. Poziționarea pinilor cipului CY8C29466-24PXI
Tabelul 2. Configurația pinilor cipului CY8C29466-24PXI
Dimensiunile capsulei PDIP a cipului CY8C29466-24PXI sunt ilustrate în Fig. 30.
Fig. 30 . Dimensiunile cipului CY8C29466-24PXI
Schema electrică a conexiunilor sistemului înglobat PSoC1 utilizat poate fi observată în Fig. 31
Cele patru socluri BNC sunt legate prin intermediul jumperelor de selecție(JP1, JP2, JP3 și JP4) la pinii cipului CY8C29466-24PXI pentru a recepționa și transmite diferite semnale. Totodată, cele patru jumpere de selecție pot crea o legătură directă între sistemul înglobat PSoC1 și conectorul myDAQ.
Alimentarea sistemului embedded PSoC1 se face prin pinul 28 de la tensiunea de ieșire a regulatorului de tensiune LM317. Condensatorul C_PSOC are valoare de 0,1µF și este un condensator de protecție.
Pinul 9 este legat la un SMP intern (Switch-Mode Pump) și este utilizat ca un convertor auxiliar.
Programarea cipului CY8C29466-24PXI se face prin pinii 19 (XRES), 15 (Serial Data) și 13 (Serial Clock) care sunt conectați la pinii mufei de programare ISSP.
Switch-ul RESET este o microîntrerupător THT cu o singură poziție, având un buton rotund și contacte placate cu argint [23]. El are rolul de a întrerupe funcționarea sistemului PSoC1.
Pentru un plus de accces și flexibilitate în utilzare, restul pinilor cipului CY8C29466-24PXI (P0[0…7], P1[2…7] și P2[0…7]) sunt conectați la un blocuri de porturi din zona de prototipaj.
Fig. 31 . Schema electrică a conexiunilor cipului CY8C29466-24PXI
4.1.7. Conectorul NI myDAQ
Conectorul myDAQ este o componentă principală a instrumentului educațional StudentEDEA REV. 1 deoarece mărește performanța sistemului prin oferirea conexiunii la dispozitivul de achiziție de date NI myDAQ. Prin atașarea sa, conectorul myDAQ conferă utilizatorului acces la input-urile și output-urile digitale și analogice ale device-ului și, implicit, posibilitatea implementării tutoror funcțiilor instrumentului de achiziție de date NI myDAQ.
Deoarece National Instruments nu oferă suportul tehnic al produselor sale în formatul specific EDA-ului Altium Designer, am fost nevoit să proiectez componenta electrică, atât partea de obiect electric, cât și footprint-ul conectorului myDAQ, folosindu-mă de desenele tehnice disponibile (Fig. 32).
Fig. 32 . Reprezentarea CAD a dimensiunilor conectorului NI myDAQ
Orice componentă electrică din Altium Designer aparține unei librării anume. Fiecare librărie este un fișier de tip .LibPkg (Integrated Library Project) și este alcătuită din librării schematice .SchLib (Schematic Library) – conțin reprezentările electrice ale componentelor și librării PCB .PcbLib (PCB Library) – care conțin footprint-urile componentelor.
Primul pas în realizarea unei componente electrice este creearea unei noi librării sau asignarea componentei la o librărie deja existentă. Am creat o nouă librărie integrată, pe care am denumit-o myDAQ_connector.LibPkg.
Am trecut apoi la realizarea reprezentării electrice a conectorului myDAQ. Am creat o nouă librărie schematică, pe care am numit-o myDAQ_connector.SchLib. Folosind editorul de librării schematice (Schematic Library Editor) am creat o nouă componentă, botezată myDAQ_connector. Întâi am plasat cei 20 de pini ai conectorului myDAQ, folosind comanda Place – Pin. Înainte de plasarea fiecărui pin, i-am modificat proprietățile (numele și indicativul pinului, proprietățile electrice ale acestuia) din fereastra Pin Properties. Accesul la fereastra Pin Properties se face prin apăsarea tastei Tab înainte de plasarea pinului sau prin dublu click pe pin după ce acesta a fost plasat. După amplasarea tuturor pinilor, am încadrat
numele acestora într-un dreptunghi cu colțuri rotunjite, pentru a delimita suprafața conectorului myDAQ și am salvat componenta nou creată. Rezultatul obținut se poate oberva în Fig. 33.
Fig. 33 . Crearea reprezentării electrice a conectorului NI myDAQ
După crearea reprezentării electrice a conectorului myDAQ, am trecut la partea de proiectare a footprint-ului. Am creat o nouă librărie PCB, pe care am denumit-o myDAQ_connector.PcbLib. Folosind editorul de librării PCB (PCB Library Editor) am creat un nou footprint prin comanda Tools – New Blank Component, pe care l-am numit myDAQ_connector. Am plasat cei 20 de pini manual, la o distanță de 2,54 mm pe orizontală și 3,81 mm pe verticală. Pinii sunt poziționați pe stratul de semnal Top (Top Layer), sunt circulari și au un diametru de 1,5mm. După plasarea pinilor, am desenat pe stratul de silkscreen Top (Top Overlay) conturul conectorului, conform reprezentării CAD deja existente . Footprint-ul rezultat este ilustrat în Fig. 34.
Fig. 34 . Crearea footprint-ului conectorului NI myDAQ
Schema electrică a conexiunilor conectorului myDAQ este prezentată în Fig. 35. Fiecare din cei 20 de pini ai conectorului myDAQ este conectat la un bloc de 20 de porturi, pentru accesul facil la toate funcțiile oferite de instrumentul de achiziție de date NI myDAQ.
În plus, anumite porturi ai conectorului pot fi legați la cipul PSoC1 prin intermediul jumper-elor de selecție.
Portul de AO0 (Analog Output 0) poate fi conectat la pinul P0[2] prin intermediul jumperului JP1;
Portul de AO1 (Analog Output 1) poate fi conectat la pinul P0[3] prin intermediul jumperului JP2;
Portul de AI0+ (Analog Input 0 +) poate fi conectat la pinul P0[4] prin intermediul jumperului JP3;
Portul de AI0- (Analog Input 0 -) poate fi conectat la pinul P0[5] prin intermediul jumperului JP4.
Fig. 35 . Schema electrică a conexiunilor conectorului NI myDAQ
4.1.8. Zona de prototipaj
Instrumentul educațional pentru aplicații electronice StudentEDEA REV.1 are în componența sa și o zona de prototipaj, pentru aplicații care necesită control adițional din partea utilizatorului sau pentru a facilita accesul la diferite funcții ale sistemului.
Zona de prototipaj este compusă din:
placa de prototipaj BREADBOARD cu 170 de găuri și dimensiunile de 46×35mm;
Arcele de măsurare TP1, TP2, care sunt conectate la masa PCB-ului, TP_Vin, care indică tensiunea de intrare în regulatorul LM317 (Vin), TP_VCC, care semnalează tensiunea de alimentare a plăcii (VCC) și TP_POT, care este legat la potențiometrul auxiliar;
Blocurile de 8 porturi PSoC_PORTS1, PSoC_PORTS2 și PSoC_PORTS3, care sunt conectate la pinii cipului CY8C29466-24PXI;
Potențiometrul POT_AUX, care este conectat direct la VCC. Potențiometrul este o componentă THT, având o rezistență reglabilă de 10 kΩ și o putere de 100 mW, cu o toleranță de ±30% ;
Microîntrerupătorul SW1, care este un switch THT cu o singură poziție, având un buton rotund și contacte placate cu argint ;
Diodele emițătoare de lumină LED1, LED2, LED3 și LED4. Led-urile emit o lumină roșie cu o luminozitate de 7-13 mcd, sub un unghi de luminozitate de 140º ;
Blocul de porturi AUX_PORTS, care conține, pe lângă conexiunile cu potențiometrul auxilar, cu LED-urile și cu microîntrerupătorul și câte 2 legături la masa PCB-ului, respectiv la tensiunea de alimentare a plăcii și o conexiune la pinul SMP (Switch-Mode Pump). Blocul AUX_PORTS are 11 porturi.
Blocul de porturi USB_PORTS. Acest bloc e conectat la pinii TxD, RxD, RTS și CTS ai interfeței USB – UART CY7C64225.
Componentele zonei de prototipaj și legăturile dintre acestea sunt ilustrate în Fig. 36.
Fig. 36. Componentele zonei de prototipaj
4.1.9. Sistemul de conexiune USB
Instrumentul educațional pentru aplicații electronice StudentEDEA REV.1 oferă și posibilitatea realizării unei conexiuni USB. Interacțiunea se datorează utilizării unei interfețe USB – UART și a unui soclu USB.
Pentru implementarea legăturii USB am folosit interfața USB – UART CY7C64225, dezvoltată de către Cypress. Ea integrează într-o singură soluție accesibilă ca preț un controller USB 2.0 Full-Speed, un controller UART, un stabilizator de tensiune, un oscilator și o memorie Flash pentru stocarea parametrilor configurați. Interfața USB – UART suportă
viteze de transfer de 300, 600, 1200, 1800, 2400, 3600, 4800, 7200, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 și 230400 rate baud.
Cipul CY7C64225 este disponibil într-o capsulă SSOP (Shrink Small-Outline Package) cu 28 de pini. Poziționarea pinilor și configurația acestora este ilustrată în Fig. 37 și în Tabelul 3.
Fig. 37. Interfața USB – UART CY7C64225
Tabelul 3. Configurația pinilor pentru interfața USB – UART CY7C64225
Soclul USB este un conector THT USB-MINI de tip B, având disponibili 5 pini pentru conectarea la tensiunea de alimentare VCC, masa plăcii și pentru creearea legăturilor cu interfața USB – UART.
Schema electrică a sistemului de conexiune USB este prezentată în Fig. 38.
Fig. 38. Schema electrică a sistemului de conexiune USB
Pentru a simplifica utilizarea conexiunii USB, am legat semnalele WAKE și RESET la masa sistemului.
Blocul de porturi USB_PORTS este direct conectat la pinii TxD, RxD, RTS și CTS ai interfeței CY7C64225 și este poziționat în zona de prototipaj, permițând astfel accesul facil la aceste semnale. Rolul acestor semnale este:
TxD (UART Data Transmit) – este un semnal output, folosit în transmitarea datelor prin controller-ul UART;
RxD (UART Data Receive) – este un semnal input, al cărui rol este recepționarea datelor prin controller-ul UART;
CTS (Clear To Send) – este un semnal input, care poate întrerupe sau relua transmisia datelor prin interfața UART;
RTS (Request To Send) – este un semnal output, stoparea sa provocând o întrerupere în transmiterea datelor prin interfața UART.
Atât interfața USB – UART, cât și soclul USB Mini-B sunt alimentate de la tensiunea de lucru a PCB-ului, VCC.
Pinii D+ și D- ai interfeței USB – UART, respectiv ai soclului USB Mini sunt interconectați.
Condensatorul SMD C_USB de 0,001 µF formează împreună cu rezistorul SMD R4_USB de 100 kΩ un filtru RC.
4.2 Descrierea generala si schema electrica Student EDEA REV3.
StudentEDEA REV. 3 (Fig. 39) reprezintă versiunea îmbunătățită a dispozitivului StudentEDEA REV.1. Acesta se bazează pe aceleași caracteristici principale ale StudentEDEA : folosirea cipului CY8C29466-24px ca nucleu al sistemului; proiectarea structurii ca un ansamblu autonom dar și ca o extensie a dispozitivului pentru achiziție de date NI myDAQ, selectarea valorii tensiunii de alimentare, posibilitatea utilizării unui display LCD pentru afișarea rezultatelor unei aplicații, existența unei zone de prototipaj cu acces la pinii sistemului embedded PSoC1 și posibilitatea realizării unor conexiuni BNC, RCA sau audio.
Fig. 39. Structura Student EDEA REV.3
Principalele imbunatatiri fata de Student EDEA REV.1 sunt interfata de tip PMOD si conectorul pentru ecranul Vizic Technologies MiniSmart GPU.
Interfața Pmod este utilizata pentru a conecta module periferice de frecvență joasă si cu numar redus de pini I/O la placi de tip host controller. Există doua variante definite ale interfetei: cu șase pini și cu doisprezece pini. Versiunea cu sase pini oferă patru canale I / O digitale de semnal , un pin pentru alimentare si un pin pentru minus. Versiunea cu doisprezece pini ofera opt pini de semnal I / O , doi pini pentru alimentare si doi pini pentru minus . În general , modulele periferice Pmod se pot conecta direct la conectorii de pe placa controller gazdă , sau pot fi conectati la placa de control prin intermediul unor cabluri de șase pini sau doisprezece pini . Două module periferice cu șase pini pot fi conectate la un singur conector gazdă cu doisprezece pini prin intermediul unui cablu de tip splitter din doisprezece pini in dublu sase pini. În mod similar , un singur modul periferic cu doisprezece pini poate fi conectat la doi conectori gazdă cu șase pini prin același cablu tip splitter. Module periferice Pmod sunt alimentate prin pinii de alimentare si minus ai interfetei gazda.
Următoarele diagrame (Fig. 40) arată plasarea conectorilor fizici si conventiile de numerotare ale pinilor pentru gazdă (placa de sistem) și pentru partea conectorului modulului periferic. Conventiile pentru numerotarea pinilor la conectorii 2×6 sunt non-standard și sunt oglindite între conectorul gazdă și conectorul de pe modulul periferic. (Fig. 41)
Fig. 40. Plasarea standard a pinilor pentru conector cu sase pini
Fig.41. Plasarea standard a pinilor pentru conector cu doisprezece pini
Pinii conectorului Pmod de pe placa de sistem au, în general, diode de protecție ESD și rezistente in serie de 200ohm. Rezistențele sunt puse pentru a limita curenții de scurt circuit în cazul în care pinii sunt accidental pusi in scurtcircuit, sau pentru a proteja împotriva conflictelor în cazul în care iesirile sunt din greșeală conectate împreună.
În Fig. 42 este prezentată schema electrică a instrumentului educațional pentru aplicații electronice StudentEDEA REV.3.
Fig.42. Schema electrica a Student EDEA REV.3
4.3. Descrierea componentelor hardware ale SmartGPU2
Smart GPU 2 (Fig.43) este un puternic procesor touchscreen si audio cu grafice integrate, usor de utilizat, într-un chip ARM Cortex – M3. Acesta este montat pe o placă cu un ecran LCD color tactil (Fig.44). Este destinat pentru a ajuta dezvoltatorii pentru a crea interfete avansate de grafică cu utilizatorul ( GUI ), într-un mod foarte usor. Acesta dispune functii de gestionare a datelor în format FAT ( Data Logger ) pentru a crea aplicatii chiar mai complexe în doar câteva minute. Procesorul Smart GPU 2 nu necesita nici o configurare sau programare în sine , este un dispozitiv slave care primeste numai comenzi , facilitand reducerea dramatica a dimensiunii codului , complexitate si sarcina de prelucrare în procesorul gazdă.
Smart GPU 2 oferă o interfata simpla, dar eficienta, serial UART pentru orice micro-controller/microprocessor gazdă care poate comunica prin intermediul unui port serial ( 8051 , PIC , ATMEL , FREESCALE , STMicro , ARM , CORTEX , ARDUINO , FPGA MBED , chiar si PC-uri ( RS232 ) ) . Toate functiile grafice, audio si touchscreen conexe sunt trimise folosind comenzi simple prin interfata serială.
Scopul principal al procesorului SmartGPU 2 este de a aduce un mod foarte simplu de a adăuga culoare , audio si interfata tactila oricarei aplicatii sau proiect fără a fi nevoie de experienta în manipularea LCD-urilor si algoritmilor de grafică . Smart GPU 2 este un procesor cu un consum redus de energie, dar de înaltă performanta, ce integrează sistemul universal de fisiere PC FAT/FAT12/FAT16 sau FAT32 pentru stocare de date ( citire / scriere ) , cu suport pentru până la 32 GB de stocare pe un card microSD/ HC ,
Fig. 43. Smart GPU2
Fig.4.2.2 Smart GPU2
Fig.44. Smart GPU2
Caracteristici:
LCD tactil de 2.4 ", 320×240 pixeli, capabil sa afiseze 262.144 de culori.
interfata simpla cu 5 pini pentru orice dispozitiv gazda: VCC, TX, RX, GND, RESET.
adaptor pentru card de memorie USD / uSDHC, FAT (Windows PC) Suport de până la 32GB pentru stocarea de imagini si text, functii de Data Logger (citire-scriere) si LFN (Long File Names).
suporta imagini BMP si JPG.
audio si video de calitate.
iesiri integrate DAC pe 2 canale pot reda audio stereo.
driver de ecran tactil integrat, acuratete la atingere de 12 biti.
5 icoane de uz general pe panoul tactil.
RTC – ceas de timp real integrat, cu baterie de back-up.
PWM controlat luminozitatea ecranului.
mod Sleep.
Viteza ratei de transfer UART / USART de la 9600 până la 2000000bps, 8 biți, fără paritate, 1 bit de stop.
Așa cum am menționat mai sus, interfata de comanda dintre Smart GPU 2 și procesorul gazdă se face prin interfata seriala USART / UART.
O listă, foarte ușor de învățat, cu comenzi ofera acces complet la toate funcțiile disponibile. Comenzi și răspunsuri pot fi un singur octet sau un pachet de octeti. Toate comenzile întorc întotdeauna un răspuns, fie un singur ACK, sau date urmate de un ACK. In imaginea de mai jos este ilustrata comunicarea dintre procesorul principal si SmartGPU2 (Fig. 45).
Fig. 45. Comunicarea dintre procesor si SmartGPU2
4.4 Descrierea componentelor hardware ale MinismartGPU
MinismartGPU (Fig 46) , unitatea de procesare grafică inteligenta, este o placa de dezvoltare embedded, ușor de utilizat, cu un ecran LCD color incorporat (Fig.47) . Aceasta oferă o interfață serială simpla dar eficienta pentru orice micro-controller care poate comunica prin intermediul unui port serial . Toate funcțiile legate de ecran / grafica sunt trimise folosind un protocol simplu prin interfața serială .Deasemenea, unitatea are si funcțiile de bază ale unui DataLogger. MinismartGPU permite utilizatorilor dezvoltarea aplicatiilor lor cu ajutorul unui micro-controler sau FPGA și dezvoltarea software cu ajutorul uneltelor lor preferata astfel devenind una dintre cele mai flexibile soluții grafice integrate disponibile.
Procesorul MinismartGPU nu are nevoie de nici o configurare sau programare în sine , este un dispozitiv care primește numai comenzi, astfel se reducand dramatic dimensiunea codului , complexitatea și sarcina de prelucrare pe procesorul principal ( 8051 , PIC , ATMEL , FREESCALE , STMicro , FPGA , XXDUINO , MBED , CORTEX , PC ( serialport ) ).
Fig.46. MinismartGPU
Fig.47. MinismartGPU
Scopul principal al Minismart GPU-ului este de a aduce un mod foarte simplu de a adăuga culoare, efecte vizuale și interfațare umana la orice aplicatie sau proiect, fără ca utilizatorul sa necesite experienta în manipularea LCD-uri și algoritmi de grafică. Deși este foarte ușor de utilizat, SMART GPU este un procesor de putere mica dar inaltă performanță, cu un slot pentru card microSD cu suport pentru până la 32 GB de stocare și sistem de fișier universal FAT/FAT12/FAT16 sau FAT32, care este compatibil cu orice PC.
Caracteristici:
ecran de 1.8 " LCD capabil sa afiseze 262.144 de culori.
interfata simpla cu 5 pini pentru orice dispozitiv gazdă: VCC, TX, RX, GND, RESET.
adaptor USD / uSDHC pentru card de memorie compatibil cu FAT (Windows PC), de până la 32GB pentru stocarea de imagini și text.
funcții integrate de management de fișiere / Data Logger.
luminozitatea ecranului controlata de PWM.
modul Sleep.
viteza de transmisie de pana la 2000000 bps, 8 biți, fără paritate, 1 bit de stop.
5V și 3V3 compatibil I/O.
3V3 alimentare.
Așa cum am menționat mai sus, interfata de comanda dintre Minismart GPU și procesorul gazdă se face prin interfata seriala UART.
O listă, foarte ușor de învățat, cu comenzi ofera acces complet la toate funcțiile disponibile. Comenzi și răspunsuri pot fi un singur octet sau un pachet de octeti. Toate comenzile întorc întotdeauna un răspuns, fie un singur ACK, sau date urmate de un ACK. In imaginea de mai jos este ilustrata comunicarea dintre procesorul principal si Minismart GPU (Fig48).
Fig.48. Comunicarea intre procesor si MinismartGPU
Cap. 5. DEZVOLTARE SOFTWARE
5.1. Prezentarea programului PSoC Designer
PSoC Designer este un mediu de proiectare integrat (IDE – Integrated Design Enviroment) realizat de către Cypress. PSoC Designer folosește în dezvoltarea aplicațiilor un mediu de proiectare de tip drag-and-drop, o librărie de periferice analogice și digitale preconfigurate (care compun Catalogul de module de utilizator – User Module Catalog), un set de librării de cod API generate dinamic (utilizate în programare și personalizarea perifericelor) și un mediu integrat de depanare (care include caracteristici standarde de depanare software și un modul pentru emulare în circuit).
Programul PSoC Designer este compus din 5 subsisteme: Editorul de cip, Editorul de cod, Administratorul de sistem, Administratorul de proiect și Depanatorul.
Editorul de cip (Chip-Level Editor) conține o matrice a resurselor disponibile (blocuri analogice, digitale, blocuri Capsense sau alte tipuri de blocuri, conexiunile dintre blocuri și legăturile cu pinii de input/output) pentru cipul selectat. Atunci când sunt plasate, blocurile se transformă în module de utilizator (User Module) customizate și personalizate după cerințele aplicației. Editorul de cip se folosește la stabilirea configurației cipului.
Editorul de cod (Code Editor) reprezintă un editor de text special creat pentru scrierea și editarea codurilor în limbajul C și limbajul de asamblare. Pentru fiecare proiect creat, este generat un fișier main în limbaj de asamblare sau în limbaj C. Folosind Editorul de cod, utilizatorul prelucrează acest fișier în funcție de modulele de utilizator conținute de aplicație și de funcțiile pe care dorește să le implementeze. Aspectul editorului de cod este prezentat în Fig.5.1.1.
Fig. 5.1.1. Editorul de cod al programului PSoC Designer
Administratorul de sistem (Build Manager) este un subsistem invizibil pentru utilizator care controlează diferite porțiuni ale procesului de configurare și implementare a proiectului pe dispozitivul selectat. Administratorul de sistem cuprinde compilatorul, asamblorul și utilitarul pentru crearea legăturilor. Construcția unui proiect presupune compilarea și asamblarea fișierelor sursă și a librăriilor incluse în proiect. PSoC Designer folosește utilitarul GNU Make versiunea 3.79 pentru administrarea procesului de construcție. De fiecare dată când este lansată o comandă de compilare sau construcție a proiectului, utilitarul GNU Make determină care din fișierele sursă a fost modificat și lansează comenzi de recompilare și refacere a legăturilor acestora din proiect. Procesul de construcție a proiectului realizează întâi compilarea și asamblarea fișierelor din proiect, apoi conectează toate modulele utilizator create cu fișierele din proiect, creând astfel un fișier de tip .hex care poate fi descărcat ușor pentru depanare. Lansarea comenzii de construcție a proiectului se realizează prin accesarea meniului Build – Build *project name* Project sau prin apăsarea tastei F7.
Administratorul de proiect (Project Manager) este un subsistem al mediului IDE PSoC Designer, principala sa responsabilitate fiind administrarea tuturor fișierelor dintr-un proiect. Orice aplicație creată cu PSoC Designer poate fi imaginată ca un recipient de stocare a proiectului și a fișierelor asociate proiectului. Fiecare proiect PSoC conține un model de proiect care utilizează un singur dispozitiv PSoC. Majoritatea fișierelor asociate cu un proiect sunt generate automat în timpul procesului de construcție.
Depanatorul programului PSoC Designer include caracteristici standarde de depanare software și un modul pentru emulare în circuit.
Interfața cu utilizatorul este împărțită în câteva ferestre active, care variază în funcție de subsistemul utilizat în acel moment.
La lansarea PSoC Designer, este deschisă o fereastră principală (Fig.5.1.2) care conține bara de meniu, bara de instrumente și bara de file în partea de sus. Central este amplasată secțiunea “PSoC Links”, care cuprinde informații și știri noi descărcate de pe site-ul dedicat sistemelor embedded. În partea din stânga sunt afișate proiectele deschise recent (în cadrul secțiunii “Recent Projects”), un catalog de proiectare (“Design Catalog”) care conține exemple de aplicații și informații legate de documentația programului PSoC Designer și o secțiune de tip FAQ (Frequently Asked Questions) alcătuită din link-uri către documente utile unui utilizator nou (“PSoC Shortcuts”).
Fig. 5.1.2. Fereastra de lansare a mediului IDE PSoC Designer
Pentru a programa funcționalitatea dorită într-un dipozitiv PSoC, trebuie mai întâi creat un nou proiect care va conține configurația și setările cipului PSoC.
Crearea unui nou proiect se realizează prin selectarea comenzii New Project din meniul File sau prin scurtătura Ctrl+Shift+N. Este lansată o nouă fereastră (Fig.5.1.3) care ajută utilizatorul în inițierea proiectului și care conține mai multe opțiuni configurabile. Utilizatorul poate seta numele proiectului (Name), locația unde se va salva proiectul (Location), numele directorului care va conține toate fișierele proiectului (Workspace Name) și tipul de proiect pe care dorește să-l realizeze (Project Creation). De asemenea, utilizatorul poate opta pentru generarea unui fișier principal în limbaj C sau în limbaj de asamblare (Generate “Main” file using).
Fig. 5.1.3. Fereastra de creare a unui proiect nou
Este disponibilă și opțiunea alegerii cipului PSoC pe care va fi implementat proiectul, dintr-un catalog de dispozitive PSoC (Fig. 5.1.4).
Fig. 5.1.4. Catalogul de dispozitive PSoC
Apăsarea butonului OK reprezintă pasul final în creearea unui nou proiect și realizează deschiderea ferestrei principale a proiectului (Fig. 5.1.5). Aceasta cuprinde o bară de meniu (Menu) și o bară de instrumente (Toolbar), resursele globale configurabile ale cipului selectat (Global Resources), Editorul de cip (Chip Editor), catalogul cu modulele utilizator (User Module Catalog), navigatorul în spațiul de lucru (Workspace Explorer), configurația pinilor de input și output (Pinout Info), un contor de resurse (Resource Meter) și o secțiune care afișează informații despre modulele de utilizator selectate (Datasheet).
Fig. 5.1.5. Fereastra principală a unui proiect
Sistemele înglobate PSoC conțin în structura lor blocuri analogice și digitale programabile. Toate modulele utilizator sunt localizate în secțiunea “User Modules” și pot fi personalizate în funcție de cerințele aplicației dezvoltate. Principalele funcții care pot fi implementate sunt: convertor analog – digital (ADC), convertor digital – analog (DAC), temporizator, modulator de lățime a pulsului (PWM). PSoC Designer oferă mai multe metode pentru plasarea modulelor utilizator. Prima metodă presupune folosirea unei operații drag-and-drop. Modulul dorit este selectat din secțiunea “User Modules” și tras în editorul de cip (Chip Editor). A două metodă implică selectarea modului utilizator dorit din secțiunea “User Modules” și apoi apăsarea butonului dreapta al mouse-ului și alegerea comenzii Place (Fig.5.1.6). Cea mai simplă cale de a plasa un modul utilizator în editorul de cip reprezintă selecția sa din secțiunea “User Modules” și apoi dublu-click stânga. Modulul utilizator va fi plasat automat în editorul de chip.
Fig. 5.1.6. Plasarea unui modul utilizator
Fiecare modul utilizator dispune de un set de parametrii care pot fi configurați astfel încât să corespundă cerințelor aplicației. Setarea parametrilor se realizează din secțiunea “Parameters”. Această secțiune conține detalii despre numele, tipul și versiunea modului utilizator, precum și câmpuri ce conțin date specifice fiecărei funcții implementate. Atunci când un modul utilizator care a fost plasat în spațiul de lucru este selectat, parametrii săi sunt afișați. Configurarea acestora se realizează prin modificarea câmpurilor secțiunii “Parameters”(Fig.5.1.7).
Fig. 5.1.7. Configurarea unui modul utilizator
Următoarea etapă în realizarea unui proiect și implementarea sa pe un sistem înglobat PSoC este conectarea modulelor utilizator. Fiecare User Module conține input-uri, output-uri și întreruperi care pot fi rutate intern (pentru a interconecta modulele utilizator) sau extern (pentru a lega modulele la pinii cipului PSoC). Structura bus-ului de interconectare variază în funcție de dispozitivul PSoC utilizat și poate consta în unul sau mai multe nivele de bus-uri dispuse între blocuri digitale configurabile și pinii cipului PSoC. Conexiunile între blocurile analogice configurabile și pinii sistemului embedded PSoC se efectuează prin bus-urile analogice multiplexate input și output (Fig. 5.1.8).
Fig. 5.1.8. Conectarea unui bloc analogic programabil
Pasul următor în implementarea unui proiect folosind mediul IDE PSoC Designer este customizarea resurselor sistemului PSoC. Acestea sunt setări hardware care stau la baza funcționării dispozitivului și se regăsesc în secțiunea “Global Resources” (Fig.5.1.9). Secțiunea conține mai multe câmpuri care determină modul în care funcționează cipul PSoC. De exemplu, câmpul CPU_Clock setează frecvența ceasului procesorului M8C care va fi utilizată în proiect. Modificarea parametrilor se face prin selectarea câmpului dorit și schimbarea valorii acestuia folosind săgeata de selecție.
Fig. 5.1.9. Setarea resurselor sistemului PSoC
După plasarea, configurarea și conectarea modulelor utilizator și setarea resurselor de sistem folosite, configurația este verificată folosind compilatorul și apoi proiectul este generat. În procesul de generare, proiectului îi sunt adăugate librării și interfețe pentru programarea aplicațiilor (API) și este creat fișierul main în limbajul de programare selectat de utilizator. Generarea proiectului se realizează prin selectarea comenzii “Generate Configuration Files for *project name* Project” din meniul Build (Fig.5.1.10).
Fig. 5.1.10. Generarea proiectului realizat în PSoC Designer
Etapa următoare este scrierea codului aplicației folosind Editorul de cod (Code Editor). Modificând fișierul main generat, utilizatorul trebuie să creeze un nou cod care să opereze funcțiile și modulele utilizator implementate. Limbajul codului poate fi C, pentru a maximiza timpul de dezvoltare al programului, sau poate fi limbajul de asamblare, folosit la obținerea performanței maxime a cipului PSoC.
După crearea codului aplicației, programul este verificat și proiectul este construit. Construirea se realizează prin accesarea comenzii “Build *project name* Project din meniul Build” (Fig.5.1.11).
Fig. 5.1.11. Construirea proiectului realizat în PSoC Designer
După construirea proiectului, sistemul înglobat PSoC utilizat poate fi programat. Programarea acestuia se realizează prin comanda “Program – Program Part”. Este lansată o fereastră de programare (Fig.5.1.12), care permite alegerea interfeței de programare folosite și a opțiunilor de programare. Transferul dintre PSoC Designer și cipul PSoC al proiectului implementat se face prin apăsarea butonului “Download” (Fig.5.1.13).
Fig. 5.1.12. Fereastra de programare a sistemului înglobat PSoC
Fig. 5.1.13. Butonul de Download
5.2 Seturi de comenzi pentru ecranele SmartGPU2
5.3 Seturi de comenzi pentru ecran Minismart GPU
5.4 Descriere aplicatii software
5.4.1 Aplicatie miniSmart
5.4.2 Aplicatie SmartGPU2
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Aplicatii cu Ecran Inteligent pe Student Edea (ID: 149513)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
