Anda di halaman 1dari 16

UJI KASUS EKSPERIMEN

EMBEDDED SISTEM I

Oleh : SUSAF NOOR AZHAR

PROGRAM STUDI S1 ELEKTRONIKA DAN INSTRUMENTASI FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA YOGYAKARTA 2009

Daftar Isi
Prologue Fitur dalam FPGA Objective Uji Kasus Step 1 Frequency Divider Step 2 Scankey Step 3 Register Step 4 Processing Unit A. Calculator B. Digital Lock C. Digital Watch Step 5 Control Unit A. Calculator B. Digital Lock C. Digital Watch Step 6 Build System A. Calculator B. Digital Lock C. Digital Watch

Prologue Fitur dalam FPGA


Dalam FLEX-A01 development board, telah tersedia fitur-fitur yang cukup lengkap, seperti input, penampil output dan juga port komunikasi. Fitur-fitur tersebut dapat dimanfaatkan untuk merancang dan menguji suatu sistem tanpa memerlukan rangkaian tambahan.

Gambar 0.1 skema komponen FLEX-A01

Gambar 0.2 skema fitur FLEX-A01

Objective Uji Kasus


Tujuan uji kasus ini adalah praktikan mampu merancang sebuah sistem menggunakan Flex-A01. Pembuatan sistem akan dilakukan bertahap. Elemen-elemen dalam suatu sistem dapat dilihat pada gambar 0.3. gambar tersebut merupakan skema dasar dari sebuah sistem yang terdiri dari pengolah input, memory, processor (pengolah), pengolah output dan control unit.

Gambar 0.3 elemen suatu sistem Terdapat berbagai sistem yang dapat dirancang dan dikembangkan, namun disini hanya akan dibatasi menjadi 3 sistem saja, yaitu: 1. Kalkulator Dengan ketentuan : a. Tipe data : Signed Integer 8 bit b. Operasi : adder, subtractor, shift left, shift right dan invers c. Input : matriks key d. Output : 6 x seven segment (LCD) 2. Kunci Digital Dengan ketentuan : a. Fungsi : membuka kunci b. Input : matriks key c. Output : 6 x seven segment (LCD), buzzer 3. Jam Digital Dengan ketentuan : a. Fungsi : Jam / stop watch / count down b. Input : matriks key, dip-switch, push button c. Output : 6 x seven segment (LCD)

Gambar 0.4 sistem kalkulator

Gambar 0.5 sistem kunci digital

Gambar 0.6 sistem jam digital Dari ketiga sistem tersebut terdapat beberapa bagian yang sama, yaitu : 1. 2. 3. 4. 5. Frequency Divider (Pembagi Frekuensi) Matrix button scankey LCD Control Register Control Unit (berbeda untuk tiap sistem)

Control unit, adalah bagian terpenting dalam sistem yang berfungsi mengatur instruksi dan data dalam sistem. Ketiganya menggunakannya namun memiliki struktur dan fungsi yang berbeda. Frequency divider dan LCD control merupakan bagian dari control unit. Sedangkan bagian yang berbeda adalah bagian processing unit, pada bagian kalkulator dibutuhkan ALU. Sedangkan pada kunci digital dibutuhkan komparator. Pada jam digital dibutuhkan counter 6 x 4 bit.

Step 1 Frequency Divider


Pada prinsipnya frequency divider berfungsi membagi frekuensi yang sudah ada menjadi frekuensi yang lebih kecil. Sebagai contoh, dari frekuensi 9,6MHz diinginkan frekuensi 1kHz dan 1Hz. Frekuensi 9,6 MHz adalah frekuensi kecepatan FPGA, sedangkan frekuensi 1kHz diperlukan sebagai refresh rate LCD dan scankey, frekuensi 1Hz digunakan sebagai satuan detik. Karena merupakan pembagi maka hasil yang didapatkan selalu lebih kecil dari frekuensi sebelumnya. Frequency divider sendiri adalah sebuah counter/modulo. Counter dengan batas nilai tertentu (x) maka akan menjadi sebuah pembagi-x. Sebagai contoh : Sebuah counter 32 dapat digunakan sebagai frequency divider 32. Dimana setiap mendapat masukan clock 32 kali, maka akan dihasilkan sebuah sinyal seperti pada gambar 1.1. Bila frekuensi clock masukannya 80kHz, maka frekuensi output clock yang dihasilkan adalah 10kHz.

