Anda di halaman 1dari 17

BARU

PROPOSAL TUGAS AKHIR

Nama : Albert Steven

NIM : 2005 – 42 – 135

Peminatan : Elektronika

Calon Pembimbing : Karel Octavianus Bachri, S.T, M.T

Topik tugas akhir : USB – serial port converter dengan Menggunakan

Field Programmable Gate Array

Latar Belakang

Melihat teknologi interface yang cukup berkembang, membuat semakin

beragam jenis connector (penghubung) untuk menghubungkan input – output pada

suatu komputer. Jenis penghubung input – output ini seperti universal serial bus

(usb), serial port (RS-232), paralel port (db25), PS/2, dan lain sebagainya.

Pada komputer yang portable masa kini, seperti laptop, menggunakan

Universal Serial Bus (USB) sebagai penghubung input - output. USB menjadi

demikian populer. Melihat sebagian besar input – output device mulai beralih ke

USB, membuat peran USB menjadi sedemikian penting. Untuk serial port (RS–232)

masih terbatas penggunaannya pada beberapa piranti seperti mikrokontroler dan

modem. Sehingga perlu dibuat suatu converter antara USB to serial port. Dalam

merancang USB to serial port converter akan dikonfigurasikan dalam FPGA.


2

Field Programmable Gate Array (FPGA) secara fisik berbentuk chip

Integrated Circuit (IC). FPGA digunakan sebagai prototype suatu sistem sebelum

sistem tersebut direalisasikan dalam bentuk IC (sebelum diproses oleh Foundry /

perusahaan pembuat IC).

Tujuan

Dengan penelitian ini hendak dirancang suatu alat yang bisa mengkonversikan

USB to serial port dan sebaliknya. Alat yang hendak dirancang menggunakan bahasa

pemrograman Very High Speed Integrated Circuit Hardware Description Language

(VHDL).

Pembatasan Masalah

Penelitian ini mencakup beberapa hal dalam pembahasannya. Hal–hal yang

dibahas pada proposal ini sebagai berikut:

1. Penghubung input–output yang dikonversikan terbatas pada USB dan RS-232.

2. Pengiriman dan penerimaan data dengan tipe bulk transfer.

3. Pemrograman menggunakan bahasa VHDL dengan simulator Modelsim.

Teori Pendukung

1. Field Programmable Gate Array

Field-Programmable Gate Array (FPGA) adalah komponen elektronika

dan semikonduktor yang mempunyai komponen programmable logic dan

programmable interconnects. Komponen programmable logic yang dimiliki


3

meliputi jenis gerbang logika biasa (AND, OR, XOR, NOT) maupun jenis

fungsi matematis dan kombinatorik yang lebih kompleks (decoder, adder,

subtractor, multiplier, dll). Blok-blok komponen di dalam FPGA bisa juga

mengandung elemen memori (register) mulai dari flip-flop sampai pada RAM

(Random Access Memory).

Hardware pada FPGAs diserahkan sepenuhnya pada design engineer untuk

memprogramnya. Sebelum diprogram, FPGAs hanyalah tersusun atas blok-blok

yang belum dikonfigurasikan dan interkoneksi yang belum disusun dan difungsikan.

Oleh karena itu, istilah yang lebih tepat adalah merekonfigurasikan FPGAs, bukan

memprogramnya. Chip FPGAs yang sama dikonfigurasikan dengan data yang

berbeda akan mengimplementasikan hardware yang berbeda.

2. Very High Speed Integrated Circuit Hardware Description Language

VHSIC Hardware Description Language (VHDL) merupakan bahasa

untuk mendeskripsikan hardware suatu elektronika digital. VHDL pertama

kali distandarisasi pertama kali oleh IEEE pada tahun 1987, dengan nama

IEEE std 1076 – 1987. VHDL memiliki syntax yang mirip dengan PASCAL.

3. Universal Serial Bus (USB)

Gambar 1. Universal Serial Bus (USB)


