Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

SPI PICs

VIEWS: 232 PAGES: 46

									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


                  Komunikacija PIC16F877-20 preko SPI
                    SADRŢAJ

   O SEMINARSKOM RADU
   MIKROKONTROLERI I EMBEDDED SISTEMI
   SPI KOMUNIKACIJA
   PIC16F877
   SOFTVER ZA PIC MIKROKONTROLERE
   KOMUNIKACIJA MIKROKONTROLERA PREKO SPI
    MODULA: PRAKTIĈNA REALIZACIJA
   LABORATORIJSKA VEŢBA
   ZAKLJUĈAK
   KORIŠĆENA LITERATURA
   PRILOG
   O AUTORIMA SEMINARSKOG RADA

                Komunikacija PIC16F877-20 preko SPI
             O SEMINARSKOM RADU

   Autori su realizovali ovaj projekat u nameri da studentima pribliţe
    jedan od naĉin kako mogu da komuniciraju dva mikrokontrolera
    PIC16F877-20. Ovde je za komunikaciju iskorišćen serijski komu-
    nikacioni modul SPI koji je integrisan u mikrokontrolerima.
   Mikrokontroleri su programirani preko AllPIC programatora o kojem
    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
    beogradska Mikroelektronika.
   Elektriĉna šema i dizajn štampane ploĉice (PCB) su kreirani u
    Protel-u.
   Realizovanje štampane ploĉice na vitroplastu je uraĊeno u niškoj
    firmi «Denitron» i ovom prilikom se zahvaljujemo gospodinu
    Draganu Deniću na ekspeditivnosti i kvalitetu izrade.
   Posebnu zahvalnost dugujemo profesoru Miletu Stojĉevu što nam
    je pruţio priliku da realizujemo ovaj projekat.

                       Komunikacija PIC16F877-20 preko SPI
MIKROKONTROLER I MIKROPROCESOR

    Razlike izmeĊu mikrokontrolera i mikroprocesora:

   Mikroprocesori su najcešće CISC tipa, tako da za kopiranje
    podataka iz spoljašnje memorije koriste veći broj opkôdova, dok
    mikrokontroleri jedan ili dva,
   Za manipulisanje sa podacima tipa bit, mikroprocesori koriste jedan
    ili dva tipa instrukcija, dok je kod mikrokontrolera taj broj veći,
   Mikroprocesori su projektovani za brzi prenos podataka iz
    programa sa spoljno adresiranih lokacija u ĉip, dok se kod
    mikrokontrolera brzi prenos bitova obavlja u okviru ĉipa,
   Mikrokontroler moţe da funkcioniše kao raĉunar bez dodataka
    spoljnih gradivnih blokova (memorije i U/I ureĊaja), dok
    operativnost mikroprocesora bez spoljne memorije i U/I podsistema
    nije moguća.


                       Komunikacija PIC16F877-20 preko SPI
