You are on page 1of 40

Serijski sinkroni protokoli

PROVJERA ISPRAVNOSTI PRIJENOSA PODATAKA


• Jednostavni mehanizmi prepoznavanja greške
• paritet
• CRC – Ciklična provjera zalihnosti (Cyclic
redundancy check)
Paritet
• Paritet – parnost podatka
– matematički – je li podatak paran ili neparan?
• paritetni bit
– označava je li originalan podatak bio nekog
pariteta
• parni paritet – ukupni podatak ima parni broj
jedinica
• neparni paritet – ukupni podatak ima neparni
broj jedinica
podatak parni neparni

0000 00000 00001

0001 00011 00010


CRC
• Ciklična provjera zalihnosti
• Generira kontrolnu sumu skupa podataka
• Radi na toku podataka (stream)
• Može detektirat slučajnu promjenu, ne i
namjernu – nije zamjena za enkripciju

• Matematički – polinom s varijablom X i


binarnim koeficijentima
CRC
• Izrazito jednostavan za sklopovsku
implementaciju, posmačni registar i XOR
sklopovi
• koeficijenti polinoma odgovaraju povratnim
vezama u sklopovskoj implementaciji
CRC
Polinom definira kôd
• Najčešće korišteni standardi
– CRC-1 – paritetni bit
– CRC-8
– CRC-15
– CRC-16
– CRC-32
– CRC-64

• Polinomi većih dužina (CRC-128, CRC-256) se ne


koriste – (područje kriptografije)
CRC-8
• Otkriva greške
• bilo koji neparan broj grešaka unutar
64-bitnog broja
• sve dvostruke greške unutar 64-bitnog broja
• bilo kakva grupa grešaka unutar 8-bitnog
prozora (greška u slijedu od 1-8 bitova)
• velike grupe grešaka
• Polinomski izraz
• X**8+x**5 +x**4+1
IIC (I2C)
I2C
• Ranih 1980-ih, Philips
• različita upravljačka elektronika
1992. prva normirana inačica
– 400 kbit/s, 10-bitovni adresni način
– povećanje kapaciteta na 1008 čvorova
1998. inačica 2.0
– 3.4 Mbit/s, niži naponi i struje, manja potrošnja
• 2000. - inačica 2.1 – sređivanje verzije 2.0
• 2007. - inačica 3 – brzi način rada (Fm+), adr.
ID
• Serijski protokol
• Za razliku od RS-232, ovo je MREŽA
• Namjena: priključenje sporijih periferija u
računalne sustave, ugradbene sustave i sustave
potrošačke elektronike
• osiguratI jednostavno sučeljavanje različith
uređaja koji ne traže brzu komunikaciju ili
određenu brzinu
• jednostavan mehanizam za arbitriranje na
sabirnici, adresiranje uređaja, niska cijena (mreža
uređaja sa samo dvije linije)
• hot-swapping– mogućnost oduzimanja/dodavanja
novih uređaja na mrežu dok ostali rade
• Postoji još i SMBus – podvrsta I2C, stroža
defInicija (električka, protokolna) – robustnost
IIC
• 2 aktivne linije (open drain)
– SDA (eng. Serial Data Line)
– SCL (eng. Serial Clock Line)
• Obje aktivne linije su dvosmjerne
• Open drain izlazi, nužni pull-up otpornici za
pouzdano definiranje stanja
• Fleksibilnost obzirom na naponske razine
mogu bit proizvoljne (ovisi o VDD), najčešće
5V ili 3.3V
Referentni model
• 7-bitovna adresna sabirnica
• 16 rezerviranih adresa
• Najviše 112 čvorova može komunicirat
međusobno (ovisi o adresnom prostoru)
• Brzina
Standardna – 100 Kbit/s
Spora – 10 Kbit/s
• Doseg
– nekoliko metara (zbog ukupnog kapaciteta
linija 400 pf)
• Svaki uređaj ima jedinstvenu adresu bez
obzira na tip (MCU, LCD, ...)
• 2 tipa uređaja
– vodeći (eng. Master) – čvor koji generira clock i
postavlja adresu pratećeg uređaja
– prateći (eng. Slave) – prima clock i adresu
• Više uređaja mogu bit vodeći (Multi-Master
Bus)
• Moguća zamjena uloga vodećeg i pratećeg
između poruka (nakon slanja signala STOP)
• Brzine: 400 Kbit/s, 1 Mbit/s, 3.4 Mbit/s
PROTOKOL
• Protokol, 4 načina rada
– vodeći šalje
– vodeći prima
– prateći šalje
– prateći prima
• vodeći uređaji su inicijalno u stanju slanja
podataka te šalju start bit, 7 adresnih
bitova te bit koji kaže žele li pisat ili čitat sa
pratećeg uređaja
Protokol
• Ako postoji adresirani prateći uređaj, on
odgovara signalom ACK
• Nakon ACK-a, vodeći nastavlja
slati/primati, prateći nastavlja
komplementarno vodećem
• adresa – MSB pa LSB, izgled START,
STOP i ACK bita
• Kod slanja podataka promjene stanja signala na
podatkovnoj liniji odvijaju se dok je linija SCL
neaktivna