4

USB adalah host – centric bus dimana host / terminal induk memulai

pertukaran data. Paket pertama / penanda (token) awal dihasilkan oleh host

untuk menjelaskan apakah paket yang mengikutinya akan dibaca atau ditulis

dan dimana tujuan dari perangkat dan titik akhir. Paket berikutnya adalah data

paket yang diikuti oleh handshaking packet yang melaporkan apakah data atau

penanda sudah diterima dengan baik ataupun titik akhir gagal menerima data

dengan baik.

Tabel 1. Jenis pin pada USB

Contact Number Signal Name Typical Cable Colour


1 Vbus Red
2 D- White
3 D+ Green
4 GND Black
Shell Shield Drain Wire

Ketika ingin mengirim nilai “0” , maka tahan nilai D + pada keadaan rendah dan D-

pada keadaan tinggi. Namun ketika ingin nilai “1” , maka tahan nilai D - pada

keadaan rendah dan D+ pada keadaan tinggi.

Kondisi – kondisi pada Universal Serial Bus (USB):

1. Detached

Ketika tidak ada yang tersambung, host akan membaca data lines

bernilai rendah.

Gambar 2. USB saat belum tersambung [4]


5

2. Attached

Pada saat USB tersambung dengan host, host akan membaca nilai D+

atau D- menjadi berlogik ‘1’. Pada saat D- yang berlogik ‘1’ maka USB akan

menjadi perangkat dengan kecepatan rendah, sedangkan ketika D+ yang

berlogik ‘1’ maka USB akan menjadi perangkat dengan kecepatan tinggi.

Gambar 3. USB saat tersambung dengan host [4]

3. Idle

Idle state adalah keadaan ketika salah satu data lines bernilai tinggi dan

data line yang lain bernilai rendah. Keadaan ini terjadi sebelum dan sesudah

paket data terkirim.

4. J , K - State

Keadaan ‘J State’ memiliki polaritas yang sama dengan keadaan idle,

tapi didorong oleh host atau device. Keadaan ‘K State’ berbeda polaritas

dengan ‘J State’.

5. Single Ended Zero (SE0)

Single Ended Zero (SE0) adalah keadaan ketika kedua data line berlogik

rendah.
6

6. Single Ended One

Kondisi ini merupakan kondisi yang ilegal, dimana kedua line bernilai

tinggi. Hal ini tidak akan terjadi apabila fungsinya bekerja secara baik. 

Gambar 4. Keadaan Single Ended One [4]

7. Reset

Ketika host ingin memulai komunikasi dengan device akan dimulai

dengan kondisi reset. Host akan menarik data line yang bernilai tinggi menjadi

bernilai rendah selama 10 ms. Device akan mengenali kondisi reset setelah

2.5µs.

Gambar 5. Keadaan reset [4]

8. EOP-Signal

Keadaan End of Packet (EOP) adalah keadaan SE0 state selama waktu

2bit , diikuti dengan keadaan ‘J State’ selama waktu 1 bit. 


7

Gambar 6. Keadaan EOP [4]

9. Suspend

Salah satu keunggulan USB adalah mempunyai kemampuan untuk

menurunkan daya pada device yang tidak terpakai.Hal ini terjadi karena adanya

keadaan suspend. Ketika tidak ada paket data yang dikirimkan selama 3 ms

maka USB masuk ke dalam keadaan suspend.

Gambar 7. Keadaan Suspend [4]

10. Resume

Ketika host ingin membangkitkan device setelah suspend, host akan

membalikkan polaritas dari sinyal pada data lines selama paling sedikit 20ms.

Gambar 8. Keadaan Resume [4]


8

11. Keep Alive Signal

Keadaan ini diwakili oleh keadaan EOP. Untuk mencegah device dari keadaan

suspending akan dikirim keadaan EOP sekali setiap 1 ms pada hubungan data

yang lambat. 

Gambar 9. Keadaan Keep Alive Signal [4]

