Professional Documents
Culture Documents
I2c Ve Spi Haberleşme Protokolü
I2c Ve Spi Haberleşme Protokolü
I2c Ve Spi Haberleşme Protokolü
Dijital sistemlerde kablolu seri haberleme ile ilgili birok standart vardr. SPI, I 2C
bunlara rnek olarak verilebilir. Bu standartlarn kullandklar u says,
ulaabilecekleri maksimum hzlar birbirinden farkl olmakla beraber I 2C protokol
olduka hzl veri aktarmna olanak tanmaktadr. Bir arada alan, belirli aralklarla
birbiriyle haberleen, yava eitli evresel cihazlarn minimum harici donanm
gereksinimiyle haberlemelerini salar. Basit, dk bant geniliine sahip, ksa-
mesafe protokoldr. Mevcut I2C cihazlarnn ou 400kbps'ye kadar hzlarda
almaktadr. I2C ile birden fazla cihaz haberletirmek kolaydr nk ierisinde
adresleme plan da bulunmaktadr.
I2C protokolnde temel olarak iki hat vardr. Bunlar SCL ve SDA olup, SCL
(SerialCLock) veri senkronizasyonu iin kullanlan clock darbeleri hatt, SDA
(SerialDAta) ise veri hattdr. Ayrca elemanlarn kendine has yazma koruma(WP-
Write Protect), k izin(OE-Output Enable) gibi ular bulunabilir. Ancak bu
kontroller bu protokol iin bir standart olmadndan kullanc bunlar kendisi
dzenlemek zorundadr.
I2C protokolnde gnderilen veri ve okunan veri ayn hat zerinden, yani SDA
hattndan transfer edilir. SDA pini srekli olarak bir pull-up direnciyle Vccye (TTL
iin +5V besleme gerilimi) bal olduundan hattaki start ve stop bitlerinin
anlalmas hatta lojik 0 olup olmamasyla anlalr. Ayrca hattn srekli
yksek(high) lojik olarak kurulmas baz elemanlarn yksek empedans
konumlarnda bile hattan lojik 1 okunmasn salar.
I2C protokolnde Master denilen ana bir kontrol birimi cihaz -ki genelde
mikrodenetleyiciler kullanlr- ve Slave denilen cihazlar vardr. Bu protokole gre,
I2C veri yoluna bal her bir slave durumundaki cihazn, en fazla 7 bitten oluan,
kendisine ait bir adresi vardr. Bu cihaz bir LCD, EEPROM, mikrodenetleyici veya
herhangi bir saysal sistem olabilir. Veriyolundaki haberleme iki ynl de olabilir.
SDA hattnda eer bu adres bilgisi master tarafndan gnderilmise, o adrese ait slave
tarafndan SDA hattna ACK yani alnd anlamna gelen bir cevap gnderilir. Bu
aamadan sonra slave birimi kullanlmaya hazrdr.
I2C veriyolu ok master'l (multi-master) veri yoludur. Yani, birden fazla sayda data
transferini balatabilme zelliindeki tmdevre, veriyoluna balanabilir. Bu durumda
data("veri" diyelim ki daha Trke olsun) transferini balatan tmdevre(IC-
Integrated Circuit) Bus-Master(Veriyolu Efendisi) durumunda olacak, veriyolundaki
tm dier IC'ler ise Bus-Slave(Veriyolu Kleleri) durumunda olacaktr. Master
durumundaki eleman genelde bir mikrodenetleyici olduundan, bir I2C
haberlemesinin nasl altn u ekilde zetleyebiliriz:
4. Veri transferi gerekleir. lem yazma ise master'dan slave'e doru, okuma ise
tersi ynde veri transferi gerekleir. Transfer tamamlandktan sonra Master(yani
rneimizde mikrodenetleyici) Stop bitini SDA hattndan aktarr ve haberleme sona
erer.
SPI NEDR? NASIL ALIIR?
SPI, saysal(dijital) tmdevrelerin(entegre devre-IC) seri haberlemeleri iin
gelitirilmi verimli haberleme standartlarndan biridir. Alm "Serial Perihpheral
Interface" olup Trke'si "Seri evresel Arayz"dr. SPI ismi Motorola tarafndan
bulunumutur. SPI standardnn bir dier ad ise Microwire'dr ve bu Natiaonal
Semiconductor firmasnn tescilli ticari markasdr.
SPI, full duplex(e zamanl ift ynl alabilen), senkron(datann saat darbeleriyle
birlikte ezamanl olarak aktarld) bir seri haberleme standarddr ve pek ok
tmdevre tarafndan donanmsal olarak desteklenmektedir. Bu haberlemede
veri(data, bitler) transferi master-slave ilikisi ile gerekleir. Master veri
haberlemesini balatan cihazdr. Master tarafndan veri transferi balatldktan
sonra veri her iki ynde de ezamanl olarak aktarlabilir. Alnan baytn anlaml olup
olmad bilgiyi alan cihaza kalmtr.
SPI iin tam olarak nasl alt ile ilgili resmi bir kaynak olmad iin, kullanlan
cihazlarn datasheet bilgilerinden faydalanlmaldr. Burada en nemli iki nokta izin
verilen maksimum saat hz ve verinin aktarmnda dikkate alnan faz
geileridir(Ykselen kenar/Den kenar).
Verinin, saat sinyanin hangi geiinde okunmas gerektii ile ilgili de resmi bildiri
bulunmamasna karn, pratikte 4 ayr alma modu tanmlanmtr. Bu modlar:
Mode 0: Haberleme balamadan nce ve haberleme yok iken saat sinyali "low"
seviyededir. Data, saat darbesinin den kenarnda "deitirilir(yazlr)" ve ykselen
kenarnda "okunur".
Mode 1: Haberleme balamadan nce ve haberleme yok iken saat sinyali "low"
seviyededir. Data, saat darbesinin ykselen kenarnda "deitirilir(yazlr)" ve den
kenarnda "okunur".
Mode 2: Haberleme balamadan nce ve haberleme yok iken saat sinyali "high"
seviyededir. Data, saat darbesinin ykselen kenarnda "deitirilir(yazlr)" ve den
kenarnda "okunur".
Mode 3: Haberleme balamadan nce ve haberleme yok iken saat sinyali "high"
seviyededir. Data, saat darbesinin den kenarnda "deitirilir(yazlr)" ve ykselen
kenarnda "okunur".
Saat sinyalinin ykselen kenarnda gnderen tarafn SDO hattna bal olan alc
tarafn SDI hattnda data okunuyor ve kaydediliyor. (Mod (1,1))
rnein "den kenar tetiklemeli" bir ilemde, rnein okuma ilemi, saat sinyali
lojik1'den lojik0'a gei anndaki data deeri (lojik0 veya lojik1) okunan deerdir.
Bunun iin nce okunmas istenen deer yazlr. Ardndan cihazn bu deeri okumas
iin saat sinyali 1'den 0' drlr. Benzer durum "ykselen kenar tetiklemeli"
ilemlerde de geerlidir.