244076.pdf

download 244076.pdf

of 102

Transcript of 244076.pdf

  • YILDIZ TEKNK NVERSTES FEN BLMLER ENSTTS

    MKRODENETLEYCL ENDSTRYEL SER PROTOKOL ZMLEYC SSTEMNN PROGRAMI

    Elektronik ve Haberleme Mh. Kemal GNSAY

    FBE Elektronik ve Haberleme Anabilim Dal Elektronik Programnda Hazrlanan

    YKSEK LSANS TEZ

    Tez Danman : Yrd. Do. Dr. Tuncay UZUN (YT)

    STANBUL, 2009

  • YILDIZ TEKNK NVERSTES FEN BLMLER ENSTTS

    MKRODENETLEYCL ENDSTRYEL SER PROTOKOL ZMLEYC SSTEMNN PROGRAMI

    Elektronik ve Haberleme Mh. Kemal GNSAY

    FBE Elektronik ve Haberleme Anabilim Dal Elektronik Programnda Hazrlanan

    YKSEK LSANS TEZ

    Tez Danman : Yrd. Do. Dr. Tuncay UZUN (YT)

    STANBUL, 2009

  • ii

    NDEKLER

    Sayfa

    KISALTMA LSTES ................................................................................................................ v

    EKL LSTES ...................................................................................................................... viii

    ZELGE LSTES .................................................................................................................... x

    NSZ ...................................................................................................................................... xi

    ZET ........................................................................................................................................ xii

    ABSTRACT ............................................................................................................................ xiii

    1. GR ....................................................................................................................... 1

    1.1 Veri letiim Protokolleri ......................................................................................... 11.1.1 Senkron seri veri iletiimi ........................................................................................ 11.1.2 Asenkron seri veri iletiimi ...................................................................................... 11.2 Endstride Kullanlan Baz Haberleme Protokolleri.............................................. 21.2.1 Tmleik devreler aras protokol (I2C) .................................................................... 31.2.2 Ethernet .................................................................................................................... 51.2.3 Seri ileri teknoloji balants (SATA) ..................................................................... 71.2.4 Modbus protokol .................................................................................................... 91.2.5 lem alan veri yolu protokol (PROFIBUS) ....................................................... 10

    2. I2C STANDARDI .................................................................................................. 13

    2.1 I2C Veri yolu Tarihesi .......................................................................................... 132.2 I2C Veri yolu zellikleri ........................................................................................ 152.3 Tasarmc Asndan Faydalar .............................................................................. 162.4 retici Asndan Faydalar ................................................................................... 172.5 Tmleik Devre Tasarmclar Asndan Faydalar .............................................. 172.6 I2C Veri yolu Protokol ......................................................................................... 172.6.1 SDA ve SCL iaretleri ........................................................................................... 192.6.2 SDA ve SCL lojik seviyeleri ................................................................................. 192.6.3 Veri Geerlilii ...................................................................................................... 192.6.4 START - STOP Koullar ...................................................................................... 202.6.5 Bayt Format .......................................................................................................... 202.6.6 Onay (ACK) ve Onay Yok (NACK) ..................................................................... 212.6.7 Saat Eleme ............................................................................................................ 212.6.8 Uzlama ................................................................................................................. 222.6.9 Saat Yayma ............................................................................................................ 232.6.10 Slave Adres ve Okuma/Yazma Biti ....................................................................... 232.6.11 10-bit Adresleme ................................................................................................... 252.6.12 Sakl Adresler ........................................................................................................ 272.6.13 Genel ar Adresi ................................................................................................ 272.6.14 Yazlmsal Reset .................................................................................................... 282.6.15 START Bayt ......................................................................................................... 292.6.16 Hatt Temizleme .................................................................................................... 30

  • iii

    2.7 I2C Hattnn dier Haberleme Protokolleri ile Kullanm .................................... 302.7.1 CBUS ile Uyumluluk ............................................................................................. 302.7.2 Sistem Ynetim Veri yolu (SMBus) ..................................................................... 302.7.3 G Ynetim Veri yolu (PMBus) .......................................................................... 302.7.4 Akll Platform Ynetim Ara yz (IPMI) ............................................................ 302.7.5 Gelimi Telekomnikasyon leme Mimarisi (ATCA) ....................................... 312.8 I2C Protokol Uygulamas ..................................................................................... 312.8.1 I2C Master Uygulamas ......................................................................................... 322.8.2 I2C Slave Uygulamas ............................................................................................ 32

    3. TMLEK DEVRELER ARASI PROTOKOL ZMLEYC RNEK

    SSTEMLER ......................................................................................................... 36

    3.1 BusBee Seri Protokol zmleyici ....................................................................... 363.2 MCC Tmleik Devreler Aras/Sistem Ynetim Veriyolu Protokol zmleyici 383.3 Jupiter Instruments Tmleik Devreler Aras Protokol zmleyici.................... 403.4 Beagle Tmleik Devreler Aras/Seri evre Birimi Arayz Protokol

    zmleyici ........................................................................................................... 423.5 Seri Protokol zmleyici Yazlmlarnn Tablo halinde Karlatrlmas .......... 45

    4. LABVIEW GELTRME ORTAMI ve TMLEK DEVRELER ARASI

    PROTOKOL UYGULAMALARI ........................................................................ 47

    4.1 LabVIEW ............................................................................................................... 474.1.1 LabVIEW Ortam .................................................................................................. 484.1.1.1 n panel ................................................................................................................. 484.1.1.2 Blok ema .............................................................................................................. 484.1.2 LabVIEW Gelitirme Paketleri ............................................................................. 494.2 LabVIEW Destekli Tmleik Devreler Aras Protokol Yazlmlar ..................... 494.2.1 ARM Mikrodenetleyiciler iin NI Gml Modl ............................................. 494.2.2 NI8451 Genel Amal Seri Haberleme Modl ................................................ 524.2.3 Telos Veri yolu Okuyucu ...................................................................................... 54

    5. MKRODENETLEYCL ENDSTRYEL SER PROTOKOL

    ZMLEYC SSTEM .................................................................................... 58

    5.1 Seri Protokol zmleyici Sisteminin Donanm ................................................. 59

    6. MKRODENETLEYCL ENDSTRYEL SER PROTOKOL

    ZMLEYC SSTEMNN YAZILIMI ......................................................... 61

    6.1 Kiisel Bilgisayar Yazlm .................................................................................... 616.1.1 Seri Protokol zmleyici Ynetim Paneli ........................................................... 616.2 Mikrodenetleyici Yazlm ..................................................................................... 666.2.1 Ana Dng ve Tu leme Yazlm ...................................................................... 686.2.2 Ynetim Katman ile Haberleme Yazlm .......................................................... 716.2.3 Veri yolu rnekleyici Yazlm ............................................................................. 726.2.4 Protokol zmleyici Yazlm ............................................................................. 73

    7. SONULAR ve TARTIMA ............................................................................... 75

    KAYNAKLAR ......................................................................................................................... 78

  • iv

    EKLER ..................................................................................................................................... 80

    EK 1 DS89C450 Datasheet ...................................................................................................... 81

    EK 2 DS89C450 Users Guide ................................................................................................. 84

    EK 3 I2C Bus Specification ...................................................................................................... 85

    EK 4 ADuC812 Datasheet ........................................................................................................ 86

    EK 5 NI-8451 Datasheet .......................................................................................................... 87

    ZGEM .............................................................................................................................. 88

  • v

    KISALTMA LSTES

    AGP Hzlandrlm Grafik Portu, (Accelerated Graphics Port)

    ATA leri Teknoloji Balants, (Advanced Technology Attachment)

    ATCA Gelimi Telekomnikasyon leme Mimarisi, (Advanced Telecomunications

    Computing Architecture)

    CAN Denetleyici Alan A, (Controller Area Network)

    CRC evrimli Fazladan Kontrol, (Cyclic Redundancy Check)

    DCS Datlm Denetim Sistemi, (Distributed Control System)

    DPTR Veri aretisi, (Data Pointer)

    DSP Saysal aret leyici, (Digital Signal Processor)

    EIA Elektronik Endstrileri Anlamas, (Electronic Industries Alliance)

    EMC Elektromanyetik Uyumluluk, (Electromagnetic Compatibility)

    FDL Alan Yolu Veri Balants, (Field Bus Data Link)

    FOIRL Tekrarlayc Aras Fiber Optik Balant, (Fiber Optic Inter Repeater Link)

    FPGA Alan Programlanabilir Kap Dizisi, (Field Programmable Gate Array)

    GB/s Saniyedeki Gigabayt Says, (GigaBytes per second)

    GHz Gigahertz

    GPIB Genel Amal Ara yz Yolu, (General Purpose Interface Bus)

    GT/s Saniyedeki GigaTransfer Says, (GigaTransfer per second)

    GUI Grafiksel Kullanc Ara yz, (Graphical User Interface)

    HDLC Yksek seviyeli Veri Balant Denetimi, (High Level Data Link Control)

    I2C Tmleik Devreler Aras, (Inter Integrated Circuits)

    I2S Tmleik Devreler Aras Ses, (Integrated Interchip Sound)

    IEC Uluslar aras Elektroteknik Komisyonu, (International Electrotechnical

    Commission)

    IEEE Elektrik ve Elektronik Mhendisleri Enstits, (Institute of Electrical and

    Electronic Engineer)

    IP Internet Protokol, (Internet Protocol)

    IPMI Akll Platform Ynetim Ara yz, (Intelligent Platform Management Interface)

    KB Kilobayt, (Kilobyte)

    Kb/s Saniyedeki Kilobit Says, (Kilobits per second)

    KHz KiloHertz

    Km Kilometre, (Kilometers)

  • vi

    LCD Sv Kristal Gsterge, (Liquid Crystal Display)

    LED Ik Yayan Diyot, (Light Emitting Diode)

    LLC Mantksal Balant Denetimi, (Logical Link Control)

    mA MiliAmper

    MAC Ortam Eriim Denetimi, (Media Access Control)

    MB/s Saniyedeki Megabayt Says, (Megabyte per second)

    Mb/s Saniyedeki Megabit Says, (Megabit per second)

    MBP Manchester kodlanm G Yolu, (Manchester-Encoded Bus Powered)

    MHz Megahertz

    MIPS Saniyedeki Komut Says, (Million Instruction per second)

    ms Milisaniye

    OSI Ak Sistemler Ara balants, (Open Systems Interconnection)

    PATA Paralel ATA, (Parallel ATA)

    PCB Baskl Devre Kart, (Printed Circuit Board)

    PCI evresel Eleman Ara balam, (Peripheral Component Interconnect)

    PCIe Hzl evresel Eleman Ara balam, (Peripheral Component Interconnect

    Express)

    PLC Programlanabilir Mantksal Denetleyici,(Programmable Logical Controller)

    PMBus G Ynetim Veri yolu, (Power Management Bus)

    PXI Enstrmantasyon iin PCI Uzants, (PCI eXtensions for Instrumentation)

    RAM Rastgele Eriim Bellei, (Random Access Memory)

    SATA Seri ATA, (Serial ATA)

    SCL Seri Saat, (Serial Clock)

    SDA Seri Veri, (Serial Data)

    SMBus Sistem Ynetim Veri yolu, (System Management Bus)

    SNAP Alt A Eriim Protokol, (Subnetwork Access Protocol)

    SPI Seri evre Eleman Ara yz Yolu, (Serial Peripheral Interface Bus)

    SRAM Duraan RAM, (Static RAM)

    TCP letim Denetimi Protokol, (Transmission Control Protocol)

    TIA Telekomnikasyon Endstrisi Dernei, (Telecommunications Industry

    Association)

    USB Evrensel Seri Yol, (Universal Serial Bus)

    V Volt

    VISA Sanal Enstrman Yazlm Mimarisi, (Virtual Instrument Software Architecture)

  • vii

    VLAN Sanal Yerel Alan A, (Virtual Local Area Network)

    VME Tersine Modler bir Bask Devre Standard, (VersaModular Eurocard)

    VXI Enstrmantaston iin VME Uzants, (VME eXtensions for Instrumentation)

  • viii

    EKL LSTES

    Sayfa ekil 1.1 I2C veri yolu balant ekli. ......................................................................................... 4 ekil 1.2 I2C protokol bit ak rnei. ...................................................................................... 4 ekil 1.3 Cat-5 tipi kablo ile bal RJ-45 konnektr. ................................................................. 5 ekil 1.4 Fiber optik kablo SC/LC. ............................................................................................ 6 ekil 1.5 802.3 MAC erevesi. ................................................................................................. 6 ekil 1.6 SATA kablosu rnei. ................................................................................................. 7 ekil 1.7 Protokol eitleri ve maksimum veri transfer hzlar. ................................................. 8 ekil 1.8 SATA trleri ve baz veri aktarm protokolleri karlatrmas. .................................. 9 ekil 1.9 Modbus a mimari rnei. ......................................................................................... 9 ekil 1.10 Modbus protokol etkileim katmanlar.................................................................. 10 ekil 1.11 PROFIBUS protokol etkileim katmanlar. .......................................................... 11 ekil 1.12 PROFIBUS a. ....................................................................................................... 12 ekil 2.1 rnek bir I2C veri yolu uygulamas. ......................................................................... 16 ekil 2.2 ki mikrodenetleyicili veri yolu balant ekli. ......................................................... 17 ekil 2.3 I2C protokol zelliklerinin uygulanabilirlii ............................................................. 19 ekil 2.4 I2C veri yolunda bit transferi. .................................................................................... 20 ekil 2.5 START ve STOP koullar. ....................................................................................... 20 ekil 2.6 I2C hattnda veri transferi. ......................................................................................... 21 ekil 2.7 Uzlama prosedr annda saat eleme. .................................................................... 22 ekil 2.8 ki master n uzlama prosedr. ............................................................................. 23 ekil 2.9 Bir veri transferi. ....................................................................................................... 23 ekil 2.10 START prosedrnden sonraki ilk bayt. ................................................................. 24 ekil 2.11 Bir master-verici bir slave-alcya 7-bit adres ile erimesi. ..................................... 24 ekil 2.12 Master ilk bayttan sonra slave den okur................................................................. 24 ekil 2.13 Birletirilmi biim. ................................................................................................. 25 ekil 2.14 Master-verici 10-bit adresleme ile bir slave-alcya eriir. ...................................... 25 ekil 2.15 Master-alc 10-bit adresleme ile bir slave-vericiye eriir. ...................................... 25 ekil 2.16 Genel ar adres biimi. ......................................................................................... 27 ekil 2.17 Donanmsal master-vericiden veri transferi. ........................................................... 28 ekil 2.18 Ynetimsel master donanmsal master a bo adres gnderir. ................................ 28 ekil 2.19 Donanmsal master slave aygta veri gnderir. ....................................................... 28 ekil 2.20 START bayt prosedr. .......................................................................................... 29 ekil 2.21 Tek master oklu slave uygulamas rnek blok diyagram. .................................... 31 ekil 2.22 I2C master uygulamas ana ak. ............................................................................ 33 ekil 2.23 I2C master uygulamas alma ve gnderme ak. .................................................... 34 ekil 2.24 I2C slave uygulamas ak. ..................................................................................... 35 ekil 3.1 BusBee seri protokol zmleyici. ............................................................................ 36 ekil 3.2 MCC I2C/SMBus protokol zmleyici. .................................................................. 38 ekil 3.3 Bilgisayar yazlm mesaj ak penceresi................................................................... 39 ekil 3.4 Model JI-210 I2C protokol zmleyici. ................................................................... 40 ekil 3.5 Bilgisayar yazlm ana penceresi. ............................................................................. 41 ekil 3.6 Beagle I2C /SPI protokol zmleyici. ..................................................................... 42 ekil 3.7 Bilgisayar yazlmnn I2C protokol ak penceresi. ................................................ 43 ekil 3.8 I2C protokol kayd veri ak penceresi. ................................................................... 43 ekil 3.9 I2C protokol kayd zaman ak penceresi ................................................................ 44 ekil 3.10 Beagle ve dier zmleyicilerin karlatrmas .................................................... 44 ekil 4.1 National Instruments ARM mikrodenetleyicili donanm modl. ............................ 49

  • ix

    ekil 4.2 ARM I2C konfigrasyon referans yaratma sanal cihaz. .......................................... 50 ekil 4.3 ARM I2C referans kapatma sanal cihaz. .................................................................. 50 ekil 4.4 ARM I2C yazma okuma sanal cihaz. ....................................................................... 51 ekil 4.5 National Instruments genel amal donanm. ........................................................... 52 ekil 4.6 I2C haberlemesi temel programlama modeli. .......................................................... 52 ekil 4.7 I2C referans yaratma sanal cihaz. ............................................................................. 53 ekil 4.8 I2C okuma sanal cihaz. ............................................................................................. 53 ekil 4.9 I2C yazma sanal cihaz. ............................................................................................. 53 ekil 4.10 I2C yazma okuma sanal cihaz................................................................................. 53 ekil 4.11 Cihaz referans kapatma sanal cihaz. ...................................................................... 53 ekil 4.12 Telos Conii MM 2.0. ............................................................................................... 54 ekil 4.13 I2C yazma sanal cihaz blok emas. ....................................................................... 55 ekil 4.14 I2C yazma sanal cihaz n paneli. ............................................................................ 55 ekil 4.15 I2C referans yaplandrma sanal cihaz. ................................................................... 55 ekil 4.16 I2C referans kapatma sanal cihaz. .......................................................................... 55 ekil 4.17 I2C yazma okuma sanal cihaz................................................................................. 56 ekil 4.18 I2C okuyucu etkinletirme sanal cihaz. .................................................................. 56 ekil 4.19 I2C okuyucu veri aktarc sanal cihaz. .................................................................... 56 ekil 5.1 Seri protokol zmleyici sistemin fiziksel grnm. ............................................ 60 ekil 6.1 Kiisel bilgisayar ynetim paneli. ............................................................................. 62 ekil 6.2 Seri port ayar sekmesi. .............................................................................................. 62 ekil 6.3 Cihaz ynetim sekmesi. ............................................................................................. 63 ekil 6.4 Ynetim haberlemesi mesaj yaps. ......................................................................... 63 ekil 6.5 Protokol zmleyici sekmesi. .................................................................................. 64 ekil 6.6 Veri yolu okuyucu sekmesi. ...................................................................................... 65 ekil 6.7 Yazlm blok diyagram. ............................................................................................ 66 ekil 6.8 Mikro denetleyici giri/k yaps. .......................................................................... 67 ekil 6.9 Ana dng ak. ........................................................................................................ 69 ekil 6.10 Tu ileme ak. ...................................................................................................... 70 ekil 6.11 Mesaj ileme ak. .................................................................................................. 72 ekil 6.12 I2C zmleyici durum makinesi. ........................................................................... 73

  • x

    ZELGE LSTES

    Tablo 2.1 Sakl adresler. ........................................................................................................ 27Tablo 3.1 Protokol zmleyici sistemlerin genel olarak karlatrmas ............................. 45Tablo 3.2 Protokol zmleyici sistemlerin teknik adan karlatrmas ............................ 46Tablo 3.3 Protokol zmleyici sistemlerin ekonomik adan karlatrmas ...................... 46Tablo 4.1 LabVIEW gelitirme paketleri karlatrlmas .................................................... 49Tablo 7.1 Tasarlanan seri protokol zmleyici sistemin zellikleri .................................... 76

  • xi

    NSZ

    Endstri gelitike veri aktarm ve haberleme yetenekleri de gelimektedir. Bununla birlikte elektronik cihazlardaki bilgi aktarm daha da nemli hale gelmektedir. Pek ok mikro denetleyici ve mikro ilemcinin evre birimleri ile haberlemesinde seri protokollerin kullanlmas seri protokol zmleyicileri bir ihtiya haline getirmektedir. Seri protokol zmleyiciler ile hatalar ayklanarak tasarmlarn hzl bir ekilde tamamlanmas salanmaktadr. Tez almasnda, gnmzde oka kullanlan seri haberleme protokollerinden bazlar tantlm, bu protokoller iinden zel olarak I2C seri protokoln izleyen ve zmleyen bir yazlm tasarlanmtr. Tasarm, I2C protokolne uygun zmleme yapan ayrca elde edilen verileri hem donanm zerinde kullancya aktaran hem de bilgisayar ortamnda LabVIEW program ile izlenip ynetilen bir yazlm tasarm olarak zellemitir.

    Yksek lisans tez almam iin birlikte almay kabul eden, almama yn veren ve kstl zamanna ramen yardmc olan Yrd. Do. Dr. Tuncay UZUN a, tez aamasna gelmeden ders aldm ve Yksek Lisans eitimimde bilgi birikimlerinden istifade ettiim tm hocalarma, zellikle her dersinde rendiklerimizi farkl bak asyla yeniden sorgulatan Prof. Dr. Vedat Tavanolu na, ortak alma ile ortaya koyduum tezimin fikir sahibi olan ve tezin donanmyla ilgili her konuyu stlenip kalan zamannda yazlmda yardmc olan Elektronik ve Haberleme Mh. Cihan TORUN a teekkr ederim.

  • xii

    ZET

    Mikroilemcili sistem tasarmlarnda tmleik devrelerin haberleme ihtiyacnn kolay, hzl ve gvenilir bir ekilde karlanmas gereklilii seri haberlemenin yaygn bir ekilde kullanlmasnda etken olmutur. Endstri gelitike bu geliime uygun seri protokoller tasarlanm ve ihtiyaca gre farkl endstriyel sektrlerde kullanlmtr. Bu tez almas ile seri protokol zmleyici bir yazlm tasarm amalanmtr.

    Tez metninin birinci blmnde endstriyel sistemlerde kullanlan seri iletiim protokolleri aratrlm ve bu protokollerden bazlar hakknda bilgi verilmitir. kinci blmde I2C protokol standard hakknda detayl bilgi sunulmutur. nc blmde seri protokol zmleyici uygulamalar aratrlmtr. Bunlardan seilen baz seri protokol zmleyici cihazlar tantlm ve yetenekleri ortaya konmutur. Drdnc blmde LabVIEW gelitirme ortam ve uygulamalar hakknda bilgi verilmitir. Beinci blmde tasarmn alma ekli ve yaps genel olarak anlatlmtr, sistemin donanm genel olarak tantlmtr. Donanm tasarm, ortak altm Elektronik ve Haberleme Mh. Cihan Torun tarafndan yaplmtr. Beinci blmde ynetim ara yz tantlmtr. LabVIEW gelitirme ortam ile ilgili genel bilgi verilmi ve ynetim paneli tasarm anlatlmtr. Altnc blmde seri protokol zmleyici mikro denetleyicisi tantlmtr. Yazlm ak diyagramlaryla ortaya konmu, yazlm bloklar tantlmtr. Seri protokol rnekleyen, I2C protokolne gre zmleme yapan ak diyagram bu blmde sunulmutur. Son blmde ise tasarmn baars, avantaj ve dezavantajlar ortaya konmutur. Aratrlm seri protokol zmleyici sistemlerin yazlm ile tez almas arasnda karlatrmal bilgiler sunulmutur.

    Mikro denetleyicili endstriyel seri protokol zmleyici sistemin program ile amalanan basit, gelitirilecek yazlmlara taban oluturacak, tanabilir bir seri protokol grntleyici ve zmleyici bir yazlm tasarlamaktr. Tasarm zelletirilerek I2C protokolne uygun zmleme yapan bir yazlm olarak gereklenmitir. Hem donanm zerinde izleme hem de bilgisayar ile izleme yeteneklerinin tasarm birlikte amalanmtr. Sistemin donanm ile sistem zerinde ynetim ara yz bir baka tez konusu olarak tamamlanmtr. Yazlm ve kiisel bilgisayar ynetim katman bu tezin konusudur.

    Anahtar Kelimeler: Seri protokol zmleyici, LabVIEW, Mikrodenetleyici

  • xiii

    ABSTRACT

    The necessity of simple, fast and reliable communication between integrated circuits in system designs with microprocessor, became a factor in using serial communication widespread. When industry grows up, matching serial protocols are implemented and used in different industrial areas. The scope of this thesis is to design a serial protocol analyzer software.

    In the first chapter, some serial communication protocols, which are used in industrial systems, are studied and explained. In the second chapter I2C protocol specifications are given. In the third chapter, serial protocol analyzer applications are studied and some chosen serial protocol analyzer devices are introduced with narrating abilities of these devices. In the fourth chapter general knowledge about LabVIEW development platform is given and applications are introduced. In the fifth chapter, system design in general and method of operation are explained and hardware design of the system is also explained generally. Hardware design and all implementation of it is done by Electronics and Communication Engineer Cihan Torun. In the sixth chapter, user interface of serial protocol analyzer is introduced and microcontroller, which is used in serial protocol analyzer hardware, is also introduced and its software is explained with flow charts and software block diagrams. Serial protocol sampler and I2C protocol analyzer flow chart are introduced in this chapter. In the last chapter, design accomplishment, advantages and disadvantages are explained. Comparison between previously studied serial analyzer software and this thesis are given in this section.

    The main aim with this microcontrolled industrial serial protocol analyzer system is to design a simple, available for improving software, portable serial protocol monitor and analyzer system. The design is specialized and implemented according to I2C protocol. Both in system monitor and computer based monitor are intended. Hardware design and in system monitor design are discussed in other thesis. Software design and computer based monitoring are discussed in this thesis.

    Keywords: Serial protocol analyzer, LabVIEW, Microcontroller

  • 1

    1. GR

    Veri iletiim teknolojileri, endstrideki yerini ve nemini arttrarak gelimeye devam

    etmektedir. Bununla birlikte iletiimin znde yatan, en uzaa, en az g harcayarak, en az

    hata veya grlt ile bilginin aktarlmas kanunu deimemektedir. Bu kstaslar bilgi

    aktarmnn kalitesini belirleyen ana unsurlardr. Veri iletiim sistemlerinde veri iletim ekli

    paralel ve seri olmak zere iki ana grupta toplanabilir. Paralel iletiim, verilerin bir darbe

    zamanlamas ile bir btn olarak bir anda iletilmesi eklinde tanmlanr. Bu iletiim genelde

    ksa mesafelerdeki veri aktarmlarnda kullanlr. Seri iletiim ise her iletilen veri biti iin bir

    zamanlama darbesi kullanlr. Bu haberleme ekli uzun mesafedeki veri iletiimlerinde

    kullanlr.

    1.1 Veri letiim Protokolleri

    Veri gnderme ve alma ileminde ortaya konan kurallar protokol eklinde tanmlanr. Bu

    protokoller iki ana grupta snflandrlrlar:

    Senkron letiim (E zamanl olan) Asenkron letiim (E zamanl olmayan)

    1.1.1 Senkron seri veri iletiimi

    Senkron Seri Veri letiiminde haberleecek olan iki cihaz veya u birim ncelikle

    birbirleriyle e olmak, baka bir deyile, e zamanl almak iin zel karakterler atarak

    anlamaya alrlar. Bu ekilde e kalabilmek iin srekli senkronizasyon karakteri atlr.

    Veri transferi olmasa bile sabit bir veri ak daima bulunur. Bu ekilde her iki u birim,

    birbirinin eleme durumlarn bilirler.

    Senkron iletiim, Asenkron iletiime gre daha hzl veri transfer hzlarna eriebilir nk her

    gnderilen verinin bana ve sonuna konan balang ve biti karakterleri senkron

    haberlemede yoktur. Blok halinde bir ereve yapsnda transfer edilerek daha hzl bir veri

    iletiimi salanm olur.

    1.1.2 Asenkron seri veri iletiimi

    Asenkron Seri Veri letiiminde ise elemeye, senkronize olmaya gerek yoktur. Dolaysyla

    senkronizasyon karakterleri atlmadndan srekli veri ak da yoktur. Bu ekilde ilemciler

    senkronizasyon karakterlerinin ilemek iin g harcamazlar. Buna ramen her gnderilen

  • 2

    verinin balangc ve sonu iaretlenmelidir. Bu ekilde yaplan iaretlemeler transfer hznn

    dmesine sebep olur.

    1.2 Endstride Kullanlan Baz Haberleme Protokolleri

    Endstride ska kullanlan haberleme protokollerinden bazlar aadaki gibidir[1]:

    lem Alan Veri yolu (PROFIBUS, Process Field Bus) Denetleyici Alan A (CAN, Controller Area Network) Kontrol Otomasyon Teknolojisi iin Ethernet (EtherCAT, Ethernet for Control

    Automation Technology)

    Veriyollar Aras Protokol (InterBus) Anayol Adreslenebilir Uzak evirici Protokol (HART Protocol, Highway Addressable

    Remote Transducer Protocol)

    Modbus Mekatronik Hareket Alan A (Mechatrolink) Mitsubishi Electric tarafndan gelitirilen bir protokol (MelsecNet/10) Seri Gerek Zamanl Haberleme Sistemi (SERCOS, SErial Real-time COmmunication

    System)

    Hizmet stei Transfer Protokol (SRTP, Service Request Transfer Protocol) Siemens tarafndan gelitirilen bir protokol (Sinec H1) Bir Hareket Alan A Protokol (SynqNet) TTTech Computertechnik AG tarafndan gelitirilen klasik ethernet protokolne ek servis

    protokol (TTEthernet)

    Bristol Babcock Inc. tarafndan gelitirilen Asenkron Protokol (BSAP, Bristol Standard Asynchronous Protocol)

    Ev Otomasyonu ve Denetleme A (BACnet, Building Automation and Control network) Kapal evrim Kontrol A (C-Bus, Clipsal Bus) Saysal Adreslenebilir Aydnlatma Arayz (DALI, Digital Addressable Lighting

    Interface)

  • 3

    Saysal aret Arayz (DSI, Digital Signal Interface) Ev Otomasyonu Bilgi Alveri Arayz (oBIX, Open Building Information Exchange) Kablosuz A Protokol (ZigBee) Uluslar aras Elektroteknik Komisyonu 61850 G Sistemleri Standard (IEC 61850,

    International Electrotechnical Commission 61850)

    Uluslar aras Elektroteknik Komisyonu 60870-5-101 G Sistemleri Grntleme, Ynetimi ve Haberleme Standard (IEC 60870-5-101, International Electrotechnical

    Commission IEC 60870-5-101)

    Uluslar aras Elektroteknik Komisyonu 60870-5-101 G Sistemleri Grntleme, Ynetimi ve Haberleme Standard ek Protokol (IEC 60870-5-104, International

    Electrotechnical Commission IEC 60870-5-104)

    Datlm A Protokol (DNP3, Distributed Network Protocol) Yerel Balant A (LIN, Local Interconnect Network) Otomotiv A Haberleme Protokol (FlexRay) oklu Ortam Amal Sistemleri Balama Protokol (MOST, Media Oriented Systems

    Transport)

    Tat Alan A (VAN, Vehicle Area Network) Yukarda maddelenmi protokol trlerini eitlendirmek mmkndr. Bunlarn iinde en

    yaygn olanlarndan birka aadaki gibidir.

    1.2.1 Tmleik devreler aras protokol (I2C)

    Tmleik devreler aras (I2C, Inter Integrated Circuit) protokol ve donanm Philips adl

    elektronik firmas tarafndan gelitirilmitir. Ama ayn kart zerinde bulunan tmleik

    devrelerin haberlemesini salamaktr. 1982de gelitirilen protokoln 1992 ylnda teknik

    tanmlamalar yaynlanmtr. Srm 1.0 olarak yaynlanan bu tanmlamalar eksikleri

    grldke ve teknoloji ile yeni yetenekler eklenip 2007de Srm 3.0 ile son halini

    almtr[2].

  • 4

    ekil 1.1 I2C veri yolu balant ekli.

    Ksaca baz zellikleri aadaki gibidir:

    Veri yolu sadece 2 telden olumaktadr. Biri saat iaretini (SCL, Serial Clock Line), dieri veriyi (SDA, Serial Data Line) srmektedir.

    Veri yoluna balanan her cihaz kendisine atanan bir esiz adres zerinden yazlm ile eriilebilir.

    Ayn anda iki cihaz Master olmak isteyebilir. Bu durumu karlayp sadece bir master seilmesini salayacak ekilde tasarlanmtr.

    Veriler 8 bit zerinden seri bir ekilde aktarlr. 4 hz seenei vardr. Standart Mod da en ok 100 Kb/s, Hzl Mod da 400Kb/s,

    Gelitirilmi Hzl Mod da 1Mb/s ve Yksek Hzl Mod da 3.4Mb/s hzda veri aktarlr

    [3][19].

    ekil 1.2 I2C protokol bit ak rnei.

    Tasarmc asndan avantajlar aadaki gibidir:

    Blok diyagramlarn gereklenmesi abuk olur. Tasarmc 2 tel zerine bal fonksiyonel bloklar basite ekleyip karabilir.

    I2C veri yolu iin ayrca bir balant ara yz tasarlamaya gerek yoktur. Veri yolu ara yz balants zaten tmleik devrelerin kendinde mevcuttur.

  • 5

    Adresleme ve veri aktarm protokol, hattn tmn yazlmn kontrolnde brakmaktadr. Bu da yazlm ile istenilen cihaza, protokol dhilinde istenilen komutun

    verilebilmesini salamaktadr.

    Donanm ve yazlm olarak olduka basit olmas hat zerinde hata ayklamay kolaylatrmaktadr.

    1.2.2 Ethernet

    Ethernet, belli sayda telin kullanld ve sinyalleme kurallar nda verinin iki ynl

    olarak bir ereveye konup iletildii bir a teknolojisidir. Ethernet ilk olarak 1973 ile 1975

    yllar arasnda Xerox PARC adl aratrma ve gelitirme merkezinde ortaya atlmtr. ok

    noktal ve Giriim Alglamal Veri Haberleme Sistemi olarak ad konan ve Amerika da

    patentleen bu teknolojiyi gelitiren Robert Metcalfe, Xerox da aratrma ve gelitirme

    blmnde alan biridir. Kendisinden istenen, yeni retecekleri ilk lazer yazcya tm

    bilgisayarlarn balanarak kt almalarn salayan bir sistem gelitirmesiydi. Bu durumda en

    iki konunun zorluu ortaya konmaktayd: tm bilgisayarlarn eriebilecei bir a kurmak ve

    bu an tm bilgisayarlarn eriimi iin altyapnn yeterli hzda olmasyd. imdi ise uluslar

    aras alanda bilgisayar endstrisinde bir standart olan Ethernet bilgisayar alarnda yaygn

    olarak kullanlmaktadr[4].

    ekil 1.3 Cat-5 tipi kablo ile bal RJ-45 konnektr.

    Ethernet in kablo tipi ile bu kablolarda tanacak verinin nasl bir ereve yapsnda olaca

    gibi pek ok soru IEEE tarafndan standart hale getirilmi ve bu kurallar zerine pek ok yeni

    haberleme ereve tanmlar retilmitir. Bu retilen tanmlar daha ok verinin nasl bir

    ekilde dizilecei veya verinin nnce konacak baln nasl dzenlenecei ile ilgili yaplan

    gelitirmelerdir. Farkl ortamlardan ve farkl hzlarda verileri iletmek iin yntemler vardr.

    Bunlarn en ok kullanlanlar unlardr: 10BASE-T, 100BASE-TX ve 1000BASE-T. Her

    de bkl tel iftlerinden oluur ve 8P8C modler konnektr tipindedir (RJ-45). Her biri

    srasyla 10Mb/s, 100Mb/s ve 1Gb/s hzlarnda veri iletebilirler. 1000BASE-T standard daha

  • 6

    ok ksa mesafede kullanlr. Bir dier veri iletim ortam ise Fiber Optik tir. Daha ok alt

    yap yatrmlarnda ve yksek veri trafiinin olduu ana hatlarda kullanlr. Son kullancya

    kadar Fiber optik malzemenin tanmas maliyeti olduka arttrdndan yalnzca bu ekilde

    altyapda kullanlr. Avantajlar, veri transfer hznn yksek olmas (1Gb/s 100Gb/s),

    izolasyon olarak iyi yaltlmas ve uzun mesafelerde kullanlabilir olmasdr (10km).

    ekil 1.4 Fiber optik kablo SC/LC.

    Hat zerindeki veri paketi bir ereveyi oluturur. Veri paketinden nce ve sonra balk ve

    kuyruk eklenir. Bunlar; Preamble, Start-of-Frame-Delimiter ve CRC-32 dir. Aadaki

    ekilde bir Ethernet erevesi grlmektedir. Paketin soldan balamaktadr. Saa doru

    kuyrua uzanmaktadr. Sonuna eklenen CRC-32, paketin dorulamas iin kullanlr.

    ekil 1.5 802.3 MAC erevesi.

    Baz ereve tipleri aada standartlam adlaryla sralanmtr.

    Ethernet Version 2 IEEE 802.3 IEEE 802.2 LLC IEEE 802.2 LCC/SNAP IEEE 802.1Q VLAN Baz veri aktarm ortam standartlar aadaki gibi sralanabilir[5].

    lk Gelitirilen Standartlar: 10BASE5, 10BROAD36, 1BASE5 10Mb/s Ethernet: 10BASE2, 10BASE-T, FOIRL, 10BASE-F, 10BASE-FL, 10BASE-FB,

    10BASE-FP,

  • 7

    Hzl Ethernet: 100BASE-T, 100BASE-TX, 100BASE-T4, 100BASE-T2, 100BASE-FX Gigabit Ethernet: 1000BASE-T, 1000BASE-SX, 1000BASE-LX, 1000BASE-CX 10 Gigabit Ethernet: 10GBASE-SR, 10GBASE-LX4, 10GBASE-LR, 10GBASE-ER,

    10GBASE-SW, 10GBASE-LW, 10GBASE-EW, 10GBASE-T

    1.2.3 Seri ileri teknoloji balants (SATA)

    Seri ileri teknoloji balants (SATA, Serial Advanced Technology Attachment), bilgisayar

    donanm ierisinde bir veri tama teknolojisidir. 2003 ylnda endstriye sunulmutur. Veri

    depolama cihazlarn (Hard-disk), optik srcleri ortak veri yoluna balayan ve

    uyumlandran bir ara yzdr. Gnmzde SATA ara yz uyumlandrclar neredeyse tm diz

    st ve masast bilgisayarlarn ana kartlarnda bulunmaktadr[6].

    ekil 1.6 SATA kablosu rnei.

    SATA, eski tasarm ATA standartlarnn yerini almas iin tasarlanmtr. Bundan nceki ara

    yz PATA yani Paralel ATA standard idi.

    SATA ile PATA arasndaki farklar ksaca aadaki gibi snflandrlabilir[7].

    PATA paralel bir veri yolu zerinden bilgi tar. SATA ise seri bir veri yoludur. PATA 40/80 pin, SATA 7 pin kullanr. Bylece kablo fazlalndan kurtulmu olunur.

    Ayrca maliyet der.

  • 8

    Veri transfer hz ve verinin gvenli tanmas asndan SATA ara yz stndr. SATA ile Full Duplex veri iletiimi salanabilir. SATA ile bal cihazlar How Swap ile alma annda sklp taklabilir.

    ekil 1.7 Protokol eitleri ve maksimum veri transfer hzlar.

    Alt seviye komutlarn hepsi SATA ve PATA iin ayndr. Dntrc kullanarak birbirine

    dntrlebilir. ekil 1.7 de grld gibi SATA I, 150 MB/s hzda veri transferi, 1.5 Gb/s

    hzda sinyalleme yeteneine salamaktadr. Gnmzde kullanlan mekanik hard disk

    srcleri en fazla 127 MB/s hznda veri aktarabilir. SATA I burada yeterli grlebilir ancak

    yksek performans Flash Disk srcleri 200 MB/s hznda veri transferi yapabilir. Sonralar

    gelitirilen SATA II, bu ihtiyac karlayabilir. 300 MB/s hznda veri transferi, 3 Gb/s hznda

    sinyalleme yeteneine sahiptir[8]. Ayrca Dahili Komut Sralama yetenei ile hard disk

    okuyucu kafasnn en yakn olduu blgedeki komutu ne ekip etkin komut yrtme zellii

    eklenmitir.

  • 9

    ekil 1.8 SATA trleri ve baz veri aktarm protokolleri karlatrmas.

    1.2.4 Modbus protokol

    Modbus, bir seri haberleme protokol olup OSI Modeline gre uygulama katmannda yer

    alr. stemci ve sunucu aras haberlemeyi pek ok farkl fiziksel veri yolu veya a zerinden

    salayabilir.

    Modicon PLC ler iin gelitirilen bu haberleme protokol 1979 da endstride kullanlmaya

    balanmtr.

    ekil 1.9 Modbus a mimari rnei.

  • 10

    Modbus bir istek/cevap protokol olup fonksiyonel kodlar ile sistem ynetimini salar.

    Sistemde yalnzca bir adet ynetici bulunur. 247 adet istemci (slave) bulunabilir[9].

    stemcilerde oluacak hata durumlar yneticiye geri besleme olarak iletilemez. Ynetici

    istemcileri tarayarak bu durumdan haberdar olabilir.

    Ethernet zerinden TCP/IP ile tanabilir[10].

    Asenkron veri haberlemesinin kullanld pek ok katman zerinden bu protokol

    koturulabilir. (EIA/TIA-232-E, EIA-422, EIA/TIA-485-A; fiber, radyo)

    ekil 1.10 Modbus protokol etkileim katmanlar.

    1.2.5 lem alan veri yolu protokol (PROFIBUS)

    lem alan veri yolu (PROFIBUS, Process Field Bus), bir zellemi Field Bus zmdr.

    1989 ylnda Almanya da gelitirilmitir. Hem ayrk hem de ilem (proses) uygulamalarn

    esiz bir ekilde tmyle kapsar. ki tip PROFIBUS eidi bulunur: PROFIBUS DP

    (Decentralized Peripherals), PROFIBUS PA (Process Automation). Yaygn olarak DP eidi

    kullanlr[11].

  • 11

    ekil 1.11 PROFIBUS protokol etkileim katmanlar.

    PROFIBUS DP zm daha ok ayrk otomasyonda kullanlr. rnein bir fabrika iinde

    alglayclar, rleler gibi ynetilmesi gereken cihazlarla ana kumanda denetleyiciler arasnda

    kullanlr.

    Bkl ift kablolar ile Fiber optikler zerinden 12Mb/s hzda veri transferi yaplabilir.

    126 Cihaz bir PROFIBUS DP kablosuna balanabilir[12].

    retim Otomasyonu, Tayc Sistemler, Montaj Hatlar, Karmak Bask Makineleri ve

    Robot Hcrelerinde kullanlr.

    Donanm olarak az bir maliyeti vardr ve standart ara yzler kullandndan gncelleme ve

    baka melez sistemlere uydurulabilir.

    PROFIBUS PA zm daha ok lm cihazlarnn gzlemi ve ilem srasndaki verilerin

    elde edilmesi gibi proses mhendisliinin alanna giren konularda kullanlr. Patlama tehlikesi

    bulunan blgelerde kullanlacak en iyi zmdr.

    Hattan geen dk akm, evreyle etkileimi en aza indirerek veri yolundan gnderilen

    sinyallerle oluabilecek bir elektrik arkn engeller.

    Kt yan dk veri transferidir. Yaklak 31.25Kb/s hzda veri aktarm salanr.

    Uygulamaya bal olarak en fazla 32 cihaz bir PROFIBUS PA segmentine balanabilir.

    Intrinsically Safe (IS), IEC 61158-2 gibi veri yolu g gereksinimleri standartlarn

    karlamaktadr.

    Daha ok basn, scaklk gibi lm deerlerinin iletiminde ve ynetiminde kullanlr.

  • 12

    ekil 1.12 PROFIBUS a.

  • 13

    2. I2C STANDARDI

    I2C veri yolu, 50den fazla irket tarafndan retilen 1000in zerinde tmleik devre iin

    uygulanan, bir dnya standarddr [2]. Buna ek olarak, Sistem Ynetim Veri yolu (SMBus),

    G Ynetim Veri yolu (PMBus), Akll Platform Ynetme Ara yz (IPMI) ve Gelimi

    Telekomnikasyon leme Mimarisi (ATCA) gibi deiik kontrol mimarileri iin

    kullanlmaktadr.

    Bu blmde, I2C veri yolunun nasl alt ve alan bir sisteme nasl uygulanaca

    anlatlmtr. eitli iletim modlar tanmlanm ve I2C veri yolu veri transfer, anlama ve

    uzlama emalar hakknda bilgiler verilmitir.

    2.1 I2C Veri yolu Tarihesi

    lk tanmlamalar 1982 ylna kadar uzanmaktadr [2]. Standart Mode (100 Kb/s a kadar) ve 7-

    bit adresleme zelliklerini iermektedir. Hzl Mod, Yksek Hzl Mod ve 10-bit adresleme

    gibi gelitirmeler sonraki srmlerinde yaynlanmtr.

    Srm 1.0 1992

    Bu srm aadaki zellikler ile gelitirilmitir:

    Yazlmla slave adres programlamas kaldrlmtr. Bu zelliin gereklenmesi olduka karmaktr ve kullanlmamtr.

    Dk Hzl Mod kaldrlmtr. Bu mod aslnda I2C standardnn ieriinde yer almaktadr ve bir defa daha belirtilmesine ihtiya kalmamtr.

    Hzl Mod eklenmitir. Bu ekilde 4 kat hzlanarak 400 Kb/s hza eriilmitir. Hzl Mod cihazlar geriye doru uyumludur. Bir I2C sisteminde 0 dan 100 Kb/s a kadar olan tm

    hzlarda alabilirler.

    10-bit adresleme eklenmitir. Bu ekilde 1024 adet slave adres eklenmitir. Eim kontrol ve Hzl Mod cihazlar iin giri filtreleme eklenerek EMC davran

    gelitirilmitir.

    Srm 2.0 1998

    I2C veri yolu dnyaca tannan bir standart olduunda 1000 den fazla tmleik devrede yer

    almaktadr ve 50 den fazla firmaya lisans verilmitir. Yeni uygulamalar iin gerek yksek hz

    ve dk gerilim seviyeleri bir ihtiya olarak ortaya kmtr. Bu srmde aadaki

    gelitirmeler yaplmtr.

  • 14

    Yksek Hzl Mod eklenmitir. 3.4 Mb/s hza kadar veri iletiimi yaplabilir. Yksek Hzl Mod cihazlar Hzl ve Standard Mod cihazlar ile ayn I2C hattna balanabilir.

    Yksek gerilim gerektiren cihazlar ile uyumluluk asndan 2 V gerilim ve altnda besleme gerilimi gerektiren cihazlarn k seviyeleri ve erileri adapte edilmitir.

    Hzl Mod cihazlar iin gereklilik olarak tanmlanan 6 mA akmda 0.6 V k seviyesi kaldrlmtr.

    Yeni cihazlar iin sabit giri seviyesi, hatta bal giri seviyeleri ile deitirilmitir. ift ynl seviye ykselteci iin uygulama bilgi eklenmitir. Srm 2.1 2000

    Bu srm I2C veri yolu tanmlamalarnda aadaki ufak deiiklikleri iermektedir:

    Yksek Hzl Mod da tekrarl START sonrasnda SCL saat sinyali yaylabilir. Yksek Hzl Mod daki zamanlama parametreleri biraz gevetilmitir. Srm 3.0 2007

    Bu srm I2C standardnn son srmdr.

    Blmler yeniden dzenlendi ve ou gereklilik daha da netletirildi. Gelitirilmi Hzl Mod eklendi. Hatt temizleme prosedr eklendi. Seviye ykleltme bilgileri ayr bir dkmana eklendi (AN10441). PR ayarlama ilemi netletirildi. DATDVt ; ve ACKDVt ; srelerine snr getirildi.

  • 15

    2.2 I2C Veri yolu zellikleri

    Tketici elektronii, haberleme ve endstriyel elektronik alanlarnda, birbiriyle ilgisi yokmu

    gibi grnen tasarmlar arasnda benzerlikler vardr. Her sistem aadaki zelliklerine

    sahiptir.

    Akll kontrol devresi: Tek ipli mikrodenetleyici.

    Genel amal devreler: LED-LCD srcleri, RAM, EEROM, A/D ve D/A dntrcleri.

    Uygulama tabanl devreler: Radyo, video sistemleri iin iaret ileme devreleri, scaklk

    sensrleri ve akll kartlar.

    I2C veri yolu, baka I2C veri yollar ile haberleme yaplmasn salayan ip zerinde ara yz

    bulunan aygtlarla uyumlu bir ekilde alr. Bu tasarm yaps, saysal kontrol devrelerinin

    tasarm srasnda karlalan ara yz problemlerinin zmn gerekletirir.

    I2C veri yolunun zellikleri:

    Seri Veri Hatt (SDA) ve Seri Saat Hatt (SCL) olarak isimlendirilen sadece iki veri yolu hatt gereklidir.

    Veri yoluna balanan btn aygtlar, tek bir adresle eriilebilir olmadr ve master/slave ilikisi her zaman gerekletirilebilmelidir.

    ki veya daha fazla master cihazn veri transferi balatmas durumunda akma alglamas ve uzlama yapan ve veri kayplarnn nlenmesini salayan zellikler oklu master veri

    yolu yapsdr.

    Seri, 8 bitlik ift ynl veri transferi, Standart Modda 100 Kb/s, Hzl Modda 400 Kb/s, Gelitirilmi Hzl Modda 1 Mb/s ve Yksek Hz Modunda 3.4 Mb/sa kadar kan

    hzlarda yaplabilmektedir.

    ip zerinde filtreleme, veri hattndaki veri btnln korumak iin, grltnn hatta girmesini engeller.

    Ayn veri yoluna balanacak olan tmleik devre says, maksimum veri yolu kapasitesi ile snrlandrlmtr.

    ekil 2.1 de I2C veri yolu uygulamalarna ait bir rnek grlmektedir.

  • 16

    ekil 2.1 rnek bir I2C veri yolu uygulamas.

    2.3 Tasarmc Asndan Faydalar

    I2C veri yolu ile uyumlu tmleik devreler, bir fonksiyon bloundan, bir prototipe kadar hzla

    gelien bir sistem tasarmnn yaplmasna olanak salar.

    I2C veri yolu uyumlu tmleik devrelerin zellikleri:

    Blok diyagramlarndaki, fonksiyon bloklar gerek tmleik devrelerle uyumludur. I2C veri yolu ara yz ip zerine entegre durumda olduundan, veri yolu ara yzlerinin

    tasarmn yapmak gerekli deildir.

    Tmleik adresleme ve veri transfer protokolleri, sistemlerin daima yazlm tanml olmasn salar.

    Ayn zelliklerdeki tmleik devreler deiik amal uygulamalar iin kullanlr. Tmleik devreler, veri yolu zerindeki hibir devreyi etkilemeden sisteme eklenebilir

    veya sistemden kartlabilir.

    Hata tanmlama ve hata bulma ilemleri kolaydr.

  • 17

    2.4 retici Asndan Faydalar

    ki kablolu, seri I2C veri yolu, ara balantlar en aza indirger bu nedenle tmleik devreler daha az bacaa sahiptir ve ok fazla PCB yolu yoktur. Tm bu nedenlerden dolay, PCB

    ler daha kktr ve daha ucuza elde edilir.

    Tamamen tmleik I2C veri yolu protokol, sistemin adres kod zclerine olan gereksinimini ortadan kaldrr.

    I2C veri yolu uyumlu tmleik devreler, sistem tasarmnn esnek olmasn salar. Bu sayede, temel bir model zerinden gidilerek yeni modellerin gelitirilmesi yaplr.

    2.5 Tmleik Devre Tasarmclar Asndan Faydalar

    Mikrodenetleyici tasarmclar, k bacaklarn muhafaza etmekte zorlanrlar. I2C protokol,

    ayrk adresleme olmakszn deiik evresel donanmlarn balantlarna olanak salar.

    2.6 I2C Veri yolu Protokol

    Seri Veri Hatt (SDA) ve Seri Saat Hatt (SCL), veri yoluna balanan aygtlar arasnda bilgi

    tarlar. Her aygt, tek bir adresle tanmlanr, bu adres sadece bir aygt iin kullanlr ve bunlar

    zelliklerine gre alc veya verici olarak alabilirler. Aygtlar, veri transferi yaparken alc

    ve verici olarak kabul edilselerde, master ve slave olarak da dnlebilirler. Veri yolu

    zerinde, veri transferi balatan master bir aygt, veri transferinin gereklemesi iin saat

    iaretleri retir. Bu durumda, adreslenen dier aygtlar slave olarak kabul edilir.

    I2C veri yolu, oklu master veri yoludur yani veri yolunu kontrol eden birden fazla aygt, veri

    yoluna balanabilmektedir. Master olarak seilen aygtlar genellikle mikrodenetleyicilerdir.

    Bu durumda, I2C veri yoluna balanan iki mikrodenetleyici arasnda veri transferi yapld

    dnldnde elde edilen konfigrasyon ekil 2.2 de grlmektedir.

    ekil 2.2 ki mikrodenetleyicili veri yolu balant ekli.

  • 18

    Master-slave ve alc-verici balantlar I2C veri yolu zerinde bulunur. Bu balantlar kalc

    olmamakla birlikte, veri transferinin ynne bal olarak deiim gstermektedir. Veri

    transferi, aadaki ekilde devam eder;

    1. Mikrodenetleyici Ann, mikrodenetleyici Bye doru bilgi gndermek istedii

    dnlrse:

    Mikrodenetleyici A (master), mikrodenetleyici B (slave)yi adresler. Mikrodenetleyici A (master-verici), mikrodenetleyici B (slave-alc)ya verileri gnderir.

    Mikrodenetleyici A, veri transferini sonlandrr. 2. Mikrodenetleyici Ann, mikrodenetleyici Bden bilgi almak istedii dnlrse:

    Mikrodenetleyici A (master), mikrodenetleyici B (slave)yi adresler. Mikrodenetleyici A (master-alc), mikrodenetleyici B (slave-verici)den verileri alr.

    Mikrodenetleyici A, veri transferini sonlandrr. Bu incelenen durumda, zamanlamadan ve veri transferinin sonlandrlmasndan master olan

    aygtn sorumlu olduu grlmektedir.

    I2C veri yoluna birden fazla mikrodenetleyici balanmas, master olan birden fazla aygtn

    ayn anda veri transferi balatabilmesine olanak salamaktadr. Bu durumda bir problemin

    olumasn engellemek iin bir ynetim oluturulmutur. Bu yntem, I2C veri yolundaki, I2C

    ara yz balantlarnn Lojik Ve lenmi yapda olmasna dayanr.

    Bir veya daha fazla master aygt, veri yoluna bilgi koymak istediinde, ilk olarak 1 iaretini

    reten aygt, dier aygtlardan biri 0 iaretini rettii zaman ynetimi kaybeder. Ynetim

    sresince saat iaretleri, Lojik Ve balantlar yapan master aygtlar tarafndan retilen

    saatlerin senkronize edilmi birleimidir. I2C veri yolundaki saat iaretlerinin retimi, master

    aygtlarn ynetimindedir.

    ekil 2.3 de, I2C veri yoluna ait zorunlu ve seimlik zellikler zetlenmitir.

  • 19

    ekil 2.3 I2C protokol zelliklerinin uygulanabilirlii

    2.6.1 SDA ve SCL iaretleri

    SDA ve SCL hatlar ift ynl hatlardr ve akm kayna veya pull-up diren zerinden,

    pozitif voltaj kaynana balanrlar. Veri yolunun bo olduu durumda, btn hatlar HIGH

    durumundadr. Veri yoluna balanan aygtlarn k seviyeleri, Lojik Ve fonksiyonunu

    gerekletirebilmek iin bir open-drain veya bir open-collectore sahip olmaldr.

    2.6.2 SDA ve SCL lojik seviyeleri

    I2C veri yoluna balanabilen farkl teknolojilerdeki (CMOS, NMOS) aygtlarn eitliliinden

    dolay, lojik 0 LOW ve lojik 1 HIGH seviyeleri sabitlenememitir ve VDD seviyesine

    baldr. Giri referans seviyeleri VDD nin %30 ve %70 ine gre ayarlanmtr.

    2.6.3 Veri Geerlilii

    SDA hatt zerindeki veri, saat iaretinin HIGH durumunda olduu srada sabit olmaldr.

    Veri hattnn HIGH veya LOW seviyeleri sadece SCL hattndaki saat iaretinin LOW

    olduu durumda deiiklik gsterir. Transfer edilen her bir veri biti iin bir saat darbesi

    retilir.

  • 20

    ekil 2.4 I2C veri yolunda bit transferi.

    2.6.4 START - STOP Koullar

    Btn hareketler, START (S) ile balar ve STOP (P) ile sonlandrlr. SCL, HIGH

    durumundayken, SDA hattnn HIGH dan LOW a geii, START kouluyla tanmlanr.

    SCL, HIGH durumundayken, SDA hattnn LOW dan HIGH a geii, STOP kouluyla

    tanmlanr.

    ekil 2.5 START ve STOP koullar.

    START ve STOP koullar, master tarafndan belirlenir. START koulu salandktan sonra

    veri yolu megul durumuna geer ve STOP koulu salandktan bir sre sonra veri yolu

    tekrardan iletim iin hazr hale gelir.

    2.6.5 Bayt Format

    SDA hattna koyulan her bir bayt 8 bit uzunluunda olmaldr. Bir veri transferinde

    tanabilecek bayt says snrszdr. Her bir bayt, en sonunda onay biti ierir ve veri, en

    arlkl bit (MSB) ile transfer edilir.

  • 21

    ekil 2.6 I2C hattnda veri transferi.

    2.6.6 Onay (ACK) ve Onay Yok (NACK)

    Her bayttan sonra onay yer alr. Onay biti, alcnn gnderilen bayt baarl bir ekilde

    aldn ve gnderilecek baka bayt varsa o bayt da alabileceini, vericiye gsteren iarettir.

    Onay iin olan 9. Saat darbesini ieren btn saat iaretleri, master tarafndan retilir.

    Onay iareti u ekilde tanmlanr: Verici, SDA hattn onay saat darbesi sresince serbest

    brakr bylece alc, SDA hattn LOW a eker ve saat iaretinin HIGH periyodu sresince

    LOW durumunda sabit kalmasn salar.

    9. Saat darbesi sresince, SDA, HIGH durumunda kalr, bu durumdaki iaret Onay Yok

    iareti olarak tanmlanr. Master, veri transferini sonlandrmak iin STOP iaretini ve yeni

    transfere balamak iin START iaretini retir.

    2.6.7 Saat Eleme

    Veri yolunda bulunan master aygtlar ayn anda iletime balayabilir, veri yolunun kontroln

    kimin yapacana karar vermek ve iletimi tamamlayabilmek iin bir metot belirlenmitir. Bu

    metot saat senkronizasyonu ve ynetim ile oluturulur. Sistemde tek bir master n bulunduu

    durumda bu metodun kullanlmasna gerek yoktur.

    Saat eleme, I2C ara yz ile SCL balantlarnn Lojik Ve yapda kullanlmasyla

    gerekletirilir.

  • 22

    ekil 2.7 Uzlama prosedr annda saat eleme.

    2.6.8 Uzlama

    Sistemde birden fazla master bulunduu durumda, saat eleme gibi uzlamada protokoln bir

    parasdr. Uzlama prosedr, slave ler iin uygulanmaz. Uzlama, hangi master n

    iletimini tamamlayacana karar verir.

    Uzlama, bit bit ilerler. Bit sresince, SCL, HIGH durumdayken, her master gnderdii

    seviye ile SDA seviyesinin birbirine uyup uymadn kontrol eder. Bu ilem, birok bit iin

    uygulanmaya devam eder. Master aygtlar, iletimler zde olduu srece hata olumadan

    balang akn tamamlar.

    Uzlama ilemi sresince hibir bilgi kayb yaanmaz. Uzlama y kaybeden master aygt,

    uzlama nn kaybedildii yerdeki en son bayt a kadar saat iareti retebilir. Bu aygt veri

    yolu bo olduu durumda ak yeniden balatmaldr.

    ekil 2.8 de, 2 master l sistem iin uzlama prosedr gsterilmektedir.

  • 23

    ekil 2.8 ki master n uzlama prosedr.

    2.6.9 Saat Yayma

    Saat uzatma, SCL hattn LOW seviyede tutarak bir ak durdurmaktr. Hat tekrar HIGH

    seviyeye ekilmeden ak devam ettirilemez. Saat uzatma seimliktir ve aslnda ou slave

    cihazda SCL srcs bu zellii iermez dolaysyla saat uzatmazlar.

    2.6.10 Slave Adres ve Okuma/Yazma Biti

    ekil 2.9 da grlen ekil veri transfer biimini gstermektedir. START (S) durumundan

    sonra bir slave adres gnderilir. Bu adres yedi bit uzunluundadr ve sekizinci bit veri ynn

    gsterir (Okuma/Yazma, WR / ). Bu bit 0 olursa yazma operasyonunu, 1 olursa okuma

    isteini belirtir. ekil 2.10 da bayt biimi gsterilmitir.

    ekil 2.9 Bir veri transferi.

  • 24

    ekil 2.10 START prosedrnden sonraki ilk bayt.

    Baz veri transfer biimleri aadaki gibidir:

    Master-verici, slave-alcya gnderir. Transfer yn deimez. Slave alc her bayt sonunda onay yollar.

    Master cihaz, slave cihaz ilk bayttan sonra okur. lk onaydan sonra master-verici, master-alcya dnr. Slave-alc da slave-verici ye dnr. lk onay slave tarafndan retilir.

    Sonraki onaylar ise master tarafndan gnderilir. Master, STOP durumundan hemen nce

    onay gndermez.

    Birleik biimi de vardr. Transfer srasnda yn deiimi annda START durumu ve slave adres tekrarlanr ama WR / biti terslenerek yaplr. Eer bir master-alc tekrarl START

    gnderirse, tekrarl START durumunun hemen ncesinde onay gndermez.

    ekil 2.11 Bir master-verici bir slave-alcya 7-bit adres ile erimesi.

    ekil 2.12 Master ilk bayttan sonra slave den okur.

  • 25

    ekil 2.13 Birletirilmi biim.

    2.6.11 10-bit Adresleme

    10-bit adresleme sayesinde muhtemel adres says artar. 7-bit ve 10-bit adreslemeyi kullanan

    cihazlarn ikisi de I2C veri yoluna balanabilir ve tm hzlarda 7-bit ve 10-bit adresleme

    kullanlabilir. Halen 10-bit adresleme yaygn olarak kullanlmamaktadr.

    10-bit slave adres, START (S) durumundan veya tekrarlanm START (Sr) durumundan

    sonra gelen 2 bayt ile oluturulur.

    lk baytn 7 biti 1111 0XX kombinasyonudur yle ki son iki bit (XX) 10-bit adresin en

    arlkl iki bitini oluturur; ilk baytn sekizinci biti ise WR / bitini yani mesajn ynn tayin

    eder.

    10-bit adresleme iin ayrlm adres bitlerinden sekiz muhtemel kombinasyon 1111 XXX

    olmasna ramen sadece drt kombinasyonu 1111 0XX kullanlmaktadr. Kalan drt

    kombinasyon 1111 1XX gelecek I2C gelitirmeleri iin ayrlmtr.

    ekil 2.14 Master-verici 10-bit adresleme ile bir slave-alcya eriir.

    ekil 2.15 Master-alc 10-bit adresleme ile bir slave-vericiye eriir.

  • 26

    7-bit adresleme iin nceden tanmlanm tm okuma/yazma biimleri 10-bit adresleme iin

    de mmkndr. ki ayrnt aadaki gibidir:

    Master-verici 10-bit adresleme ile slave-alcya gnderir. Transfer yn deitirilmez. START durumunu takip eden 10-bit adreste, her alc slave adresin ilk baytnn ilk yedi

    bitini (1111 0XX) kendi adresiyle karlatrr ve sekizinci biti ( WR / yn biti) 0 ile

    karlatrr. Birden fazla cihazn elemesi ve onay (A1) retmesi muhtemeldir. Tm

    eleen alclar ikinci baytn sekiz bitini (XXXX XXXX) kendi adresleriyle karlatrr,

    ancak sadece bir alc eleir ve onay retir (A2). STOP (P) veya tekrarl START (Sr)

    sonras farkl bir slave adres retilmedii srece e alc, verici tarafndan adreslenecektir.

    Master-alc 10-bit adresleme ile slave-vericiden okur. Transfer yn WR / biti sonrasnda deiir.Onay biti A2 ye kadar ve A2 dahil olmak zere master-verici, slave-alc

    adreslemesi ile ayn prosedr iler. Tekrarl START (Sr) durumundan sonra eleen bir

    alc daha nceden adreslendiini hatrlar. Bu alc, tekrarl START (Sr) sonras gelen ilk

    baytn ilk yedi bitini, START durumu (S) sonras gnderilen ilk baytn ilk yedi biti ile

    karlatrr ve sekizinci biti 1 ile bir daha karlatrr. Eer eleirse, slave-alc artk

    verici olarak adreslendiini anlar ve onay retir (A3). STOP durumu veya tekrarl START

    durumunu olumadka slave-verici olarak adreslenir. Bir tekrarl START durumundan

    daha sonra tm dier alclar ilk baytn ilk yedi bitini ve sekizinci biti kendi adresleri ile

    karlatrrlar. Ancak hibiri adreslenemez nk 10-bit adresleme iin WR / biti 1dir.

    7-bit adreslenen alclar iin de adreslenemez. 10-bit adreslenen Slave cihazlar, 7-bit

    adreslenen slave cihazlar gibi genel arya karlk verecektir. Donanm yneticileri

    kendi 10-bit adreslerini genel ardan sonra iletebilirler. Bu durumda genel ar

    adres bayt, master-vericinin 10-bit adresi ile takiplenir. ekil 15 de ilk DATA bayt

    master adresinin en dk arlkl 8 bitini ierir. START bayt 0000 0001 (01), 7-bit

    adreslemede olduu gibi 10-bit adresleme ncesinde de kullanlabilir.

  • 27

    2.6.12 Sakl Adresler

    ki grup sekiz adres Tablo 2.1 de gsterildii gibi baz amalar iin ayrlmtr.

    Tablo 2.1 Sakl adresler.

    Slave Adres WR / biti Tanm

    0000 000 0 Genel ar adresi

    0000 000 1 START bayt

    0000 001 X CBUS adresi

    0000 010 X Dier veri yolu biimleri iin

    ayrlm

    0000 011 X Gelecek amalar iin ayrlm

    0000 1XX X Yksek hzl mod master kodu

    1111 1XX X Gelecek amalar iin ayrlm

    1111 0XX X 10-bit slave adresleme

    Yerel bir sistemde bu adreslerin kullanlp kullanlmayaca sistem tasarmcsna braklmtr.

    Ancak genel bir I2C hatt ile balant olmas durumunda akmalar olaca gz nnde

    bulundurulmaldr.

    2.6.13 Genel ar Adresi

    Genel ar adresi, I2C hattndaki tm cihazlar adreslemek iin kullanlr. Eer bir ihaz

    genel ar adresi ile gelecek verilere ihtiyac yoksa bu adrese onay retmeyerek yoksayabilir.

    Eer bir cihaz bu adres ile gelecek verilere ihtiyac varsa bir onay retecektir. Genel ar

    adresinin anlam ikinci baytta sakldr.

    ekil 2.16 Genel ar adres biimi.

  • 28

    ncelenecek iki durum vardr:

    En dk arlkl bit B, 0 ise En dk arlkl bit B, 1 ise B biti 0 ise ikinci baytn tm aadaki gibi anlamlandrlr:

    0000 0110 (06h): Reset ile yeniden bala ve slave adresin programlanabilir ksmna donanmsal adresini yaz.

    0000 0100 (04h): Slave adresin programlanabilir ksmna donanmsal adresini yaz. 0000 0000 (0h): Bu kod ikinci bayt olarak kullanlamaz. B biti 1 ise ikinci bayt bir donanmsal genel ar olur. Bunun anlam, sistemde hangi

    cihaza veri iletmesi gerektiini bilmeyen ancak kendisini sisteme slave adresi ile duyuran bir

    master cihaz var demektir. Klavye taraycs buna bir rnektir.

    ekil 2.17 Donanmsal master-vericiden veri transferi.

    ekil 2.18 Ynetimsel master donanmsal master a bo adres gnderir.

    ekil 2.19 Donanmsal master slave aygta veri gnderir.

    2.6.14 Yazlmsal Reset

    Bir Genel ar sonrasnda, (0000 0000), ikinci bayt olarak 0000 0110 (06h) baytn

    gndermek yazlmsal reset anlamna gelir.Bu zellik seimliktir ve hibir cihaz buna cevap

  • 29

    vermek zorunda deildir. Bu adrese cevap verebilecek cihazlar ise reset alp donanmsal

    adresleri ile yeniden alrlar.

    2.6.15 START Bayt

    Mikrodenetleyiciler I2C hattna iki ekilde balanabilirler. Bir I2C ara yz donanmna sahip

    mikrodenetleyici hattan gelen kesmeler ile veri akn elde eder. I2C ara yz donanmna

    sahip olmayan bir cihaz ise hatt srekli olarak taramak zorundadr. Byle bir

    mikrodenetleyici ne kadar ok hatt tarmak zorunda kalrsa o kadar az gerek amac iin

    alr.

    Yava mikrodenetleyiciler ile hzl olanlar arasnda hatt tarama sresi asndan farkl lk

    grlr. Bu durumda veri transferi, normal balang prosedrnden ayr olarak daha uzun bir

    ekilde balatlabilir. Bu balang prosedr 4 blmden oluur:

    START durumu (S) START bayt (0000 0001) Onay saat iareti (ACK) Tekrarl START durumu (Sr) Start durumu olarak tanmlanan S oluturulduktan sonra START bayt master tarafndan

    gnderilir. Dier bir mikrodenetleyici de dk hzda hatt rneklerken SDA nn yedi defa

    0 olduu anlar yakalamaldr. Bu durum yakalandktan sonra daha yksek hzda

    rneklemeye geerek bir sonraki 0 durumunu yakalamaya alr. Bylece hatta senkronize

    olur.

    ekil 2.20 START bayt prosedr.

  • 30

    2.6.16 Hatt Temizleme

    Eer SDA hatt LOW seviyesinde takl kalmsa master 9 adet saat iareti retir. SDA hattn

    srekli LOW seviyede tutun cihaz bu 9 saat iareti iinde bir anda SDA hatt brakmaldr.

    Eer brakmyorsa donanmsal reset veya yeniden g vererek zm bulunabilir.

    2.7 I2C Hattnn dier Haberleme Protokolleri ile Kullanm

    I2C hatt birok sistem mimarisi iinde haberleme protokol olarak kullanlmaktadr. Bu

    mimarilerde, temel I2C zelliklerine, uygulamaya zg komutlar veya uzantlar eklenmitir.

    Genel olarak, protokol, fiziksel altyaps ve ara yzleri ayn olmak artyla I2C cihazlarna ek

    giri/k birimleri eklenerek bu mimariler ile haberleme salanabilir.

    2.7.1 CBUS ile Uyumluluk

    CBUS alclar, Standart Mod I2C hattna balanabilirler. Ancak nc bir hat olan DLEN

    balanmaldr ve onay biti yoksaylmaldr. Normal artlarda I2C veri aktarm 8 bayt

    zerinden yrmektedir ancak CBUS uyumlu cihazlarda daha farkl bir format

    uygulanmaktadr.

    2.7.2 Sistem Ynetim Veri yolu (SMBus)

    SMBus, I2C donanmn ve adresleme eklini kullanra ancak ikinci seviye bir yazlm daha

    ekler ve zel bir sistem kurar. Dinamik adres atmalar ve alglamalar iin Adres zmleme

    Protokol koturur.

    SMBus bugn birok kiisel bilgisayarda sistem ynetim hatt olarak kullanlmaktadr.

    2.7.3 G Ynetim Veri yolu (PMBus)

    PMBus, g dntrcleri ile sistem konak birimini SMBus zerinden haberleme

    yntemini daha akll bir ekilde ynetme olarak tanmlanr. SMBus zerinden eriebildii

    iin I2C ile ayn uyumluluk yaplarna sahiptir.

    2.7.4 Akll Platform Ynetim Ara yz (IPMI)

    IPMI, akll platform ynetim donanm zerinde standart, zet, mesaj tabanl bir ara yz

    tanmlar. Bu standartlam hat ve protokol geniletilerek izleme, kontrol, olay takibi gibi

    zellikler ayn asede toplar. I2C tabanldr.

  • 31

    2.7.5 Gelimi Telekomnikasyon leme Mimarisi (ATCA)

    ATCA, kartlar arasnda termal ynetimin salanmas iin hataya toleransl bir I2C haberleme

    emas ortaya koymaktadr.

    2.8 I2C Protokol Uygulamas

    Bu blmde, I2C haberlemesinin endstrideki bir uygulamas verilmitir. Analog Devices

    firmasn rettii MicroConverter adn verdii mikrodenetleyicisinin I2C ara yznde

    kulland yazlm incelenmitir. I2C master ve slave, donanm ve yazlm olarak

    gelitirilmitir. ADuC812 mikrodenetleyicisinin ierisinde bulunan bu donanmn ayrntsna

    kaynaklardan ulalabilir[23].

    ekil 2.21 Tek master oklu slave uygulamas rnek blok diyagram.

    Donanmsal slave ve yazlmsal master olarak iki modda almaktadr. 3 adet zel amal

    kayt (SFR) kullanlmtr.

    I2CADD: MicroConverter cihaznn 7-bit adresini saklar (Varsaylan: 55H). Bu SFR sadece slave modda iken kullanlr.

    I2CDAT: Slave-alc modundayken SDA hattndan alnan veri bu SFR de saklanr. Slave-verici durumda iken master cihazn kontrolnde verinin hatta srlmesini salar.

    I2CCON: Kontrol bitleri, konfigrasyon, master/slave modu gibi ayarlar bu SFR de saklanr.

  • 32

    Bu tanmlanan kaytlarn artlanmasndan sonra MicroConverter cihaz master veya slave

    moddan birinde kullanlabilir.

    2.8.1 I2C Master Uygulamas

    Master program bir START durumu oluturur, slave adres ve WR / biti gnderir ( WR / = 1).

    Sonra slave cihazdan bir bayt alr ve onay gndermez (NACK). Ardndan STOP durumu

    oluturur. Alnan NACK ile slave, mastern bu bayt aldn bilir. Master, START, slave

    adres ve WR / biti gnderir ( WR / = 0). Bu defa master, slave cihaza bir bayt gnderir.

    Gnderdikten sonra onay (ACK) bekler ve STOP durumunu oluturur. Master tarafndan

    nceden alnan bayt UART arayz ile kiisel bilgisayara iletilir. Daha sonra master, tekrar

    okuma ve yazma ilemi ile devam eder.

    Eer UART ara yznden (klavye kullanlarak) bir karakter alnmsa master bu karakterin

    ASCII deerini slave cihaza gnderir. Eer kullanc tarafndan INT0 kesmesi ile balanan

    tua baslrsa k karakteri bir artrlr.

    Bu uygulamann aklar ekil 2.22 ve ekil 2.23 de gsterilmitir.

    2.8.2 I2C Slave Uygulamas

    Slave program bir I2C kesmesi iin bekler. Kesme olutuunda master cihaza bir bayt

    gnderilecek mi yoksa cihazdan bir bayt okunacak m karar verilir. Eer master cihaza bir

    bayt gnderilecekse I2CDAT kaytsndaki veri master kontrolnde hatta srlr. Eer

    master cihazn gnderdii alnacaksa bir sonraki I2C kesmesi sonrasnda okunur. Alm

    tamamlandktan sonra slave cihazn UART arayznden veri kiisel bilgisayara iletilir.

    Program tekrar dngnn bana gider.

    Eer UART ara yznden (klavye kullanlarak) bir karakter alnmsa slave bu bayt yeni

    k karakteri olarak alr ve master tarafndan okunur. Eer kullanc tarafndan INT0

    kesmesi ile balanan tua baslrsa k karakteri bir artrlr.

    Bu uygulamann ak ekil 2.24 de gsterilmitir.

  • 33

    ekil 2.22 I2C master uygulamas ana ak.

  • 34

    ekil 2.23 I2C master uygulamas alma ve gnderme ak.

  • 35

    ekil 2.24 I2C slave uygulamas ak.

  • 36

    3. TMLEK DEVRELER ARASI PROTOKOL ZMLEYC RNEK SSTEMLER

    I2C protokol analiz ve zmleme sistemleri I2C hattn rnekleyerek elektriksel sinyallerin

    durumunun izlenmesini salayan cihazlardr. Bu ekilde veri yolundan geen bilgilerin

    donanm seviyesinden okunmasna ve zmlenmesine olanak tanr.

    Bu blmde I2C protokol zmleyici sistemlerin yetenekleri ve yazlmlar incelenmitir.

    3.1 BusBee Seri Protokol zmleyici

    ekil 3.1 BusBee seri protokol zmleyici.

    USBee Firmasnn eitim ve hobi amal rettii bir seri veri yolu okuyucu cihazdr.

    Firmann, profesyonel kullanclar iin ayrca bir rn yelpazesi bulunmaktadr. Bu rnlerde

    de seri veri yolu okuyucu zellikler bulunmaktadr.

    Cihazn destekledii veri yollar:

    Senkron Seri Veri yolu I2C veri yolu, SPI veri yolu Asenkron seri veri yolu USB veri yolu, CAN veri yolu I2S veri yolu SMBus 1-Wire veri yolu Snr Deerleri:

    SPI - 10MHz Saat areti Asenkron 8MBaud

  • 37

    1-Wire iin tanml deerler CAN 2MBaud I2C 2MHz SCL Senkron 8MHz I2S 8MHz bit saat iareti SMBus 2MHz saat iareti USB Tam hzda Genel zellikleri:

    Veri yolundan elde edilen bilgiler kiisel bilgisayarn diskinde anlk olarak tutulur. Bu bilgiler USB zerinden bilgisayara aktarlr.

    Terabaytlara kadar veri ileyebilir veya depolayabilir. Bilgisayar zerindeki yazlm sayesinde istenilen protokol seilebilir ve istenilen veri ak

    kolaylkla grntlenebilir. Zaman bilgisi konarak deiim sreleri izlenebilir.

    Cihaz zerinde donanmsal ynetim imkan yoktur. Sadece bilgisayar ile ynetilebilir. Bilgisayar yazlm ile daha fazla bilgi edinilememitir. Busbee nin fiyat 295$ dr[13]. USBee firmasnn ayn zellikler dahil baka yetenekler

    de katlm profesyonel cihazlar 800$ dan balamaktadr.

  • 38

    3.2 MCC Tmleik Devreler Aras/Sistem Ynetim Veriyolu Protokol zmleyici

    ekil 3.2 MCC I2C/SMBus protokol zmleyici.

    Micro Computer Corporation (MCC) tarafndan retilen cihaz, I2C ve SMbus veri yollarn okuyabilme, hem donanm zerinde zmleme hem de bilgisayar ile uzaktan

    ynetme zelliklerine sahiptir.

    100 Kb/s hzda veriyi depolayabilir. Start/Stop durumlar, Cihaz Adresleme, Read/Write stekleri, Acknowledge ve Data durumlarn yakalayp zmleyebilmektedir.

    alma Modlar: Veri yolu Durumu zleme, leri/Geri zmleme, Donanm zerinde veya Uzaktan zleme.

    stenilen veri yolu adresini filtreleyerek sadece o adrese gnderilen verileri toplayabilir. Donanm zerinde alrken 2700 mesaj depolayabilir[14]. Uzaktan ynetimde ise

    bilgisayar diski kapasitesince snrldr. Bilgisayara RS232 seri veri yolu zerinden

    baldr.

    7-bit adresleme ile yollanan verileri okuyabilir. 10-bit adresleme yetenei mevcut deildir. Kendi iinde bataryas mevcuttur. 3.3V ve 5V uyumlu alabilir. Fiyat 725$ ile 895$ arasndadr[15]. Ayrca MCC Plus versiyonu ile 400KHz e kadar veri okuyabilir. 256kbayt veri

    depolayabilir. rnekler mikro saniye mertebesinde zaman bilgisi ile iaretlenir. Fiyat

    4000$ ile 4500$ arasndadr.

  • 39

    Bilgisayar Yazlm zellikleri:

    Windows iletim sistemini desteklemektedir. Seri port zerinden bilgi aktarm 19200 veya 57600 baudda gereklemektedir.

    3 adet grntleme modu bulunmaktadr: Gerek zamanl grntleme, Depolanm veriyi grntleme ve Kayt dosyasndan grntleme.

    Gerek zamanl grntleme modunda, cihazn ilk START durumunu yakalamasndan sonraki tm bilgiler bilgisayara aktarlr.

    Depolanm veriyi grntleme modunda ise donanm zerinde son saklanm protokol akn bilgisayara aktarr.

    Kayt dosyasndan grntleme modunda, bilgisayara aktarlan verilerin bir dosyada depolanm hali ekrana yanstlr.

    Slave Adres haritas sayesinde filtrelenmek istenen adresler grsel olarak iaretlenir. Mesaj ak penceresinde bu ekilde istenen protokol ak gsterilebilir.

    ekil 3.3 Bilgisayar yazlm mesaj ak penceresi.

  • 40

    3.3 Jupiter Instruments Tmleik Devreler Aras Protokol zmleyici

    ekil 3.4 Model JI-210 I2C protokol zmleyici.

    JI-210 I2C Protokol zmleyici, kiisel bilgisayar kontroll bir izleme ve zmleme

    cihazdr. Genel zellikleri aadaki gibi sralanabilir.

    Kiisel bilgisayar ara yz RS232 zerinden salanmaktadr. Donanm 32KB a kadar veri depolayabilir. Adres, Veri, START/STOP, ACK/NACK, ereve hatas durumlarn alglayabilir. Veri dalga ekilleri ve I2C mesajlar kiisel bilgisayar ile grntlenebilir. Donanm FPGA tabanldr. I2C modlarndan Standart Mod (100Kb/s), Yksek Hzl Mod (400Kb/s) dahil olmak

    zere 700Kb/s hzna kadar veri rnekleyebilir.

    50ns de bir rnekleme yeteneine sahiptir. rnekleme hz ayarlanabilir. 7-bit ve 10-bit veri adresleme zelliklerini zmleyebilir. 3.3V ve 5V da alabilir. Tetiklenme yetenei ile bir sinyal geii ile kayt balatlp durdurulabilir. rneklere, mikro saniye mertebesinde zaman damgas konabilir. Fiyat 299$ dr[16]. Bilgisayar Yazlm zellikleri:

    Bilgisayar yazlm Windows iletim sistemini desteklemektedir. Seri port zerinden bilgi aktarlmaktadr. 115200 baudda haberlemektedir.

    Serbest alma ve tetiklenme olarak iki alma modu vardr.

  • 41

    Serbest alma eklinde kullanldnda tm paketler ayrt edilmeksizin 32 KB lk RAM alannda depolanr.

    Tetiklenme ile alma eklinde ise harici bir giriten alnan sinyal seviyesi geii ile kayt balatlr veya bitirilir. Bu anlar arasndaki kaydedilmi paketler iaretlenerek kullancya

    yanstlr.

    Tetiklenme zellikleri arasnda adres veya veri filtreleme, 7-bit/10-bit adresleme, yazma/okuma filtreleme, harici tetikleme kapatma/ama yetenekleri gsterilebilir[17].

    Ana pencerede hem sinyallerin zaman aklar hem de protokoln zmlenmi hali grlr.

    ekil 3.5 Bilgisayar yazlm ana penceresi.

  • 42

    3.4 Beagle Tmleik Devreler Aras/Seri evre Birimi Arayz Protokol zmleyici

    ekil 3.6 Beagle I2C /SPI protokol zmleyici.

    Genel zellikleri:

    I2C protokoln 4 MHz lik bit aknda rnekleyip zmleyebilir. Harcanan g 100-125 mA civarndadr. USB zerinden beslenir. 3.3V ve 5V uyumludur. rnekleme hz ayarlanabilir. Genelde SCL hattnn 2 kat ve st rnekleme uygundur

    ancak 4 veya 5 katnda rnekleme tavsiye edilmektedir.

    Protokol zmleyici yazlm kiisel bilgisayarda tutulmaktadr. rneklenen veriler USB ara yz zerinden bilgisayara aktarlr.

    Ar rnekleme durumunda USB de veri ak artacandan kullanc bunu dikkate alarak rnekleme frekansn semelidir. nk ayn USB portu, baka USB ara yz ile alan

    cihazlarla da etkileimde olduundan veri hz dier cihazlarn ve Beagle n almasnda

    sorun yaatabilir.

    Fiyat 300$ dr[18]. Bilgisayar Yazlm zellikleri:

    Data Center adl bir yazlm program kullanlmaktadr. TotalPhase firmasnn bir rn olup I2C, SPI ve USB protokollerini zmleyebilme yeteneine sahiptir. Bu bilgisayar

    yazlm sadece Beagle iin deil baka cihazlarn da protokol zmleyici program

    olarak kullanlabilir. Windows, Linux, MAC OS X iletim sistemlerinde alabilir.

    Ayrca LabVIEW gelitirme ortamn da desteklemektedir.

    Filtreleme ve arama zellikleriyle kullancya istenilen verinin bulunmasnda kolaylk salamaktadr. 256 MB lk kayt tutabilir.

  • 43

    ekil 3.7 Bilgisayar yazlmnn I2C protokol ak penceresi.

    Protokol ak penceresi ile her kaytn durumu grlebilmektedir. Yazma/okuma ak olup olmad, Start/Stop anlarnn yakalanp yakalanmad, her kaytn veri uzunluu ve

    adresi ekil 3.7 da grld gibi belirtilmektedir.

    Protokol ak penceresinde yaplacak seim ile ilgili kaytn zaman ak penceresi ve veri ak penceresi grntlenebilir.

    ekil 3.8 I2C protokol kayd veri ak penceresi.

    Veri ak penceresinde kaytn Start/Stop ve Slave Adres deerleri tutulmaz. Onayl veriler siyah, onaysz veriler krmz ile belirtilerek ekrana ASCII veya Hexadecimal

    tabanda yanstlr.

    Zaman ak penceresinde ise Start/Stop durumlarna kadar tm veri yolu ak ekrana rnekleme zamanlar ile yanstlr.

    7-bit ve 10-bit adresleme kullanlan protokol aklarn filtreleme, onayl/onaysz verileri filtreleme, okuma/yazma aklarn filtreleme zellikleri mevcuttur.

  • 44

    ekil 3.9 I2C protokol kayd zaman ak penceresi

    ekil 3.10 Beagle ve dier zmleyicilerin karlatrmas

  • 45

    3.5 Seri Protokol zmleyici Yazlmlarnn Tablo halinde Karlatrlmas

    Tablo 3.1 Protokol zmleyici sistemlerin genel olarak karlatrmas

    zellik /

    Cihaz

    Desteklenen

    protokoller

    Donanm

    zerinde ynetim

    ara yz

    Bilgisayar

    ile ynetim

    ara yz

    Bilgisayarda

    desteklenen

    iletim sistemi

    LabVIEW

    Destei

    BusBee I2C, SPI,

    Senkron,

    Asenkron,

    USB, CAN,

    I2S, SMBus

    Yok USB Windows Yok

    MCC I2C, SMBus Tu takm +

    Satr Gsterge (2

    x 16)

    RS232 Windows Yok

    Jupiter

    Instruments

    I2C Yok RS232 Windows Yok

    Beagle I2C, SPI Yok USB Windows,

    Linux, MAC

    OS X

    Var

  • 46

    Tablo 3.2 Protokol zmleyici sistemlerin teknik adan karlatrmas

    zellik /

    Cihaz

    Maksimum

    I2C saat hz

    Gerek zamanl

    izleme

    Zaman

    damgas

    Donanmda

    depolama

    kapasitesi

    Bilgisayarda

    depolama

    kapasitesi

    BusBee 2 MHz Var Var Yok Terabaytlar

    mertebesinde

    MCC 100 KHz /

    400 KHz

    Var Yok 2700 mesaj Snrsz

    Jupiter

    Instruments

    700 KHz Yok Var 32 KB 32 KB

    Beagle 4 MHz Var Var Yok 256 MB

    Tablo 3.3 Protokol zmleyici sistemlerin ekonomik adan karlatrmas

    zellik /

    Cihaz

    Fiyat

    BusBee 299 $

    MCC 725 $ - 4000 $

    Jupiter

    Instruments

    300 $

    Beagle 295 $

  • 47

    4. LABVIEW GELTRME ORTAMI ve TMLEK DEVRELER ARASI PROTOKOL UYGULAMALARI

    Bu blmde ynetim platformu olarak kullanlan LabVIEW gelitirme ortamnn tantm

    yaplm ve uygulamalarndan adet rnek sunulmutur. Bu rnek uygulamalarn

    LabVIEW da gelitirilen sanal cihazlarnn giri/k bilgileri ve fonksiyonlar anlatlmtr.

    Her uygulama iin ayrntl bilgiye kaynak ksmndan eriilebilir.

    4.1 LabVIEW

    LabVIEW veri toplama ve lm sistemleri iin yksek retkenlie sahip bir grafik tabanl

    programlama dilidir. Endstriyel bir sistemin ilevselliini tanmlamak iin mhendislik

    ntasyonlara sadk kalarak kolaylkla blok diyagramlar tasarlamaya olanak tanr. LabVIEW

    ortamnn en byk avantaj sre kontrol sisteminizi hzl bir ekilde gerekleyebilmenize

    yardmc olmasdr.

    LabVIEW GPIB, VXI, PXI ve seri haberleme protokollerini kullanarak mikro bilgisayar

    tabanl aletlerin yan sra National Instruments in ve dier firmalarn veri yakalama, grnt

    ileme, hareket kontrol kartlar gibi rnler ile src yazlmlar sayesinde haberleerek

    etkileimde bulunabilmeye olanak salar. Tm bunlara ilaveten eitli tiplerdeki PLC er iin

    oluturulan DLL ktphaneleri yardm ile PLC erin kontrolne de olanak tanr. LabVIEW

    eitli lm, analiz, istatistik, regresyon, lineer cebir, iaret ve grlt retimi, saysal

    filtreler ve benzeri destek ktphanelerine de sahiptir.

    LabVIEW ayn ya da farkl bilgisayarlarda alan uygulamalar ile ActiveX teknolojisi, Web,

    DLL, TCP/IP ve benzeri protokolleri kullanarak haberleebilir. Farkl uygulamalar tarafndan

    bileen olarak kullanlabilir ve html tabanl hata raporlar retebilir.

    LabVIEW kullanm alan olarak telekomnikasyon, retim, otomotiv, yar iletken endstrileri,

    biyomedikal, uzay uak, elektronik endstrilerinde kullanlabilir bir ortamdr. Test, lm,

    sre kontrol, fabrika otomasyonu, makine grme, aratrma ve analiz amal ilave yazlm

    paket desteini de ierir.

  • 48

    4.1.1 LabVIEW Ortam

    LabVIEW ortamnda klasik programlama dillerindeki gibi yazlm yapmak yerine,

    mhendislik ntasyonlarna bal kalarak grafik tabanl sanal cihazlar tasarlanr. Bir sanal

    cihaz iki ana bileenden oluur:

    n panel Blok ema

    4.1.1.1 n panel

    Kullanc ile etkileimi salayan grafik ara-yzdr. n panelin zerine eitli kontroller

    koyabilirsiniz. Bu kontrollerin her biri temelde ya kaynak ya da k kontrolleridir.

    Kullanc ara-yzndeki her bir giri k eleman mutlaka blok ema zerinde de temsil

    edilmektedir. Kullanc yrtme esnasnda bu kontroller yardm ile sre deikenlerinin

    deerlerini deitirebilir ve izleyebilir. Bu kontrollerin her birisi aslnda ActiveX paradigmas

    ile programlanm grafik kontrolleridir.

    4.1.1.2 Blok ema

    Sanal cihaz programlamak iin gerekli olan ey cihaza ait bir blok emadr. Fonksiyon

    paletinden eitli blok nesnelerini srkleyip sanal kablolar ile birbirleri ile

    ilikilendirebilirsiniz. Birbirlerine sanal kablolar ile balanan bu sanal cihazlar deii tiplerde

    veri biemlerine sahip verilerin alveriinde bulunabilirler. Sanal kablolar ile oluturulan

    grafik ynldr. Bir baka deile verinin ak yn tek tarafldr.

    Blok emalar iinde aritmetik ilemlerden analiz, a giri k ilemlerine kadar bir ok

    ilevler gerekletirilebilir. LabVIEW de ilemlerin yrtme sras veri bloklarnn arasndaki

    aka gre cereyan etmektedir. Metin tabanl programlama dillerindeki gibi ardk ileme sz

    konusu deildir. Birden fazla ii ayn anda paralel olarak yrten diyagramlar

    yaratabilirsiniz.

    LabVIEW ortamnda modlerlik sanal cihazlarn yalnz balarna ve birden fazla sanal cihaz

    ile birlikte alabilmeleri ile salanmtr. Yrtme esnasnda sanal cihazlarn test ederek

    hata ayklama ilemlerini gerekletirebilmeniz iin adm adm koturma imkanlar da

    mevcuttur.

  • 49

    4.1.2 LabVIEW Gelitirme Paketleri

    LabVIEW gelitirme ortam eitli paketler halinde tasarmclara sunulmaktadr. Gelitirme

    paketleri arasndaki farklar bir tablo halinde aada sunulmutur:

    Tablo 4.1 LabVIEW gelitirme paketleri karlatrlmas

    levler Temel

    Paket

    Tam Srm

    Profesyonel

    leri

    Temel veri yakalama ve analizi x x x x

    Enstrman kontrol x x x x

    Temel veri temsili x x x x

    A ve Internet teknolojileri x x x x

    Hareket kontrol ve activeX destei x x x

    lm analizi ve DSP x x x

    2 ve 3 boyutlu grafik ve animasyon x x x

    Tek bana alan uygulamalar x x

    eitli alet setleri x x

    Farkl alet setleri ve datm nesneleri x

    4.2 LabVIEW Destekli Tmleik Devreler Aras Protokol Yazlmlar

    Bu blmde endstride kullanlan LabVIEW destekli I2C protokol uygulamalar

    incelenmitir. Uygulamalarn LabVIEW yazlm bloklar hakknda bilgi verilmitir.

    4.2.1 ARM Mikrodenetleyiciler iin NI Gml Modl

    ekil 4.1 National Instruments ARM mikrodenetleyicili donanm modl.

  • 50

    National Instruments firmasnn rettii bu modl, ARM mikrodenetleyicilerini iermektedir

    [20]. Bu modl ile LabVIEW uygulama yazlmlar da kullanlabilmektedir. Pek ok

    endstriyel alanda hazr yazlm sunulmutur. Burada I2C sanal cihazlar incelenmitir.

    ekil 4.2 ARM I2C konfigrasyon referans yaratma sanal cihaz.

    Giriler:

    Adres, eriilecek cihazn adresini tanmlar.

    Adres uzunluu, 7-bit/10-bit adreslemeden hangisinin seilecei belirlenir.

    Saat frekans, her I2C transferinde kullanlacak hzn KHz cinsinden deeri olarak

    tanmlanr.

    Hatal durum girii, bu sanal cihaz ncesindeki hatal durumu tanmlar. Normal

    almada 0 olmaldr. Eer hatal durum giriinde bir hata alglanrsa hatal durum kna

    iletilir. Hatal durum girii 0 olmad durumlarda bu sanal cihaz almaz.

    klar:

    I2C konfigrasyonu, eriilecek I2C cihazna referans olarak tanmlanr.

    Hatal durum k, sanal cihazn hata durumunu tutar. Normal almada 0

    olmaldr. Eer hatal durum girii bir hata retmise bu hatay hatal durum knda gsterir.

    ekil 4.3 ARM I2C referans kapatma sanal cihaz.

    Giriler:

    I2C konfigrasyon, I2C cihazn yaplandrma referansdr. ARM I2C Referans Ama

    Sanal Cihaz ile bir I2C konfigrasyonu yaratlabilir.

  • 51

    Hatal durum girii, bu sanal cihaz ncesindeki hatal durumu tanmlar. Normal

    almada 0 olmaldr. Eer hatal durum giriinde bir hata alglanrsa hatal durum kna

    iletilir. Hatal durum girii 0 olmad durumlarda bu sanal cihaz almaz.

    klar:

    Hatal durum k, sanal cihazn hata durumunu tutar. Normal almada 0

    olmaldr. Eer hatal durum girii bir hata retmise bu hatay hatal durum knda gsterir.

    ekil 4.4 ARM I2C yazma okuma sanal cihaz.

    Giriler:

    I2C konfigrasyon, I2C cihaznn referansdr. ARM I2C Referans Ama Sanal Cihaz

    ile bir I2C i2c konfigrasyonu yaratlabilir.

    Yazlacak veri, I2C cihazna yazlacak veri dizisini belirtir.

    Okunacak bayt adedi, I2C cihazndan okunacak verinin bayt olarak saysn belirtir.

    Hatal durum girii, bu sanal cihaz ncesindeki hatal durumu tanmlar. Normal

    almada 0 olmaldr. Eer hatal durum giriinde bir hata alglanrsa hatal durum kna

    iletilir. Hatal durum girii 0 olmad durumlarda bu sanal cihaz almaz.

    klar:

    I2C konfigrasyonu, eriilecek I2C cihazna referans olarak tanmlanr.

    Okunan veri, I2C cihazndan okunan veri dizisini belirtir.

    Hatal durum k, sanal cihazn hata durumunu tutar. Normal almada 0

    olmaldr. Eer hatal durum girii bir hata retmise bu hatay hatal durum knda gsterir.

  • 52

    4.2.2 NI8451 Genel Amal Seri Haberleme Modl

    ekil 4.5 National Instru