PMK_2015_7 (1).pptx
-
Upload
marko-vlasic -
Category
Documents
-
view
212 -
download
0
Transcript of PMK_2015_7 (1).pptx
PRIMENA MIKROKONTROLERA- MS1PMK7. deo
2015Nenad Jovičić
Nucleo stize verovatno do 16.4.
• 1660,00 dinara komad
LPC17xx SPI modul• Osnovne karakteristike
– Kompatibilan sa SPI specifikacijom za sinhroni, serijski, pun dupleks– SPI master ili slave mod– Maksimalna brzina prenosa – 1/8 periferijskog takta– 8-16 bita po prenosu– Bez podrške za baferisanje podataka– Signaliziranje grešaka
• SPI prenos podržan i preko SSP (Synchronous Serial Port) modula
SPI signali
Driving edge
Sampling edgeTransfer complete (SPIF=1) master
Transfer complete (prekidni fleg SPIF=1 na slave strani)
CPHA – kontrola faze, CPOL – kontrola polariteta taktnog signala
SPI opis rada• Master mod rada
– Inicijalizacija registara SPI modula– Upis podatka u SPI data registar što
inicira slanje podatka– Čekanje na kraj slanja (SPIF=1)– Čitanje statusa i primljenog podatka u
SPI data registru.• Slave mod rada
– Inicijalizacija registara SPI modula– Upis padatka u SPI data registar
(opciono) što briše SPIF status bit– Čekanje na SPIF=1– Čitanje status i primljenog podatka
• Greške u prenosu– Read overrun (podaci prebrisani)– Write collision (prenos u toku)– Mode fault (dva mastera)– Slave abort (slave prekinuo prenos)
Povezivanje više Slave-ova
Klasa SPI
Klasa SPISlave
SPI povezivanje 2 MBED-a
• Povezati dva MBED-a preko SPI-ja.• Jedan MBED je SPI master a drugi je SPI slave• Svaki MBED ima komunikaciju sa PC-jem I
hiperterminalom.• Implementirati “chat” izmedju dva
hiperterminala.• Hint: Pogledati projakat
SPI_Slave_Master_8FIFO
LPC17xx SSP (Synchronous Serial Port) modul
• Modul podržava tri tipa interfejsa za sinhronu serijsku komunikaciju– Motorola SPI– 4-wire Texas Instruments SSI– National Semiconductor Microwire
• Osnovne karakteristike– Implementirana dva nezavisna SSP modula (SSP0 i SSP1)– Rad u master ili slave modu– FIFO baferi sa 8 frejmova za prijem i slanje– 4-16 bita podataka po frejmu– Podrška za DMA prenos– Pun-dupleks/polu-dupleks komunikacija– Mana – nema ACK...
• Oblici signala moraju da zadovolje setup/hold timing u odnosu na aktivnu ivicu signala prema specifikacijama interfejsa
LPC17xx SSP modulFu
nkci
je I/
O p
inov
a u
zavi
snos
ti od
se
lekt
ovan
e fu
nkci
je S
SP m
odul
a
4-wire prenos frejmaPrihvat podataka preko DR(S) linije*
Podaci spremni u FIFOFrame sync signal
DX(S) linija od slave ka masteru nije posebno nacrtana
Slanje podataka preko DX(M) linije
SPI prenos frejmaTclk/2Podaci spremni u
FIFO baferu Sampling edge
Setup time Hold time
Aktivna ivica
Microwire prenos frejma• Microwire format je sličan SPI formatu, osim što je reč o polu-
dupleks komunikaciji - poruke se ne prenose istovremeno.• Svaki prenos započinje 8-bitnom kontrolnim podatkom.• Dužina celog frejma 13-25 bita.• Prenos započinje upisom kontrolnog bajta u predajni FIFO!• Mana – nema ACK...
LPC17xx I2C modul• Implementirana tri nezavisna I2C modula (I2C0, I2C1 i I2C2)• Podržani master, slave i master/slave modovi rada• Arbitracija pristupa u multimaster modu rada• Mogućnost monitoringa I2C prenosa na magistrali • Programabilni takt• Podrška za prenos do 1Mb/s (fast mod)• Bidirekcioni prenos podataka• Sinhronizacija brzine prenosa• Podrška za 4 slave adrese• Monitoring mod rada
(nadgledanje saobraćaja)
I2C protokol• Svaki transfer započinje i završava se
takozvanim START i STOP zaglavljima.• Ova zaglavlja definiše tj. drajvuje
master.• Master diktira takt na magistrali.• Ukoliko Slave iz nekog razloga ne
može da primi podatak, zadržavanjem linije takta na niskom nivou master se stavlja na čekanje.
Na magistrali se drajvuje nizak naponski nivo
ACK i NACK• Uvek se prenosi podatak koji ima 8-bita, i nakon svakog transfera podatka dodaje
se još jedan bit za potvrdu koji može biti ACK i NACK.• Prijemnik izdaje ACK posle svakog korektno primljenog podatka, time što prilikom
devetog taktnog impulsa na SCL liniji SDA liniju drži nisko.• NACK se generiše tako što se prilikom devetog SCL impulsa SDA linija na drajvuje i
može da znači da:– Ne postoji slave na liniji.– Salve nije mogao da primi podatke– Slave ne razume podatke– Slave ne može da nastavi sa primanje podataka.– Master u slučaju da je prijemnik obaveštava Slave da je završeno sa prijemom.
I2C frejm
• Predajni mod– Master šalje slave adresu (7
bita) i R/W bit (0)– Po prijemu svake 8-bitne
informacije slave generiše stanje potvrde prijema (A)
– Čita se sadržaj statusnog registra I2CSTAT
• Prijemni mod– Slično kao predajni mod osim
što je R/W bit (1)• Predajno/prijemni mod
– Koristi se stanje ponovljeni START da se inicira novi ciklus komunikacije
Master RX mode
Master RX,TX mode
Ponovljeni START
Master TX mode
Multimaster – sinhronizacija takta
• Svi uređaji rade na istom taktu.• Kada master 1 obori SCL liniju na nizak nivo, master 2
sinhronizuje svoj interni brojač.• Trajanje niskog nivoa na SCL liniji jednako je maksimalnom
trajanju niskon nivoa takta svih mastera.• Trajanje visokog nivoa na SCL
liniji jednako je minimalnom trajanju visokog nivoa takta
svih mastera.
Arbitracija• Nakon sinhornizacije takta i START zaglavlja svaki master emituje svoju
poruku sa podacima. • Na rastuću ivicu takva svaki master proveraava da li je stanje na SDA liniji
jednako onom koje je postavio.• U slučaju da nije taj master gubi arbitraciju.
Arhitektura I2C modula• Adresni i registar maske određuju koje se
adrese (ili pojedinačni biti) porede sa primljenom adresom.
• Komparator vrši poređenje adresa kao i poređenje sa general call adresom (00h)
• Pomerački registar sadrži primljeni ili bajt spreman za slanje.
• Logika za sinhronizaciju i arbitraciju. Kod sinhronizacije stanje SCL linije određuje najkraće stanje koje se drajvuje (low) i najduže stanje koje se ne drajvuje (high).
• Generator takta – podešavanje takta• Logika za generisanje tajminga i kontrolnih
signala – generiše i detektuje stanja, vrši pomeranje, generiše prekid...
• Kontrolni i statusni registri i logika (dekoderi)
I2C masterhttp://mbed.org/handbook/I2C
I2C Slave
I2C SENZOR
• Implementirati i istestirati projekat povezivanja digitalnog kompasa HMC5834 na MBED.
• Koristiti dizajn opisan na stranici:– http://mbed.org/cookbook/HMC5843-Digital-Com
pass• PAŽNJA! – PIN OZNAČEN CRVENOM BOJOM
JE 3.3V – TO SE DOBIJA SA PINA BROJ 40!!!
I2C povezivanje 2 MBED-a
• Povezati dva MBED-a preko I2C-a.• Jedan MBED je I2C master a drugi je I2Cslave• Svaki MBED ima komunikaciju sa PC-jem I
hiperterminalom.• Implementirati “chat” izmedju dva
hiperterminala.