Gambar 1.1 waveform frequency divider 32 Sehingga untuk mendapatkan frekuensi 1Hz dan 1kHz dari internal clock 9,6MHz dibutuhkan counter 9.600.000 dan counter 9.600.

Membuat Frequency Divider Untuk membuat sebuah frequency divider dengan nilai yang besar, dibutuhkan sebuah counter dengan nilai yang besar.pula. Tentu saja untuk membuat counter sebesar itu dengan cara yang bisaa (truth table) akan sangat menyulitkan. Namun perancangan ini dapat dipermudah dengan menggabungkan beberapa counter sinkron secara ripple/asinkron (combined counter). Prinsipnya adalah penggabungan counter secara ripple akan meng-kalikan nilai-nilai dari masing-masing counter. Pada gambar 1.2 adalah sebuah counter yang terdiri dari counter sinkron sebanyak n tersambung secara asinkron. Nilai counter yang dihasilkan adalah s(1)*s(2)*s(3)**s(n).

Gambar 1.2 combined counter Bila terdapat 4 counter dengan nilai-nilai : s(1) = 8, s(2)=12, s(3)=10, s(4)=10 Maka akan didapat sebuah counter 8*12*10*10 = 9.600 Dengan memecah counter menjadi counter-counter yang lebih kecil akan mempermudah perancangan frequency divider. Lebih mudah untuk membuat counter 4 bit sebanyak n daripada langsung merancang counter n bit, namun cara ini akan mengurangi akurasi nilai counter karena menggunakan faktor pengali (skala).

Gambar 1.3 contoh library sebuah frekuensi divider

Step 2 Scan Key


Tombol matriks (matrix button) digunakan secara luas dalam berbagai peralatan elektronik, seperti tombol-tombol televisi, kalkulator dan keyboard komputer. Berbeda dengan susunan tombol secara bisaa. Setiap tombol memiliki indeks yang berupa informasi kolom dan baris. Indeks tersebut akan diterjemahkan baik secara langsung ataupun menggunakan LUT (Look Up Table) untuk mendapatkan data dari tombol tersebut. Scankey merupakan salah satu mekanisme untuk membaca susunan matriks tersebut. Sesuai namanya, akan dilakukan proses scan (pencarian) penekanan tombol tiap baris dan kolom. Proses scankey terdiri dari dua tahap (gambar 2.1), yaitu 1. Pengiriman read signal (sinyal baca) dan, 2. Pembacaan result signal (sinyal hasil baca). Bisaanya digunakan low voltage signal (sinyal tegangan rendah) sebagai penanda. Pada gambar 2.2 diperlihatkan apa yang terjadi pada matriks saat diberi sinyal baca 0111.

Sinyal baca

Sinyal hasil baca Gambar 2.1 gambar proses scankey

Pada setiap tombol, apabila tidak ditekan maka akan meneruskan tegangan high. Sedangkan bila ditekan maka tegangan row akan diteruskan ke column. Pada gambar a, tombol dalam matriks tidak ditekan sama sekali dan didapatkan sinyal hasil 1111. Gambar b dan c adalah proses yang terjadi bila salah satu tombol dari baris yang mendapat tegangan low ditekan. Gambar d dan e menunjukkan bila tombol yang tidak mendapatkaan tegangan low ditekan. Gambar a, d dan e menghasilkan sinyal hasil 1111.

e Gambar 2.2 a-e contoh penekanan tombol yang berbeda


*Lingkaran menunjukkan tombol yang ditekan *Garis merah adalah tegangan low *Garis biru adalah tegangan high