4. Serial Port (RS – 232)

Gambar 10. Serial Port [4]

Ada dua macam cara komunikasi data serial yaitu Sinkron dan Asinkron.

Pada komunikasi data serial sinkron, clock dikirimkan bersama sama dengan

data serial,  tetapi clock tersebut dibangkitkan sendiri – sendiri baik pada sisi

pengirim maupun  penerima.Sedangkan pada komunikasi serial asinkron tidak

diperlukan clock karena data  dikirimkan dengan kecepatan tertentu yang sama

baik pada pengirim / penerima.

Standar sinyal RS232 memiliki ketentuan level tegangan sebagai berikut :


9

 Logika 1 disebut ‘Mark’ terletak antara -3 Volt sampai -25 Volt


 Logika ‘0’ disebut ‘space’ terletak antara +3 Volt samapai +25 Volt.
 Daerah tegangan antara -3 Volt sampai +3 Volt adalah invalid level,
yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga
harus dihindari. Demikian juga level tegangan dibawah -25 Volt dan
diatas +25 Volt juga harus dihindari karena bisa merusak line driver
pada saluran RS232

Gambar 11. Pin – pin pada Serial Port [3]

Keterangan Mengenai fungsi saluran RS – 232 pada konektor DB – 9

adalah sebagai berikut:

1. Received Line Signal Detect, dengan saluran ini Data Circuit

Terminating Equipment (DCE) memberitahukan ke Data Terminal

Equipment (DTE) bahwa pada terminal masukan ada data masuk.

2. Receive Data, digunakan DTE menerima data dari DCE.

3. Transmit Data, digunakan DTE mengirimkan data ke DCE.

4. Data Terminal Ready, pada saluran ini DTE memberitahukan

kesiapan terminalnya.

5. Signal Ground, saluran ground.

6. DCE ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE

sudah siap.
10

7. Request to Send, dengan saluran ini DCE diminta mengirim data oleh

DTE.

8. Clear to Send, dengan saluran ini DCE memberitahukan bahwa DTE

boleh mulai mengirim data.

9. Ring Indicator, pada saluran ini DCE memberitahukan ke DTE bahwa

sebuah stasiun menghendaki hubungan dengannya.

Uraian Singkat

Dalam penelitian ini, akan dirancang dan dikonfigurasikan suatu converter dari

Universal Serial Bus (USB) ke Serial Port (RS – 232) dan sebaliknya dengan

menggunakan Field Programmable Gate Array (FPGA).kurang spasiPermasalahan

yang ada pada perancangan ini adalah bagaimana merancang gerbang logika pada

FPGA dengan bantuan modelsim sebagai simulator agar dapat mengkonversikan

data dari USB to RS - 232 dan juga sebaliknya.Bahasa Pemrograman yang dipakai

Very High Speed Integrated Circuit Hardware Description Language (VHDL).

USB FPGA Serial Port

Gambar 12. Diagram Blok USB – Serial Port Converter

Input dapat berupa data dari USB yang ingin dikirimkan ke RS - 232 atau

sebaliknya.FPGA akan mengatur agar data yang dikirim melalui USB bisa diterima

secara baik pada RS - 232. FPGA akan mengubah signalling dan protokol USB agar

sesuai dengan signalling RS - 232 demikian juga sebaliknya.Setelah sesuai

signalling dan protokolnya maka data pun dapat diterima secara baik. Hal ini
11

dilakukan dengan memperhatikan bagaimana bentuk diagram pewaktuan

input/output data baik dari USB dan RS – 232 dan mengkonversikannya pada level

gerbang logika.

Pertukaran data pada USB terdiri dari tiga paket yang dikirim atau diterima

secara sekuensial. Terdiri dari paket token, paket data, dan paket handshake. Namun

pada tipe isochronous transfer tidak menggunakan paket handshake.

Bulk transfer dirancang untuk mengirimkan data dalam jumlah besar dengan

