• Tidak ada hasil yang ditemukan

TUGAS AKHIR APLIKASI I 2 C BUS UNTUK KOMUNIKASI TELEVISI DENGAN PC PADA PROSES BACA-TULIS EEPROM

N/A
N/A
Protected

Academic year: 2021

Membagikan "TUGAS AKHIR APLIKASI I 2 C BUS UNTUK KOMUNIKASI TELEVISI DENGAN PC PADA PROSES BACA-TULIS EEPROM"

Copied!
73
0
0

Teks penuh

(1)

TELEVISI DENGAN PC PADA PROSES

BACA-TULIS EEPROM

Disusun Oleh :

Nama : Uswatun Hasanah

NIM : 41405110-151

PEMINATAN TEKNIK TELEKOMUNIKASI

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS MERCUBUANA

JAKARTA

2007

(2)

Nama : USWATUN HASANAH

NIM : 41405110151

Jurusan : Teknik Elektro Fakultas : Teknologi Industri

Judul Skripsi : Aplikasi I2C Bus untuk Komunikasi antara PC dan TV pada Proses Baca-Tulis EEPROM

Dengan ini menyatakan bahwa hasil penulisan Skripsi yang telah saya buat ini merupakan hasil karya sendiri dan benar keasliannya. Apabila ternyata dikemudian hari penulisan Skripsi ini merupakan hasil plagiat atau penjiplakan terhadap karya orang lain, maka saya bersedia mempertanggungjawabkan sekaligus bersedia menerima sanksi berdasarkan aturan tata tertib di Universitas Mercu Buana.

Demikian, pernyataan ini saya buat dalam keadaan sadar dan tidak dipaksakan.

Penulis,

Uswatun Hasanah

(3)

Disusun Oleh :

Nama : USWATUN HASANAH

NIM : 41405110151

Program Studi : Teknik Elektro

Peminatan : Teknik Telekomunikasi

Menyetujui,

Pembimbing Koordinator TA

( Ir. Said Attamimi ) ( Ir. Yudhi Gunardi, MT )

Mengetahui,

Ketua Program Studi Teknik Elektro

(Ir. Budiyanto Husodo, M.sc)

(4)

Perkembangan dunia elektronik semakin pesat menuntut adanya peningkatan mutu. Desain yang simpel, ringkas dan fleksibel dengan dukungan teknologi tinggi selalu menjadi harapan. Pada proses desain, sebelum barang elektronika diproduksi secara massal, singkatnya waktu desain sampai proses pengecekan menjadi hal yang sangat penting untuk dipertimbangkan. Karena waktu pengerjaan serta kualitas akan berpengaruh sekali terhadap laba perusahaan.

Dalam dunia industri televisi proses desain secara garis besar bisa dibagi menjadi desain mekanik dan desain elektrik. Pengecekan EEPROM adalah salah satu bagian dari proses desain elektrik. Sebelum diproduksi massal, performansi dan kualitas harus dicek terlebih dahulu. Proses pengecekan EEPROM bisa dilakukan berkali-kali dengan melepas EEPROM pada board TV untuk dibaca pada alat pembaca EEPROM dan kemudian memasangkan kembali. Tentunya hal ini menghabiskan banyak waktu dan bisa merusak board TV.

Metode I2C bus dirancang untuk memecahkan persoalan ini. Dengan alat yang simpel berupa kabel yang disebut kabel I2C bus, proses pembacaan dan penulisan EEPROM sebagai upaya pengecekan bisa dilakukan tanpa melepas EEPROM dari board TV, melainkan dengan menyambungkan PC dengan port TV dan kedua device ini akan dikomunikasikan melalui I2C bus. Bahasa Pemrograman simpel Visual Basic digunakan untuk menampilkan hasil pembacaan dan penulisan EEPROM.

(5)

melimpahkan rahmat, nikmat dan hidayah-Nya kepada Penulis, sehingga Tugas Akhir yang berjudul “ APLIKASI I2C BUS UNTUK KOMUNIKASI ANTARA TELEVISI DAN PC PADA PROSES BACA TULIS EEPROM “ bisa diselesaikan.

Tugas Akhir ini dirancang untuk memberikan alternatif membaca dan menulis EEPROM pada televisi yang lebih simpel, yaitu dengan menghubungkan televisi dengan PC melalui suatu kabel yang disebut kabel I2C bus. Aplikasi ini dibuat untuk digunakan pada sisi pengecekan EEPROM TV sebelum diproduksi massal. Keuntungan yang diperoleh dengan cara ini adalah proses yang lebih sederhana, waktu yang lebih singkat dan tidak merusak board televisi karena tidak lagi melepas dan memasang EEPROM berkali-kali dari boardnya dan membacanya di suatu alat yang disebut EEPROM Reader/Writer.

Dalam menyelesaikan Tugas Akhir ini, Penulis banyak mendapatkan bantuan dan dukungan dari berbagai pihak. Oleh karena itu, Penulis ingin menyampaikan terima kasih kepada :

1. Bapak Ir. Budiyanto Husodo selaku Ketua Program Stusi Teknik Elektro Universitas Mercubuana

2. Bapak Said Attamimi yang telah meluangkan waktu untuk membimbing dan banyak memberikan saran sampai terselesaikanya tugas akhir ini 3. Bang Harry, atas banyak bantuan, dukungan dan do'anya. Melalui apa

yang Abang berikan selama ini, akhirnya Nyus bisa selesaikan tugas akhir dengan lebih banyak kemudahan

4. Bapak& Ibu, Mama & Papa mertua, dan seluruh Keluarga besar Kediri dan Jakarta atas dukungan dan do'anya

5. Bapak Istakhry Malik dan rekan-rekan Design Engineering dari PT. Sanyo Electronics Indonesia atas bantuan referensi, dan penjelasanya yang sangat memberikan pencerahan dalam pengerjaan tugas akhir ini

(6)

karena keterbatasan penulis maupun yang tidak penulis sadari. Oleh karena itu, penulis mengharapkan saran serta kritik demi pengembangan teknologi I2C bus khususnya dan dunia elektronika pada umumnya. Sehingga tugas akhir ini bisa menjadi referensi yang akurat dan lebih bermanfaat.

Jakarta, Desember 2007 Penulis,

Uswatun Hasanah

(7)

LEMBAR PENGESAHAN ABSTRAKSI…………..………... KATA PENGANTAR ………... DAFTAR ISI ………... DAFTAR TABEL ………... DAFTAR GAMBAR ………... BAB I PENDAHULUAN 1. 1 Latar Belakang ………... 1. 2 Tujuan Penulisan...………... 1. 3 Perumusan Masalah ………...………... 1. 4 Batasan Masalah ……...………... 1. 5 Metodologi Penulisan ... ………... 1. 6 Sistematika Penulisan.…………...………... BAB II DASAR TEORI

2.1 Konsep I2C………... 2.1.1 Cara Kerja I2C Bus………... 2.1.2 Karakter Hardware………... 2.1.3 Karakter Transfer Data dan Pensinyalan………... 2.2 EEPROM……….. ………...

2.2.1 Cara Kerja………... 2.2.2 Operasi Write………... 2.2.3 Operasi Read………... BAB III PERANCANGAN

3.1 Umum………... 3.2 Perancangan Hardware………... 3.3 Perancangan Software... 3.4 Perancangan Komunikasi dan Tampilan……...

iii iv v vii ix x 1 2 2 2 2 3 4 6 6 7 10 12 13 14 17 18 20 23 vii

(8)

4.1.2 Program Baca ………. 4.2 Alat Uji yang digunakan ...……….. 4.3 Instalasi ... 4.4 Data EEPROM ... 4.5 Pengujian ... 4.5.1 Operasi Tulis ……….. 4.5.2 Operasi Baca ……….. BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan ………... 5.2 Saran ………...………... DAFTAR PUSTAKA LAMPIRAN 26 27 29 30 32 34 40 45 45 46 47 viii

(9)

Tabel 2.1 Konfigurasi pin EEPROM 11

Tabel 2.2 Kebutuhan Pin Address Input pada masing-masing Ukuran

EEPROM 12

Tabel 3.1 Kebutuhan Spesifikasi PC 21 Tabel 3.2 Alamat Port Paralel 21

(10)

Gambar 2.1 Sistem Kontrol pada TV dengan I2C bus 4 Gambar 2.2 Konfigurasi Master – Slave 5 Gambar 2.3 Kondisi Sinyal START dan STOP 7 Gambar 2.4 Sinyal START dan STOP 7 Gambar 2.5 Sinyal Acknowledge pada I2C bus 8 Gambar 2.6 Proses Transfer Data 9

Gambar 2.7 Penampang EEPROM 10

Gambar 2.8 Device Address EEPROM 12

Gambar 2.9 Byte Write 13