BLOK ŠEMA MIKROKONTROLERA


        ALU                  tajmer/brojač         paralelni U/I port


    akumulator                                      serijski U/I port
    registri opšte
      namene                    interni
                                 ROM                     ADC


                                                          DAC
    interni RAM

                                                     kolo za prekid
                            interni FLASH

         SP                                       kolo za taktovanje


                                  PC




                  Komunikacija PIC16F877-20 preko SPI
         PRIMENA MIKROKONTROLERA

   Mikrokontroleri se danas koriste u embedded sistemima za upravljanje
    raznim funkcijama. Naime, oni se veoma ĉesto koriste i u situacijama
    kada treba da se veoma brzo reaguje na spoljne signale – posebno
    ako se takvi sistemi koriste za rad u realnom vremenu.
   Mikrokontroleri su sastavni delovi mnogih vrsta elektronske opreme
    (pogledati embedded sistemI). Oni ĉine većinu svih prodatih mikro-
    procesorskih ĉipova. Preko 50% su "jednostavni" mikrokontroleri, a
    drugih 50% su specijaliozovani digitalni procesori signala (DSP).
    Mikrokontroler je prisutan u skoro svakom elektriĉnom ureĊaju, veš
    mašini, mikrotalasnoj pećnici, telefonu itd.




                        Komunikacija PIC16F877-20 preko SPI
    PROIZVOĐAĈI MIKROKONTROLERA

   AMCC
   Atmel
   Cypress Microsystem
   Freescale Semiconductor
   Fujitsu
   Holtek
   Intel
   Microchip
   National Semiconductor
   NEC
   Philips Semiconductor
   Renesas Tech. Corp.
   ST Microelectronics


                       Komunikacija PIC16F877-20 preko SPI
    PROIZVOĐAĈI MIKROKONTROLERA

   ST Microelectronics
   Texas Instruments
   Toshiba
   Western Design Center
   Ubicom
   Xilinx
   ZiLog
   BASIC programibilni MCU-ovi.




                        Komunikacija PIC16F877-20 preko SPI
                   EMBEDDED SISTEMI

   Embedded sistem predstavlja raĉunarski sistem specijalne namene, koji
    je potpuno zatvoren od strane kontrola ureĊaja. Za razliku od liĉnih ra-
    ĉunara opšte namene, embedded sistem ispunjava specifiĉne zahteve i
    izvršava prethodno definisane zadatke. Programibilni hardverski ĉip je
    "sirov materijal" i on je programiran odreĊenom aplikacijom. Ovo treba
    shvatiti samo kao poreĊenje sa starijim sistemima sa potpuno funkcio-
    nalnim hardverom, ili opšte namenskim hardverom, koji imaju uĉitan
    softver eksterno.
   Embedded sistemi su kombinacija hardvera i softvera koji omogućavaju
    laku serijsku proizvodnju i raznovrsnost aplikacija. U proteklih nekoliko
    godina interesovanje za ovu vrstu sistema je naglo poraslo, i danas
    predstavlja nezaobilaznu temu u raĉunarskom svetu.




                         Komunikacija PIC16F877-20 preko SPI
          PRIMERI EMBEDDED SISTEMA

   automatske mašine za brojanje novca
   avijaciona elektronika, kao što je inercioni navigacioni sistemi, kontrola
    avionskog hardvera/softvera i drugih integrisanih sistema u avionima i
    projektilima
   mobilni telefoni i telefonski tasteri
   kompjuterska mreţna oprema, ukljuĉujući rutere, servere vremena i
    firewall-ovi
   kompjuterski štampaĉi
   kopir mašine
   pogon diska (flopi i hard disk pogon)
   kontroleri motora i kontroleri antiblokade koĉnica za automobile
   proizvodi za kućnu automatizaciju, poput termostata, klima, prskalica i
    sistemi obezbeĊenja
   ruĉni kalkulatori


                          Komunikacija PIC16F877-20 preko SPI
          PRIMERI EMBEDDED SISTEMA

   kućni aparati, ukljuĉujući mikrotalasne rerne, mašine za pranje veša,
    televizija, DVD plejeri/snimaĉi
   medicinska oprema
   merna oprema kao što su digitalni osciloskopi, logiĉki analajzeri i
    spektralni analajzeri
   multifunkcijski ruĉni satovi
   multifunkcijskii štampaĉi (MFP)
   liĉni digitalni asistent (personal digital assistant - PDA), to jest, mali
    ruĉni kompjuteri sa PIM-ovima i drugim aplikacijama
   mobilni telefoni sa dodatnim sposobnostima, na primer, mobilni
    digitalni pomoćnik sa telefonom i PDA i Java (MIDP)
   programibilni logiĉki kontroleri (PLC-ovi) za industrijsku automatizaciju
    i nadgledanje
   stacionarna video igraĉka konzola i ruĉne igraĉke konzole
   prenosivi kompjuter.
                          Komunikacija PIC16F877-20 preko SPI
                   SPI KOMUNIKACIJA

   SPI (Serial Peripheral Interface) standard za sinhronu serijsku komu-
    nikaciju razvijen je od strane Motorolinih inţenjera, za potrebu brzog i
    pouzdanog serijskog prenosa podataka na manjim rastojanjima (do
    3m). Prvobitno, ovaj standard je bio predviĊen za komunikaciju sa
    perifernim ureĊajima, ali je vremenom razvijena i mogućnost
    komunikacije izmeĊu više mikrokontrolera ili mikroprocesora .
   Postoji široka paleta perifernih ureĊaja baziranih na SPI – od obiĉnih
    TTL pomeraĉkih (shift) registara, do SPI memorija, displeja, A/D
    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 KOMUNIKACIJA - 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 PROTOKOL




