240 likes | 392 Views
Mikroprotsessorid. SERIAL PROTOKOLLID. Miks Serial on parem kui parallel ?. Vähem ühendustraate, lihtsamad skeemid Traatidevaheline ülekostvus Mahtuvus väiksem Protokoll keerulisem. LAN WiFi Firewire USB. Mõisted. Duplex – full, half Sünkroonne – asünkroonne Signaali nivood
E N D
Mikroprotsessorid SERIAL PROTOKOLLID
Miks Serial on parem kui parallel ? Vähem ühendustraate, lihtsamad skeemid Traatidevaheline ülekostvus Mahtuvus väiksem Protokoll keerulisem LAN WiFi Firewire USB
Mõisted • Duplex – full, half • Sünkroonne – asünkroonne • Signaali nivood • Start- ja Stop bitid • Master ja Slave • Adresseerimine
RS-232 Pingenivood +15V 0 (space) +3V 0V -3V 1 (mark) -15V
RS-232 Asünkroonne PARITY START STOP 0 1 0 0 1 0 1 0 Algul on signaal 1 Start – bitt on 0 Poole Start – biti ajal on alguspunkt Iga “Baud Rate”ga määratud aja järel loetakse biti väärtus Parity – bitt Stop - bitt
RS-232 Asünkroonne PARITY START STOP
RS-232 signaalid DataTerminalEquipment(arvuti) DataCommunicationsEquipment(modem) RTS/CTS handshaking
Serial Peripheral Interface Bus - SPI SOSISCLSS SISOSCLSS Master Slave SISOSCLSS Slave SISOSCLSS Slave
Serial Peripheral Interface Bus - SPI SOSISCLSS SISOSCLSS Master Slave SISOSCLSS Slave SISOSCLSS Slave
Serial Peripheral Interface Bus - SPI Single Slave SOSISCLSS SISOSCLSS Master Slave
Serial Peripheral Interface Bus - SPI Shift register Shift register Data Reg Data Reg ClockGenerator SS Master Slave
Serial Peripheral Interface Bus - SPI SCK SS SD Pordi seis loetakse SCK tõusva frondi ajal Andmeid muudetakse SCK langeva frondi ajal
Clock Polarity Clock Phase CPOL=0 CPOL=1
Inter-Integrated Circuit – I2C Open Drain – Avatud kollektor Data In Data Out Clk In Clk Out
Inter-Integrated Circuit – I2C VDD Open Drain – Avatud kollektor SDA SCL Data In Data In Data In Data Out Data Out Data Out Clk In Clk In Clk In Clk Out Clk Out Clk Out
I2C START 1 0 0 1 STOP SDx SCL 1 2 3 4 4 3 5 • SCL=1, SD muutub 1->0 ... START • SCL=0, SD muutub • SCL=1, SD=1 ..................... 1 • SCL=1, SD=0 ..................... 0 • SCL=1, SD muutub 0->1 .... STOP
I2C 1 2 3 4 5 6 7 SDA Aadress 7 bitti R/W 1 bit Data 8 bitti ACK ACK SCL • START bitt – SCL:1, SDA muutub 1 -> 0 • Aadress 7 bitti • R/W – aadressi baidi viimane bitt • Master annab liini vabaks, adresseeritav vastuvõtja surub liini nulli – s.t. sain aru, ACK • Andmed – 8 bitti • Master annab liini vabaks, adresseeritav vastuvõtja surub liini nulli – s.t. sain aru, ACK • STOP bitt – SCL:1, SDA muutub 0 -> 1
I2C 1 2 3 4 5 6 7 SDA Aadress 7 bitti R/W 1 bit Data 8 bitti ACK ACK SCL • Andmebaite võib olla järjest rohkem kui üks • Põhimõtteliselt võib iga seade hakata Masteriks • Kui mitu seadet tahavad korraga hakata Masteriks, siis on olemas vastav hääletamise protokoll • Aadress = 00: Master saab saata teadet korraga kõigile Slave-dele • Master võib teate katkestada ja alustada uut, andes uue START-biti • Slave võib clocki (SCL) nulli tõmmata ning niiviisi andmevahetust pidurdada • Vastuvõtja võib ACK ajal anda 1 ja teatada et ei saanud kätte
1-Wire VDD VDD In In Out Out Open Drain – Avatud kollektor
1-Wire VDD 2,2 .... 7 V In In Out Out
1-Wire 15-60 μs Master Slave Reset 480 μs 60-240 μs Data Data=0 Data=1 Sync Sync
1-Wire >1 μs 60-120 μs Master kirjutab <15 μs 60-120 μs 0 1
1-Wire Master Slave Slave kirjutab t (μs) 0 15 30 60 0 15 30 60 0 1
Võrdlus C – peaasi et mahtuvus liiga suureks ei läheks