error free delivery (error checking), tetapi tidak menjamin besarnya bandwidth sama.

Jumlah maksimal paket adalah 8, 16, 32, atau 64 dengan kecepatan penuh atau 512

high speed. Bulk transfer tidak dapat digunakan pada kecepatan rendah.

Gambar 13. Pengiriman data pada tipe bulk transfer [4]

Pada pengiriman data pada tipe bulk transfer, host akan mengirimkan terlebih

dahulu paket token. Paket token terdiri dari out token, address, end of packet(endp),

dan CRC (Cyclic Redundancy Check). CRC digunakan untuk melindungi seluruh

daerah di paket token dan paket data. Pada paket token CRC terdiri dari 5 bits

sedangkan paket data terdiri dari 16 bits. Setelah pengiriman paket token selanjutnya

host melanjutkan dengan paket data. Setelah pengiriman paket data telah selesai,

device akan merespon dengan mengirimkan paket handshake.


12

Gambar 14. Penerimaan data pada tipe bulk transfer [4]

Penerimaan data pada USB dengan tipe bulk transfer dimulai dengan host

mengirimkan paket token. Setelah mengirimkan paket token maka device akan

mengirimkan paket data. Host yang telah menerima data akan menanggapi dengan

mengirimkan paket handshake, yang bertujuan untuk memberitahu bahwa data yang

telah dikirim diterima dengan baik.

Penerimaan data pada RS – 232 dimulai dengan Received Lline Signal

memberikan tanda bahwa terminal masukan ada data yang hendak masuk. Setelah

mendapat sinyal dari Received Line Signal, DCE mengirimkan tanda bahwa terminal

DCE dalam keadaan siap. Setelah itu pin Clear to Send akan mengirimkan tanda

bahwa DTE boleh mengirimkan data.Setelah itu data diterima lewat pin Received

Data.

Pada pengiriman data pada RS – 232 diawali dengan Ring Indicator yang

memberikan tanda bahwa DTE ingin berhubungan dengan DCE. Setelah itu pada pin

Data Terminal Ready memberitahukan bahwa DTE dalam keadaan siap. Setelah itu

melalui pin Request to Send, DTE meminta untuk mengirimkan data. Kemudian

DTE mengirimkan data pada pin Transmit Data.


13

Gambar 15. Diagram waktu pertukaran data pada RS – 232

Pengiriman data atau penerimaan data pada RS – 232 diawali dengan Start Bit

untuk menunjukan bahwa pengiriman data atau penerimaan data akan dimulai.

Setelah mengirimkan atau menerima start bit maka data akan dikirim sebanyak 8 bit,

diikuti dengan bit paritas dan Stop Bit. Apabila data yang dikirimkan melebihi 8 bit

maka akan dilanjutkan kembali dengan Start Bit lalu lanjutan datanya. Proses ini

akan berulang hingga data yang dikirim atau diterima telah sepenuhnya dikirim atau

diterima.

Start Data Par Stop


RS - 232

Buffer
FPGA

Token Packet Data Packet Handshake

USB

Gambar 16. Diagram pewaktuan konversi data dari RS – 232 ke USB

Ketika RS – 232 mulai mengirimkan data, maka akan dimulai dengan

mengirimkan bit start. Setelah mengirimkan bit start, RS – 232 akan mengirimkan bit

data. Selama proses pengiriman data, FPGA akan menyimpan data ke buffer. Selain

menyimpan bit – bit data RS – 232, FPGA juga mengirimkan paket token ke USB.

Ketika Pengiriman data berakhir, FPGA mulai mengirimkan paket data melalui USB
14

berdasarkan data dari RS - 232. Selelah mengirimkan paket data, FPGA langsung

mengirim paket handshake.

Token Packet Data Packet Handshake

USB

Buffer

FPGA

Start Data Par Stop

RS - 232

Gambar 17. Diagram pewaktuan konversi data dari USB ke RS – 232