Komunikacija PIC16F877-20 preko SPI
                       SPI PROTOKOL

   Pri SPI prenosu, podaci se šalju preko pomeraĉkog registra sa serijskim
    izlazom, a primaju preko pomeraĉkog registra sa serijskim ulazom. U
    bilo kom trenutku moţe da postoji jedan master, kako bi se osigurala
    ispravna komunikacija.
   Kao što je prikazano na Slici potrebne su 4 linije, odnosno za SPI komu-
    nikaciju koriste se 4 pina:

    MOSI (Master Output Slave Input). Kada mikrokontroler radi kao master,
    onda je ovo li-nija za slanje podataka, a kada radi kao slave – ovo je
    linija za primanje podataka.

    MISO (Master Input Slave Output). Kada mikrokontroler radi kao master,
    onda je ovo linija za primanje podataka, a kada radi kao slave – ovo je
    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,
    zavisno od sluĉaja).

                         Komunikacija PIC16F877-20 preko SPI
                    SPI PROTOKOL

SCK (SPI Clock). Ovo je linija za takt pod kojim se izvodi komunikacija.
Takt daje master, a pomeraĉki registar slave-a prima podatke, odnosno
oĉitava ulaz na promenu ovog takta.
SS (Slave Select). Ovaj pin mikrokontrolera se veţe na liniju za selek-
tovanje slave-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
sa MOSI linije se ignorišu. Tek kada se dovede SS na nizak nivo, SPI
sistem slave-a prati promene na pinovima koji su vezani za ovaj tip ko-
munikacije i moţe da primi i pošalje informaciju. Kada mikrokontroler
radi kao master, SS pin ima dve opcije. Moţe da se konfiguriše kao
ulazni pin i da setuje odreĊeni fleg (flag), tj. da inicira prekid u sluĉaju
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ć-
nost da više mikrokontrolera u datom trenutku pokušaju da budu
masteri. Ovo se rešava softverski.


                      Komunikacija PIC16F877-20 preko SPI
SPI POLARITET I FAZA TAKTA




       Komunikacija PIC16F877-20 preko SPI
          SPI POLARITET I FAZA TAKTA

    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
    dijagrama data su objašnjenja za sve moguće varijante, odnosno za sva
    ĉetiri moda:

   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=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:
    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).




                          Komunikacija PIC16F877-20 preko SPI
SPI EEPROM 25XX640




   Komunikacija PIC16F877-20 preko SPI
                SPI 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 LTC1286




 Komunikacija PIC16F877-20 preko SPI
        SPI ADC LTC1286 - SEKVENCA




Korišćeni analogno-digitalni konvertor ne zahteva konfiguracionu reĉ od
strane mikrokontrolera i nema ulaz za prijem podataka Din koji sluţi i za
kaskadno vezivanje više konvertora. Pošto ovaj konvertor ima dva ulaza
D+ i D- on je inicijalno konfigurisan kao diferencijalni ulaz ili jedan obiĉan
ulaz ako je drugi vezan na masu. Opadajuća ivica CS signala koji sluţi za
prozivanje konvertora, inicira prenos podatak izmeĊu konvertora i mikro-
kontrolera, kao što je prikazano na Slici.

                         Komunikacija PIC16F877-20 preko SPI
PIC16F877 - FOTOGRAFIJA




     Komunikacija PIC16F877-20 preko SPI
PIC16F877 - RASPORED PINOVA




       Komunikacija PIC16F877-20 preko SPI
PIC16F877 - ARHITEKTURA




     Komunikacija PIC16F877-20 preko SPI
       PIC16F877 - ARHITEKTURA


   Flash programska memorija – 8 kiloreĉi obima 14 bita
   RAM (File Registers) – 368 bajtova
   Aritmetiĉko-logiĉka jedinica (ALU)
   Akumulator (Working Register)
   Hardverski magacin (Stack) organizivan u 8 nivoa
   EEPROM memorija podataka obima 256 bajtova
   Višekanalni A/D konvertor, USART (univerzalni sinhroni
    i asinhroni primopredajnik), tajmere, portove itd.




                 Komunikacija PIC16F877-20 preko SPI
