Sunteți pe pagina 1din 21

2.

SISTEMUL DE DEZVOLTARE PICDEM 2 PLUS

Scopul leciei: Prezentarea pe scurt a caracteristicilor i a blocurilor componente ale sistemului de dezvoltare PICDEM 2 Plus. Familiarizarea cu componentele hardware i software ale sistemului de dezvoltare folosind ca tutorial programul demonstrativ furnizat odat cu kit-ul de dezvoltare.

2.1. Introducere
Sistemul de dezvoltare PICDEM 2 Plus al firmei Microchip este alctuit din urmtoarele componente principale: placa demonstrativ PICDEM 2 Plus. un depanator/programator n-circuit (In-Circuit Debugger/Programmer) MPLAB ICD2. dou CD-uri cu ghiduri de utilizare, documente de referin, exemple de aplicaii, drivere i mediul integrat gratuit de instrumente software de dezvoltare MPLAB IDE. o surs universal de alimentare de 9 V/0,75 A. un cablu de conexiune de date serial RS-232 cu conectori DB9.

2.2. Placa demonstrativ PICDEM 2 Plus


2.2.1. Prezentare general

PICDEM 2 Plus este o plac simpl care demonstreaz caracteristici i posibiliti de utilizare a mai multor microcontrolere (MCU) de 18, 28 i 40 de pini din familia PIC16 i PIC18. Ea poate fi utilizat de sine stttor cu un dispozitiv preprogramat, cu un emulator n-circuit (ICE in-circuit emulator) de exemplu, MPLAB ICE sau MPLAB REAL ICE sau cu un depanator ncircuit (ICD in-circuit debugger) de exemplu, MPLAB ICD 2. Informaii suplimentare despre modul de utilizare se gsesc n Chapter 2. Getting Started din documentul LAB PICDEM 2 Plus\User's Guide\PICDEM_2_Plus_Users_Guide. Placa demonstrativ PICDEM 2 Plus are urmtoarele caracteristici i faciliti hardware (prezentate n Fig. 2.1): 1. Socluri DIP de 18, 28 i 40 de pini (dei sunt disponibile trei socluri, doar un singur dispozitiv poate fi utilizat la un moment dat). 2. Surs stabilizat de +5 V, inclus pe plac, pentru alimentare direct de la un alimentator de 9 V, 100 mA sau o baterie de 9 V, i pini speciali pentru alimentare extern prin conectarea unei surse de tensiune continu stabilizat de +5 V, 100 mA. 3. Conector DB9 i hardware-ul necesar asociat pentru implementarea unui port serial activ pentru conectare direct la o interfa RS-232. 4. Conector ICD (In-Circuit Debugger) pentru conectarea la MPLAB REAL ICE sau MPLAB ICD 2. 5. Poteniometru de 5 k folosit n aplicaii de conversie A/D n cazul dispozitivelor avnd intrri analogice. 6. Trei comutatoare push-buton, dou pentru stimuli/comenzi externe i unul pentru Reset. 1

7. Un LED care indic prezena tensiunii de alimentare. 8. Patru LED-uri conectate la PORTB al microcontrolerului. 9. Un jumper (J6) pentru deconectarea LED-urilor de la PORTB. 10. Oscilator cu cuar ncapsulat de 4 MHz. 11. Guri libere pentru conectarea unui cristal de cuar cu frecvena dorit de utilizator. 12. Cristal de cuar de 32,768 kHz pentru clock-ul circuitului Timer1. 13. Un jumper (J7) pentru deconectarea oscilatorului RC de pe plac (de aproximativ 2 MHz). 14. EEPROM serial 32K x 8. 15. Afior cu cristale lichide (LCD). 16. Difuzor (buzzer) piezoelectric comandat de semnalul PWM (impulsuri modulate n durat). 17. Arie prototip pentru hardware-ul utilizatorului. 18. Senzor de temperatur Microchip TC74.

Fig. 2.1. Faciliti hardware ale plcii demonstrative PICDEM 2 Plus Placa demonstrativ PICDEM 2 Plus este furnizat cu dou eantioane de microcontrolere de 40 de pini cu memorie flash, PIC18F4520 i PIC16F877A. La livrare, n dispozitivul PIC18F4520 instalat pe plac, este ncrcat un program tutorial demonstrativ, care msoar i afieaz o tensiune continu, genereaz un semnal sonor cu frecven reglabil, afieaz un ceas cu timpul real i afieaz temperatura ambiant. Kit-ul PICDEM 2 Plus include pe CD-ROM exemple de programe demonstrative. Acestea pot fi utilizate cu microcontrolerele eantion furnizate, cu un ICE sau cu un ICD. Pentru fiecare tip de dispozitiv (PIC16 sau PIC18), sunt furnizate codurile surs (cteva fiiere ASM) i un cod compilat (un fiier hex) pentru programul tutorial demonstrativ.

2.2.2.

Detalii hardware