Ketika USB mengirim data pasti diawali oleh paket token, FPGA mulai bersiap

untuk menyimpan data. Setelah itu USB akan mengirimkan paket data, FPGA

menyimpan data di buffer. Kemudian setelah paket data dikirim, USB akan

mengirimkan paket handshake ke USB. Setelah mengirimkan Handshake, FPGA

mulai mengirim data ke RS – 232.

SUSPEND RESUME

IDLE RESET TOKEN


PACKET

DATA
HANDSHAKE
PACKET

Gambar 18. Finite State Machine pada USB


15

Ketika USB tersambung, maka USB dalam keadaan idle. Apabila USB ingin

mengirimkan data, USB akan mengawali dengan keadaan reset. Setelah itu USB

akan mengirim paket token. Berikutnya USB akan mengirimkan paket data dan

handshake. Kemudian setelah mengirim paket handshake, akan kembali ke idle.

Apabila USB tidak digunakan selama 3 ms, USB akan memasuki keadaan suspend.

Namun apabila USB ingin menyambung komunikasi kembali,maka USB menjadi

keadaan resume sebelum kembali dalam keadaan idle.

IDLE

SEND BUFFERING

Gambar 19. Finite State Machine pada FPGA

Sebelum terjadi pertukaran data, keadaan FPGA adalah keadaan idle. Ketika

RS – 232 atau USB mengirimkan data atau paket data, FPGA akan menampung data

tersebut di dalam buffer. Setelah bit stop atau paket handshake terkirim, maka data

yang ditampung akan dikonversikan ke tujuan yang dikehendaki.

IDLE START DATA

STOP PARITY

Gambar 20. Finite State Machine pada RS – 232


16

Pada serial port (RS – 232) ketika ingin terjadi pertukaran data. Dimulai

dengan keadaan idle, ketika mengirim ato menerima data akan diawali dengan bit

start. Setelah itu akan dikiramkan bit data, diikuti oleh bit paritas dan bit stop.

Metodologi

Untuk mencapai tujuan Tugas Akhir dan merealisasikan sistem dengan baik,

akan dilakukan tahap-tahap sebagai berikut:

1. Studi literatur untuk mempelajari dasar-dasar dari analisis yang akan

dilakukan.

2. Perancangan dan pembuatan sistem.

3. Uji coba sistem.

4. Pembuatan Laporan Tugas Akhir.

5. Menarik Kesimpulan

Rencana Waktu Penyelesaian

Tabel 1 Rencana waktu penyelesaian

Minggu ke:
No. Jenis Kegiatan 1 2 3 4 5 6 7 8 9 10 11 12 1tiga 14 15 16
1 Studi Literatur x x x x x x x x x x x x x x x x
Perancangan dan
2
pembuatan sistem       x x x x x x x x x x       
3 Uji coba sistem             x x x x x x x x x  
4 Penulisan laporan     x x x x x x x x x x x x x
5 Menarik simpulan x x

Daftar Pustaka

[1] Cook, N.P.2004. Practical Digital Electronics. New Jersey: Prentice Hall.
17

[2] http://www.irb.hr/.2010. Field Programmable Gate Array (FPGA) description,

(http://www.irb.hr/en/cir/education/courses/fpga/FPGA/fpga_sklopovi/fpga.jpg

.html, diakses 28 Februari 2010).

[3] http://iddhien.com/.2010. Serial Port Computer & Pemrogramannya Dengan

VB6.0(http://iddhien.com/index.php?option=com_content &task=view

&id=67&Itemid=106, diakses 2 Maret 2010).

[4] http://iddhien.com/.2010. Easy Understanding About USB For Beginner's

(http://iddhien.com/index.php?

option=com_content&task=view&id=76&Itemid=106, diakses 2 Maret 2010).

Mengetahui,

Calon Dosen Pembimbing

Karel Octavianus Bachri, S.T, M.T

Anda mungkin juga menyukai