Gambar 2.10 Proses Byte Write 14 Gambar 2.11 Current Adress Read 15 Gambar 2.12 Random Address Read 15

Gambar 2.13 Sequential Read 16

Gambar 3.1 Komunikasi PC dengan TV melalui kabel I2C bus 17

Gambar 3.2 I2C board 18

Gambar 3.3 Konfigurasi Slot DB 25 Female 19 Gambar 3.4 Konfigurasi Kabel I2C bus 20 Gambar 3.5 Langkah-langkah Melihat Alamat Paralel Port 22 Gambar 3.6 Tampilan Printer Port Properties 23 Gambar 3.7 Skema Pengoperasian Sistem 24 Gambar 3.8 Cara Komunikasi Master – Slave 25 Gambar 4.1 Tampilan VB – EEPROM RW 27

Gambar 4.2 Kabel I2C 28

Gambar 4.3 I2C Board 28

Gambar 4.4 I2C Bus analyzer YOKOGAWA DL 1740 29 Gambar 4.5 Diagram Instalasi Sistem 29

(11)

R/W 35 Gambar 4.10 Hasil Pengujian Operasi Write per Sub Address 36 Gambar 4.11 Frame Operasi Tulis per Sub Address 37 Gambar 4.12 Operasi Penulisan per Bank 38 Gambar 4.13 Hasil Pengujian Operasi Tulis per Bank 39 Gambar 4.14 Operasi Baca per Sub Address 41 Gambar 4.15 Hasil Pengujian Operasi Baca per Sub Address 41 Gambar 4.16 Operasi Baca per Bank 43 Gambar 4.17 Hasil Pengujian Operasi Baca per Bank 43 Gambar 4.18 Frame Operasi Baca 44

(12)

Lampiran B : Listing program

(13)

1. 1 Latar Belakang

Pada saat ini semua desain elektronik dituntut untuk semakin simpel, ringkas dan fleksibel dengan didukung teknologi tinggi . Fleksibilitas pemakaian, serta kemudahan dalam proses desain dan produksinya menjadi salah satu tolak ukur pemilihan suatu teknologi. Dalam proses desain sebagai bagian dari proses produksi, waktu yang dibutuhkan untuk perancangan, pengecekan dan waktu produksi merupakan suatu hal yang perlu dipertimbangkan.

Seperti pada perancangan Televisi Sanyo, proses pengecekan baca-tulis EEPROM harus dilakukan berkali-kali agar dapat dipastikan tidak terjadi kesalahan atau penyimpangan saat EEPROM membaca dan menulis, karena kesalahan pada EEPROM akan berakibat fatal. Dan hal ini akan memerlukan waktu yang lama bila alat yang digunakan tidak mendukung.

Oleh karena itu pada Tugas akhir yang berjudul Aplikasi I2C Bus untuk Komunikasi Antara PC dan TV pada Proses Baca-Tulis EEPROM ini akan dirancang suatu metode baca-tulis EEPROM melalui kabel I2C bus sebagai alternatif baca-tulis EEPROM TV dengan cepat dan mudah untuk digunakan dengan hasil pembacaan dan penulisan EEPROM bisa dilakukan dengan menghubungkan jalur data TV ke PC dengan bantuan software. Jadi dengan I2C

bus ini baca-tulis EEPROM akan lebih mudah dikerjakan tanpa melepas

EEPROM dari PCB Board TV yang kemudian membacanya di EEPROM Writer

Board.

(14)

1. 2 Tujuan penulisan

Tujuan penulisan Tugas akhir ini adalah untuk merancang komunikasi antara PC dan TV dengan menggunakan teknologi I2C Bus , yang selanjutnya dengan terbangunnya komunikasi ini, EEPROM TV bisa dibaca dan ditulis melalui PC dengan bantuan software. Dan dengan terlaksananya proses baca-tulis EEPROM TV melalui PC ini diharapkan akan memudahkan proses desain dan pembuatan TV, khususnya pada tahap pengecekan EEPROMnya.

1. 3 Perumusan Masalah

Dalam Tugas Akhir yang berjudul Aplikasi I2C Bus untuk komunikasi antara PC dan TV pada proses baca-tulis EEPROM ini ada beberapa masalah yang menjadi rumusan, antara lain :

• Bagaimanakah komunikasi antara PC dengan TV bisa dibangun dengan I2

C

bus ?

• Bagaimanakah cara PC membaca dan menulis EEPROM TV ? • Keuntungan apa yang diperoleh melalui perancangan ini ?

1. 4 Batasan Masalah

Dalam penulisan tugas akhir ini, masalah yang akan dibahas akan dibatasi. Batasan-batasan masalah yang dimaksud, antara lain :

• Membahas perancangan I2

C bus sebagai media komunikasi antara PC dan TV • Membahas cara I2

C bus berkomunikasi • Tidak membahas performansi TV dan PC

• Tidak membahas software PC yang digunakan dalam penampilan data EEPROM

1. 5 Metodologi Penulisan

Untuk memperoleh keakuratan data dan teori dari tugas akhir ini, akan dilakukan metodologi Gabungan melalui Studi Pustaka dan Studi Lapangan yang dilakukan di PT. Sanyo Electronics Indonesia.

(15)

1. 6 Sistematika Penulisan

Berikut ini akan diberikan gambaran dari penulisan Tugas akhir, antara lain :

Bab I PENDAHULUAN

Menguraikan latar belakang penulisan, rumusan masalah, batasan masalah, tujuan penulisan, metodologi san sistematikan penulisan.

Bab II LANDASAN TEORI

Menjelaskan tentang konsep I2C bus dan spesifikasinya serta sedikit menjelaskan tentang rangkaian Pesawat Televisi.

Bab III PERENCANAAN

Merupakan uraian yang berisi proses perancangan kabel I2C bus sebagai media komunikasi antara PC dengan TV untuk proses baca-tulis EEPROM dan I2C bus mengkomunikasikan satu sama lain.

Bab IV PEMBAHASAN

Membahas data dari perancangan komunikasi yang dibangun oleh I2C

bus dan hasil yang diperoleh dari rancangan tersebut.

Bab V PENUTUP

Bagian ini berisi Kesimpulan dari hasil yang didapatkan dari perancangan serta saran yang dapat berguna untuk perkembangan

(16)

I2C Bus (dibaca aiskasi ) atau bisa juga ditulis dengan IIC adalah kepanjangan dari Inter-Intergrated circuit. I2C ini dikembangkan oleh Philips Semiconductor sejak tahun 1992 dengan konsep komunikasi serial 2 arah. .

2.1 Konsep I2C

I2C bus merupakan metode komunikasi 2 arah antar IC atau antar sistem secara serial menggunakan 2 kabel. Sistemnya terdiri dari 2 saluran yaitu SCL (

Serial clock ) dan SDA ( Saluran data ). SDA membawa informasi data antara IC

dengan pengontrolnya ( PC ). Piranti yang dihubungkan dengan sistem I2C bus ini dapat berperan sebagai master dan slave.

Sebagai contoh, televisi menggunakan sebuah fungsi microcontroller yang akan mengontrol beberapa fungsi dengan menggunakan metode I2C bus.

Microcontroller tersebut akan mengontrol system audio, video, memori dan beberapa

fungsi lainya. Maka, microcontroller tersebut akan berperan sebagai master dan yang lainya akan berfungsi sebagai slave.

Gambar 2.1 Sistem Kontrol pada TV dengan I2C bus

(17)

Master adalah piranti yang memulai transfer data dengan membentuk sinyal

START, membangkitkan sinyal clock dan mengakhiri data dengan membentuk sinyal STOP. Sedangkan slave adalah piranti yang dialamati oleh master, dan memberikan tanggapan atas request dari master.

CLOCK START DATA STOP M A S T E R S L A V E ACK / NACK DATA

Gambar 2.2 Konfigurasi Master-Slave

I2C bus memiliki fitur-fitur utama, antara lain :

a. Dalam pengiriman datanya, I2C bus hanya melibatkan 2 kabel, yaitu SDA dan SCL.

b. Setiap IC/piranti yang terhubung dengan I2C memiliki alamat yang dapat diakses secara software dengan master/slave protocol sederhana dan mampu

mengakomodasikan multimaster.

c. I2C merupakan serial bus dengan orientasi data 8 bit ( byte ), komunikasi 2 arah dengan kecepatan transfer data sampai 100Kbit/s pada mode standart dan 3,4 Mbit/s pada mode kecepatan tinggi.

d. Jumlah IC yang dapat dihubungkan pada I2C bus hanya dibatasi oleh beban kapasitansi pada bus yaitu maksimum 400 pF.

(18)

2.1.1 Cara Kerja I2C bus

Sebelum memahami cara kerjanya, ada beberapa terminologi, karakter dan kondisi penting dalam I2C yang perlu dipahami terlebih dahulu, yaitu :