Sinyal baca akan terus diberikan dari 0111 1011 1101 1110 0111 dst. (seperti pada table 2.1)
Masukan (read) Baris (1..4) xxxx 0111 0111 0111 0111 1011 1011 1011 1011 1101 1101 1101 1101 1110 1110 1110 1110 Keluaran (result) Kolom (1..4) 1111 0111 1011 1101 1110 0111 1011 1101 1110 0111 1011 1101 1110 0111 1011 1101 1110 Tombol Tidak ada yang ditekan / salah 0 (1) 1 (2) 2 (3) 3 (enter) 4 (4) 5 (5) 6 (6) 7 (cancel) 8 (7) 9 (8) A (9) B (esc) C (*) D (0) E (#) F (spc) Key Code 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Tabel 2.1 tabel data scankey Dengan melihat cara kerja sistem scankey, komponen yang diperlukan untuk membuat scankey 4x4 adalah : 1. 2. 3. 4. Pembuat sinyal baca, yang dapat berupa decoder 2 ke 4 Pembaca sinyal hasil baca, yang dapat berupa encoder 4 ke 2 Counter 4, sebagai masukan decoder Push/flags detector, untuk mengecek ada tidaknya tombol yang ditekan.

Gambar 2.3 sistem scankey

Praktikum Buatlah sebuah scankey dengan ketentuan : 1. Masukan : 1bit clock 1kHz, 4 bit result signal 2. Keluaran : 4 bit read signal, 4 bit key code, 1 bit flags 3. Sambungkan output key code dengan led atau seven segmen Contoh skematik scankey

Gambar 2.4 contoh skema

Gambar 2.5 contoh library dari skema ! pisahkan library scankey dengan library frekuensi divider !pencacah, decoder dan encoder dapat menggunakan IC maupun gerbang dasar

Gambar 2.6 contoh pengujian scankey

Step 3 Register
Register merupakan salah satu jenis memori sementara. Perbedaan dengan sebuah memori adalah pada memori digunakan mode pengalamatan (address), karena memori berfungsi menyimpan banyak data dengan lokasi tertentu. Sedangkan pada segister tidak digunakan mode addressing, karena register hanya berfungsi menyimpan data sementara pada tujuan khusus. Register geser (shift register) merupakan jenis register yang memiliki kemampuan menggeser bit-bit datanya, baik geser kanan maupun geser kiri. Contoh penggunaan shift register digambarkan pada gambar 3.1. pada bagian kiri adalah tampilan lcd sebuah kalkulator, dimana setiap kita menekan tombol akan disimpan hingga mecapai batas orde tertentu, contoh yang lainnya adalah melakukan pembagian atau perkalian, dengan melakukan geser kiri (ke MSB) akan menaikkan orde data, sedangkan menggeser ke kanan (ke LSB) akan menurunkan orde data.

Gambar 3.1 contoh penggunaan shift register Berdasarkan masukannya dan keluarannya register dibagi beberapa macam yaitu : Serial In Serial Out (SISO)

Gambar 3.2 contoh shift register SISO

Serial In Paralel Out (SIPO)

Gambar 3.3 contoh shift register SIPO Paralel In Serial Out (PISO)

Gambar 3.4 contoh shift register PISO Paralel In Paralel Out (PIPO)

Gambar 3.5 contoh shift register PIPO

Praktikum Buatlah shift register SIPO 6 bit, dengan ketentuan : 1. Memiliki fungsi reset, enable dan clock 2. lebar data tiap-tiap masukan dan keluaran 4 bit

Gambar 3.6 contoh Library sebuah SIPO 6x4 bit


! IC REGISTER 74194 shift register 4 bit 74164 shift register 8 bit 74199 universal shift register 8 bit

Tugas Hubungkanlah dengan scankey yang dibuat sebelumnya dengan shift-register yang anda buat, dan tampilkan dalam seven segmen !

Anda mungkin juga menyukai