• Vodeći uzastopno šalje isti bajt dok od pratećeg


ne primi ACK, tek tada prelazi na sljedeći bajt
• Vodeći uzastopno prima bajt (nakon primanja
odgovara s ACK)
Komunikacija
• 3 osnovna tipa poruka:
– Vodeći šalje jednu poruku pratećem
– Vodeći prima jednu poruku od pratećeg
– Kombinirane poruke – vodeći uređaj inicira
slanje/čitanje dvije ili više poruka prema
jednom ili više pratećih uređaja; iniciranje
počinje sekvencom (START bit i adresa
pratećeg uređaja); START bit se ponavlja
prilikom slanja svake poruke; ako umjesto
očekivanog STOP bita dođe novi START bit,
prateći uređaj zna da dolazi nova poruka iz
niza; ako dođe STOP bit, prekida se slanje
• I2C ne definira semantiku poruka – to je
specifično za određeni proizvod
• Obzirom da je I2C standard definiran na
niskoj razini (fzički + arbitrarni sloj), postoji
niz alata za analizu I2C protokola – neki
su ugrađeni u same osciloskope,
modernije, drugi su zasebni uređaji
• u praksi postoji niz USB-to-I2C pretvornika
kako bi se svako osobno računalo moglo
pretvorit u I2C prateći / vodeći uređaj
• Primjeri primjene IIC komunikacije
AT24C04 serial electrically erasable and
programmable read-only memory
(EEPROM)
• Naredbe u BASCOMAVR-u
• I2CINIT, I2CINIT #const
• I2CSEND ,
• I2CSTART , I2CSTOP ,
• I2CRBYTE , I2CWBYTE ,
• I2C_TWI Library for using TWI

• Definiranje

• Config Sda = Portb.5


• Config Scl = Portb.7

• I2cinit
• I2CSTART generates an I2C start condition.
• I2CREPSTART generates an I2C repeated start
condition.
• I2CSTOP generates an I2C stop condition.
• I2CRBYTE receives one byte from an I2C-
device.
• I2CWBYTE sends one byte to an I2C-device.
PRIMJER KOMUNIKACIJE - upis
• Upis u EEPROM npr. 2404

• I2cstart 'start condition


• I2cwbyte Addressw 'slave address
• I2cwbyte Adres 'asdress of EEPROM
• I2cwbyte Value 'value to write
• I2cstop 'stop condition
• Waitms 10 'wait for 10 ms
PRIMJER KOMUNIKACIJE - čitanje

• I2cstart 'generate start


• I2cwbyte Addressw 'slave adsress
• I2cwbyte Adres 'address of EEPROM
• I2cstart 'repeated start
• I2cwbyte Addressr 'slave address (read)
• I2crbyte Value , Nack 'read byte
• I2cstop 'generate stop
• The AT24C04provides 4096 bits of serial
electrically erasable and programmable read-only
memory (EEPROM) organized as 512 words of 8
bits each.
• The device is optimized for use in many industrial
and commercial applications where low-power
and low-voltage operation are essential.
• Is accessed via a Two-wire serial interface.
• In addition, the entire family is available in
2.7V (2.7V to 5.5V) and 1.8V (1.8V to 5.5V)
versions.
• HVALA NA PAŽNJI

You might also like