a. Terminologi

Ada beberapa terminologi dalam proses pengiriman data yang perlu diketahui, antara lain :

Transmitter yaitu perangkat yang mengirimkan data ke bus

Receiver yaitu perangkat yang menerima data dari bus

Master yaitu perangkat yang memiliki inisiatif ( memulai dan mengkahiri )

transfer data dan yang membangkitkan sinyal clock.

Slave yaitu perangkat yang dialamati oleh master ( yang akan diakses

berdasarkan alamatnya

Multi-master yaitu sisten yang memungkinkan lebih dari 1 master yang

melakukan inisiatif transfer data dalam waktu yang bersamaan tanpa terjadi korupsi data

Arbitration yaitu prosedur yang memastikan bahwa jika ada lebih dari 1 master melakukan inisialisasi transfer data, maka hanya akan ada 1 master

yang dapat diperbolehkan dengan tanpa ada kecacatan pada data yang ditransfer

Syncronization yaitu prosedur untuk menyelaraskan sinyal clock dari 2 atau

lebih perangkat

2.1.2 Karakter Hardware

Seperti yang sudah dijelaskan pada point sebelumnya, bahwa I2C merupakan komunikasi serial 2 kabel. Maka perangkat keras I2C terdiri dari 2 pin yaitu pin data ( SDA ) dan pin clock ( SCL ) yang keduanya harus memiliki kemampuan Input /

Output serta bersifat open drain/open collector. Kedua pin yang dimiliki I2C bus ini harus terhubung dengan busnya dengan cara di pull-up dengan resistor ke suplay

(19)

tegangan positif dari sistem. Dan semua perangkat yang terhubung pada bus harus memiliki jalur ground yang sama sebagai referensi.

2.1.3 Karakter Transfer Data dan Pensinyalan

Data bit dikirim dan diterima melalui SDA, sedangkan sinyal clock dikirim/diterima melalui SCL. Dalam setiap transfer data bit, satu sinyal clock dihasilkan dan transfer data dianggap valid jika data bit pada SDA tetap stabil selama sinyal clocknya high. Sehingga data bit hanya boleh berubah jika sinyal clock dalam kondisi Low.

Gambar 2.3 Kondisi S inyal START dan STOP

Bila data berubah dari kondisi high ke low pada saat clock dalam kondisi high, kondisi ini akan dianggap sebagai sinyal START. Dan sebaliknya, bila data berubah dari kondisi low ke high pada saat kondisi clocknya high, maka akan dianggap sebagai sinyal STOP. Kondisi START dan STOP ini selalu dibangkitkan oleh perangkat yang berperan sebagai master.

DATA VALID

PERUBAHAN DATA YANG DIPER

BOLEHKAN

(20)

Dalam melakukan transfer data pada I2C Bus, harus mengikuti prosedur yang telah ditetapkan, yaitu transfer data hanya dapat dilakukan ketika bus tidak dalam keadaan sibuk, yaitu saat setelah START dan dikatakan bus dalam keadaan bebas setelah STOP. DATA DARI TRANSMITTER DATA DARI RECEIVER SCL DARI MASTER NACK ACK

PULSA CLOCK ACK

Gb.2.5 Sinyal Acknowledge pada I2C bus

Selain sinyal START dan STOP, terdapat sinyal acknowledge yang biasa disingkat ACK. ACK merupakan sinyal yang memberikan tanggapan atau report atas berhasil tidaknya pentransmisian data. Setelah transfer data oleh master berhasil diterima oleh slave, slave akan menjawabnya dengan mengirim sinyal ACK yaitu dengan membuat SDA menjadi "0" selama siklus clock ke 9 ( transmisi 8 bit ). Hal ini menunjukkan bahwa slave telah menerima 8 bit data dari master. Secara detail bisa dituliskan bahwa, Sinyal ACK akan dikirimkan bila :

Dari Slave ke Master Transmitter :

Sesudah address byte diterima dengan baik oleh slave Setiap kali slave selesai menerima data byte dengan baik

(21)

Dari Master Receiver ke Slave :

Setiap kali master selesai menerima data byte dengan baik

Bila ACK merupakan tanggapan positif, yang akan dikirimkan setiap transfer data berjalan dengan baik dengan kondisi data yang sampi ke slave dengan baik. Maka terdapat pula NACK yaitu negative acknowledge. Dan secara detail akan dituliskan juga saat-saat NACK dikirimkan.

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.

I2C bus bisa bekerja pada format transmisi 7 bit addressing dan format 10 bit

addressing. Inisiatif komunikasi/transfer data selalu oleh master dengan mengirimkan

sinyal START diikuti dengan address byte ( 7 bit address + 1data direction bit ), yang akan diilustrasikan pada gambar dibawah ini.

(22)

Dalam proses komunikasinya I2C bus memiliki 2 jenis komunikasi dasar, yaitu master sebagai transmitter menulis data ke slave sebagai receiver yang sudah teralamati. Dan yang kedua, master sebagai receiver membaca data dari slave yang berperan sebagai transmitter yang teralamati.

2.2 EEPROM

EEPROM adalah salah satu jenis ROM ( Read Only Memory ) yang mempunyai kemampuan untuk menyimpan data dan merupakan jenis Non Volatile

Memory. EEPROM adalah kepanjangan dari (Electrical Erasable Programmable Read

Only Memory ). EEPROM dapat diprogram dan dihapus untuk dapat dipakai kembali. Penghapusan data EEPROM menggunakan aliran listrik.

Gb 2.7 Penampang EEPROM

Ukuran EEPROM dinyatakan dalam byte dan nomor pada EEPROM merefleksikan ukuranya. Sebagai contoh AT24C02A ini berarti EEPROM mempunyai ukuran 2KB, AT24C04A berarti 4KB, AT24C08A berarti 8 KB dan AT24C16A untuk 16 KB. EEPROM terdiri atas beberapa pin, antara lain pin alamat input ( address input ), pin SDA , pin SCL, pin WP ( Write Protect ), pin Ground dan pin VCC.

(23)

Tabel 2.1 Konfigurasi Pin EEPROM

PIN DESKRIPSI A0 – A2 Address Input

SDA Serial Data

SCL Serial Clock

WP Write protect

NC No - Connect

Masing-masing pin mempunyai peran yang berbeda-beda, dan dapat dideskripsikan sebagai berikut :

a. Pin SCL : merupakan pin yang digunakan sebagai jalur clock

b. Pin SDA : merupakan pin bidirectional yang digunakan sebagai jalur data. Pin ini bersifat open drain dan berlogika OR dengan beberapa perangkat open drain/open collector.

c. Pin WP ( Write Protect ) : Pin ini menyediakan proteksi terhadap data hardware yang bekerja pada operasi read/write saat dihubungkan dengan Ground. Sedangkan bila dihubungkan dengan VCC, pin WP ini tidak akan bekerja

d. PIN address input : Pin ini berjumlah tiga, yaitu A2,A1,A0. Pin ini digunakan untuk menentukan device address input. Penggunaan pin address input ini berbeda-beda untuk setiap ukuran EEPROM.

(24)

Tabel 2.2 Kebutuhan Pin address input pada masing-masing ukuran EEPROM Jenis EEPROM Ukuran Pin

EEPROM 2K 32 Pages, 8 Byte A2, A1,A0 EEPROM 4K 32 Pages, 16 Byte A2, A1 EEPROM 8K 64 Pages, 16 Byte A2 EEPROM 16K 128 Pages, 16 Byte N/A

2.2.1 Cara Kerja

Pin SDA secara normal berada pada kondisi high. Data pada pin SDA diperbolehkan berubah dari kondisi high ke low atau sebaliknya hanya pada saat SCL

low. Perubahaan data dari high ke low akan diidentifikasi sebagai sinyal START, dan

sebaliknya bila data berubah dari low ke high pada saat SCL high akan diidentifikasi sebagai sinyal STOP. Semua data, baik data alamat maupun data word akan dikirimkan secara serial. EEPROM akan mengirimkan sinyal low = ' 0 ', bila data yang dikirimkan kepadanya sampai dengan baik yang terdapat pada siklus ke 9.

Pada EEPROM terdapat 2 operasi, yaitu operasi read dan operasi write.Agar bisa dilakukan operasi write/read, diperlukan alamat device yang dimaksud agar data dapat sampai dan diakses dengan benar. EEPROM 2K, 4K, dan 8K membutuhkan 8 bit device address word. Device address word ini terdiri atas mandatory one, zero

sequence sampai ke-empat MSB pertama, kemudian bit device address ( A2,A1,A0 )

dan operation bit ( R = ' 1 ' ; W = ' 0 ' ).

(25)

2.2.2 Operasi Write

Write adalah proses penulisan data ke dalam EEPROM. Proses write

membutuhkan 8 bit data word address, berikut device address word dan ACK. Penulisan EEPROM bisa dilakukan dengan cara menulis perbyte secara langsung ( Byte Write ) dan juga menulis per page secara langsung ( Page Write ).

a. Byte Write

Bila data penulisan 1 byte diterima dengan baik oleh EEPROM, maka ACK akan dikirimkan berupa sinyal Low = ' 0 ', berikut device address . Setelah EEPROM mengirimkan tanggapan positifnya ini, maka master akan mengirim sinyal STOP. Pada saat inilah terjadi operasi internal, yaitu proses menulis selama tWR ( timed write

cycle ) ke dalam non volatile memory. Maka selama tWR ini, semua instruksi akan

diabaikan sampai proses penulisan komplit.

Gb 2.9 Byte Write b. Page Write

Berdasarkan Tabel, diketahui bahwa 2K/4K EEPROM mempunyai 32 page, 8K mempunyai 64 page dan 128 page untuk EEPROM 16K. Proses page write akan melakukan penulisan dalam 1 kali intruksinya untuk 1 page sekaligus. Prosesnya hampir sama dengan dengan byte write, hanya saja master tidak akan mengirimkan sinyal STOP setelah pertama ditransmisikan. Pada proses page write, setelah EEPROM mengirimkan ACKnya, master akan mengirimkan data selanjutnya sampai

(26)

1 page. Sinyal STOP baru dikirimkan oleh master, setelah 1 page data telah selesai ditransmisikan.

Gb 2.10 Proses Byte Write

2.2.3 Operasi Read

Read adalah proses yang terjadi pada sisi receiver yang berperan dalam menerima

dan membaca data yang dikirimkan oleh transmitter. Operasi read sama dengan operasi write, hanya saja direction bit yang menentukan operasi pada device address

word di set menjadi satu R/W = ‘1’ . Pada operasi read terdapat 3 operasi, antara lain current address read, random address dan sequential read.

a. Current Address Read

Current address read adalah proses membaca data yang terdapat pada alamat pada

saat permintaan read oleh slave diterima. Data word address akan selalu pada alamat dimana akses terakhir dilakukan baik operasi read maupun write, dan data

word address + 1 akan dibaca. Alamat akses terakhir ini akan dijaga sehingga akan

tetap valid selama masih terdapat sumber tegangan.

Bila operasi terakhir adalah proses read pada byte terakhir pada akhir memory

page, maka address akan roll over menuju byte pertama pada page pertama. Akan

tetapi, bila operasi terakhir adalah write pada byte terakhir maka current page

(27)

Gb 2.11 Current Address Read

Pada saat device address dengan direction bitnya diset ‘1’ dan EEPROM memberikan ACK-nya, maka current address data word akan di clock out secara serial dan master tidak akan merespon dengan mengirimkan sinyal STOP.

b. Random Read

Random read memerlukan dummy write sequence untuk meakses data word address. Pada saat device address word dan data word address di clock-in,

EEPROM mengirimkan ACK-nya dan master akan mengirimkan sinyal START.

Master menginisialisasi current read address dengan mengirimkan device address dan secara serial meng-clock out kan data word. Setelah proses tersebut

selesai, master tidak akan merespon dengan mengirimkan ACK, melainkan dengan mengirimkan sinyal STOP.

(28)

c. Sequential Read

Sequential read diinisialisasi oleh current address read atau random address read. Setelah master menerima data word, master akan merespon dengan

ACK. Selama EEPROM menerima ACK, data word address akan ditambah ‘1’ dan secara serial sequential data word akan di clock out.

Selama masih terdapat memory address limit, data word address akan roll

over dan sequential read akan terus ditambahkan. Sequantial read operation

akan berakhir bila master tidak merespon dengan ACK melainkan meresponnya dengan mengirimkan sinyal STOP.

(29)

3.1 Umum

I2C bus sebagai media komunikasi antara PC dan TV ini dirancang untuk mempermudah saat proses baca tulis EEPROM. Sesuai dengan latar belakang yang sudah diuraikan pada Bab I sebelumnya, dengan I2C bus ini nantinya diharapkan proses baca-tulis EEPROM tidak lagi dilakukan dengan melepas EEPROM dari board TV dan kemudian membacanya pada device lain yaitu EEPROM writer/reader. Dengan melepas dan memasang kembali EEPROM secara berulang-ulang, dapat merusak pattern dan bisa memakan waktu lama.

Oleh karena itu, untuk menghindari sebab diatas, I2C bus dalam mengkomunikasikan PC dengan TV pada baca-tulis EEPROMnya akan diimplementasikan menjadi sebuah kabel yang menguhubungkan suatu port PC ke jalur bus TV. Dan hasil baca-tulis EEPROMnya akan ditampilkan pada PC dengan bantuan software.

Gambar 3.1 Komunikasi PC dengan TV melalui kabel I2C bus

Bila pada TV, kabel I2C bus dihubungkan dengan plug TV bus, dari PC nya akan dihubungkan dengan port paralel. Hal ini dirancang untuk memudahkan proses pentransmisian data dari PC ke TV

I2C Board Sanyo TV I2C Board Sanyo TV 17 PC I2C Board

(30)

3.2 Perancangan

Hardware

Hardware I2C bus berupa kabel yang terdiri dari port, kabel dan board I2C

bus. Karakter perangkat keras I2C terdiri 2 jalur yaitu jalur data ( SDA ) dan jalur

clock ( SCL ). Kedua jalur memiliki kemampuan input dan output. Kedua pin

tersebut akan dihubungkan dengan I2C bus yang telah di pull up dengan suatu resistor ke suplay positif.

Gambar 3.2 I2C board

Board I2C bus melalui kabel akan disambungkan dengan DB 25 male dan akan dihubungkan dengan DB 25 female yang terdapat pada komputer. DB 25 adalah port paralel atau disebut juga port printer. Port paralel terdiri dari tiga bagian, antara lain :

a. DP ( Data port ) : Merupakan port yang digunakan untuk jalur data. Data port ini bersifat read/write.

(31)

b. Printer Control (PC) : Merupakan port yang digunakan untuk pengiriman kode-kode kontrol dari komputer ke perangkat yang terhubung denganya.

Port PC ini bersifat read/write.

c. dan Printer Status ( PS ) : Merupakan port yang digunakan untuk mengirimkan kode-kode status perangkat yang terhubung ke PC. Port ini bersifat read only.

1 2 3 4 5 6 7 8 9 10 11 12 13 15 14 16 17 18 19 20 21 22 23 24 25 D0 D1 D2 D3 D4 D5 D6 D7 Data Register S0 S1 S2 S3 S4 S5 S6 S7 C0 C1 C2 C3 C4 C5 C6 C7 Status Register Control Register

Port Address : 378h (888) Port Address : 379h (889)

Port Address : 37Ah (890)

Gambar 3.3 Konfigurasi slot DB 25 Female

Selain dihubungkan dengan port DB 25 pada komputer, I2C board juga akan dihungkan dengan port I2C bus pada TV. Karena sesuai dengan tujuanya, bahwa I2C bus ini akan menghubungkan TV dengan PC maka dibutuhkan 2 port, masing-masing port penghubung ke TV dan port penghubung ke PC. Dibawah ini adalah gambar konfigurasi kabel I2C bus.

(32)

I2C Board

DB 25 Male Plug

Gambar 3.4 Konfigurasi Kabel I2C bus

Berdasarkan gambar diatas, DB 25 male adalah port paralel pada kabel I2C bus untuk disambungkan ke port paralel ( DB 25 Female ) pada PC dan plug adalah

port pada kabel I2C bus yang akan disambungkan ke plug TV yang merupakan jalur I2C .

3.3 Perancangan Software

Seperti pada uraian sebelumnya, kabel I2C bus akan mengkomunikasikan PC dengan EEPROM TV, dengan hasil pembacaan atau perintah penulisan EEPROM dilakukan dari PC. Hasil pembacaan dan penulisan dilakukan melalui PC, tentunya dengan menggunakan bantuan software.

Agar proses pembacaan dan penulisan dapat dioperasikan dengan mudah, akan digunakan software VB ( Visual Basic). Visual Basic adalah perangkat lunak yang digunakan untuk membuat program aplikasi yang bekerja dalam lingkungan sistem operasi windows. Seperti yang telah kita ketahui, bahwa windows sudah familiar dioperasikan pada setiap komputer. Hal ini akan mempermudah pemindahan software dari komputer 1 ke komputer lain tanpa menginstal suatu program lagi untuk menjalankan suatu aplikasi.

Dengan Visual Basic ini, kemampuan windows dapat dimanfaatkan secara optimal. Selain itu VB memiliki kemudahan dalam penyusunan progam aplikasi dengan tampilan grafis yang baik yang bisa dibuat dalam waktu yang singkat.

(33)

Pada pembuatan tugas akhir ini akan digunakan PC dengan fitur sebagai berikut : Tabel 3.1 Kebutuhan Spesifikasi PC

System Kapasitas Operating System Microsoft Windows XP Pro 2002

Processor 1,73 GHz

RAM 366 MHz, 760 MB Harddisk 40 GB

Agar VB dapat mengakses paralel port, alamat masing-masing port harus diketahui terlebih dahulu. Hal ini diperlukan untuk penulisan script softwarenya. Alamat paralel port setiap PC berbeda-beda, tergantung pada jenis PC. Setelah mengetahui alamat port paralel, maka kita dapat menentukan alamat DP, PC dan PS.

Alamat DP adalah base address dari port paralel tersebut, sedangkan alamat PS adalah base address + 1 dan PC adalah base address + 2. Pada Tugas akhir ini PC yang digunakan adalah IBM R52. Berikut ini adalah table alamat masing-masing port paralel pada IBM R52 :

Tabel 3.2 Alamat Port Paralel Nama Port Alamat Register

LPT1 DP 03BC LPT1 PS 03BD LPT1 PC 03BE

(34)

Alamat port paralel tersebut dapat dilihat dengan cara melihatnya di properties my computer. Berikut adalah langkah-langkah melihat alamat port paralel pada PC.

Klik START

Klik kanan My computer

Klik Properties

Klik Hardware

Klik Device Manager

Klik Ports

Klik 2X Printer port

Klik Resources

(35)

Dengan melakukan cara diatas, pada IBM R52 yang akan digunakan sebagai PC/master diperoleh tampilan seperti pada gambar dibawah ini.

Gambar 3.6 Tampilan Printer Port Properties

3.4 Perancangan Komunikasi dan Tampilan

Kabel I2C bus yang menguhungkan PC dengan EEPROM TV akan mengkomunikasikan keduanya untuk proses baca tulis. Oleh karena itu pengoperasian nantinya akan terdiri dari 2 tahapan, antara lain :

a. Proses Tulis ( Write )

Pada tahapan ini, I2C bus akan menyampaikan perintah penulisan EEPROM yang ditulis melalui tampilan VB pada PC. Proses Tulis, bisa dilakukan per sub address atau per bank.

(36)

b. Proses Baca ( Read )

Proses Read merupakan operasi yang dilakukan oleh PC sebagai master untuk mengetahui data pada EEPROM pada sub address maupun pada banknya. Pada proses baca juga bisa dilakukan per sub address atau per bank. START BACA TULIS PER SUB ADDRESS PER BANK PER BANK PER SUB ADDRESS ACK ? ACK ?

Gambar 3.7 Skema Pengoperasian Sistem

PC sebagai master, akan mengirimkan sinyal start diikuti dengan slave address (EEPROM address) kemudian data direction bit yaitu write = 1 (R/W =

1). Setelah frame tersebut terkirim EEPROM akan mengirimkan tanggapanya, baik berupa ACK maupun NACK.

ACK dikirimkan bila data/request yang dikirimkan oleh PC sampai dengan benar ke EEPROM. Bila EEPROM bermaksud mengirimkan ACK-nya, maka SDA akan dibuat LOW = '0' oleh EEPROM. Kondisi tanggapan EEPROM berupa ACK ini akan ditampilkan oleh VB melalui tampilanya yaitu dengan mencetak kata 'OK'.

Data tidak selalu diterima dengan baik oleh EEPROM. Maka pada kondisi seperti ini, EEPROM sebagai slave juga harus mengirimkan tanggapanya untuk

(37)

menginformasikan kepada master bahwa data tidak sampai, sehingga master bisa mengulangi kembali pengiriman datanya. Kesalahan pengiriman data ini akan diinformasikan dalam bentuk NACK ( Negative Acknowledge ). NACK ini dikirimkan oleh EEPROM berupa sinyal SDA High = '1'. Dan NACK ini akan ditampilkan oleh VB melalui tampilanya dengan mencetak kata NG ( Not Good ).

S

L

A

V

E

/

E

P

R

O

M

M

A

S

T

E

R

/

P

C

START Alamat EEPROM Data direction bit

Negative NACK START Alamat EEPROM

Data direction bit ACK DATA

ACK STOP

(38)

4.1 Umum

Pada bab ini akan diuraikan tentang pengujian dan analisa hasil. PC berkomunikasi dengan TV menggunakan I2C bus yang dibantu dengan software visual basic. Kabel I2C yang dihubungkan melalui port paralel ke PC akan membuat PC mampu mengirim request dan instruksi ke EEPROM TV untuk membaca dan menulis kedalamnya. Melalui pin nomor 17 yaitu pin control register pada port paralel, PC akan mengirimkan clock kedalam jalur SCL I2C bus. Data yang keluar dari PC seperti request/instruksi START dan STOP keluar melalui pin 11 yaitu status register dan data yang masuk ke PC dari EPROM seperti ACK akan masuk melalui pin nomer 9 yaitu data register. Berikut adalah hal-hal yang akan diujikan, antara lain :

4.1.1 Program Tulis

Sesuai dengan penamaanya, program tulis merupakan program I2C bus yang akan mengkomunikasikan PC dengan menulis kedalam EEPROM TV. Pada program tulis ini akan dilakukan pengujian antara lain:

1. PC menulis kedalam EEPROM TV pada sub address

2. PC menulis kedalam EEPROM TV pada satu bank / device address sekaligus

3. Pensinyalan dan pengoperasian

4.1.2 Program Baca

Program baca, adalah program I2C bus yang akan mengkomunikasikan PC dengan membaca data pada EEPROM baik data per sub address maupun data satu bank sekaligus. Pengujian yang dilakukan antara lain :

1. PC membaca data sub address EEPROM TV 2. PC membaca data satu bank EEPROM TV

(39)

3. Pensinyalan dan pengoperasian

Perlu diketahui bahwa pengujian sistem ini dapat dilakukan dengan 2 cara, yaitu dengan membaca EEPROM yang sudah terpasang pada TV dan yang kedua adalah dengan membuat jig EEPROM yang di pull up ke power supply 5 volt melalui sebuah resistor.

4.2 Alat Uji yang Digunakan

Dalam pengujian dibutuhkan beberapa peralatan sebagai berikut :

1. Satu buah PC, pada pengujian digunakan PC IBM R52 dengan software Visual basic untuk Baca/tulis EEPROM.

Gambar 4.1 Tampilan VB – EEPROM RW

(40)

2. Kabel I2C I2C board Gambar 4.2 Kabel I2C DB 25 Male ke PC Plug ke TV ( EEPROM Gambar 4.3 I2C board

3. TV atau jig EEPROM

4. Power supply 5 volt untuk supply jig EEPROM

5. I2C bus analyzer, pada pengujian digunakan Yokogama I2C bus analyzer DL 1740. Dengan I2C bus analyzer ini, sinyal yang tertampil bisa langsung disimpan dalam disket. Sehingga dengan alat ini pengujian akan lebih mudah dilakukan.

(41)

Gambar 4.4 I2C Bus Analyzer YOKOGAWA DL 1740

6. 2 buah probe, probe ini digunakan untuk menghubungkan I2C bus analyzer dengan EEPROM untuk menampilkan sinyal hasil komunikasi antara EEPROM dengan PC. Masing-masing berwarna kuning dan hijau, yaitu untuk dihubungkan ke jalur clock dan data. 7. 2 buah kabel aligator to aligator, kabel ini digunakan untuk mensupply

EEPROM dengan sumber tegangan 5 volt.

4.3 Instalasi

I2C bus merupakan media komunikasi antara PC dan TV, maka I2C bus pastinya kan dipasang diantara keduanya.

Gambar 4.5 Diagram Instalasi Sistem

PC I2C board EEPROM

Port paralel Port paralel PS 5 volt I2C bus analyzer SCL SDA

(42)

I2C bus analyzer PS 5 volt Jig EEPROM Jig EEPRO M PC

Gambar 4.6 Instalasi saat Pengujian

Jig EEPROM sebagai pengganti TV disupply tegangan sebesar 5 volt dihubungkan dengan kabel I2C dengan memasangkan plug antara keduanya dan menuju ke PC dengan menghubungkan DB-25 male pada kabel I2C kedalam DB-25 female pada PC.

Untuk melihat sinyal, jig EEPROM dihubungkan dengan I2C bus analyzer. I2C bus analyzer ini mempunyai 4 chanel. Untuk pengujian ini hanya digunakan 2 chanel, yaitu chanel 1 dan chanel 2. Chanel 1 dihubungkan ke EEPROM jalur clock dan chanel 2 dihubungkan ke jalur data melalui sebuah probe.

4.4 Data EEPROM

Berdasarkan spesifikasi televisi sanyo yang digunakan sebagai bahan uji, EEPROM yang digunakan adalah EEPROM 16K. Berdasarkan teori dasar, hal ini berarti EEPROM ini terdiri atas 128 Pages, 16 Byte.

(43)

Tabel 4.1 Bank A 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 1 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 2 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 3 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 4 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 5 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 6 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 7 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 8 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 9 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF Tabel 4.1 diatas adalah gambaran bank.

A adalah address, angka 0-F vertikal dan horisontal adalah panduan untuk membaca alamat masing-masing sub address dalam satu bank. EEPROM 16K, mempunyai 8 Bank. Masing- masing bank mempunyai device address. Alamat 00 sampai FF disebut sub address. Jadi dalam 1 bank terdiri dari 256 sub address.

Tabel 4.2 Device address

Bank Device Address Bank 1 A0 Bank 2 A2 Bank 3 A4 Bank 4 A6 Bank 5 A8 Bank 6 AA Bank 7 AC Bank 8 AE

(44)

Berdasarkan tabel 4.1, bisa dijelaskan bahwa EEPROM 16k terdiri atas 128 pages, 16byte. 00, 01, 02 sampai dengan 0F masing-masing sel pada tabel 4.1 tersebut disebut sub address atau word address. Sedangkan 1 page address adalah dari sub address 00 sampai 0F atau 10 sampai 1F dan seterusnya F0 sampai FF, atau bisa disimpulkan 1 page terdiri dari 16 sub address. masing-masing sel terdiri dari 1 byte atau 8 bit, jadi 1 pagenya terdiri atas 16 X sub address yaitu sama dengan 16byte. Karena EEPROM 16 K terdiri atas 8 bank, dan tiap bank terdiri atas 16 page, maka dalam EEPROM 16K terdiri atas 16 X 8 = 128 page.

Pengertian diatas sebagai dasar untuk proses pembacaan dan penulisan. Hal ini dikarenakan masing-masing sub address sudah dialokasikan untuk menyimpan data-data televisi. Data-data tersebut antara lain data frekuensi, color system, volume, sound system, dan beberapa fitur lainya. Oleh karena itu pada saat ingin menulis atau membaca data volume atau data lainya harus diketahui addressnya.

4.5 Pengujian

Setelah instalasi dilakukan dan alamat EEPROM sudah diketahui, pengujian bisa dilakukan.

Pertama kali yang dilakukan adalah dengan melihat sinyal START dan STOP. Hal ini dimaksudkan untuk melihat apakah sistem sudah bisa berjalan dengan benar.

Berdasarkan Gambar 4.1 yaitu tampilan program EEPROM R/W (read/write) untuk mengirimkan perintah start, cukup dengan klik icon START dan untuk perintah stop dengan mengklik sinyal STOP. Dan sinyal bisa dilihat pada I2C bus analyzer. Pada pengujian didapatkan hasil seperti pada gambar dibawah ini .

(45)

diperbesar

SCL SDA

Gambar 4.7 Hasil Pengujian – Sinyal START

PC sebagai master, mengirimkan request untuk memulai komunikasi berupa sinyal start. Pada gambar 4.7 terlihat, sinyal start berupa perubahan sinyal data dari high ke low pada saat SCL tinggi.

(46)

diperbesar

SCL

SDA

Gambar 4.8 Hasil pengujian Sinyal STOP

Perintah STOP dikirimkan PC untuk mengakhiri komunikasi. Terlihat pada gambar 4.8 sinyal STOP berupa sinyal transisi dari low ke high saat SCL high.

4.5.1 Operasi Tulis

Operasi tulis bisa dilakukan dengan 2 metode, yaitu penulisan per sub address dan penulisan per bank sekaligus.

1. Operasi tulis per sub address

Pada pengujian ini, operasi tulis persub address dilakukan pada sub address A6 pada bank 1 yaitu sub address yang dialokasikan untuk volume.

Sub address = A6 = 1010 0110 Bank 1 = A0 = 1010 0000 Data input = 10 = 0001 0000

(47)

1. Input alamat bank

4. Klik 2. input sub add 3. data

Gambar 4.9 Operasi Penulisan per Sub Address pada Program EEPROM R/W

Langkah – langkah :

1. Menginputkan device address pada form EEPROM bank 2. Menginputkan sub address pada form kolom sub address 3. Menginputkan data yang akan ditulis pada form kolom data 4. Mengklik write

(48)

Dari data tersebut diatas, diperoleh gambar sinyal sebagai berikut.

SDA SCL

Gambar 4.10 Hasil Pengujian – Operasi Write per Sub Address

Data dibaca pada saat clock high. Berdasar gambar diatas terlihat data hasil = 1Æ0 1010 0000 0 1010 0110 0 0001 0000 0 0Æ1. 1Æ0 adalah transisi high ke low yaitu sinyal START. PC merequest hubungan dengan EEPROM dengan mengirimkan sinyal START. EEPROM mengirimkan ACKnya sebagai tanda bahwa EEPROM siap untuk melakukan komunikasi dengan PC. Setelah mendapatkan jawaban dari EEPROM, PC melanjutkan mengirimkan intruksinya dengan mengirimkan device address A0 yang akan ditulisi dan intruksi write dengan mengirimkan bit R/W =’0’ . EEPROM menanggapinya dengan mengirimkan kembali ACKnya.

Tanggapan positif EEPROM ini membuat PC mengirimkan kembali word address A6 yang dimaksud pada device address A0 yang sebelumnya telah dikirimkan. Dan sama seperti pada proses sebelumnya, EEPROM akan mengirimkan kembali ACKnya sebagai pertanda bahwa request PC telah diterima

(49)

oleh EEPROM dan EEPROM dapat menerima perintah selanjutnya yaitu PC mengirimkan data yang akan dituliskan, yaitu 10. EEPROM kembali mengirimkan ACKnya. Karena proses tulis sudah selesai, PC akan mengakhiri komunikasinya dengan mengirimkan sinyal STOP. Pada saat ini, semua intruksi akan diabaikan oleh EEPROM. Proses inilah yang disebut operasi internal, yaitu proses menulis selama tWR ( timed write cycle 0 kedalam non volatile memory.

Bila data tersebut dituliskan dalam sebuah frame, maka :

START A0 ACK A6 ACK 10 ACK STOP

START Device Address + R/W = 0 ACK Sub

Address ACK Data ACK STOP

Gambar 4.11 Frame Operasi Tulis per Sub Address

2. Operasi Tulis per Bank

Pada operasi tulis per bank ini diujikan pada bank 2 yang merupakan bank yang dialokasikan untuk color system masing-masing chanel.

Televisi sanyo mempunyai kode biner untuk masing-masing color system, kode-kode biner tersebut antara lain :

AUTO = 19 Æ 0001 1001 PAL = 08 Æ 0000 1000 SECAM = 10 Æ 0001 0000 NTSC 4.43 = 04 Æ 0000 0010 NTSC = 07 Æ 0000 0111

Jadi bank 2 yaitu A4 ( 1010 0100 ), semua sub address akan ditulis sekaligus dengan beberapa color system dengan operasi tulis per bank.

(50)

Langkah-langkah pengoperasian pada program EEPROM R/W antara lain : 1. Menginputkan data yang ingin dituliskan pada masing-masing sel

dengan mengetikkan pada masing-masing sel 00 sampai dengan FF. Bila ingin menulis bank dengan satu data yang sama, cukup mengetikkan nilai pada form FILL BANK kemudian klik ikon FILL BANK.

2. Klik ikon WRITE BANK

Gambar 4.12 Operasi Penulisan per Bank

1. Input nilai pada semua sub address 2. Klik 1.Input nilai yang akan dituliskan 2. Klik

(51)

Dari pengujian ini didapatkan data hasil sebagai berikut :

Gambar 4.13 Hasil Pengujian – Operasi Tulis per Bank

Dari hasil pengujian diperoleh data hasil seperti gambar tersebut diatas. Pada gambar terbaca data :

1 Æ0 1010 010 0 0 1111 1111 0 1Æ0 1010 0101 0 0000 0000 0Æ1

STARTÆ A4 + R/W = 0 Æ ACK Æ FF Æ ACK Æ START Æ A5ÆACKÆ00 Æ STOP Data sinyal pada gambar diatas adalah data terakhir yang terjadi, yang tertangkap oleh analyzer. Dari data tersebut dapat diketahui, bahwa frame yang dihasilkan adalah frame random read. Setelah dummy write , EEPROM mengirim ACK dan PC meresponya dengan mengirimkan word address yang

(52)

terakhir pada satu bank, yaitu FF dan ditanggapi kembali oleh EEPROM ACK. PC memulai kembali komunikasi dengan mengirimkan sinyal START dan device address A4 + R/W = 1 (read) = A5 dan ACK diterima kembali oleh PC beserta data pada sub address FF yaitu 00.

Pada operasi tulis per bank ini, byte write diekseskusi dari sub address 00 sampai FF setelah itu proses read diinstruksikan oleh PC. Hal ini bertujuan untuk pengecekan secara otomatis oleh program EEPROM write/read, apakah penulisan yang dilakukan diterima dengan benar oleh EEPROM TV.

4.5.2 Operasi Baca

1. Operasi baca per sub address

Pada operasi baca per sub address, diujikan dengan membaca sub address yang ditulis pada proses sebelumnya yaitu proses tulis per sub address pada device address A0, sub address A6.

Langkah pengoperasian program EEPROM R/W :

1. Menginputkan device address di form EEPROM BANK 2. Menginputkan sub address pada form sub address 3. Mengklik ikon READ

(53)

Gambar 4.14 Operasi Baca per Sub Address 1. Input device address 2. Input sub address 3. Klik 4. Lihat hasil

(54)

Berdasarkan hasil pengujian sinyal, bisa dibaca data logiknya sebagai berikut : 1Æ0 1010 0000 0 1010 0110 0 1Æ0 1010 0001 0 0001 0000 0Æ 1

Setelah PC mengirimkan sinyal Start, kemudian dummy write yang terdiri atas mandatory one + zero sequence + (A2,A1,A0) bit write yaitu R/W diset 0, ACK, word address yaitu A6.

Karena EEPROM mengirimkan ACK, maka master menanggapinya dengan mengirim sinyal START. PC menginisialisasi suatu alamat yaitu current

read address dengan mengirimkan device address A0 dan ditambah dengan 1

yang menandakan proses read yaitu R/W = 1 (read) menjadi A1. Setelah PC menginisialisasi device address, dan ditanggapi oleh EEPROM dengan mengirimkan respon positifnya yaitu ACK maka PC secara serial meng-clock outkan data word yang terdapat pada word address yang diminta yaitu 10. Setelah proses tersebut selesai, PC tidak akan merespon dengan mengirimkan ACKnya melainkan dengan mengirimkan sinyal STOP.

2. Operasi baca per Bank

Pada operasi baca per bank ini, akan diujikan dengan membaca bank 1 ( device address A0 ). Untuk memudahkan pembacaan, sebelumnya bank 1 ditulis FF untuk semua sub addressnya.

Langkah – langkah pengoperasian : 1. Menuliskan bank 1 dengan FF

2. Menginputkan bank yang akan dibaca dengan mengetikkan di form EEPROM BANK

3. Mengklik READ BANK

(55)

device address

2. Klik 3. Hasil baca

Gambar 4.16 Operasi Baca per Bank

(56)

Terbaca :

1010 000 0 0 1111 1110 0Æ1 1010 0001 0 1111 1111 0Æ1

9 bit pertama adalah device address word yang terdiri atas mandatory one, zero sequence sampai ke-4 MSB yaitu 1010 kemudian bit device address A2, A1, A0 yaitu 000. nilai bit tersebut mencerminkan bahwa EEPROM yang digunakan adalah EEPROM 16 K, karena seperti yang dijelaskan pada bab sebelumnya bahwa pada EEPROM 16K A2, A1, A0 tidak dihubungkan. 0 berikutnya adalah ACK yang menginformasikan bahwa EEPROM sebagai slave telah menerima intruksi dari master/PC. Kemudian bit write R/W = 0, word address FE yang disebut dummy write. Sama halnya dengan proses proses tulis per sub address PC mengirimkan sinyal start lagi setelah menerima ACK dari EEPROM. Terlihat pada 8 bit sebelum bit stop terlihat data senilai FF.

Dari data yang didapatkan, dihasilkan suatu frame data sebagai berikut :

Start 1010 000 0 0 1010 0110 0 Start 1010 0001 0 0001 0000 Stop

Start Mandatory one + Zero sequence A2 A1 A0 Write R/W = 0 ACK Word

address ACK Start Device

address 0 Data Stop

Gambar 4. 18 Frame operasi baca

Berdasarkan frame dari data yang diperoleh, dapat disimpulkan bahwa proses baca per sub address menggunakan metode random.

(57)

5.1 Kesimpulan

Berdasarkan hasil dari perencanaan komunikasi PC dan TV dengan I2C bus ini diperoleh beberapa kesimpulan, antara lain :

1. I2C bus sebagai media komunikasi antara PC dan TV diimplementasikan sebagai kabel dengan port paralel untuk menghubungkan ke PC dan plug untuk menghubungkan TV

2. Proses tulis PC ke EEPROM dengan cara byte write dan proses

read dengan cara random read

3. Proses baca-tulis EEPROM akan lebih praktis karena melalui sebuah kabel dan sebuah software yang mudah diinstal serta tanpa melepas EEPROM dari PCB board TV.

5.2 Saran

1. Agar I2C board mempunyai performansi yang kuat, sebaiknya

board dilengkapi dengan casing

2. Agar kabel I2C bisa digunakan di berbagai PC dan lebih praktis, sebaiknya port paralel digantikan dengan USB port mengingat perkembangan teknologi komputer port paralel sudah mulai tereliminir

(58)

1. Atmel corporation, 2-wire serial EEPROM, Atmel Corporation, San jose, 2003

2. Philips Semiconductors Corporation, The I2C-Bus Specification version 2.1, Philips Semiconductors Corporation, Eindhoven, Januari, 2000

3. Retna Prasetia, Catur Edi Widodo, Teori dan Praktek Interfacing Port Paralel dan Port Serial komputer dengan Visual Basic 6.0, ANDI Yogyakarta, Semarang, 2004

4. Tim Micon Sanyo Electronics Indonesia, FB1A Spesification Software, Tim Micon Sanyo Electronics Indonesia, Cikarang, 2004

(59)
(60)

HEADER FILE

Public Declare Function Inp Lib "inpout32.dll" Alias "Inp32" _ (ByVal PortAddress As Integer) _

As Integer

Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" _ (ByVal PortAddress As Integer, _

ByVal Value As Integer)

Public Declare Sub Tunda Lib "Port_IO.dll" (ByVal lama As Integer) Dim sub_address, control_byte, data_byte As Byte

Dim n, j, r, c, NVM_Bank As Integer Dim bank, data, temp As Byte

Public data_buffer(255) As Byte Public wdata_buffer(255) As Byte

Dim BaseAddress As Integer Dim d0 As Integer Dim d1 As Integer Dim d2 As Integer Dim d3 As Integer Dim d4 As Integer Dim d5 As Integer Dim d6 As Integer Dim d7 As Integer Dim d8 As Integer Dim myTimer As Integer Dim countit As Integer

(61)

PROGRAM

Private Sub CommandButton3_Click() 'Read 1 Bank Button Read_Bank

End Sub

Private Sub CommandButton4_Click() 'Write 1 Bank Button Get_Data

Write_Bank Read_Bank End Sub

Private Sub CommandButton5_Click() Fill_Bank

Read_Bank End Sub

Public Sub Fill_Bank() For n = 0 To 255

Send_START

bank = NVM_Bank(TextBox1.Value) 'Convert Bank # to NVM Slave Addres

Send_byte (bank) Read_ack

sub_address = n 'Convert Sub Addres from HEX to Dec

Send_byte (sub_address) 'Sub Address Read_ack

data = HexToByte2(TextBox7.Value) 'Convert Data from HEX to Dec Send_byte (data) Read_ack Send_STOP Next n End Sub

Public Sub Write_Bank() For n = 0 To 255

Send_START

bank = NVM_Bank(TextBox1.Value) 'Convert Bank # to NVM Slave Addres

Send_byte (bank) Read_ack

sub_address = n 'Convert Sub Addres from HEX to Dec

Send_byte (sub_address) 'Sub Address Read_ack

'data = HexToByte2(TextBox7.Value) 'Convert Data from HEX to Dec

data = wdata_buffer(n) Send_byte (data) Read_ack Send_STOP Next n End Sub

(62)

Public Sub Read_Bank() For j = 0 To 255

Dim address, rdata As Byte Dim r, c As Integer

Send_START

bank = NVM_Bank(TextBox1.Value) 'Convert Bank # to NVM Slave Addres Send_byte (bank) Read_ack address = HexToByte2(TextBox3.Value) Send_byte (j) Read_ack Send_START Send_byte (bank + 1) Read_ack rdata = Read_byte() data_buffer(j) = rdata

'TextBox4.Value = Hex(rdata) 'Convert Data from Dec to HEX

Send_STOP r = j \ 16 c = j Mod 16 Cells(r + 11, c + 7).Select Selection.Value = Hex(data_buffer(j)) Next j 'Display_Data 'Cells(1, 1).Select End Sub

Public Sub Get_Data() 'Get data from Excel sheet j = 0 'Then store to temp j ram r = 0 c = 0 For r = 0 To 15 For c = 0 To 15 'Cells(r + 11, c + 6).Select

'temp = Cells((r + 6), (c + 10)).Value

wdata_buffer(j) = HexToByte2(Cells((r + 11), (c + 7)).Value) j = j + 1 Next c Next r End Sub

Public Sub Display_Data() 'Display data_buffer to Excel sheet

j = 0 r = 0 c = 0

(63)

For r = 0 To 15 For c = 0 To 15 Cells(r + 11, c + 6).Select Selection.Value = Hex(data_buffer(j)) j = j + 1 Next c Next r End Sub

Private Sub CommandButton2_Click() 'WRITE button (1 byte write)

Send_START

bank = NVM_Bank(TextBox1.Value) 'Convert Bank # to NVM Slave Addres

Send_byte (bank) Read_ack

sub_address = HexToByte2(TextBox4.Value) 'Convert Sub Addres from HEX to Dec

Send_byte (sub_address) 'Sub Address Read_ack

data = HexToByte2(TextBox5.Value) 'Convert Data from HEX to Dec

Send_byte (data) Read_ack

Send_STOP End Sub

Private Sub CommandButton1_Click() 'READ button (1 byte read)

Dim address, rdata As Byte Send_START

bank = NVM_Bank(TextBox1.Value) 'Convert Bank # to NVM Slave Addres Send_byte (bank) Read_ack address = HexToByte2(TextBox2.Value) Send_byte (address) Read_ack Send_START Send_byte (bank + 1) Read_ack rdata = Read_byte()

TextBox3.Value = Hex(rdata) 'Convert Data from Dec to HEX

'Read_ack Send_STOP End Sub

Public Function NVM_Bank(bank As Integer) As Byte Select Case (bank)

Case 0: NVM_Bank = &HA0 Case 1: NVM_Bank = &HA2 Case 2: NVM_Bank = &HA4 Case 3: NVM_Bank = &HA6 Case 4: NVM_Bank = &HA8

(64)

Case 5: NVM_Bank = &HAA Case 6: NVM_Bank = &HAC Case 7: NVM_Bank = &HAE Case Else:

NVM_Bank = &HA0 End Select

End Function

Public Function HexToByte2(Hex As String) As Byte HexToByte2 = (16 * HexToByte(Mid(Hex, 1, 1))) + (HexToByte(Mid(Hex, 2, 1)))

End Function

Public Function HexToByte(Hex As String) As Byte Select Case Hex

Case "0" HexToByte = 0 Case "1" HexToByte = 1 Case "2" HexToByte = 2 Case "3" HexToByte = 3 Case "4" HexToByte = 4 Case "5" HexToByte = 5 Case "6" HexToByte = 6 Case "7" HexToByte = 7 Case "8" HexToByte = 8 Case "9" HexToByte = 9 Case "A", "a" HexToByte = 10 Case "B", "b" HexToByte = 11 Case "C", "c" HexToByte = 12 Case "D", "d" HexToByte = 13 Case "E", "e" HexToByte = 14 Case "F", "f" HexToByte = 15 Case Else HexToByte = 0 End Select

(65)

End Function

Public Sub Send_byte(ByVal data As Byte) Dim a, data_temp As Byte

For a = 0 To 7

data_temp = ((data * (2 ^ a)) And 255) If data_temp > 127 Then data_temp = 0 Else data_temp = 128 End If SCL_Low Out 956, data_temp SCL_High Out 956, data_temp SCL_High Out 956, data_temp SCL_Low Out 956, data_temp Next a End Sub

Public Function Read_byte() As Byte Dim a, b, data, data_temp As Byte data = 0

data_temp = 0

'Setup_input ' LPT1 mode baca 'b = Inp(958) For a = 0 To 7 SCL_Low data_temp = Inp(957) SCL_High b = Inp(958) data_temp = Inp(957) SCL_High data_temp = Inp(957) SCL_Low If data_temp > 127 Then data_temp = 128 Else data_temp = 0 End If

'data_temp = data_temp And &H80

data_temp = (((data_temp) / (2 ^ a)) And 255) data = (data Or data_temp)

Next a

Read_byte = data

'Setup_output 'kembalikan lagi LPT1 ke mode tulis b = Inp(958)

(66)

Public Sub Read_ack() Dim a, data_temp As Byte SDA_High SCL_Low SCL_High data_temp = Inp(957) SCL_High Do data_temp = Inp(957) a = a + 1

Loop Until (data_temp < 127 Or a > 3) SCL_Low If data_temp < 127 Then TextBox6.ForeColor = &HFF0000 TextBox6.Value = "OK" Else TextBox6.ForeColor = &HFF TextBox6.Value = "No ACK !" End If

data_temp = Inp(957)

'Setup_output 'LPT1 mode output End Sub

Public Sub SCL_Low() contol_byte = Inp(958)

Out 958, (control_byte And &HF7) '1111 0111 contol_byte = Inp(958)

End Sub

Public Sub SCL_High() contol_byte = Inp(958)

Out 958, (control_byte Or &H8) '0000 1000 contol_byte = Inp(958)

End Sub

Public Sub SDA_High() Out 956, &H0

End Sub

Public Sub SDA_Low() Out 956, &H80

End Sub

Public Sub Send_START() SCL_High SDA_High SCL_High SDA_Low SCL_Low SDA_Low End Sub

(67)

Public Sub Send_STOP() SCL_Low SDA_Low SCL_High SDA_Low SCL_High SDA_High Tunda (10) End Sub

Private Sub CommandButton6_Click() 'Start Button Send_START

End Sub

Private Sub CommandButton7_Click() Send_STOP

End Sub

Private Sub TextBox2_Change() End Sub

(68)
(69)
(70)

Set SCL Low Set SCL High a = 0 Data_temp = Status Register Data_temp = Status Register Set SCL High Data_temp = Status Register Data_temp > 127 Data_temp = 128 [ 1000 0000b ] Data_temp = 0 [ 0000 0000b ] NO YES Shift Right Data_temp

Data = Data + Data_temp

a = a + 1 a > 7 NO FINISH Read_byte = data YES 11

(71)

a = 0

a > 3 Set SDA High

Set SCL Low

Set SCL High

Check for SDA line trough Status Register Is SDA line LOW ? ACK = OK FINISH a = a +1 YES NO NO ACK = NG YES Check 3 times 12

(72)
(73)

Send_START

FINISH Convert BANK no.

to Slave address

Send_byte(bank)

Read_ack

read_byte(data)

Send_STOP

Generate START Condition

FINISH Bank 1 slave_address = A0h Bank 2 slave_address = A2h

: : :

Bank 7 slv_address = AEh

Transmit Slave Address byte

Check for the acknowledge

Read Data byte

Generate STOP condition Send_byte(sub_address +1) Transmit (Sub Address + 1) byte

Read_ack Check for the acknowledge Send_byte(sub_address) Transmit Sub Addres byte

Read_ack Check for the acknowledge

Gambar

Gambar 2.1 Sistem Kontrol pada TV dengan  I 2 C bus
Gambar 2.2 Konfigurasi Master-Slave
Gambar 2.3 Kondisi S inyal START dan STOP
Tabel 2.1  Konfigurasi Pin EEPROM
+7

Referensi

Dokumen terkait

pendekatan konstruktivisme yang diaplikasikan pada model pembelajaran kooperatif tipe Two Stay Two Stray ini besar kemungkinan akan terjadi pengaruh yang positif pada keaktifan

Dalam penelitian ini tidak hanya sekedar menjelaskan fungsi legislasi Dewan Perwakilan Daerah sebagai representasi daerah dalam pembentukan undang-undang diatur

Dalam penelitian ini menggunakan susu pasteurisasi komersial sebanyak 112 sampel dari 7 merek susu pasteurisasi murni yang memiliki izin produksi dari Departemen

52 PROSEDUR TETAP PENANGANAN TERHADAP BAHAN BERBAHAYA DI LABORATORIUM KLINIK 53 PROSEDUR TETAP PENANGANAN DAN PEMAKAIAN BARANG LOGISTIK LABORATORIUM 54 PROSEDUR TETAP PENANGANAN

Proses enkripsi merupakan proses untuk meng-encode atau mengubah data dari bentuk yang dapat dibaca menjadi bentuk yang tidak dapat dibaca.. Sedangkan proses

Penelitian ini menggunakan data hasil analisa proksimat (kadar air, abu, protein kasar, lemak kasar, serat kasar dan BETN) dan fraksi serat Van Soest ( Neutral Detergen Fiber dan

Saldo utang bank pada awal periode ditambah dengan jumlah kredit baru yang akan diterima dari bank dikurangi dengan utang bank yang jatuh tempo dan akan dibayar pada periode

Hasil penelitian menunjukkan bahwa dengan metode pembelajaran bermain sambil belajar menggunakan media tanaman, dapat menciptakan pembelajaran yang menyenangkan dan menarik bagi