PIC16F877 - OPŠTE KARAKTERISTIKE

    RISC mikroprocesor veoma visokih performansi
    35 instrukcija obima jedne reĉi
    Radna frekvencija od 20 MHz
    Trajanje taktnog intervala 0.2 µs, pri frekvenciji 20 MHz
    13-bitni opkôd
    Harverski magacin (stack) sa osam nivoa
    Tri naĉina adresiranja (direktno,indirektno i relativno)
    Programska flash memorija kapaciteta 8k X 13-bitnih reĉi
    Memorija za podatke tipa RAM kapaciteta 368 X 8 bita
    Memorija za podatke EEPROM tipa kapaciteta 256 X 8 bita
    Prekidi (do 14 izvora prekida)
    U/I portovi: A, B, C, D, E
    Tri tajmera:
            Timer0 (TMR0): 8-bitni tajmer/brojaĉ_dogaĊaja
            Timer1 (TMR1): 16-bitni tajmer/brojaĉ_dogaĊaja
            Timer2 (TMR2): 8-bitni tajmer/brojaĉ_dogaĊaja


                    Komunikacija PIC16F877-20 preko SPI
PIC16F877 - OPŠTE KARAKTERISTIKE

    10-bitni 8-kanalni analogno-digitalni (A/D) konvertor
    Serijska komunikacija: MSSP, USART
    Paralelna komunikacija: PSP
    Power-on Reset - reset pri ukljuĉenju napajanja (POR)
    Power-up timer - unošenje kašnjenja nakon ukljuĉenja
     napajanja (PWRT)
    Oscillator Start-up Timer - unošenje kašnjenja nakon
     stabilizovanja radne frekvencije oscilatora (OST)
    Sleep mode - reţim rada sa malim utroškom energije
    Watchdog tajmer sa sopstvenim integrisanim RC oscilatorom za
     nezavisni rad
    Izbor tipa oscilatora
    Radni napon je u opsegu od 2V do 5,5V




                   Komunikacija PIC16F877-20 preko SPI
           PIC16F877 - OSCILATOR

Kod mikrokontrolera PIC16F877 postoje ĉetiri konfiguracije oscilatora:

   RC   Resistor/Capacitor
   XT   Crystal / Resonator
   LP   Low Power Crystal
   HS   High Speed Crystal / Resonator.




                     Komunikacija PIC16F877-20 preko SPI
             PIC16F877 - PORTOVI

PIC16F877 poseduje pet portova i oni predstavljaju vezu njegove
interne strukture sa spoljašnjim svetom.
Svaki od njih moţe da se konfiguriše kao ulazni ili kao izlazni.
Pomenuti portovi su razliĉitog obima:

   8-pinski (PORTB, PORTC, PORTD),
   6-pinski (PORTA),
   3-pinski (PORTE).




                     Komunikacija PIC16F877-20 preko SPI
              PIC16F877 - PORTOVI
 Svakom pinu bilo kojeg porta, u zavisnosti od reţima rada, mogu da
se dodele fiksne ili promenljive funkcije. Konfiguracija smera prenosa
ostvaruje se upisom na odgovarajuću bit-poziciju u pripadajućem TRIS
registru (0 - pin je izlazni, 1 - pin je ulazni).
 Svakom portu je dodeljen registar podataka (PORTX), preko kojeg
se programski pristupa U/I pinovima. Upis u neki od tih registara inici-
raće upis u latch tog porta, a njegovo ĉitanje rezultiraće ĉitanjem logiĉ-
kih stanja direktno sa pinova. Sve instrukcije upisivanja su tipa read-
modify-write. To znaĉi da se pri upisu u port najpre oĉitaju stanja
pinova, zatim izvrši modifikacija, a potom korigovana vrednost upiše
u latch porta.
 Ne postoji velika razlika u konstrukciji pomenutih pet portova.
Jedino se Port B od ostalih razlikuje zbog posebne opcije koju nude
ĉetiri MSB. Ukoliko se setuje bit RBIE u registru INTCON, svaka pro-
mena stanja na ovim pinovima, generisaće prekid mikrokontrolera.




                      Komunikacija PIC16F877-20 preko SPI
           PIC16F877 - MEMORIJA

Memoriju mikrokontrolera ĉine tri odvojene celine:

 Programska memorija
 Memorija podataka
 EEPROM memorija podataka.

Inaĉe, u mikrokontroleru postoji i stack (magacin), koji radi na principu
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.
Programski se ne moţe utvrditi da li je došlo do prepunjenja stack-a.




                     Komunikacija PIC16F877-20 preko SPI
PIC16F877 - REGISTRI




   Komunikacija PIC16F877-20 preko SPI
      MIKROC




Komunikacija PIC16F877-20 preko SPI
                          MIKROC

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 KOMUNIKACIJE

                                                   PC
                     Napajanje                      TX RX
                        5V
                                                 MAX232

                                                   C7 C6


 Tasteri 2          B3-B0                               B3-B0    Tasteri 1
                    PIC16F877                  PIC16F877

 Zelene   LED       B7-B4    C5               C4     B7-B4      Crvene   LED
                                      SDI
                         SPI C4       SDO
                                              C5 SPI
                  A0
                     ADC     C3
                                      SCK
                                              C3     ADC A0

 Potenciometar