Placa demonstrativ PICDEM 2 Plus are un circuit extrem de simplu, gndit pentru a ilustra uurina de utilizare a diverselor microcontrolere PIC, i conine urmtoarele elemente hardware: Socluri pentru microcontrolere Cu toate c sunt disponibile trei socluri: un soclu cu 18 pini, un soclu cu 28 de pini, un soclu cu 40 de pini, doar un singur dispozitiv/microcontroler poate fi utilizat la un moment dat. Indicatoare Patru LED-uri (D2 D5) sunt conectate la portul B al fiecrui tip de procesor (de 18, 28 sau 40 de pini). Pinii portului B trebuie s fie setai pe nivel logic HIGH pentru a aprinde LEDurile. Aceste diode pot fi deconectate de la portul B prin scoaterea jumper-ului J6. Un alt LED (D1) indic existena (LED aprins) sau inexistena (LED stins) a tensiunii de alimentare a plcii PICDEM 2 Plus. Surs de alimentare Exist trei posibiliti de a asigura energia de alimentare pentru placa PICDEM 2 Plus: O baterie de 9 V care poate fi conectat la J8. O surs nestabilizat de 9 V/100 mA de curent alternativ sau de curent continuu care poate fi conectat la J2. O surs stabilizat de curent continuu de +5 V/100 mA care poate fi conectat la pinii speciali prevzui pe plac. Utilizatorii MPLAB ICD 2 pot folosi i ICD-ul pentru a alimenta placa (target device) la 5 V cu pn la 200 mA, dac MPLAB ICD 2, la rndul su, este alimentat de la o surs nestabilizat de 9 V (vezi detaliile de conectare PC ICD 2 Dispozitiv target n fiierul LAB PICDEM 2 Plus\User's Guide\MPLAB ICD2\Using MPLAB ICD2 Poster). Port serial RS-232 Un circuit integrat translator de nivel i hardware-ul necesar (alctuind o interfa complet) asigur o conexiune RS-232 gazd printr-un conector DB9. Portul este configurat ca DCE (Data Communications Equipment) i poate fi conectat la un PC folosind un cablu cu conexiune direct. Pinii RX i TX ai PIC16/PIC18 sunt legai la liniile RX i TX ale circuitului MAX232A. ntreruptoare Trei ntreruptoare push-button asigur urmtoarele funcii: S1 conectat la pinul MCLR al microcontrolerului, pentru resetarea hardware a acestuia. S2 conectat la pinul RA4 al microcontrolerului, activ pe nivel LOW. S3 conectat la pinul RB0, activ pe nivel cobort, pentru comenzi/stimuli externi. ntreruptoarele S1 i S3 au montate n paralel pe contacte condensatoare pentru eliminarea efectelor oscilaiilor mecanice inerente la comutrile ntre cele dou stri apsat/relaxat (hardware debounce), pe cnd S2 nu are, permind utilizatorului s investigheze/testeze tehnicile pentru eliminarea acestor efecte (software debounce). Cnd sunt acionate (apsate), ntreruptoarele pun la mas pinul de intrare, genernd nivel logic 0. Cnd ele nu sunt acionate (relaxate), pinii sunt conectai printr-o rezisten la +5 V, genernd nivel logic 1. Opiuni pentru oscilator Oscilator RC (de aproximativ 2 MHz) prezent pe plac. Acesta poate fi invalidat eliminnd jumper-ul J7. Oscilator pe frecvena dorit prin montarea, de ctre utilizator, a unui cristal de cuar corespunztor i a dou condensatoare n gurile special prevzute pe plac. 3

Un oscilator ncapsulat de 4 MHz care poate fi nlturat (este montat pe soclu). Un cristal de cuar de 32,768 kHz pentru clock-ul circuitului Timer1 al microcontrolerului. Intrare analogic Un poteniometru de 5 k este conectat printr-un rezistor serie de 470 la pinul AN0. Poteniometrul permite reglarea unei tensiuni de la 0 V la VDD folosit ca intrare analogic n cazul microcontrolerelor care au un modul convertor analog-digital. Conector ICD Prin intermediul conectorului modular (J5), MPLAB ICD 2 poate fi conectat pentru operaii de programare/depanare n-circuit (in-circuit programming/debugging), la costuri reduse. Pentru aceste operaii, conectorul ICD utilizeaz pinii RB6 i RB7 ai microcontrolerului. Senzor de temperatur Acesta este un senzor digital serial de temperatur (TC74) care este conectat la microcontrolerele avnd 28 sau 40 de pini prin intermediul pinilor RC3 i RC4. Comunicaia cu TC74 este realizat prin intermediul portului serial pe dou fire, compatibil I2C, al microcontrolerului. Dispozitivul TC74 are adresa binar 1001101. EEPROM serial Un EEPROM serial 24L256 de 256 Kbii (32K x 8) este inclus pe plac pentru a ilustra conceptul bus-ului I2C. Afior LCD Un afior LCD, cu dou linii a cte 16 caractere fiecare, este conectat la soclul cu 40 de pini. Comunicaia cu microcontrolerul se realizeaz pe trei linii de control (RD6:RD4) i patru linii de date (RD3:RD0). Dispozitive eantion Unul din cele dou dispozitive eantion livrate cu kit-ul, programat cu un program tutorial demonstrativ, este montat n placa PICDEM 2 Plus. Tabelul 2.1 listeaz caracteristicile de intrare/ieire i conexiunile la porturi pentru fiecare tip de procesor (n funcie de numrul pinilor). Tabelul 2.1 Caracteristicile I/O i conexiunile la porturi pentru fiecare tip de microcontroler Caracteristic LED-uri (D2 D5) USART Reset General (S1) Definit de utilizator (S2) Definit de utilizator (S3) Poteniometru (R16) LCD (LCD1) EEPROM (U4) Buzzer (P1) Conector ICD (J5) Senzor temperatur (U5) Oscilator cuar (Y1) Oscilator extern (Y2) 18 pini MCLR RA4 RB0 RA0 RB6:RB7 RC3/RC4 OSC1 i OSC2 OSC1 Tip dispozitiv PIC (numr de pini) 28 pini 40 pini RB3:RB0 RC6:RC7

RD6:RD4 i RD3:RD0 RC3/RC4 RC2

2.2.3.

Echiparea i schemele plcii

Amplasarea componentelor plcii demonstrative PICDEM 2 Plus este prezentat n Fig. 2.2 iar schemele circuitelor sunt prezentate n Fig. 2.3 i Fig. 2.4.

Fig. 2.2. Amplasarea componentelor plcii demonstrative PICDEM 2 Plus

Fig. 2.3. Schema plcii demonstrative PICDEM 2 Plus

Fig. 2.4. Schema plcii demonstrative PICDEM 2 Plus (continuare)

2.3. Mediul integrat de instrumente software de dezvoltare MPLAB IDE


Ciclul tipic de via al dezvoltrii unui produs este alctuit din cicluri mai mici, fiecare reprezentnd un proces iterativ spre proiectarea i finisarea unei aplicaii pentru un sistem integrat. Mediul de dezvoltare integrat MPLAB (MPLAB Integrated Development Environment IDE) este conceput pentru a asista toate aceste cicluri cu o aplicaie integrat (Fig. 2.1). MPLAB IDE ajut inginerii s coreleze informaiile ncepnd de la faza de proiectare conceptual pn la scrierea codului, depanarea, optimizarea i programarea aplicaiei.

Fig. 2.5. Procesele n dezvoltarea unui produs asistate de MPLAB IDE (Proiectare; Editare, construire i management proiect; Simulare i depanare; Emulare i depanare; Programare dispozitiv) Microchip Technology ofer un set de instrumente de dezvoltare a aplicaiilor de foarte bun calitate, ieftine i uor de utilizat. Integrarea instrumentelor de dezvoltare n MPLAB IDE nseamn familiarizarea cu un singur mediu de dezvoltare pentru a reui o dezvoltare rapid a proiectelor. Pentru a nva rapid utilizarea MPLAB IDE, majoritatea ghidurilor pentru utilizator i a instrumentelor MPLAB IDE au seciuni Getting Started i tutoriale specifice. Proiectare Implementare Testare Producie MPLAB IDE este mediul integrat gratruit al firmei Microchip pentru dezvoltarea aplicaiilor dedicate folosind dispozitivele PIC (microcontrolere Programmable Integrated Circuit) i dsPIC (controlere de semnal digital digital signal PIC). MPLAB IDE ruleaz ca o aplicaie pe 32 de bii pe Microsoft Windows, este uor de utilizat i include o multitudine de componente software gratuite utile pentru dezvoltarea i depanarea rapid a aplicaiilor. MPLAB IDE este o interfa grafic unificat pentru instrumentele de dezvoltare hardware/ /software suplimentare de la Microchip sau de la parteneri. Schimbarea instrumentelor sau trecerea la unele mai performante se face fr eforturi deoarece MPLAB IDE are aceeai interfa utilizator pentru toate instrumentele. Exist numeroase instrumente, de la cele simple, pentru nceptori, pn la cele complexe i performante, pentru producie, care pot asista eficient proiectarea, implementarea, testarea i producia sistemelor dedicate utiliznd dispozitivele Microchip. 8

Componente software gratuite ale MPLAB IDE MPLAB SIM Simulator software rapid asigurnd simularea perifericelor, generarea de stimuli i jurnale pentru registre. Editor de text Codarea color contextual prezint uor tipologii i instruciunile incorecte. ntreaga depanarea are loc n fereastra editorului. Debugger multifuncional Fereastra de vizualizare afieaz variabile, structuri i arii. Comenzi diverse de rulare a codului permit o inspecie rapid a funcionrii instruciunilor. Interfaa de control a monitorizrii datelor (Data Monitor Control Interface DMCI) Asigur o metod grafic de introducere i ajustare a parametrilor motoarelor software pentru optimizarea rspunsului dinamic al acestora. Suport pentru controlul versiunilor pentru sigurana surselor. Macro asamblor Disponibil pentru toate dispozitivele curente Microchip, incluznd editor de legturi (linker) i editor de biblioteci (librarian) pentru realizarea de biblioteci de coduri reutilizabile. Manager grafic al proiectelor Fiierele surs pot fi deschise i editate instantaneu, optimizri diferite pot fi aplicate diferitelor fiiere surs i toate fiierele unui proiect sunt afiate n fereastra proiectului. Instrumente software i hardware Numeroase instrumente software/hardware pot fi integrate in MPLAB IDE, printre care: Depanare n timp real i programatoare universale MPLAB ICD 2 este un depanator n timp real i un programator ieftin pentru microcontrolerele PIC i dsPIC. MPLAB ICD 3 este sistemul in-circuit debugger de ultim generaie al Microchip i un emulator foarte rapid, avnd i cel mai bun raport performan/pre. MPLAB REAL ICE este un sistem in-circuit emulator de ultim generaie pentru dispozitivele Microchip cu memorie flash caracterizat de un pre cobort i o vitez mare de emulare, depanare, programare i transfer al datelor de monitorizare. MPLAB PM3 este un dispozitiv de programare uor de utilizat fie cu un PC fie ca dispozitiv de sine stttor, care poate programa toat gama de dispozitive Microchip. nsuirea tehnologiilor i obinerea rapid a prototipurilor MPLAB Starter Kits este o soluie hardware i software complet pentru nelegerea microcontrolerelor i controlerelor de semnal digital. Fiecare kit se adreseaz pentru o tehnologie particular sau o anume soluie Microchip. PICDEM Mechatronics Demo Board este o platform mecatronic de dezvoltare i demonstraie uor de utilizat. Mecatronica se refer la implementarea controlului inteligent n sistemele mecanice. PICDEM Lab Development Kit este proiectat ca o platform complex de dezvoltare i nvare pentru aproape toate microcontrolerele Microchip de 8 bii cu memorie flash avnd 6, 8, 14, 18 i 20 de pini. Microcontrolerele populare livrate, componentele existente i conectorii la care sunt conectai toi pinii dispozitivelor fac posibil realizarea unui numr mare de circuite uzuale. PICDEM PIC18 Explorer Board este o plac cu un cost redus utilizat pentru evaluarea familiei PIC18 de microcontrolere. El suport numeroase extensii (Plug-In Modules i PICtail daughter boards) devenind astfel un mediu complet i flexibil de dezvoltare. Pentru a v nsui sau a v reaminti utilizarea acestui mediu de programare i pentru rezolvarea problemelor aprute pe parcursul desfurrii activitilor din aceast lucrare, folosii manualul Aplicaii hardware i software cu microcontrolerul PIC 12F675, autori I. Sztojanov, S. 9

Paca, E. Buzoianu, Editura Cavallioti, Bucureti, ISBN 978-973-7622-54-9, 2008, precum i documentaia din directorul LAB Picdem 2 Plus\User's Guide\MPLAB IDE i site-ul productorului http://www.microchip.com.

2.4. Programatorul/depanatorul n-circuit MPLAB ICD 2


Tradiional, inginerii din domeniul sistemelor nglobate dedicate folosesc emulatoare ncircuit (in-circuit emulators ICE) pentru dezvoltarea i depanarea proiectelor lor i apoi programatoare pentru a transfera codul program n dispozitiv. Logica pentru in-circuit debugging, cnd este implementat, face parte din microcontroler i asigur o alternativ cu costuri reduse emulatoarelor mult mai scumpe.

Fig. 2.6. Programatorul/depanatorul MPLAB ICD 2 i conectarea sa Depanarea n-circuit ofer urmtoarele beneficii: cost redus, un minimum de hardware suplimentar, nu sunt necesare socluri sau adaptoare costisitoare, depanarea i programarea unei plci pe linia de producie este posibil. Totui, ea are i urmtoarele dezavantaje: Utilizarea unor resurse ale dispozitivului int cum ar fi pini I/O, memorie program, memorie de date i spaiu stiv. Ca urmare, unele poriuni ale aplicaiei dedicate nu pot fi depanate. Declanarea i punctele de ntrerupere sunt limitate la posibilitile ncorporate n dispozitivul int n logica de depanare n-circuit. Chip-ul int trebuie s ruleze cu un clock i o surs de tensiune, spre deosebire de un emulator, care deseori poate rula fr hardware exterior. 10

MPLAB ICD 2 (In-Circuit Debugger 2) permite depanarea i programarea dispozitivelor cu memorie flash de tipul PIC i dsPIC folosind puternica interfa grafic a mediului integrat de dezvoltare MPLAB, inclus n fiecare kit. MPLAB ICD 2 este conectat la PC-ul gazd (pe care ruleaz MPLAB IDE) folosind o interfa USB sau RS232 i la dispozitivul int printr-un conector ICD. Acest conector folosete doi pini de intrare/ieire ai dispozitivului care sunt utilizai, pe rnd, att de procesul de depanarea n-circuit, ct i de procesul de programare serial n-circuit. Cerinele pentru sistemul de calcul gazd sunt urmtoarele: sistem compatibil PC cu un procesor minim Intel Pentium sau echivalent; minim 32 MB de RAM; minim 40 MB spaiu disponibil pe hard disc; unitate CD-ROM (pentru accesul la CD-ul livrat n kit); port USB sau RS-232 disponibil; sistem de operare Microsoft Windows 98, Windows NT 4.0, Windows 2000 sau Windows XP. Suportul USB poate fi limitat de anumite sisteme de operare, n special Windows 98/NT. Principalele caracteristici al MPLAB ICD 2 sunt urmtoarele: interfa USB (Full Speed 2 Mbits/s) i RS-232 spre PC-ul gazd; execuie n timp real; compatibil cu MPLAB IDE (copie gratuit inclus); monitor incorporat pentru supratensiune i scurt-circuit; firmware-ul poate fi actualizat prin PC i descrcat de pe internet; este total protejat fiind montat ntr-o carcas; suport tensiuni mici pn la 2,0 voli (n domeniul 2,0 6,0 V); LED-uri pentru semnalizare i diagnostic (alimentare, operare, eroare); citete/scrie memoria de program i de date a microcontrolerului; terge spaiul memoriei de program cu verificare; nghea perifericele la punctele de ntrerupere controlat n rularea programului (breakpoint).

2.5. Programul tutorial demonstrativ


Programul tutorial demonstrativ este preprogramat la livrarea kit-ului n microcontrolerul eantion (PIC16F877A.hex pentru dispozitivul PIC16 i 4520LCD.hex pentru dispozitivul PIC18) montat n soclul plcii demonstrative. De asemenea, aceste programe sunt incluse pe CDROM-ul Demo and Evaluation Kit Software and Documentation. O copie parial a acestui CD cu fiierele de interes se gsete n directorul LAB PICDEM 2 Plus\CDsel PICDEM 2 PLUS. Dac microcontrolerul a fost ulterior programat cu o alt aplicaie, programul tutorial demonstrativ poate fi reprogramat n dispozitiv. Organigrama programului tutorial demonstrativ poate fi urmrit n Fig. 2.7. Programul este alctuit din patru componente (moduri de lucru), care sunt afiate individual i succesiv pe LCD. 1. Voltmetru Acest mod folosete convertorul analog-digital pentru a msura tensiunea pe cursorul poteniometrului R16 i afieaz o valoare cuprins ntre 0,00 V i 5,00 V pe LCD. Tensiunea este continuu actualizat pn se prsete acest mod de lucru prin apsarea lui S3/RB0. 2. Buzzer Acest mod activeaz buzzer-ul piezoelectric, folosind pinul de intrare/ieire (RC2) al modulului CCP1. 11

Perioada i factorul de umplere al semnalului generat de CCP1 pot fi schimbate ct timp buzer-ul este pornit. Pentru a modifica perioada i/sau factorul de umplere, se apas RB0 n meniul Buzzer. Buzer-ul va suna n acest moment cu setarea implicit 80h pentru perioad i factorul de umplere. Prin apsarea lui RB0, registrul PR2 va fi incrementat schimbndu-se astfel perioada semnalului sonor. Apsnd o data S2/RA4, prin apsarea n continuare a lui RB0, registrul CCPR1L va fi incrementat schimbndu-se astfel factorul de umplere al semnalului generat. Urmtoarea apsare a butonului RA4 va determina ieirea din funcia Buzzer. 3. Termometru Acest mod folosete senzorul de temperatur TC74 pentru a msura temperatura ambiental n Celsius i apoi afieaz aceast temperatur pe LCD. Comunicarea ntre microcontrolerul PIC i senzor este realizat folosind modulul MSSP. n acest mod, programul conine i un cod de scriere de date n memoria extern serial EEPROM aflat pe placa de demonstraie. La fiecare dou secunde, programul va scrie ntr-o adres definit a EEPROM-ului i va memora valoarea curent a temperaturii la aceast adres. Acest mod este prsit prin apsarea lui RB0. Fig. 2.7. Organigrama programului 4. Ceas tutorial demonstrativ Imediat ce se intr n acest mod din meniul principal, un ceas de timp real va porni numrtoarea de la 00:00:00. Modulul Timer1 i generatorul cu cuar de 32 kHz sunt utilizate pentru a realiza acest ceas de timp real. Apsnd RA4, ora ceasului poate fi setat dup preferinele utilizatorului. Pentru nceput se modific folosind RB0 cifrele orei. Apsnd RA4 din nou, RB0 va modifica cifrele minutelor. O nou apsare a lui RA4 va actualiza ora setat a ceasului i LCD-ul se ntoarce la afiarea ceasului activ. Datele care sunt trimise la LCD sunt trimise de asemenea portului serial RS-232 folosind USART-ul microcontrolerului PIC. Un program HyperTerminal pe un PC va fi capabil s afieze aceleai informaii care sunt afiate pe LCD. 12

2.6. Desfurarea leciei


ACTIVITATEA 2.1 INSTALAREA I PORNIREA SISTEMULUI LA PRIMA UTILIZARE
Modul de pornire a sistemului de dezvoltare este foarte important pentru corecta funcionare a sa. Mai ales la prima utilizare, paii trebuie parcuri ntocmai, altfel exist riscul ca sistemul s nu funcioneze de loc. 1.1. Pentru nceput, studiai diagramele de conectare i paii de instalare din posterul Using MPLAB ICD 2 livrat odat cu MPLAB ICD 2. Posterul este disponibil i n fiierul LAB PICDEM 2 Plus\User's Guide\MPLAB ICD2\Using MPLAB ICD2 Poster. In cadrul acestor lecii, placa PICDEM 2 Plus va fi alimentat fie direct de la sursa universal de alimentare de 9 V/0,75 A, fie prin intermediul lui MPLAB ICD 2 conform conexiunii reproduse din posterul menionat anterior n Fig. 2.8.

Fig. 2.8. Alimentarea plcii PICDEM 2 Plus prin intermediul lui MPLAB ICD 2 1.2. Nu conectai deocamdat nimic din sistemul de dezvoltare la calculator. Verificai dac mediul de dezvoltare MPLAB IDE este instalat pe PC (de exemplu, dac exist All Programs > Microchip > MPLAB IDE). Dac nu exist, putei download-a softul de pe site-ul www.microchip.com seciunea Development Tools sau s folosii versiunea aflata n directorul LAB PICDEM 2 Plus\Software. 1.3. IMPORTANT: n acest moment, asigurai-v c MPLAB IDE nu ruleaz pe calculator i c MPLAB ICD 2 nu este conectat. Nu lsai ca sistemul de operare Windows s aleag singur un driver USB pentru MPLAB ICD 2. 1.4. Conectai prin cablul USB unitatea MPLAB ICD 2 cu PC-ul (n Fig. 2.9 sunt prezentate toate legturile sistemului de dezvoltare care vor fi realizate ulterior). Led-ul Power de pe MPLAB ICD 2 trebuie s se aprind. Dac apare fereastra Found new Hardware Wizard, pentru instalarea corect a driverului, urmai ntocmai instruciunile din fiierul C:\Program Files\Microchip\MPLAB IDE\ICD2\Drivers\ddicd2.htm. Dac aceast fereastr nu a aprut, verificai c driverul instalat este cel corect: n Device Manager la categoria Microchip Tools trebuie s gsii Microchip MPLAB ICD 2 Firmware Client (Pentru a deschide fereastra Device Manager, dai click pe Start > Settings > Control Panel. n Control Panel, dai dublu click pe System. n System Properties, tab-ul Hardware, dai click pe Device Manager).

13

Fig. 2.9. Conectarea sistemului de dezvoltare Dac driverul listat nu este Microchip MPLAB ICD 2 Firmware Client, nseamn c ai conectat anterior modulul MPLAB ICD 2 i ai lsat Windows s-i instaleze singur un driver incorect. Pentru a-l elimina i a reinstala driverul funcional, urmai instruciunile din fiierul C:\Program Files\Microchip\MPLAB IDE\Utilities\ MPUsbClean\MPUsbDocs\Update_Clean.htm. Facei acelai lucru i dac ulterior vei constata c MPLAB ICD 2 nu mai funcioneaz aa cum v ateptai. Dac metoda descris de eliminare automat a driverului (clean) nu a funcionat, urmai instruciunile din fiierul LAB PICDEM 2 Plus\Documents\Uninstalling USB Drivers. 1.5. Dup ce s-a instalat driverul, lucru semnalat de sistemul de operare printr-un semnal sonor scurt specific, alimentai MPLAB ICD 2 conectnd sursa proprie de alimentare de 9 V/0,75 A att la reeaua de alimentare ct i la mufa de alimentare a modulului. 1.6. Deschidei MPLAB IDE i configurai programul pentru a lucra corect cu MPLAB ICD 2: Selectai Configure > Select Device... i la Device selectai PIC18F4520. Pentru depanare, selectai Debugger > Select Tool > MPLAB ICD 2. Pentru programare, selectai Programmer > Select Programmer > MPLAB ICD2. Cele dou funcii nu pot fi selectate simultan. Pentru setarea portului de comunicare cu MPLAB ICD2, selectai tab-ul Debugger/Programmer > Settings... > Communication i alegei un port (USB n cazul nostru). Dai un click pe Apply. Selectai tab-ul Power din aceeai fereastr Settings. Verificai c box-ul Power target circuit from MPLAB ICD 2 este bifat. Dac dorii s alimentai direct circuitul target, n cazul unui consum mare, atunci acest box trebuie debifat. nchidei fereastra cu un click pe butonul OK. 14

Observaie: Pe parcursul acestor operaii, este posibil ca MPLAB IDE ncerce automat s se conecteze la MPLAB ICD 2 i la dispozitivul target. Cum placa PICDEM 2 Plus nc nu este conectat, pot apare unele avertizri sau chiar erori, dar ele vor disprea dac setrile i conexiunile vor fi corelate corect n pasul urmtor dup conectarea dispozitivului target. 1.7. Conectai folosind cablul special ICD placa target PICDEM 2 Plus la MPLAB ICD 2. Selectai Debugger/Programmer > Connect pentru a face o reconectare a dispozitivelor. n fereastra Output tab-ul MPLAB ICD 2 trebuie s apar urmtoarele mesaje:
Target Device PIC18F4520 found, revision = Rev 0x1 ...Reading ICD Product ID Running ICD Self Test ...Passed MPLAB ICD 2 ready for next operation

ceea ce nseamn c sistemul de dezvoltare este n bun stare i funcional. 1.8. Oprii i deconectai complet sistemul de dezvoltare. Acest lucru este bine s se fac ntotdeauna n ordine invers conectrii: Deconectai PICDEM 2 Plus de la MPLAB ICD 2 scond cel puin la unul din capete cablul ICD. Deconectai alimentatorul din MPLAB ICD 2. Deconectai cablul USB dintre PC i MPLAB ICD 2.

ACTIVITATEA 2.2 RENCRCAREA I TESTAREA PROGRAMULUI DEMONSTRATIV


2.1. Pornii sistemul de dezvoltare urmrind neaprat paii urmtori (orice deviere de la aceast procedur poate determina configurarea necorespunztoare a driverelor care se ncarc i sistemul nu va funciona): Conectai modulul MPLAB ICD 2 la o intrare USB a PC-ului folosind cablul USB asigurnduv c LED-ul Power al MPLAB ICD 2 s-a aprins. Ateptai ncrcarea driver-ului de ctre sistemul de operare, lucru semnalat de acesta printr-un semnal sonor scurt specific. Conectai alimentatorul la mufa de alimentare a MPLAB ICD 2. Conectai placa de demonstraie PICDEM 2 Plus la MPLAB ICD 2 folosind cablul ICD. Lansai programul MPLAB IDE dac nu este deja pornit. Verificai c LED-ul Power de pe placa PICDEM 2 Plus s-a aprins. 2.2. tergei coninutul microcontrolerului de pe placa de demonstraie astfel: Selectai dispozitivul de programare prin selectarea Programmer > Select Programmer > MPLAB ICD2. tergei coninutul microcontrolerului (dispozitivului target) cu comanda Programmer > Erase Part. Verificai tergerea cu succes a microcontrolerului cu comanda Programmer > Blank Check. Dac toate operaiile anterioare au fost executate corect, n fereastra Output tab-ul MPLAB ICD 2 trebuie s apar succesiv urmtoarele mesaje:
Connecting to MPLAB ICD 2 ...Connected Setting Vdd source to MPLAB ICD 2 Target Device PIC18F4520 found, revision = Rev 0x1 ...Reading ICD Product ID Running ICD Self Test ...Passed

15

MPLAB ICD 2 ready for next operation Erasing Target Device... ...Erase Succeeded MPLAB ICD 2 ready for next operation Blank Checking... ...Program Memory .. Config Memory ...EEPROM ...User ID Memory ...Blank Check Passed MPLAB ICD 2 ready for next operation

2.3. ncrcai microcontrolerul cu programul denonstrativ n cod binar (format hex), furnizat pe CD-ul livrat cu placa PICDEM 2 Plus urmrind paii urmtori: Importai n mediul MPLAB IDE cu comanda File > Import fiierul LAB PICDEM 2 Plus\CDsel PICDEMO 2 Plus\PICDEM_2_Plus\4520LCD.hex. Programai codul binar n microcontroler folosind comanda Programmer >Program. Verificai corectitudinea nscrierii programului selectnd Programmer >Verify. Dac toate operaiile anterioare au fost finalizate cu succes, lucru de care v putei da seama urmrind mesajele din fereastra Output tab-ul MPLAB ICD 2, rulai programul ncrcat n microcontroler selectnd comanda Programmer > Release from Reset. 2.4. Urmrii i testai funcionarea programului demonstrativ (a tuturor celor 4 module incluse) urmrind descriere i organigrama programului (paragraful 2.5). La modulul voltmetru reglai RA0 iar la modulul termometru punei mna pe U5 pentru a vedea modificarea valorilor afiate. La modulul buzer reglai perioada i factorul de umplere pentru a urmri efectul asupra sunetului produs iat la modulul ceas setai ora curent. n orice moment, execuia programului poate fi oprit cu comanda Programmer > Hold in Reset i reluat de la nceput cu comanda Programmer > Release from Reset. 2.5. Oprii i deconectai complet sistemul de dezvoltare urmrind aceeai pai de la punctul 1.8.

ACTIVITATEA 2.3 TESTAREA PROGRAMULUI DEMONSTRATIV FOLOSIND CONEXIUNEA SERIAL ACTIV A PLCII DEMONSTRATIVE
3.1. Alimentai direct placa demonstrativ PICDEM 2 Plus conectnd alimentatorul la conectorul J2 al plcii, conector marcat cu +9V IN. Imediat dup alimentare, programul care a rmas programat n microtroler ncepe s ruleze. 3.2. Conectai un cablu de date serial ntre PC i conectorul J1 de pe placa demonstrativ conectorul DB9 pentru portul serial activ RS-232 astfel: Dac PC-ul are un conector DB9 pentru portul serial RS-232, folosii cablul serial direct de date livrat odat cu kit-ul de dezvoltare. Dac PC-ul nu are un astfel de conector, folosii un cablu adaptor/convertor USB RS232 ca cel existent n laborator. Este posibil ca, la prima conectare, un astfel de adaptor s necesite instalarea unui driver livrat pe un CD odat cu cablul (n funcie de model i sistemul de operare utilizat pe PC). 3.3. Determinai din Device Manager (Control Panel > System > Hardware > Device Manager) categoria Ports (COM & LPT) care port COM (COMx) este asociat cu portul utilizat pentru conectarea cablului/adaptorului la PC. Cablul adaptor/convertor USB RS-232 existent n laborator este desemnat ca Prolific USB-to-serial Comm Port (COMx). 3.4. Lansai programul Hyper Terminal pe care-l gsii n cazul sistemului de operare Windows XP la Start > All Programs > Accessories > Communications. n cazul sistemului de operare Vista, acest program nu mai este inclus i el va trebui instalat. Ultima versiune Microsoft o gsii n directorul LAB PICDEM 2 Plus\Software\MS HyperTerminal. 16

3.5. Configurai o nou conexiune parcurgnd urmatorii pai (Fig. 2.10): La lansarea Hyper Terminal pornete automat un ghid/vrjitor de configurare a unei noi conexiuni. n fereastra Connection Description introducei la Name un nume sugestiv, de exemplu Com2PicDem i selectai una din icoanele sugerate pentru conexiunea nou creat. Dai click pe OK. n fereastra Connect To selectai la Connectin using portul determinat la punctul 3.3 corespunztor portului la care avei conectat cablul serial de date. Dai click pe OK. n fereastra COMx Properties setai urmtorii parametri pentru comunicarea pe portul respectiv: Bits per second = 9600, Data bits = 8, Parity = None, Stop bits = 1, Flow control = None. Dai click pe OK i conexiunea se stabilete automat (icoana Call este inactiv/gri iar icoana Disconect este activ/colorat). Selectai File > Save pentru a salva conexiunea pentru o utilizare urmtoare. Ea va funciona atta timp ct nu schimbai conectorul DB9 respectiv USB folosit la PC. Pentru a deschide ulterior conexiunea tocmai salvat, folosii shortcut-ul salvat care apare n directorul Start > All Programs > Accessories > Communications >Hyper Terminal sau dup lansarea programului Hyper Terminal selectai cu File < Open shortcut-ul salvat anterior.

Fig. 2.10. Configurarea unei noi conexiuni Hyper Terminal

Fig. 2.11. Fereastra Hyper Terminal la pornirea execuiei programului demonstrativ

17

3.6. Apsai butonul RESET de pe placa demonstrativ PICDEM 2 Plus pentru a reporni programul demonstrativ. Mesajele afiate pe LCD trebuie s apar i n fereastra Hyper Terminal (Fig. 2.11). Urmrii i testai funcionarea programului demonstrativ (a tuturor celor 4 module incluse) urmrind n special mesajele trimise pe portul serial. 3.7. Deconectai cablu serial. Facei acest lucru ntotdeauna nainte de deconectarea celorlalte elemente ale sistemului de dezvoltare i/sau stingerea PC-ului (pentru a proteja interfeele RS-232).

ACTIVITATEA 2.4 RECONSTRUIREA I MODIFICAREA PROGRAMULUI DEMONSTRATIV


4.1. Pregtii sistemul de dezvoltare pentru construirea proiectului (build project) programului demonstrativ executnd urmtorii pai: Pornii sistemul de dezvoltare urmrind paii de la punctul 2.1. Stergei coninutul microcontrolerului urmrind paii de la punctul 2.2. Asigurai-v c microcontrolerul este ters, ncercnd s rulai programul din el selectnd comanda Programmer > Release from Reset. Nu trebuie s vedei nici o activitate deoarece memoria de program fiind tears se execut numai instruciuni NOP (No Operation fr nici un efect). Oprii din execuie microcontrolerul prin comanda Programmer > Hold in Reset. 4.2. Construii proiectul programului demonstrativ parcurgnd urmtorii pai: Creai un director pentru noul proiect, de exemplu My Projects, ntr-o zon de date a hard discului sistemului de calcul, de exemplu n My Documents. Copiai n aceast nou locaie, din directorul LAB PICDEM 2 Plus\CDsel PICDEMO 2 Plus\PICDEM_2_Plus\pic18, urmtoarele fiiere: 18f4520.lkr, p18lcd.asm, p18math.asm i P18demo.ASM. Anulai atributul Read Only al acestor fiiere (selectai-le, click drepata pe ele i apoi selectai Poperties, unde n tab-ul General la Attributes debifai csua Read-only). Din fereastra programului MPLAB IDE lansai vrjitorul de creare a unui nou proiect cu comanda: Project > Project Wizard. Dai un click pe Next pentru a continua. n pasul 1 selectai pentru Device: PIC18F4520. Continuai cu Next. n pasul 2 selectai pentru Active Toolsuite: Microchip MPASM Toolsuite i bifai csua Store tool locations in project. Continuai cu Next. n pasul 3 selectai la Create New Project File locaia aleas i numele proiectului folosind butonul Browse. De exemplu, dac ai urmat sugestiile anterioare, My Documents\My Project\Demo. Continuai cu Next. n pasul 4 adugai la proiect cele patru fiiere copiate anterior n directrul proiectului. Pentru aceasta, n zona din stnga ferestrei nou deschise selectai fiierul dorit din directorul proiectului, apsai butonul Add>> i fiierul ales trebuie s apar n lista din zona din dreapta a ferestrei (Fig. 2.12). Dup ce ai adugat toate cele patru fiiere, continuai cu Next. Terminai crearea noului proiect cu un click pe butonul Finish i comanda Project > Save Project pentru a salva proiectul nou creat. Trecei dispozitivul MPLAB ICD 2 n regim de debuger selectnd comanda Debugger > Select Tool > MPLAB ICD 2. Verificai c n Project > Build Configuration este bifat opiunea Debug pentru a putea executa programul n modul depanare. Construii ntregul proiect cu comanda Project > Build All (Ctrl + F10). Urmrii mesajele afiate n fereastra Output tab-ul Build ca s nu apar erori i ultimul mesaj s fie BUILD SUCCEEDED.

18

Fig. 2.12. Fiierele proiectului 4.3. Programai microcontrolerul i lansai n execuie programul Demo pe care tocmai l-ai construit astfel: Programai dispozitivul target folosind comanda Debugger > Program. Selectai YES n fereastra de avertizare care apare i anun c nu vei putea intra n modul depanare dac este activat temporizatorul la punerea sub tensiune, astfel temporizatorul este dezactivat automat. Dac nu apare nici un mesaj de eroare, nseamn c dispozitivul este programat i putei utiliza comenzile debugger-ului pentru execuia programului. Selectai Debugger > Run (F9) pentru a porni rularea programului. Verificai funcionarea programului. Selectai Debugger > Halt (F5) pentru a opri execuia lui. 4.4. Editai, reasamblai, reprogramai i rulai aplicaia modificat astfel: Deschidei fiierul surs al programul principal printr-un dublu click n fereastra Demo.mcw pe fisierul P18demo.ASM. Identificai poriunile de cod care controleaz mesajele afiate pe LCD. Modificai mesajul introductiv din
Microchip PICDEM 2 PLUS

n
Lab. PICDEM 2+ Ambient Teligent

Identificai poriunile de cod care controleaz durata afirii mesajelor pe LCD. Modificai sursa pentru a dubla durata afirii mesajelor. Salvai fiierul surs cu File > Save. n Project > Build Configuration bifai opiunea Release pentru a putea executa programul cu placa de demonstraie alimentat separat. Reconstruii ntregul proiect cu comanda Project > Build All. Trecei dispozitivul MPLAB ICD 2 n regim de programator selectnd comanda Programmer > Select Programmer > MPLAB ICD 2. Programai codul binar n microcontroler folosind comanda Programmer >Program. 19

Rulai i testai aplicaia modificat folosind comanda Programmer > Release from Reset i oprii-o folosind comanda Programmer > Hold in Reset. Deconectai cablul ICD i alimentatorul de la MPLAB ICD 2. Conectai alimentatorul direct la placa PICDEM 2 Plus. Programul modificat va ncepe automat s ruleze. Observaie: Pentru a executa activitile propuse n continuare, va trebui s reconectai placa la MPLAB ICD 2. Mutnd alimentatorul din plac n MPLAB ICD 2 i reconectnd placa prin cablul ICD, MPLAB IDE nu va putea relua conexiunea cu dispozitivul target, ba mai mult, nu va putea comunica nici mcar cu MPLAB ICD 2 prin portul USB, fapt anunat prin mesaje de eroare. Soluia este deconectarea complet a sistemului de dezvoltare (cablu ICD, alimentator, cablu USB) i deconectarea din MPLAB IDE a dispozitivului MPLAB ICD 2 prin selecia None n meniul de selectare a debugger-ului/programatorului. Dup o reconectare complet, sistemul de dezvoltare va funciona corect din nou.

2.7. Activiti propuse


1. Studiai manualele de utilizare, foile de catalog i documentele informative incluse n urmtoarele directoare: LAB Picdem 2 Plus\User's Guide, LAB Picdem 2 Plus\Datasheets i LAB PICDEM 2 Plus\Documents. Studiai structura paginilor de internet oferite de firma Microchip pentru documentare suplimentar: www.microchip.com/tools i http://forum.microchip.com. Traducei programul demonstrativ n limba romn, prin schimbarea tuturor mesajelor afiate pe LCD i pe Hyper Terminal. Facei propuneri pentru modificarea programului demonstrativ pentru ca el s devin mai ergonomic, mai intuitiv i cu o comportare sistematic n cele patru module ale sale, innd cont att de mesajele de pe LCD, ct i de cele transmise prin portul serial la Hyper Terminal. ncercai s implementai i s testai una din modificrile propuse.

2. 3. 4.

2.8. ntrebri
1. 2. Care sunt modalitile posibile de alimentare a plcii demonstrative PICDEM 2 Plus? Placa PICDEM 2 Plus va funciona corect dac va fi alimentat cu o tensiune alternativ de 7 V la conectorul J2? Justificai rspunsul (Indicaie: vezi schema din Fig. 2.4 sau fiierul LAB PICDEM 2 Plus\Datasheets\PICDEM 2 Plus RoHS). Comparai cele dou modaliti de comunicare a MPLAB ICD 2 cu PC-ul pe care ruleaz MPLAB IDE? Care este rolul diodei CR2 din schema prezentat n Fig. 2.4. Poate fi folosit MPLAB ICD2 ca un programator universal de microcontrolere PIC? Cum? (Indicaie: vezi prezentarea produsului din fiierul LAB Picdem 2 Plus\User's Guide\MPLAB ICD2\ MPLAB ICD 2 In-Circuit Debugger-Programmer).

3. 4. 5.

20

6.

Poate fi folosit MPLAB ICD2 ca un programator n-circuit pentru dispozitivele cu 8, 14 sau 18 pini? Cum? Explicai de ce este sau nu este o metod practic? (Indicaie: vezi prezentarea produsului din fiierul LAB Picdem 2 Plus\User's Guide\MPLAB ICD2\ MPLAB ICD 2 In-Circuit Debugger-Programmer). Explicai de ce dioda electroluminescent D2 st aprins n timpul execuiei programului demonstrativ i se stinge la apsarea butonului RB0. Explicai efectul sonor obinut prin reglarea perioadei, respectiv a factorului de umplere n cazul modului Buzzer din programul demonstrativ. Exist trei modaliti de control al fluxului de date care se pot alege la configurarea portului serial cnd facei o conexiune serial folosind Hyper Terminal? Putei alege i Hardware sau Xon/Xoff? De ce? (Indicaie: urmrii schema aferent interfeei portului RS-232 din Fig. 2.4 precum i poriunea de cod din programul demonstrativ care se ocup cu transmisia serial). Imaginai i desenai organigrama unui modul de program care s realizeze un debounce pentru ntreruptorul S2.

7. 8. 9.

10.

21