|
|
|
| Mikrokontroleri |
Autor: Dragan Andrić |
|
E-mail: andric@mikroelektronika.co.yu |
|
|
PROGAMATOR PIC MIKROKONTROLERA Odlučili ste da u svom projektu umesto gomile logičkih kola upotrebite mikrokontroler i tada se javlja problem. Naime, za razliku od logičkih kola koja su po kupovini odmah spremna da urade nešto, mikrokontroleru morate “reći” šta da uradi tj. morate ga isprogramirati.
Micorchip-ov PIC16C84 ima sve osobine modernog mikrokontrolera: RISC arhitektura, wachdog, tajmeri i brojači, podrška za interapte, paralelni portovi (13 I/O linija), a pored interne RAM memorije postoji i interni EEPROM za podatake, koji se neće izbrisati ukidanjem napajanja i sve to je spakovano u 18 pinsko DIP kućište. Pored ovako impresivne arhitekture PIC16c84 je opremljen inteligentnim interfejsom za upis i čitanje programske EEPROM memorije kapaciteta 1K*14 bita. Zahvaljujući tome moguće je napraviti mali i jeftin programator. Opis programatora Za prenos podataka između mikro kontro-lera i PC računara kao i za upravljnje naponom programiranja izabran je paralelni LPT port. Komunikacija tokom programiranja je sinhrona serijska. To znači da na mikrokontroleru postoje jedan serijski I/O pin (13 pin) i jedan taktni ulaz (12 pin). Za generisanje takta koristimo D1 bit (3 pin), a za podatke D0 bit (2 pin) paralelnog porta. Sa paralelnog porta potreban nam je još jedan (D3, 5 pin ) bit za kontrolu napona programiranja (Vpp) koji treba da bude prisutan na MCLR (4 pin) ulazu mikrokontrolera za vreme programiranja i kreće se u granicama od +12V do +14V.
To je postignuto tranzistorima T1 i T2. Napon programiranja se preko tranzistora T2 dovodi na MCLR ulaz mikrokontrolera. Kada je na D3 logička nula tranzistori T1 i T2 su zakočeni i ne provode pa na MCLR ulazu nema napona potrbnog za programiranje. Promenom stanja na D3 izalzu sa “0” na “1” (+5V) oba tranzistora provedu i napon na MCLR pinu poraste sa 0V na Vpp i istog trenutka može da počine upis podataka u internu programsku memoriju. Indikator prisustva Vpp napona na MCLR pinu izveden je pomoću crvene LED diode. Tranzistor T3 i 3-state bafer 74LS244 koriste se kod ISP (In-system serial programming) metode gde je nakon upisivanja podataka u programsku memoriju potrebno izvršiti resetovanje mikrokontrolera , postaviti MCLR pin na visok nivo +5V i “otkačiti” mikrokontroler sa paralelnog porta. Tranzistor T3 je zakočen u toku programiranja kada T1 i T2 provode i obrnuto . U ISP modu kada se završi programiranje, tranzistorom T3 se izvrši resetovenje mikrokontrolera, i dovo|enje visokog nivoa (+5V) na MCLR pin
Upravljanje tranzistorom i baferom vrši se bitovima D4, D2, D3 (6 pin, 4 pin, 7 pin) paralelnog porta. Za napajanje programatora potreban je ispravljač koji daje jednosmarni napon u granicama od +12V do +14V. Na samom programatoru nalazi se naponski regulator koji daje (Vdd) napon od +5V za napajanje mikrokontrolera i bafera (74LS244) i dioda za zaštitu od pogrešnog uključenja. Indikator napona napajanja (Vdd) je izveden zelenom LED diodom. Softver Softver u ovom slučaju nije problem. To je proizvod firme SISTUDIO, nosi naziv PIP02 i može se preuzeti sa njihovog sajta www.sistudio.com. Pored osnovne datoteke PIP02.exe potreban vam je drajver za paralelni port an589.exe, a može ga preuzeti na istom sajtu. Za pokretanje programa najbolje je napraviti “bat” datoteku sledećeg sadržaja: an589 Drajver za
paralelni port (LPT) Kada pokrenete program potrebno je prvo da izaberete tip mikrokontrolera tako što “kliknete” na Device Select i izaberete 16C84, Sledeći korak je učitavanje HEX datoteke sa File Load , nakon toga treba na Fuse Word izabati oscilator (RC,HS,XT,LP), uključiti POR (Power on reset) i ako je potrebno uključiti wachdog timer i code protection. Kada je sve ovo ura|eno postavite mikokontroler u podnožje, dovedite napon sa ispravljača i pritisnite F5 (Program) i sadržaj HEX datoteke biće smešten u interni EEPROM mikrokontrolera. Pored opcije za programiranje postoje još opcije za brisanje, čitanje, verifikaciju, proveru da li je našto upisano u internu memoriju (Blank chek) i opcija (GO) kojom se mikrokontroler pokreće posle ISP programiranja.
|
|
C o p y r i g h t 1998 mikroElektronika. All Right Reserved. Za sva pitanja obratite se redakciji |