• Save
16. microcontroller interface (spi dan i2 c)
Upcoming SlideShare
Loading in...5
×
 

16. microcontroller interface (spi dan i2 c)

on

  • 2,011 views

Download slide ini di http://www.rumah-belajar.org

Download slide ini di http://www.rumah-belajar.org

Statistics

Views

Total Views
2,011
Views on SlideShare
1,434
Embed Views
577

Actions

Likes
2
Downloads
0
Comments
0

3 Embeds 577

http://rumah-belajar.org 477
http://www.rumah-belajar.org 93
http://127.0.0.1 7

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    16. microcontroller interface (spi dan i2 c) 16. microcontroller interface (spi dan i2 c) Presentation Transcript

    • Microcontroller Interface- Serial Peripheral Interface (SPI)- Inter Integrated Circuit (I2C)
    •  Download slide di http://rumah-belajar.org
    • Serial Peripheral Interface Beroperasi dalam duplex (simultaneously read/write) Data rate sampai beberapa Mbps (8 Mbps) Diciptakan oleh Motorola (1980). Ekivalennya dari National Semiconductor bernama Microwire.
    • Kekurangan Tidak memiliki mekanisme acknowledgement untuk mengkonfirmasi penerimaan data Tidak ada flow control SPI tidak memiliki high-level protocol untuk master- slave dialog Bisa bermasalah bila slave lebih dari satu karena tidak ada built-in addressing Makin kompleks sebanding dengan jumlah slave
    • Operasi Komunikasi dilakukan dengan hubungan master/slave, master menginisiasi frame data Data selalu dikirimkan dalam dua arah Ada empat signal pada SPI: – Clock (SCLK) – Master Data Output Slave Data Input (MOSI) – Master Data Input Slave Data Output (MISO) – Slave Select (CSS)
    • Single Master Single Slave
    • Single Master Single Slave SCLK dibangkitkan oleh master dan masuk ke slave untuk sinkronisasi Master memilih slave device dengan cara membangkitkan sinyal SS yang sesuai Master mengirim bit melalui MOSI dan diterima slave melalui MISO Bit disimpan di SPI data register (SPODR) SPODR.7 master -> SPODR.0 slave dan SPODR.7 slave -> SPODR.0 master Bit ke-7 ditentukan dari clock ke-8 SCLK
    • Single Master Multiple Slave
    • Control Register (1)
    • Control Register (2)Bit-bit CPOL dan CPHA mengendalikan polaritas danfasa clock. Untuk dapat berkomunikasi, mode masterdan slave harus sama. MODE CPOL CPHA Active edge 0 0 0 Rising 1 0 1 Falling 2 1 0 Falling 3 1 1 Rising
    •  Parameter clock polarity (CPOL) dan clock phase (CPHA) CPHA = 0 – CPOL = 0  Data is latched at rising edge of the clock – CPOL = 1  Data is latched at falling edge of the clock CPHA = 1, polaritas dibalik.
    • Operasi SPI untuk mode Rising Edge
    • Inter Integrated Circuit• Merupakan two-wired bus.• Awalnya digunakan untuk interface beberapa alat.• Kecepatan:– 100 kbps (Standard Mode)– 400 kbps (Fast Mode)– 3.4 Mbps (High-Speed Mode) Transfer Data: Serial, 8-bit Oriented, bi-directional Master-Slave bus dengan arbitration Master dapat bertindak sebagai transmitter atau receiver. Pengalamatan: 7 bit atau 10 bit alamat yang unik. Device limit: dibatasi oleh kapasitansi maksimum 400 pF.
    • Terminologi• Transmitter yaitu device yang mengirim data ke bus.• Receiver yaitu device yang menerima data dari bus.• Master yaitu device yang memiliki inisiatif (memulai dan mengakhiri) transfer data dan yang membangkitkan sinyal clock.• Slave yaitu device yang dialamati (diakses berdasarkan alamatnya) oleh Master.• Multi-master yaitu sistem yang memungkinkan lebih dari satu Master melakukan initiatif transfer data dalam waktu yang bersamaan tanpa terjadi korupsi data.• Arbitration yaitu prosedur yang memastikan bahwa jika ada lebih dari satu Master melakukan inisiatif transfer data secara bersamaan, hanya akan ada satu Master yang diperbolehkan dengan tanpa merusak data yang sedang ditransfer.• Synchronization yaitu prosedur untuk menyelaraskan sinyal clock dari dua atau lebih device.
    • Karakter I2CKarakter perangkat keras: Kedua pin pada I2C yaitu SDA dan SCL harus memiliki kemampuan input dan output. Kedua pin tersebut terhubung pada I2C bus yang telah di pull-up dengan resistor ke suplai positif dari sistem. Semua device yang terhubung pada bus harus terhubung pada ground yang sama sebagai referensi.
    • Karakter I2C  Karakter Transfer Data Bit : Data bit dikirim/diterima melalui SDA, sedangkan sinyal clock dikirim/diterima melalui SCL, dimana dalam setiap transfer data bit satu sinyal clock dihasilkan, transfer data bit dianggap valid jika data bit pada SDA tetap stabil selama sinyal clock high, data bit hanya boleh berubah jika sinyal clock dalam konsisi low.
    • Kondisi Signaling I2C Kondisi START dan STOP : 1. Apabila pada SDA terjadi transisi dari kondisi high ke kondisi low pada saat SCL berkondisi high, maka terjadilah kondisi START. 2. Apabila pada SDA terjadi transisi dari kondisi low ke kondisi high pada saat SCL berkondisi high, maka terjadilah kondisi STOP. 3. Kondisi START dan STOP selalu dibangkitkan oleh Master, dan bus dikatakan sibuk setelah START dan dikatakan bebas setelah STOP.
    • Kondisi Signaling I2C ACK dan NACK : 1. Kondisi ACK terjadi apabila receiver "menarik" SDA pada kondisi low selama 1 sinyal clock. 2. Kondisi NACK terjadi apabila receiver "membebaskan" SDA pada kondisi high selama 1 sinyal clock.
    • Cara kerja I2C Bus Address byte terdiri dari bagian yang tetap dan bagian yang dapat diprogram, bagian yang tetap merupakan bawaan dari IC , sedangkan yang dapat diprogram biasanya berupa pin address pada IC yang bersangkutan, sebagai contoh IC PCF8591, memiliki address byte sbb : 1 0 0 1 A2 A1 A0 , dimana 1001 adalah bagian yang tetap dan A2,A1,A0 adalah bagian yang dapat diprogram sesuai dengan kondisi logika pada pin IC PCF8591.
    • Cara kerja I2C Bus Sinyal Acknowledge (ACK) terjadi : Dari Slave ke Master Transmitter : – Sesudah address byte diterima dengan baik oleh slave – Setiap kali slave selesai menerima data byte dengan baik Dari Master Receiver ke Slave : – Setiap kali Master selesai menerima data byte dengan baik Sinyal Negative Acknowledge (NACK) terjadi : Dari Slave ke Master Transmitter : – Setelah slave gagal menerima address byte dengan baik – Setiap kali slave gagal menerima data byte dengan baik – Slave tidak terhubung pada bus Dari Master Receiver ke slave : – Setelah Master menerima data byte yang terakhir dari slave
    • Multi Master Pada I2C bus bisa terjadi situasi dimana lebih dari 1 device mengambil initiatif transfer data sebagai Master, dengan protocol Master/slave dan karakter hardware open drain/open collector yang bersifat wired AND, hal ini tidak menyebabkan terjadinya korupsi data, yang disebut dengan Multi Master. Untuk dapat melakukan Multi Master ada 2 hal yang penting yaitu Clock Synchronization dan Arbitration.
    • Clock Synchronizationjika salah satu device menarik bus dalam kondisi lowmaka device lain tidak dapat membuat bus tersebutmenjadi high sehingga jika ada lebih dari satu device yangmelakukan initiatif transfer data sebagai Master denganmembangkitkan sinyal clock pada SCL pada saat yangbersamaan harus ada sinkronisasi clock
    • Clock Synchronization Jika Master1 (Clock 1) memulai periode low sinyal clock- nya, maka SCL menjadi low, Master2 mendeteksi kondisi tersebut dan harus juga memulai menghitung periode low sinyal clock-nya.
    • Clock Synchronization Saat Master1 (Clock 1) akan memulai periode high sinyal clock-nya dan mendeteksi bahwa SCL masih dalam kondisi low (disebabkan periode low sinyal clock dari Master 2 (Clock 2) masih belum selesai) maka dia harus menunggu dan tidak menghitung periode high sinyal clock-nya terlebih dahulu.
    • Clock Synchronization Saat Master2 (Clock 2) memulai periode high sinyal clock-nya, maka kondisi SCL mehjadi high, Master1 (Clock1) yang mendeteksi kondisi tersebut juga harus memulai menghitung periode high sinyal clock-nya
    • Clock Synchronization Karena Master 1 (Clock1) terlebih dahulu menyelesaikan periode high sinyal clock-nya dan memulai periode low maka kondisi SCL menjadi low, maka Master 2 (Clock 2) yang mendeteksi kondisi tersebut juga harus memulai menghitung periode low sinyal clock-nya, demikian seterusnya sehingga terjadilah sinkronisasi sinyal clock antara Master1 dan Master2.
    • Arbitration Dalam Multi Master, bisa terjadi kemungkinan lebih dari satu device melakukan initiatif transfer data menjadi Master, walaupun transfer data hanya bisa dilakukan jika kondisi bus bebas, tetapi sangat memungkinkan lebih dari satu device mendeteksi kondisi bus sebagai bebas dan membangkitkan kondisi START sedikit berselisih waktu tetapi masih dalam batas-batas kondisi START yang valid. Untuk kondisi seperti dijelaskan diatas, maka arbitration diberlakukan bit demi bit hingga selesai, dimana sekali lagi sifat/karakter bus yang wired AND memungkinkan hal tersebut terjadi.
    • Arbitration Sebagai contoh Master 1 (Data 1) akan mentrasfer data 101xxxxxB sedangkan Master 2 (Data 2) akan mentransfer data 100101xxB. Kedua Master mendeteksi bus dalam keadaan bebas, dan membangkitkan sinyal START yang hampir bersamaan, Master 1 lebih dahulu membangkitkan START sehingga kondisi SDA mengikuti Master 1, baru kemudian Master 2 membangkitkan START, tetapi kondisi START pada SDA masih valid untuk Master2.
    • Arbitration Kedua Master mentransfer MSbit (sama-sama "1"), kemudian data bit berikutnya (sama-sama "0"), pada bit yang berikutnya Master1 berusaha untuk membuat SDA high sesuai dengan data bit-nya, sedangkan Master 2 berusaha untuk membuat SDA low (sesuai dengan data bit-nya), karena sifat wired AND dari SDA, maka kondisi SDA menjadi low, karena itu Master 1 dikatakan kehilangan arbitrasi (dengan kata lain bisa disebut sebagai kehilangan kontrol) atas SDA.
    • Arbitration Bagi Master 1 yang kehilangan arbitrasi bisa terus membangkitkan sinyal clock sampai transfer data selesai dan bus dalam kondisi bebas lagi, bagi Master 2 yang memenangkan arbitrasi (mendapat kontrol) atas SDA dapat menyelesaikan transfer data-nya tanpa ada data yang terkorupsi sama sekali.
    • Perbandingan SPI dan I2C SPI I2C Operasi Full Duplex Half Duplex Bit rate max 8 Mbps I2C v2.0 3,4 MbpsMetoda Addressing Slave Tidak ada, diganti dengan Ada metoda slave select SS Pengembang awal Motorolla (1980) Philips (1990) Interface pin 3 + Chip Select (SS) 2Jumlah devais yang dapat Sebanyak pin SS 112 menggunakan bus bersamaanHost controller firmware sederhana sedang Ketahanan thdp derau rentan Lebih baik