Upload
cathal
View
198
Download
6
Embed Size (px)
DESCRIPTION
ELEKTRONSKI FAKULTET SEMINARSKI RAD IZ MIKROPROCESORA MENTOR: PROF. DR MILE STOJČEV. KOMUNIKACIJA MIKROKONTROLERA PIC16F877- 20 PREKO SPI MODULA. Du šan Đorđević 10797 Žarko Đorđević 10798. SADRŽAJ. O SEMINARSKOM RADU MIKROKONTROLERI I EMBEDDED SISTEMI SPI KOMUNIKACIJA PIC16F877 - PowerPoint PPT Presentation
Citation preview
Komunikacija PIC16F877-20 preko SPI
ELEKTRONSKI FAKULTETSEMINARSKI RAD IZ MIKROPROCESORAMENTOR: PROF. DR MILE STOJČEV
KOMUNIKACIJA MIKROKONTROLERA PIC16F877-20 PREKO SPI MODULA
Dušan Đorđević 10797
Žarko Đorđević 10798
Komunikacija PIC16F877-20 preko SPI
SADRŽAJSADRŽAJ
O SEMINARSKOM RADUO SEMINARSKOM RADU MIKROKONTROLERI I EMBEDDED SISTEMIMIKROKONTROLERI I EMBEDDED SISTEMI SPI KOMUNIKACIJASPI KOMUNIKACIJA PIC16F877PIC16F877 SOFTVER ZA PIC MIKROKONTROLERESOFTVER ZA PIC MIKROKONTROLERE KOMUNIKACIJA MIKROKONTROLERA PREKO SPI KOMUNIKACIJA MIKROKONTROLERA PREKO SPI
MODULA:MODULA: PRAKTIČNA REALIZACIJAPRAKTIČNA REALIZACIJA LLABORATORIJSKA VEŽBAABORATORIJSKA VEŽBA ZAKLJUČAKZAKLJUČAK KORIŠĆENA LITERATURAKORIŠĆENA LITERATURA PRILOGPRILOG O AUTORIMA SEMINARSKOG RADAO AUTORIMA SEMINARSKOG RADA
Komunikacija PIC16F877-20 preko SPI
O SEMINARSKOM RADUO SEMINARSKOM RADU
Autori su realizovali ovaj projekat u nameri da studentima približe Autori su realizovali ovaj projekat u nameri da studentima približe jedan od način kako mogu da komuniciraju dva mikrokontrolera jedan od način kako mogu da komuniciraju dva mikrokontrolera PIC16F877-PIC16F877-2020. Ovde je za komunikaciju iskorišćen serijski komu-. Ovde je za komunikaciju iskorišćen serijski komu-nikacioni modul SPI koji je integrisan u mikrokontrolerima.nikacioni modul SPI koji je integrisan u mikrokontrolerima.
Mikrokontroleri su programirani preko AllPIC programatora o kojem Mikrokontroleri su programirani preko AllPIC programatora o kojem je priložen kompletan članak na kraju rada, a za pisanje programa je priložen kompletan članak na kraju rada, a za pisanje programa korišćen je softver mikroC, koji je razvila i ponudila tržištu korišćen je softver mikroC, koji je razvila i ponudila tržištu beogradska Mikroelektronika.beogradska Mikroelektronika.
Električna šema i dizajn štampane pločice (PCB) su kreirani u Električna šema i dizajn štampane pločice (PCB) su kreirani u Protel-u. Protel-u.
Realizovanje štampane pločice na vitroplastu je urađeno u niškoj Realizovanje štampane pločice na vitroplastu je urađeno u niškoj firmi «Denitron» i ovom prilikom se zahvaljujemo gospodinu firmi «Denitron» i ovom prilikom se zahvaljujemo gospodinu Draganu Deniću na ekspeditivnosti i kvalitetu izrade.Draganu Deniću na ekspeditivnosti i kvalitetu izrade.
Posebnu zahvalnost dugujemo profesoru Miletu Stojčevu što nam Posebnu zahvalnost dugujemo profesoru Miletu Stojčevu što nam je pružio priliku da realizujemo ovaj projekat. je pružio priliku da realizujemo ovaj projekat.
Komunikacija PIC16F877-20 preko SPI
MIKROKONTROLERMIKROKONTROLER II MIKROPROCESORMIKROPROCESOR
RRazlike između mikrokontrolera i mikroprocesora:azlike između mikrokontrolera i mikroprocesora:
Mikroprocesori su najcešće CISC tipa, tako da za kopiranje Mikroprocesori su najcešće CISC tipa, tako da za kopiranje podataka iz spoljašnje memorije koriste veći broj opkôdova, dok podataka iz spoljašnje memorije koriste veći broj opkôdova, dok mikrokontroleri jedan ili dva,mikrokontroleri jedan ili dva,
Za manipulisanje sa podacima tipa bit, mikroprocesori koriste jedan Za manipulisanje sa podacima tipa bit, mikroprocesori koriste jedan ili dva tipa instrukcija, dok je kod mikrokontrolera taj broj veći,ili dva tipa instrukcija, dok je kod mikrokontrolera taj broj veći,
Mikroprocesori su projektovani za brzi prenos podataka iz Mikroprocesori su projektovani za brzi prenos podataka iz programa sa spoljno adresiranih lokacija u čip, dok se kod programa sa spoljno adresiranih lokacija u čip, dok se kod mikrokontrolera brzi prenos bitova obavlja u okviru čipa,mikrokontrolera brzi prenos bitova obavlja u okviru čipa,
Mikrokontroler može da funkcioniše kao računar bez dodataka Mikrokontroler može da funkcioniše kao računar bez dodataka spoljnih gradivnih blokova (memorije i U/I uređaja), dok spoljnih gradivnih blokova (memorije i U/I uređaja), dok operativnost mikroprocesora bez spoljne memorije i U/I podsistema operativnost mikroprocesora bez spoljne memorije i U/I podsistema nije moguća.nije moguća.
Komunikacija PIC16F877-20 preko SPI
BLOK BLOK ŠEMA MIKROKONTROLERAŠEMA MIKROKONTROLERA
ALU tajmer/brojač paralelni U/I port
akumulator
registri opšte namene
interni RAM
interni ROM
interni FLASH
SP
PC
serijski U/I port
ADC
DAC
kolo za prekid
kolo za taktovanje
Komunikacija PIC16F877-20 preko SPI
PRIMENA MIKROKONTROLERAPRIMENA MIKROKONTROLERA
Mikrokontroleri se danas koriste u Mikrokontroleri se danas koriste u embeddedembedded sistemima za upravljanje sistemima za upravljanje raznim funkcijama. Naime, oni se veoma često koriste i u situacijama raznim funkcijama. Naime, oni se veoma često koriste i u situacijama kada treba da se veoma brzo reaguje na spoljne signale – posebno kada treba da se veoma brzo reaguje na spoljne signale – posebno ako se takvi sistemi koriste za rad u realnom vremenu. ako se takvi sistemi koriste za rad u realnom vremenu.
Mikrokontroleri su sastavni delovi mnogih vrsta elektronske opreme Mikrokontroleri su sastavni delovi mnogih vrsta elektronske opreme (pogledati (pogledati embeddedembedded sistemI). Oni čine većinu svih prodatih mikro- sistemI). Oni čine većinu svih prodatih mikro-procesorskih čipova. Preko 50% su "jednostavni" mikrokontroleri, a procesorskih čipova. Preko 50% su "jednostavni" mikrokontroleri, a drugih 50% su specijaliozovani digitalni procesori signala (DSP). drugih 50% su specijaliozovani digitalni procesori signala (DSP). Mikrokontroler je prisutan u skoro svakom električnom uređaju, veš Mikrokontroler je prisutan u skoro svakom električnom uređaju, veš mašini, mikrotalasnoj pećnici, telefonu itd.mašini, mikrotalasnoj pećnici, telefonu itd.
Komunikacija PIC16F877-20 preko SPI
PROIZVOĐAČI MIKROKONTROLERAPROIZVOĐAČI MIKROKONTROLERA
AMCC AMCC Atmel Atmel Cypress Microsystem Cypress Microsystem Freescale Semiconductor Freescale Semiconductor Fujitsu Fujitsu Holtek Holtek Intel Intel Microchip Microchip National Semiconductor National Semiconductor NEC NEC Philips Semiconductor Philips Semiconductor Renesas Tech. Corp. Renesas Tech. Corp. ST MicroelectronicsST Microelectronics
Komunikacija PIC16F877-20 preko SPI
PROIZVOĐAČI MIKROKONTROLERAPROIZVOĐAČI MIKROKONTROLERA
ST MicroelectronicsST Microelectronics Texas Instruments Texas Instruments Toshiba Toshiba Western Design Center Western Design Center UbicomUbicom Xilinx Xilinx ZiLog ZiLog BASIC programibilni MCU-ovi.BASIC programibilni MCU-ovi.
Komunikacija PIC16F877-20 preko SPI
EMBEDDED SISTEMIEMBEDDED SISTEMI
EmbeddedEmbedded sistem predstavlja računarski sistem specijalne namene, koji sistem predstavlja računarski sistem specijalne namene, koji je potpuno zatvoren od strane kontrola uređaja. Za razliku od ličnih ra-je potpuno zatvoren od strane kontrola uređaja. Za razliku od ličnih ra-čunara opšte namene, čunara opšte namene, embeddedembedded sistem ispunjava specifične zahteve i sistem ispunjava specifične zahteve i izvršava prethodno definisane zadatke. Programibilni hardverski čip je izvršava prethodno definisane zadatke. Programibilni hardverski čip je "sirov materijal" i on je programiran određenom aplikacijom. Ovo treba "sirov materijal" i on je programiran određenom aplikacijom. Ovo treba shvatiti samo kao poređenje sa starijim sistemima sa potpuno funkcio-shvatiti samo kao poređenje sa starijim sistemima sa potpuno funkcio-nalnim hardverom, ili opšte namenskim hardverom, koji imaju učitan nalnim hardverom, ili opšte namenskim hardverom, koji imaju učitan softver eksterno. softver eksterno.
Embedded Embedded sistemi su kombinacija hardvera i softvera koji omogućavaju sistemi su kombinacija hardvera i softvera koji omogućavaju laku serijsku proizvodnju i raznovrsnost aplikacija. U proteklih nekoliko laku serijsku proizvodnju i raznovrsnost aplikacija. U proteklih nekoliko godina interesovanje za ovu vrstu sistema je naglo poraslo, i danas godina interesovanje za ovu vrstu sistema je naglo poraslo, i danas predstavlja nezaobilaznu temu u računarskom svetu.predstavlja nezaobilaznu temu u računarskom svetu.
Komunikacija PIC16F877-20 preko SPI
PRIMERI EMBEDDED SISTEMAPRIMERI EMBEDDED SISTEMA
automatske mašine za brojanje novca automatske mašine za brojanje novca avijaciona elektronika, kao što je inercioni navigacioni sistemi, kontrola avijaciona elektronika, kao što je inercioni navigacioni sistemi, kontrola
avionskog hardvera/softvera i drugih integrisanih sistema u avionima i avionskog hardvera/softvera i drugih integrisanih sistema u avionima i projektilima projektilima
mobilni telefoni i telefonski tasteri mobilni telefoni i telefonski tasteri kompjuterska mrežna oprema, uključujući rutere, servere vremena i kompjuterska mrežna oprema, uključujući rutere, servere vremena i
firewallfirewall-ovi -ovi kompjuterski štampači kompjuterski štampači kopir mašine kopir mašine pogon diska (flopi i hard disk pogon) pogon diska (flopi i hard disk pogon) kontroleri motora i kontroleri antiblokade kočnica za automobile kontroleri motora i kontroleri antiblokade kočnica za automobile proizvodi za kućnu automatizaciju, poput termostata, klima, prskalica i proizvodi za kućnu automatizaciju, poput termostata, klima, prskalica i
sistemi obezbeđenja sistemi obezbeđenja ručni kalkulatori ručni kalkulatori
Komunikacija PIC16F877-20 preko SPI
PRIMERI EMBEDDED SISTEMAPRIMERI EMBEDDED SISTEMA
kućni aparati, uključujući mikrotalasne rerne, mašine za pranje veša, kućni aparati, uključujući mikrotalasne rerne, mašine za pranje veša, televizija, DVD plejeri/snimači televizija, DVD plejeri/snimači
medicinska oprema medicinska oprema merna oprema kao što su digitalni osciloskopi, logički analajzeri i merna oprema kao što su digitalni osciloskopi, logički analajzeri i
spektralni analajzeri spektralni analajzeri multifunkcijski ručni satovi multifunkcijski ručni satovi multifunkcijskii štampači (MFP) multifunkcijskii štampači (MFP) lični digitalni asistent (lični digitalni asistent (personal digital assistantpersonal digital assistant - PDA), to jest, mali - PDA), to jest, mali
ručni kompjuteri sa PIM-ovima i drugim aplikacijama ručni kompjuteri sa PIM-ovima i drugim aplikacijama mobilni telefoni sa dodatnim sposobnostima, na primer, mobilni mobilni telefoni sa dodatnim sposobnostima, na primer, mobilni
digitalni pomoćnik sa telefonom i PDA i Java (MIDP) digitalni pomoćnik sa telefonom i PDA i Java (MIDP) programibilni logički kontroleri (PLC-ovi) za industrijsku automatizaciju programibilni logički kontroleri (PLC-ovi) za industrijsku automatizaciju
i nadgledanje i nadgledanje stacionarna video igračka konzola i ručne igračke konzole stacionarna video igračka konzola i ručne igračke konzole prenosivi kompjuter.prenosivi kompjuter.
Komunikacija PIC16F877-20 preko SPI
SPI KOMUNIKACIJASPI KOMUNIKACIJA
SPI (SPI (Serial Peripheral InterfaceSerial Peripheral Interface) standard za sinhronu serijsku komu-) standard za sinhronu serijsku komu-nikaciju razvijen je od strane Motorolinih inženjera, za potrebu brzog i nikaciju razvijen je od strane Motorolinih inženjera, za potrebu brzog i pouzdanog serijskog prenosa podataka na manjim rastojanjima (do pouzdanog serijskog prenosa podataka na manjim rastojanjima (do 3m). Prvobitno, ovaj standard je bio predviđen za komunikaciju sa 3m). Prvobitno, ovaj standard je bio predviđen za komunikaciju sa perifernim uređajima, ali je vremenom razvijena i mogućnost perifernim uređajima, ali je vremenom razvijena i mogućnost komunikacije između više mikrokontrolera ili mikroprocesora .komunikacije između više mikrokontrolera ili mikroprocesora .
Postoji široka paleta perifernih uređaja baziranih na SPI – od običnih Postoji široka paleta perifernih uređaja baziranih na SPI – od običnih TTL pomeračkih (TTL pomeračkih (shiftshift) registara, do SPI memorija, displeja, A/D ) registara, do SPI memorija, displeja, A/D konvertora itd.konvertora itd.
Motorola je svoj serijski asinhroni/sinhroni interfejs nazvala “Serijski komunikacioni interfejs” (Serial Communications Interface, ili SCI). Odgovarajući Intel-ov serijski interfejs nosi naziv “Programibilni komu-nikacioni interfejs” (Programmable Communication Interface, ili PCI) itd.
Komunikacija PIC16F877-20 preko SPI
SPI I SCI KOMUNIKACIJASPI I SCI KOMUNIKACIJA - POREĐENJE- POREĐENJE
Tabela pokazuje kako je SPI komunikacija oko 10 puta brža od SCI komunikacije (Standard Communication Interface) kada mikrokontroler radi kao master, i oko 20 puta brža kada mikrokontroler radi kao slave. Takođe se vidi da kada mikrokontroler radi kao slave, moguća je brzina prenosa podataka jednaka internom taktu mikrokontrolera.
Komunikacija PIC16F877-20 preko SPI
SPI PROTOKOLSPI PROTOKOL
Komunikacija PIC16F877-20 preko SPI
SPI PROTOKOLSPI PROTOKOL
Pri SPI prenosu, podaci se šalju preko pomeračkog registra sa serijskim Pri SPI prenosu, podaci se šalju preko pomeračkog registra sa serijskim izlazom, a primaju preko pomeračkog registra sa serijskim ulazom. U izlazom, a primaju preko pomeračkog registra sa serijskim ulazom. U bilo kom trenutku može da postoji jedan bilo kom trenutku može da postoji jedan mastermaster, kako bi se osigurala , kako bi se osigurala ispravna komunikacija. ispravna komunikacija.
Kao što je prikazano na Slici potrebne su 4 linije, odnosno za SPI komu-Kao što je prikazano na Slici potrebne su 4 linije, odnosno za SPI komu-nikaciju koriste se 4 pina:nikaciju koriste se 4 pina:
MOSIMOSI ((Master Output Slave InputMaster Output Slave Input). Kada mikrokontroler radi kao master, ). Kada mikrokontroler radi kao master, onda je ovo li-nija za slanje podataka, a kada radi kao onda je ovo li-nija za slanje podataka, a kada radi kao slaveslave – ovo je – ovo je linija za primanje podataka.linija za primanje podataka.
MISOMISO ( (Master Input Slave OutputMaster Input Slave Output). Kada mikrokontroler radi kao ). Kada mikrokontroler radi kao mastermaster, , onda je ovo linija za primanje podataka, a kada radi kao onda je ovo linija za primanje podataka, a kada radi kao slave slave – ovo je – ovo je linija za slanje podataka. U slučaju da je komunikacija isključivo jed-linija za slanje podataka. U slučaju da je komunikacija isključivo jed-nosmerna, svakako da se može ostvariti sa tri linije (bez MOSI ili MISO, nosmerna, svakako da se može ostvariti sa tri linije (bez MOSI ili MISO, zavisno od slučaja).zavisno od slučaja).
Komunikacija PIC16F877-20 preko SPI
SPI PROTOKOLSPI PROTOKOL
SCKSCK (SPI Clock). Ovo je linija za takt pod kojim se izvodi komunikacija. (SPI Clock). Ovo je linija za takt pod kojim se izvodi komunikacija. Takt daje master, a pomerački registar Takt daje master, a pomerački registar slaveslave-a prima podatke, odnosno -a prima podatke, odnosno očitava ulaz na promenu ovog takta.očitava ulaz na promenu ovog takta.
SSSS (Slave Select). Ovaj pin mikrokontrolera se veže na liniju za selek- (Slave Select). Ovaj pin mikrokontrolera se veže na liniju za selek-tovanje tovanje slaveslave-a. Kada mikrokontroler radi kao slave, i kada je ovaj (u -a. Kada mikrokontroler radi kao slave, i kada je ovaj (u slučaju ulazni) pin na visokom nivou, onda se takt sa SCK linije i podaci slučaju ulazni) pin na visokom nivou, onda se takt sa SCK linije i podaci sa MOSI linije se ignorišu. Tek kada se dovede SS na nizak nivo, SPI sa MOSI linije se ignorišu. Tek kada se dovede SS na nizak nivo, SPI sistem sistem slaveslave-a prati promene na pinovima koji su vezani za ovaj tip ko--a prati promene na pinovima koji su vezani za ovaj tip ko-munikacije i može da primi i pošalje informaciju. Kada mikrokontroler munikacije i može da primi i pošalje informaciju. Kada mikrokontroler radi kao radi kao mastermaster, SS pin ima dve opcije. Može da se konfiguriše kao , SS pin ima dve opcije. Može da se konfiguriše kao ulazni pin i da setuje određeni fleg (ulazni pin i da setuje određeni fleg (flagflag), tj. da inicira prekid u slučaju ), tj. da inicira prekid u slučaju da mu bude doveden nizak nivo. To je dobra opcija za međuprocesor-da mu bude doveden nizak nivo. To je dobra opcija za međuprocesor-sku komunikaciju. Na ovaj način može uspešno da se eliminiše moguć-sku komunikaciju. Na ovaj način može uspešno da se eliminiše moguć-nost da više mikrokontrolera u datom trenutku pokušaju da budu nost da više mikrokontrolera u datom trenutku pokušaju da budu masteri. Ovo se rešava softverski. masteri. Ovo se rešava softverski.
Komunikacija PIC16F877-20 preko SPI
SPI POLARITET I FAZA TAKTASPI POLARITET I FAZA TAKTA
Komunikacija PIC16F877-20 preko SPI
SPI POLARITET I FAZA TAKTASPI POLARITET I FAZA TAKTA
Na Slici je prikazan vremenski dijagram takta (SCK) koji generiše up-Na Slici je prikazan vremenski dijagram takta (SCK) koji generiše up-ravljačka SPI logika, uključujući polaritet i fazu takta. Neposredno ispod ravljačka SPI logika, uključujući polaritet i fazu takta. Neposredno ispod dijagrama data su objašnjenja za sve moguće varijante, odnosno za sva dijagrama data su objašnjenja za sve moguće varijante, odnosno za sva četiri modačetiri moda::
Pri CPOL=0 (bazična vrednost takta je 0) važi sledeća logika:Pri CPOL=0 (bazična vrednost takta je 0) važi sledeća logika:
CPHA=0 (podatak se čita na rastuću, a menja na opadajuću ivicu takta),CPHA=0 (podatak se čita na rastuću, a menja na opadajuću ivicu takta),
CPHA=1 (podatak se čita na opadajuću, a menja na rastuću ivicu takta).CPHA=1 (podatak se čita na opadajuću, a menja na rastuću ivicu takta). Kada je CPOL=1 (bazična vrednost takta je 1) važi logika:Kada je CPOL=1 (bazična vrednost takta je 1) važi logika:
CPHA=0 (podatak se čita na opadajuću, a menja na rastuću ivicu takta),CPHA=0 (podatak se čita na opadajuću, a menja na rastuću ivicu takta),
CPHA=1 (podatak se čita na rastuću, a menja na opadajuću ivicu takta).CPHA=1 (podatak se čita na rastuću, a menja na opadajuću ivicu takta).
Komunikacija PIC16F877-20 preko SPI
SPI EEPROM 25XX640SPI EEPROM 25XX640
Komunikacija PIC16F877-20 preko SPI
SPI EEPROM 25XX640SPI EEPROM 25XX640
Pored četiri standardna pina bitna za SPI interfejs (CS, SCK, SI, SO), napajanja Vcc i mase (Vss), 25xx640 poseduje i sledeća dva pina:
HOLD (pin preko koga se ova memorija, po potrebi, može privremeno «isključiti» iz SPI interfejsa), WP (Write Protect pin, preko koga se memorija štiti od neželjenog upisa)
Komunikacija PIC16F877-20 preko SPI
SPI ADC LTC1286SPI ADC LTC1286
Komunikacija PIC16F877-20 preko SPI
SPI ADC LTC1286 - SEKVENCASPI ADC LTC1286 - SEKVENCA
Korišćeni analogno-digitalni konvertor ne zahteva konfiguracionu reč odstrane mikrokontrolera i nema ulaz za prijem podataka Din koji služi i zakaskadno vezivanje više konvertora. Pošto ovaj konvertor ima dva ulazaD+ i D- on je inicijalno konfigurisan kao diferencijalni ulaz ili jedan običanulaz ako je drugi vezan na masu. Opadajuća ivica CS signala koji služi zaprozivanje konvertora, inicira prenos podatak između konvertora i mikro-kontrolera, kao što je prikazano na Slici.
Komunikacija PIC16F877-20 preko SPI
PIC16F877 - FOTOGRAFIJAPIC16F877 - FOTOGRAFIJA
Komunikacija PIC16F877-20 preko SPI
PIC16F877 - RASPORED PINOVAPIC16F877 - RASPORED PINOVA
Komunikacija PIC16F877-20 preko SPI
PIC16F877 - ARHITEKTURAPIC16F877 - ARHITEKTURA
Komunikacija PIC16F877-20 preko SPI
PIC16F877 - ARHITEKTURAPIC16F877 - ARHITEKTURA
FlashFlash programska memorija – 8 kiloreči obima 14 bita programska memorija – 8 kiloreči obima 14 bita RAM (RAM (File RegistersFile Registers) – 368 bajtova) – 368 bajtova Aritmetičko-logička jedinica (ALU)Aritmetičko-logička jedinica (ALU) Akumulator (Akumulator (Working RegisterWorking Register)) Hardverski magacin (Hardverski magacin (StackStack) organizivan u 8 nivoa) organizivan u 8 nivoa EEPROM memorija podataka obima 256 bajtovaEEPROM memorija podataka obima 256 bajtova Višekanalni A/D konvertor, USART (univerzalni sinhroniVišekanalni A/D konvertor, USART (univerzalni sinhroni i asinhroni primopredajnik), tajmere, portove itd.i asinhroni primopredajnik), tajmere, portove itd.
Komunikacija PIC16F877-20 preko SPI
PIC16F877 - OPŠTE KARAKTERISTIKEPIC16F877 - OPŠTE KARAKTERISTIKE
RISC mikroprocesor veoma visokih performansiRISC mikroprocesor veoma visokih performansi 35 instrukcija obima jedne reči35 instrukcija obima jedne reči Radna frekvencija od Radna frekvencija od 2020 MHz MHz Trajanje taktnog intervala Trajanje taktnog intervala 0.2 0.2 µs, pri frekvenciji µs, pri frekvenciji 2020 MHz MHz 13-bitni opkôd13-bitni opkôd Harverski magacin (Harverski magacin (stackstack) sa osam nivoa) sa osam nivoa Tri načina adresiranja (direktno,indirektno i relativno)Tri načina adresiranja (direktno,indirektno i relativno) Programska Programska flashflash memorija kapaciteta 8k X 13-bitnih reči memorija kapaciteta 8k X 13-bitnih reči Memorija za podatke tipa RAM kapaciteta 368 X 8 bitaMemorija za podatke tipa RAM kapaciteta 368 X 8 bita Memorija za podatke EEPROM tipa kapaciteta 256 X 8 bitaMemorija za podatke EEPROM tipa kapaciteta 256 X 8 bita Prekidi (do 14 izvora prekida)Prekidi (do 14 izvora prekida) U/I portovi: A, B, C, D, EU/I portovi: A, B, C, D, E Tri tajmera: Tri tajmera:
Timer0 (TMR0): 8-bitni tajmer/brojač_događajaTimer0 (TMR0): 8-bitni tajmer/brojač_događaja Timer1 (TMR1): 16-bitni tajmer/brojač_događajaTimer1 (TMR1): 16-bitni tajmer/brojač_događaja Timer2 (TMR2): 8-bitni tajmer/brojač_događajaTimer2 (TMR2): 8-bitni tajmer/brojač_događaja
Komunikacija PIC16F877-20 preko SPI
PIC16F877 - OPŠTE KARAKTERISTIKEPIC16F877 - OPŠTE KARAKTERISTIKE
10-bitni 8-kanalni analogno-digitalni (A/D) konvertor10-bitni 8-kanalni analogno-digitalni (A/D) konvertor Serijska komunikacija: MSSP, USARTSerijska komunikacija: MSSP, USART Paralelna komunikacija: PSPParalelna komunikacija: PSP PPower-on Reset ower-on Reset - reset pri uključenju napajanja (POR)- reset pri uključenju napajanja (POR) Power-up timerPower-up timer - unošenje kašnjenja nakon uključenja - unošenje kašnjenja nakon uključenja napajanja (PWRT)napajanja (PWRT) Oscillator Start-up TimerOscillator Start-up Timer - unošenje kašnjenja nakon - unošenje kašnjenja nakon stabilizovanja radne frekvencije oscilatora (OST)stabilizovanja radne frekvencije oscilatora (OST) Sleep modeSleep mode - režim rada sa malim utroškom energije - režim rada sa malim utroškom energije WatchdogWatchdog tajmer sa sopstvenim integrisanim RC oscilatorom za tajmer sa sopstvenim integrisanim RC oscilatorom za nezavisni radnezavisni rad Izbor tipa oscilatoraIzbor tipa oscilatora Radni napon je u opsegu od 2V do 5,5VRadni napon je u opsegu od 2V do 5,5V
Komunikacija PIC16F877-20 preko SPI
PIC16F877 - OSCILATORPIC16F877 - OSCILATOR
Kod mikrokontrolera PIC16F877 postoje četiri konfiguracije oscilatora:Kod mikrokontrolera PIC16F877 postoje četiri konfiguracije oscilatora:
RCRC Resistor/CapacitorResistor/Capacitor XTXT Crystal / ResonatorCrystal / Resonator LPLP Low Power CrystalLow Power Crystal HSHS High Speed Crystal / Resonator.High Speed Crystal / Resonator.
Komunikacija PIC16F877-20 preko SPI
PIC16F877 - PORTOVIPIC16F877 - PORTOVI
PIC16F877 poseduje pet portova i oni predstavljaju vezu njegove PIC16F877 poseduje pet portova i oni predstavljaju vezu njegove interne strukture sa spoljašnjim svetom. interne strukture sa spoljašnjim svetom. Svaki od njih može da se konfiguriše kao ulazni ili kao izlazni. Svaki od njih može da se konfiguriše kao ulazni ili kao izlazni. Pomenuti portovi su različitog obima:Pomenuti portovi su različitog obima:
8-pinski (PORTB, PORTC, PORTD),8-pinski (PORTB, PORTC, PORTD), 6-pinski (PORTA),6-pinski (PORTA), 3-pinski (PORTE).3-pinski (PORTE).
Komunikacija PIC16F877-20 preko SPI
PIC16F877 - PORTOVIPIC16F877 - PORTOVI
Svakom pinu bilo kojeg porta, u zavisnosti od režima rada, mogu Svakom pinu bilo kojeg porta, u zavisnosti od režima rada, mogu da se dodele fiksne ili promenljive funkcije. Konfiguracija smera da se dodele fiksne ili promenljive funkcije. Konfiguracija smera prenosa ostvaruje se upisom na odgovarajuću bit-poziciju u prenosa ostvaruje se upisom na odgovarajuću bit-poziciju u pripadajućem TRIS registru (0 - pin je izlazni, 1 - pin je ulazni). pripadajućem TRIS registru (0 - pin je izlazni, 1 - pin je ulazni). Svakom portu je dodeljen registar podataka (PORTX), preko kojeg Svakom portu je dodeljen registar podataka (PORTX), preko kojeg se programski pristupa U/I pinovima. Upis u neki od tih registara inici- se programski pristupa U/I pinovima. Upis u neki od tih registara inici-raće upis u raće upis u latchlatch tog porta, a njegovo čitanje rezultiraće čitanjem logič- tog porta, a njegovo čitanje rezultiraće čitanjem logič-kih stanja direktno sa pinova. Sve instrukcije upisivanja su tipa kih stanja direktno sa pinova. Sve instrukcije upisivanja su tipa read-read-modify-writemodify-write. To znači da se pri upisu u port najpre očitaju stanja . To znači da se pri upisu u port najpre očitaju stanja pinova, zatim izvrši modifikacija, a potom korigovana vrednost upiše pinova, zatim izvrši modifikacija, a potom korigovana vrednost upiše u u latchlatch porta. porta. Ne postoji velika razlika u konstrukciji pomenutih pet portova. Ne postoji velika razlika u konstrukciji pomenutih pet portova. Jedino se Port B od ostalih razlikuje zbog posebne opcije koju nude Jedino se Port B od ostalih razlikuje zbog posebne opcije koju nude četiri MSB. Ukoliko se setuje bit RBIE u registru INTCON, svaka pro-četiri MSB. Ukoliko se setuje bit RBIE u registru INTCON, svaka pro-mena stanja na ovim pinovima, generisaće prekid mikrokontrolera.mena stanja na ovim pinovima, generisaće prekid mikrokontrolera.
Komunikacija PIC16F877-20 preko SPI
PIC16F877 - MEMORIJAPIC16F877 - MEMORIJA
Memoriju mikrokontrolera čine tri odvojene celine:Memoriju mikrokontrolera čine tri odvojene celine:
Programska memorijaProgramska memorija Memorija podatakaMemorija podataka EEPROM memorija podataka.EEPROM memorija podataka.
Inače, u mikrokontroleru postoji i Inače, u mikrokontroleru postoji i stack stack (magacin), koji radi na principu (magacin), koji radi na principu cikličnog bafera, što znači da se u njega mogu staviti osam različitih cikličnog bafera, što znači da se u njega mogu staviti osam različitih adresa, dok se sa upisom devete adrese – briše prva i tako redom. adresa, dok se sa upisom devete adrese – briše prva i tako redom. Programski se ne može utvrditi da li je došlo do prepunjenja Programski se ne može utvrditi da li je došlo do prepunjenja stackstack-a.-a.
Komunikacija PIC16F877-20 preko SPI
PIC16F877 - REGISTRIPIC16F877 - REGISTRI
Komunikacija PIC16F877-20 preko SPI
MIKROCMIKROC
Komunikacija PIC16F877-20 preko SPI
MIKROCMIKROC
Navešćemo njegove osnovne karakteristike:
Pisanje C kôda korišćenjem kvalitetnog i preglednog editora, što se ogleda u automatskoj kontroli i upozorenjima vezanim za sintaksu kôda, korišćenih parametara, kao i automatskoj korekciji pojedinih grešaka Preglednost strukture programa (kôda), promenljivih i funkcija omogućava Code explorer Jasan asemblerski kôd i standardna kompatibilnost generisanih HEX datoteka toka programa preko ugrađeg debagera (debugger) Programer ima na raspolaganju veliki broj integrisanih biblioteka i rutina, koje značajno ubrzavaju pisanje programa Detaljan izveštaj i grafičko predstavljanje RAM i ROM mape, sta- tistike kôda
Komunikacija PIC16F877-20 preko SPI
REALIZACIJA SPI KOMUNIKACIJEREALIZACIJA SPI KOMUNIKACIJE
PIC16F877 PIC16F877
MAX232
Tasteri 2
Zelene LED
PC
Crvene LED
Tasteri 1
Napajanje 5V
Slave Master
SPI SPIADC ADC
B7-B4
B3-B0
TX RX
B3-B0
B7-B4
C5C4C3
C4C5C3
Potenciometar
Potenciometar 2
Potenciometar 1
A0
A0
SDO
SDI SCK
C7 C6
Komunikacija PIC16F877-20 preko SPI
REALIZACIJA SPI KOMUNIKACIJEREALIZACIJA SPI KOMUNIKACIJE
MCLR1
PA02
PA13
PA24
PA35
PA46
PA57
RD8
WR9
PC217
PD221
PD322
PC423
PC524
PC625
PC726
PD427
PD528
PD629
PD730
CS10
VDD11
VSS12
OSC113
OSC214
PC015
PC116
PC318
PD019
PD120
VSS31
VDD32
PB033
PB134
PB235
PB336
PB437
PB538
PB639
PB740
U2
PIC16F877-04
C527pF
C627pF
Y1 4MHz
Gnd Gnd
Gnd
Gnd
X1.1 X1.2
X1.1X1.2
TXRX
Vin1
Gnd
2
Vout3
U1LM7805
C1
100uF
C2
1000uF
C3
100nF
GndGnd Gnd Gnd
12
J1
CON2
Gnd
R115K
SW0
Gnd
RES
RES
C1+1
Vcc16
V+2
Gnd15
C1-3
T1out14
C2+4
R1in13
C2-5
R1out12
V-6
T1in11
T2out7
T2in10
R2in8
R2out9
U4
MAX232
VDD
VDD
VDD
Gnd
VDD
Gnd
RX
C4
100nF
Gnd
Gnd
162738495
J2
DB9
Gnd
C13 100nF
C9100nF
C11100nF
C10100nF
C12100nF
TX
8-14V
P1B0P1B1P1B2P1B3P1B4P1B5P1B6P1B7
PC4PC5
PC3
MCLR1
PA02
PA13
PA24
PA35
PA46
PA57
RD8
WR9
PC217
PD221
PD322
PC423
PC524
PC625
PC726
PD427
PD528
PD629
PD730
CS10
VDD11
VSS12
OSC113
OSC214
PC015
PC116
PC318
PD019
PD120
VSS31
VDD32
PB033
PB134
PB235
PB336
PB437
PB538
PB639
PB740
U3
PIC16F877-04
C727pF
C827pF
Y2 4MHz
Gnd Gnd
Gnd
Gnd
X2.1 X2.2
X2.1X2.2
MCLR
VDDP2B0P2B1P2B2P2B3P2B4P2B5P2B6P2B7
PC4PC5
VDD
P1B0P1B1P1B2P1B3
P1B4
P1B5
P1B6
P1B7
P1A0 P2A0
P1A0 P2A0
P1
10K
P2
10K
Gnd Gnd
PC3
12345678
9RN1
2K2
LED4
LED1
LED2
LED3
VDD
SW4
SW3
Gnd
SW2
SW1
P2B0P2B1P2B2P2B3
P2B4
P2B5
P2B6
P2B7
12345678
9RN2
2K2
LED8
LED5
LED6
LED7
VDD
SW8
SW7
Gnd
SW6
SW5
D1
BAT42
Komunikacija PIC16F877-20 preko SPI
REALIZACIJA SPI KOMUNIKACIJEREALIZACIJA SPI KOMUNIKACIJE
Kao što je prikazano na Slici, uloga Kao što je prikazano na Slici, uloga mastermaster-a (ujedno je povezan sa se--a (ujedno je povezan sa se- rijskim portom PC računara) je dodeljena mikrokontroleru U2, dok jerijskim portom PC računara) je dodeljena mikrokontroleru U2, dok je uloga uloga slaveslave-a dodeljena mikrokontroleru U3. Na Portove B oba mikro--a dodeljena mikrokontroleru U3. Na Portove B oba mikro- kontrolera povezani su po četiri tastera i četiri LED diode.kontrolera povezani su po četiri tastera i četiri LED diode. Komunikacija PCKomunikacija PC↔U2 ostvaruje se samo preko Rx i Tx signala (bezU2 ostvaruje se samo preko Rx i Tx signala (bez handshakinghandshaking-a), što je u našem slučaju sasvim dovoljno.-a), što je u našem slučaju sasvim dovoljno. Potenciometri P1 i P2 su povezani na pinove PA0 oba mikrokontrolera.Potenciometri P1 i P2 su povezani na pinove PA0 oba mikrokontrolera. Tri pina Porta C (PC3, PC4 i PC5) su dovoljni za ostvarenje SPITri pina Porta C (PC3, PC4 i PC5) su dovoljni za ostvarenje SPI komunikacije komunikacije mastermaster--slaveslave. PC3 ima ulogu takta (SCK), kod . PC3 ima ulogu takta (SCK), kod mastermaster-a-a PC4 i PC5 imaju ulogu SI (PC4 i PC5 imaju ulogu SI (Serial InputSerial Input) i SO () i SO (Serial OutputSerial Output), respektivno,), respektivno, a kod a kod slaveslave-a je obrnuto.-a je obrnuto. Može da se primeti kako je reset zajednički za oba mikrokontrolera iMože da se primeti kako je reset zajednički za oba mikrokontrolera i ostvaruje pritiskom na taster SW0.ostvaruje pritiskom na taster SW0.
Komunikacija PIC16F877-20 preko SPI
REALIZACIJA SPI KOMUNIKACIJEREALIZACIJA SPI KOMUNIKACIJE
Taster Funkcija
SW4 Uključujemo LED4
SW3 Uključujemo LED3
SW2 Isklučujemo LED4-LED1
SW1 Šalje se ASCII karakter "1" ka USART terminalu
SW8 Uključujemo LED8
SW7 Uključujemo LED7
SW6 Isključujemo LED8 i LED7
SW5 Naizmenično uključivanje/isklučivanje LED6 i LED5
LED1 i LED2 se uključuju slanjem ASCII karaktera "2" i "3", respektivno.
Naponski nivoi na P1 i P2 se očitavaju slanjem ASCII karaktera "4" i "5", respektivno.
Komunikacija PIC16F877-20 preko SPI
REALIZACIJA ŠTAMPANE PLOČEREALIZACIJA ŠTAMPANE PLOČE
Komunikacija PIC16F877-20 preko SPI
REALIZACIJA ŠTAMPANE PLOČEREALIZACIJA ŠTAMPANE PLOČE
Na Slici je mogu da se uoče po dve grupe tastera (SW1-SW4,SW5-SW8)
i dve grupe LED dioda (LED1-LED4, LED5-LED8). Prva grupa tastera i LED je povezana za Port B mikrokontrolera kojem je softverski dodeljena uloga master-a, dok je druga grupa tastera i LED povezana za Port B slave-a. Firmware-i (ugrađeni softveri) za master i slave su različiti.
Komunikacija PIC16F877-20 preko SPI
ZADATAK ZA STUDENTEZADATAK ZA STUDENTE
Podesiti parametra USART terminala:
COM1 ili COM2 (zavisno na koji port je povezano kolo)Brzina 9600 Bauda, 1 stop-bit (One Stop Bit), Space bit parnosti
(Parity),osam bitova čini karakter/podatak (Data bits), isključen RTS (Off)Podesite da prenos mikrokontroler↔PC bude ASCII.Ispitati funkcije kola prema Tabeli.
Komunikacija PIC16F877-20 preko SPI
PROZOR USART TERMINALAPROZOR USART TERMINALA
Komunikacija PIC16F877-20 preko SPI
DUŠANOV CV DUŠANOV CV Prezime: Đorđević
Ime: Dušan
Adresa stanovanja: Borivoja Velimanovića 53, Ćuprija
E-mail adresa: [email protected]
Bračno stanje: Neoženjen
Datum rođenja: 13.05.1983.g.
Nacionalnost: Srbin
Obrazovanje:
Osnovna škola „Vuk Karadžić“, ĆuprijaEGŠ „Nikola Tesla“, Jagodina elektrotehničar automatike
Kompletna ili stepenovana diploma: IV stepen
Vozačka dozvola: B kategorija
Poznavanje jezika Engleski (dobro)
Poznavanje operativnih sistema i programskih paketa
WINDOWS Vista, AutoCAD, EAGLEPROTEL 2004
Posebna interesovanja Pretraživanje Interneta, čitanje stručne literature, biznis i mnoge druge stvari.
Sposobnosti Radoznalost, preduzimljivost, snalažljivost
Napomene
Komunikacija PIC16F877-20 preko SPI
ŽARKOV CV ŽARKOV CV Prezime: Đorđević
Ime: Žarko
Adresa stanovanja: Bulevar Nikole Tesle 45/2, Niš
E-mail adresa: [email protected]
Bračno stanje: neoženjen
Datum rođenja: 30.03.1983.g.
Nacionalnost: Srbin
Obrazovanje: Gimnazija ”Svetozar Marković”, Niš
Kompletna ili stepenovana diploma: IV stepen
Vozačka dozvola: B kategorija
Poznavanje jezika Engleski (vrlo dobro)
Poznavanje operativnih sistema i programskih paketa
WINDOWS XP, MS OFFICE, COREL DRAW, EMBEDDED C,
Posebna interesovanja Politička aktivnost (studentska organizacija i politička stranka), programiranje, sportska aktivnost
Sposobnosti Upornost, preduzimljivost, kreativnost, timski rad
Napomene
Komunikacija PIC16F877-20 preko SPI
IZGLED PROJEKTAIZGLED PROJEKTA