Potenciometar 2       Slave                       Master        Potenciometar 1


                        Komunikacija PIC16F877-20 preko SPI
REALIZACIJA SPI KOMUNIKACIJE
                                                                      U1
                                             D1
                 J1             8 -1 4 V                              LM7 80 5
                                                                1                                       3
                      1                                                    Vin         Vo ut                                                                                                               VDD




                                                                             Gnd
                      2
                                                                                                                                              R1
                                            BAT42
                 CON2                                                                                                                         1 5K                          P1                      P2
                                                                C1                                              C2             C3




                                                                                   2
                                                                                                                                                        RES                          P1A0                  P2A0
                                                                1 00 u F                                        1 00 0 u F     1 00 n F
                                                                                                                                                                            1 0K                    1 0K
                                                                                                                                                SW0

                            Gn d                       Gn d                        Gn d                Gn d             Gn d           Gn d
                                                                                                                                                                    Gn d                     Gn d
                                                                           C1 3           1 00 n F



                                                                      U4                                                                                              J2
                                                                1                                       16                                                      1
                                    C9                                     C1 +      Vcc                                         VDD
                                                                2                                       15                                                      6
                                 1 00 n F                                  V+        Gn d                    Gn d
                                                                3                                       14                                                      2
                                                                           C1 -    T1o u t
                                                                4                                       13                                                      7
                                                                           C2 +     R1 in
                                                                5                                       12                                                      3
                                   C1 0                                    C2 -   R1 ou t                 TX
                                                                6                                       11                                                      8
                                 1 00 n F                                  V-       T1in                  RX
                                                                7                                       10                                                      4
                                                                           T2o u t T2in
                                                                8                                       9                                                       9
                                                                           R2 in R2 ou t
                                                                                                                                                                5
                                                                      MAX2 32                                                   C1 2
                                                     C1 1
                                                                                                                                1 00 n F                              DB9
                                                     1 00 n F


                                              Gn d                                                                      Gn d                    Gn d

                                                                                 Y1       4 MHz                                                           Y2        4 MHz
                                                     X1 .1                                                  X1 .2                   X2 .1                                            X2 .2

                                                                            C5                         C6                                              C7                        C8
                                                                            2 7p F                     2 7p F                                          2 7p F                    2 7p F


                                                                     Gn d                       Gn d                                            Gn d                   Gn d
                                                                      U2                                                                         U3
                                                             1                                          40                               1                                        40
                                                       RES                 MCLR PB7                        P1B7                  MCLR                 MCLR PB7                       P2B7
                                                             2                                          39                               2                                        39
                                                     P1A0                  PA0   PB6                       P1B6                   P2A0                PA0   PB6                      P2B6
                                                             3                                          38                               3                                        38
                                                                           PA1   PB5                       P1B5                                       PA1   PB5                      P2B5
                                                             4                                          37                               4                                        37
                                                                           PA2   PB4                       P1B4                                       PA2   PB4                      P2B4
                                                             5                                          36                               5                                        36
                                                                           PA3   PB3                       P1B3                                       PA3   PB3                      P2B3
                                                             6                                          35                               6                                        35
                                                                           PA4   PB2                       P1B2                                       PA4   PB2                      P2B2
                                                             7                                          34                               7                                        34
                                                                           PA5   PB1                       P1B1                                       PA5   PB1                      P2B1
                                                             8                                          33                               8                                        33
                                                                           RD    PB0                       P1B0                                       RD    PB0                      P2B0
                                                             9                                          32                               9                                        32
                                                                           WR   VDD                        VDD                                        WR   VDD                       VDD
                                                            10                                          31                              10                                        31
                                                                           CS    VSS                           Gn d                                   CS    VSS                           Gn d
                                                            11                                          30                              11                                        30
              VDD                                                          VDD   PD7                                              VDD                 VDD   PD7
                                                            12                                          29                              12                                        29
                                                  Gn d                     VSS   PD6                                           Gn d                   VSS   PD6
                                                            13                                          28                              13                                        28
                                                      X1 .1                OSC1  PD5                                              X2 .1               OSC1  PD5
                           C4                               14                                          27                              14                                        27
                                                      X1 .2                OSC2  PD4                                              X2 .2               OSC2  PD4
                                                            15                                          26                              15                                        26
                                                                           PC0   PC7                        TX                                        PC0   PC7
                          1 00 n F                          16                                          25                              16                                        25
                                                                           PC1   PC6                        RX                                        PC1   PC6
                                                            17                                          24                              17                                        24
                                                                           PC2   PC5                        PC5                                       PC2   PC5                       PC4
                                                            18                                          23                              18                                        23
                                                       PC3                 PC3   PC4                        PC4                    PC3                PC3   PC4                       PC5
                                 Gn d                       19                                          22                              19                                        22
                                                                           PD0   PD3                                                                  PD0   PD3
                                                            20                                          21                              20                                        21
                                                                           PD1   PD2                                                                  PD1   PD2
                                                                      PIC1 6F8 7 7-04                                                                PIC1 6F8 7 7-04


                                           LED4                                                                                               LED8
              P1B7                                                                                                 P2B7

                                           LED3                                                                                               LED7
              P1B6                                                                                                 P2B6

                                           LED2                                                                                               LED6
                                                                      RN1                                                                                                     RN2
              P1B5                                                                                                 P2B5
                                                          1                                 9                                                                   1                             9
                                                                                                VDD                                                                                                 VDD
                                           LED1           2                                                                                   LED5              2
                                                          3                                                                                                     3
              P1B4                                                                                                 P2B4
                                                          4                                                                                                     4
                                                          5                                                                                                     5
                                                     P1B3                                                                                                  P2B3
                     SW4                                  6                                                                  SW8                                6
                                                     P1B2                                                                                                  P2B2
                                                          7                                                                                                     7
                                                     P1B1                                                                                                  P2B1
                     SW3                                  8                                                                  SW7                                8
                                                     P1B0                                                                                                  P2B0
                     SW2                                              2K2                                                    SW6                                              2K2

                     SW1                                                                                                     SW5
       Gn d                                                                                              Gn d



                      Komunikacija PIC16F877-20 preko SPI
      REALIZACIJA SPI KOMUNIKACIJE

    Kao što je prikazano na Slici, uloga master-a (ujedno je povezan sa se-
    rijskim portom PC raĉunara) je dodeljena mikrokontroleru U2, dok je
    uloga slave-a dodeljena mikrokontroleru U3. Na Portove B oba mikro-
    kontrolera povezani su po ĉetiri tastera i ĉetiri LED diode.
    Komunikacija PC↔U2 ostvaruje se samo preko Rx i Tx signala (bez
    handshaking-a), što je u našem sluĉaju sasvim dovoljno.
    Potenciometri P1 i P2 su povezani na pinove PA0 oba mikrokontrolera.
    Tri pina Porta C (PC3, PC4 i PC5) su dovoljni za ostvarenje SPI
    komunikacije master-slave. PC3 ima ulogu takta (SCK), kod master-a
    PC4 i PC5 imaju ulogu SI (Serial Input) i SO (Serial Output), respektivno,
    a kod slave-a je obrnuto.
    Moţe da se primeti kako je reset zajedniĉki za oba mikrokontrolera i
    ostvaruje pritiskom na taster SW0.




                         Komunikacija PIC16F877-20 preko SPI
REALIZACIJA 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ĈE




       Komunikacija PIC16F877-20 preko SPI
      REALIZACIJA Š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 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 TERMINALA




     Komunikacija PIC16F877-20 preko SPI
                     DUŠANOV CV
Prezime:                              ĐorĊević

Ime:                                  Dušan
Adresa stanovanja:                    Borivoja Velimanovića 53, Ćuprija
E-mail adresa:                        duky83@gmail.com
Braĉno stanje:                        Neoţenjen
Datum roĊenja:                        13.05.1983.g.
Nacionalnost:                         Srbin
Obrazovanje:                          Osnovna škola „Vuk Karadţić“, Ćuprija
                                      EGŠ „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      WINDOWS Vista, AutoCAD, EAGLE
programskih paketa                    PROTEL 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
Prezime:                                ĐorĊević
Ime:                                    Ţarko
Adresa stanovanja:                      Bulevar Nikole Tesle 45/2, Niš
E-mail adresa:                          zarehunter@gmail.com
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        WINDOWS XP, MS OFFICE, COREL DRAW,
programskih paketa                      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 PROJEKTA




  Komunikacija PIC16F877-20 preko SPI

								
To top