Desain dan Implementasi Encoder 2B1Q Berbasis FPGA

advertisement
Desain dan Implementasi Encoder 2B1Q Berbasis FPGA
1
Sahbuddin Abdul Kadir 1
Teknik Elektro, Politekn ik Negeri Ujung Pandang
[email protected]
Abstrak
Pada sistem komunikasi digital, data ditransmisikan dalam bentuk pulsa yang mempresentasikan b it “0”
dan “1”. Jika informasi yang ditransmisikan masih dalam bentuk analog, terlebih dahulu diubah ke dalam
bentuk digital. Proses pengubahan sinyal analog ke sinyal digital menggunakan beberapa bentuk pengkodean
sinyal diantaranya yaitu NRZ, Bipolar-AMI, 2B1Q dan HDB3 sesuai dengan saluran yang akan dilaluinya.
Pengkodean ini biasa disebut dengan penyandian saluran. Umumnya representasi sinyal digital menggunakan
NRZ dengan dua level tegangan. Representasi bit 0 dan 1 pada jaringan komunikasi data menggunakan kabel
tembaga memerlukan perhatian khusus yang berhubungan dengan sinyal. Salah satunya adalah atenuasi yang
membuat sinyal melemah dengan bertambahnya jarak dan frekuensi yang semakin tinggi. Dengan demikian
diperlukan suatu teknik penyandian yang bukan sekedar merepresentasikan informasi ke dalam bit 0 dan 1,
tetapi memiliki kualifikasi yang berkaitan dengan karakteristik jarak dan frekuensi informasi. 2B1Q adalah
suatu teknik pengkodean 2 (dua) biner yang direpresentasikan dalam 1 dari 4 level tegangan. Pola data yang
terdiri dari 2 bit dikodekan menjadi sebuah elemen sinyal yang merupakan bagian dari empat level sinyal.
Sehingga data terkirim dengan kecepatan 2 (dua) kali lebih cepat dibanding dengan pengkodean NRZ.
Kata kunci: sinyal, jarak, frekuensi, 2B1Q
I. Pendahuluan
Pada sistem komunikasi digital, data
ditransmisikan dalam bentuk pulsa yang
mempresentasikan bit “0” dan “1”. Jika
informasi yang ditransmisikan masih dalam
bentuk analog, terlebih dahulu diubah ke
dalam bentuk digital. Proses pengubahan
sinyal analog ke sinyal digital menggunakan
beberapa
bentuk
pengkodean
sinyal
diantaranya yaitu NRZ, Bipolar-AMI, 2B1Q
dan HDB3 sesuai dengan saluran yang akan
dilaluinya. Pengkodean ini biasa disebut
dengan penyandian saluran. Umumnya
representasi sinyal digital menggunakan NRZ
dengan dua level tegangan. Representasi bit 0
dan 1 pada jaringan komunikasi data
menggunakan kabel tembaga memerlukan
perhatian khusus yang berhubungan dengan
sinyal. Salah satunya adalah atenuasi yang
membuat
sinyal
melemah
dengan
bertambahnya jarak dan frekuensi yang
semakin tinggi. Dengan demikian diperlukan
suatu teknik penyandian yang bukan sekedar
merepresentasikan informasi ke dalam bit 0
dan 1, tetapi memiliki kualifikasi yang
berkaitan dengan karakteristik jarak dan
frekuensi informasi.
2B1Q adalah suatu teknik pengkodean 2
(dua) biner yang direpresentasikan dalam 1
dari 4 level tegangan. Pola data yang terdiri
dari 2 bit dikodekan menjadi sebuah elemen
sinyal yang merupakan bagian dari empat
level sinyal. Sehingga data terkirim dengan
kecepatan 2 (dua) kali lebih cepat dibanding
dengan pengkodean NRZ.
Pada penelitian ini didesain dan
diimplementasikan penyandian saluran 2B1Q
menggunakan metode sistem on chip dan
diimplemntasikan pada FPGA sebagai modul
pembelajaran pada Praktikum Saluran
Transmisi dan Telekomunikasi Radio untuk
mendemonstrasikan pengkodean data 2 bit
menjadi satu elemen sinyal dari empat elemen
sinyal yang berbeda.
II. KAJIAN LITERATUR
2.1 Penyandian Saluran
Penyandian
saluran
adalah
pola
pengkodean sinyal serial digital yang
digunakan untuk mempertahankan reliabilitas
dan integritas data. Line code yang digunakan
ditentukan oleh penyedia layanan komunikasi
data. Bentuk kode biner 1 dan 0 seperti pada
sinyal PCM, dapat direpresentasikan dalam
beberapa format sinyal serial digital yang
disebut sebagai line-code sebagai berikut:
2.1.1 Unipolar
Pengkodean saluran jenis polar tunggal
atau unipolar adalah suatu pengkodean yang
paling sederhana. Pengkodean unipolar hanya
menggunakan sebuah level tegangan atau satu
polaritas untuk menyatakan dua posisi
bilangan biner yaitu 0V (bila tidak ada
tegangan) dan +V untuk menyatakan data
1
biner 0 dan 1. Pengkodean unipolar
mempunyai dua persoalan, yakni komponen
DC dan sinkronisasi.
Amplitudo rata-rata sinyal unipolar yang
tidak nol disebut dengan komponen DC
(frekuensi nol) [5]. Sinyal dengan komponen
DC tidak dapat disalurkan ke media yang tidak
dapat menangani komponen DC. Karena pada
ujung-ujung penerima biasanya terpasang
kapasitor kopling yang digunakan untuk
menahan sinyal dc yang berakibat pada
munculnya derau.
Bila sinyal tidak bervariasi, maka
penerima tidak dapat membedakan mana yang
awal dan mana yang akhir dari tiap-tiap bit.
Inilah masalah sinkronisasi dari pengkodean
unipolar, yang memungkinkan aliran datanya
terdiri dari deretan panjang logika 1 dan 0.
Pengkodean digital menggunakan perubahan
level tegangan untuk mengindikasikan adanya
perubahan bit. Perubahan sinyal juga
memberikan indikasi bahwa satu bit telah
berakhir dan dimulai bit berikutnya.
menyatakan adanya perubahan data biner
dari menuju logika 1. Artinya, setiap ada
perubahan urutan data biner dari 0 ke 1
atau 1 ke 1, maka level tegangan akan
berubah dari sebelumnya.
0
1
0
1
0
0
1
1
1
0
1
1
0
0
1
NRZ-L
NRZ-I
Gambar 2.5 Perbedaan NRZ-L dan NRZ-I
Pengkodean saluran jenis Return to Zero
(RZ) menggunakan level –V dan +V dengan
transisi di pertengahan bit data biner. Data
biner 0 dinyatakan dengan transisi dari level –
V menuju 0V, sedangkan data biner 1
dinyatakan dengan transisi dari level 0V
menuju +V. Contoh pengkodean saluran jenis
RZ ditunjukkan pada gambar berikut ini
(Gambar 2.3)
v
0
v
0
1
0
0
1
1
1
0
0
t
Gambar 2.3 Return to Zero (RZ).
t
Gambar 2.1 Unipolar
2.1.2 Polar
Pengkodean polar menggunakan 2 (dua)
buah level tegangan yaitu –V dan +V.
Pengkodean saluran dalam kelompok polar,
dibagi-bagi lagi menjadi bebrapa jenis yaitu:
Non-Return to Zero (NRZ)
Return to Zero (RZ)
Manchester
Differantial Manchester
Jenis pengkodean polar menggunakan 2 (dua)
buah level tegangan yaitu –V dan +V
(tegangan positif dan negatif) untuk
menyatakan data biner dengan nilai 0 dan 1.
Pengkodean saluran jenis Non-Return to
Zero (NRZ) dibedakan menjadi dua yaitu
a. NRZ-L menggunakan level +V digunakan
untuk menyatakan data biner 0, sedangkan
level tegangan –V digunakan untuk
menyatakan data biner 1 seperti yang
ditunjukkan pada gambar 2.2.
b. NRZ-I (Non-Return to Zero-Inverted)
NRZ-I (Non-Return to Zero-Inverted)
merepresentasikan level –V atau +V yang
Pengkodean Manchester menggunakan
level tegangan –V dan +V dengan transisi
ditengah-tengah bit data biner. Data biner 0
dinyatakan dengan transisi level tegangan dari
+V menuju V, sedangkan data biner 1
dinyatakan dengan transisi level tegangan dari
–V menuju +V.
Zero is
One is
v
0
1
0
0
1
1
1
0
t
Gambar 2.4 Pengkodean Manchester.
Pengkodean Differential Manchester
digunakan pada jaringan token ring dan
merupakan
modifikasi
pengkodean
Manchester, dimana letak transisi level
tegangan dari –V menuju +V atau sebaliknya
yaitu +V menuju –V dipengaruhi oleh data
biner. Data biner 0 ditampilkan dengan transisi
level tegangan terletak di awal interval data
bit, sedangkan data biner 1 dengan transisi
level tegangan terletak ditengah interval bit
dari data. Contoh pengkodean Differential
Manchester ditunjukkan pada gambar 2.5.
2
v
0
1
0
0
1
1
1
0
t
Gambar 2.5 Differential Manchester.
2.1.3 Bipolar
Jenis
pengkodean
bipolar
yaitu
pengkodean dengan menggunakan 3 (tiga)
buah level tegangan, yaitu: -V, 0V, dan +V
untuk menyatakan data biner. Bit “0” akan
bernilai level tegangan nol dan bit “1”
direpresentasikan dengan tegangan yang selalu
berlawanan polaritas dari positif ke negatif
atau sebaliknya dari negatif ke positif.
Pengkodean jenis ini dapat ditemukan pada
AMI dan 2B1Q.
Bipolar Alternate Mark Inversion (AMI)
adalah jenis pengkodean bipolar yang paling
sederhana menggunakan level tegangan 0V
untuk menyatakan bit 0, sedangkan bit 1
dinyatakan dengan level tegangan –V dan +V
secara bergantian. Dengan kata lain, tegangan
0 direpresentasikan sebagai bit 0. Bit 1 adalah
representasi oleh tegangan positif dan
tegangan negatif secara bergantian.
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
Gambar 2.6 Alternate Mark Inversion (AMI)
Pengkodean 2BIQ digunakan untuk
melakukan pengkodean dua data biner untuk
dijadikan satu kuarter, pola data yang terdiri
dari 2 bit dikodekan menjadi sebuah elemen
sinyal yang merupakan bagian dari sinyal
berlevel empat. Sedangkan data dikirim
dengan kecepatan dua kali lebih cepat
dibanding dengan pengkodean NRZ-L, dan
pada bagian penerima memiliki empat
threshold untuk melayani penerimaan data
terkirim.
Jika Data bit “00” dinyatakan dengan
level tegangan -3 V, data bit “11” dinyatakan
dengan level tegangan +1V , data bit“01”
dinyatakan dengan level tegangan -1 V, data
bit “10” dinyatakan dengan tegangan +3 V.
Seperti diperlihatkan pada gambar berikut ini
Gambar 2.7 Data 2B1Q.
2.2 Field-Programmable Gate Array (FPGA)
FPGA merupakan sebuah IC digital yang
sering digunakan untuk mengimplementasikan
rangkaian digital. FPGA berbentuk komponen
elektronika dan semikonduktor yang terdiri
dari
komponen
gerbang
terprogram
(programmable logic) dan sambungan
terprogram (interkoneksi). Komponen gerbang
terprogram terdiri atas gerbang logika biasa
(AND, OR, NOT) maupun fungsi matematis
dan kombinatorik yang lebih kompleks, seperti
decoder, adder, subtractor dan multiplier.
Selain itu, Blok-blok komponen di dalam
FPGA juga terdapat elemen memori (register)
mulai dari flip-flop sampai pada RAM. FPGA
sangat sesuai untuk pemrosesan komputasi
algoritma
integrasi
numerik.
FPGA
mempunyai koreksi error yang kecil dan
merupakan teknologi yang bebas (technologyindependent) untuk diimplementasikan dalam
berbagai algoritma. Kinerja aplikasi FPGA
lebih cepat dibandingkan dengan aplikasi
mikrokontroler,
karena
FPGA
hanya
mensintesis perangkat keras saja, sementara
mikrokontroler
mengeksekusi
instruksi
perangkat lunak yang digunakan untuk
mengendalikan perangkat keras, sehingga
waktu tunda yang diimplementasikan hanya
waktu tunda perambatan saja.
Gambar 2.8 FPGA jenis Altera Cyclone De2.
3
Pengertian terprogram (programmable)
pada FPGA adalah seperti interkoneksi saklar
pada bread board yang bisa diubah sesuai
kebutuhan pengguna. Interkoneksi ini bisa
diprogram kembali oleh pengguna di lab atau
lapangan (field). Oleh karena itu jajaran
gerbang logika (Gate Array) ini disebut fieldprogrammable.
III. METODE PENELITIAN
Metode penelitian yang digunakan pada
panelitian ini adalah desain dan implemntasi
penyandian saluran 2B1Q. Desain dilakukan
dengan bahasa pemrograman HDL verilog
sedangkan implementasi menggunakan FPGA.
+3V. Sedangkan untuk mengembalikan sinyal
informasi ke bentuk aslinya dibutuhkan
perangkat decoder pada penerima.
3.4 Flowchart Encoder 2B1Q
Desain encoder penyandian saluran 2B1Q
dilakukan dengan coding HDL verilog. Desain
dimulai dengan mendeteksi 2 bit data input
lalu dikodekan dengan salah satu dari empat
elemen sinyal yang sesuai dengan runtun 2 bit
tersebut. Proses ini ditunjukkan dengan
flowchart pada gambar 3.2.
Start
Input NRZ
NRZ
Detektor
2 Bit
Encoder
2 Bit
Pembangkit
Polaritas 2B1Q
2B1Q
Deteksi 2 Bit
Deteksi Bit l
Gambar 3.1. Diagram Blok Encoder 2B1Q
3.1 Detektor 2 Bit
Data input yang masuk, sebelum sampai
ke rangkaian coding 2 bit didelay 1 bit.
Indikasi 2 bit secara bersamaan sebagai
langkah awal untuk membuat lebar pulsa yang
sesuai dengan algoritna kode 2B1Q. Delay 1
bit (selalu) digunakan untuk membaca bit 1
dan 2 secara bersamaan dan dikodekan untuk
level tegangan yang sesuai runtun bit 1 dan 0.
3.2 Encoder 2 Bit
Runtun bit yang terdeteksi akan
dikodekan ke salah satu dari empat level
tegangan.
Data
pada
bit
pertama
mengindikasikan polaritas, jika bit pertama=1
maka polaritas sinyal positif (+). Sebaliknya
jika bit pertama bernilai=0, maka polaritas
sinyal negative (-). Sedangkan pada bit kedua
mengindikasikan nilai level tegangan. Jika bit
kedua berlogika 1 maka level tegangan 1V,
dan level tegangan 3V untuk bit 0. Pada output
encoder 2B1Q akan diperoleh gabungan dari
bit 1 dan 2 data input.
3.3 Pembangkit Polaritas 2B1Q
Pada bagian pembangkit sinyal 2B1Q
digunakan 4 level tegangan. Polaritas dan level
tegangan sesuai dengan runtun bit 0 dan 1
untuk setiap 2 bit data. Dimana, data “00”
dinyatakan dengan level tegangan -3V, data
“11” dinyatakan dengan level tegangan +1V,
data “01” dinyatakan dengan level tegangan -1
V, data “10” dinyatakan dengan tegangan
Bit 0?
Polaritas -
Polaritas +
Deteksi Bit ll
Deteksi Bit ll
Bit 0?
Bit 0?
-3V
+3V
-1V
+1V
Penjumlah
2B1Q
Lanjut?
Start
Gambar 3.2 Flowchart Encoder 2B1Q
3.5 Integrasi FPGA
Implementasi encoder panyandian saluran
2B1Q FPGA menggunakan program aplikasi
quartus. Integrasi HDL verilog encoder 2B1Q
dimulai dengan sintesis untuk mengetahui
frekuensi clock maksimum yang dapat
digunakan. Setelah itu, dilakukan konfigurasi
pin untuk menyediakan port input dan output
encoder 2B1Q. Port input menggunakan clock
internal. Sedangkan data input menggunakan 8
switch pada board FPGA Altera DE2.
Kemudian port output memamfaatkan General
Port Input Output (GPIO) pada board FPGA.
4
Start
Buat design di
verilog
Save
Menentukan
Device
Kompilasi
Simulasi
Generate Waveform
Simulaton
Konfigurasi Pin
Download FPGA
Stop
Gambar 3.3. Integrasi FPGA
IV. HASIL DAN PEMBAHASAN
Hasil perancangan encoder penyandian
2B1Q diintegrasikan ke board FPGA
menggunakan program aplikasi quartus.
Integrasi dimulai dengan compile kode verilog
penyandian 2B1Q untuk memeriksa jika
terjadi kesalahan pemrograman. Setelah itu
dilakukan simulasi untuk melihat keluaran
hasil rancangan sudah sesuai dengan input
yang diberikan. Sebelum diimplementasikan
ke board FPGA, dilakukan konfigurasi pin
sebagai port input dan output implementasi
penyandian 2B1Q. Sehingga tersedia port
untuk pengukuran dan pengujian.
4.1 2B1Q Dengan Satu Level Tegangan
Pada rangkaian pembangkit sinyal 2B1Q,
digunakan 4 level tegangan. Polaritas dan level
tegangan sesuai dengan runtun dua bit data
biner. Data “00” dinyatakan dengan level
tegangan -3 V, data “11” dinyatakan dengan
level tegangan +1V , data “01” dinyatakan
dengan level tegangan -1 V, data “10”
dinyatakan dengan tegangan +3 V.
Data input 2B1Q 10101010 untuk satu
level tegangan ditunjukkan pada gambar 4.2
dan 4.3. Kanal 1 pada gambar 4.2
menunjukkan sinyal input clock dan input
NRZ pada kanal 2. Sedangkan pada kanal 1
pada gambar 4.3 adalah input NRZ dan output
encoder 2B1Q pada kanal 2.
Gambar 4.2 Sinyal input clock dan NRZ
Start
Buat design di
verilog
Save
Menentukan
Device
Kompilasi
Simulasi
Generate Waveform
Simulaton
Gambar 4.3 Input NRZ dan output 2B1Q
Konfigurasi Pin
Download FPGA
Stop
Gambar 4.1 Integrasi FPGA
4.2 2B1Q Dengan Dua Level Tegangan
Data input 2B1Q 11001100 untuk dua
level tegangan ditunjukkan pada kanal 1 dan
output encoder 2B1Q pada kanal 2 gambar
4.4.
5
level tegangan -1V, data “11” dinyatakan
dengan level tegangan +1V yang dihasilkan
merupakan nilai polaritasnya.
4.4 2B1Q Dengan Empat Level Tegangan
Data input 2B1Q 10011110 untuk empat
level tegangan ditunjukkan pada kanal 1 dan
output encoder 2B1Q pada kanal 2 gambar
4.6.
Gambar 4.4 Input NRZ 11001100 dan output
2B1Q
Hasil pengujian pada pembangkit
polaritas 2B1Q menghasilkan sinyal dengan
level tegangan V2. Sinyal ini merupakan
sinyal 2B1Q dengan runtun bit „11‟ dan „00‟.
Data output 2B1Q yang dihasilkan yaitu
berupa sinyal dengan tegangan V2 dan V0
karena Data “11” dinyatakan dengan level
tegangan +1V, data “00” dinyatakan dengan
level tegangan -3V merupakan nilai polaritas
yang dihasilkan.
4.3 2B1Q Dengan Tiga Level Tegangan
Data input 2B1Q 10011110 untuk tiga
level tegangan ditunjukkan pada kanal 1 dan
output 2B1Q pada kanal 2 gambar 4.5
Gambar 4.5 Input NRZ 10011110 dan output
2B1Q
Data input 2B1Q 10011110 untuk tiga
level tegangan ditunjukkan pada gambar 4.5
Channel 1 merupakan input data 2B1Q (NRZ)
dan channel 2 merupakan output 2B1Q. Hasil
pengujian pada pembangkit polaritas 2B1Q
menghasilkan sinyal dengan level tegangan
V3, V1, dan V2 sinyal ini merupakan sinyal
2B1Q dengan runtun bit „10‟, „01‟, dan „11‟
Data output 2B1Q yang dihasilkan yaitu
berupa sinyal dengan tegangan V3, V1, dan
V2 karena Data “10” dinyatakan dengan level
tegangan +3V, data “01” dinyatakan dengan
Gambar 4.6 Input NRZ 10011110 dan output
2B1Q
Data input 2B1Q untuk tiga
level
tegangan ditunjukkan pada gambar 4.6
Channel 1 merupakan input NRZ data 2B1Q
dan channel 2 merupakan output dari
rangkaian pembangkit polaritas 2B1Q. Hasil
pengujian pada pembangkit polaritas 2B1Q
akan menghasilkan sinyal dengan level
tegangan V3, V1, V2, dan V0 sinyal ini
merupakan sinyal 2B1Q dengan runtun bit
„10‟, „01‟, „11‟, dan „00‟.
Data output 2B1Q yang dihasilkan yaitu
berupa sinyal dengan tegangan V3, V1, V2,
dan V0 karena Data “10” dinyatakan dengan
level tegangan +3 V, data “01” dinyatakan
dengan level tegangan -1V , data “11”
dinyatakan dengan level tegangan +1 V, data
“00” dinyatakan dengan tegangan -3 V.
Data input NRZ 8 bit sebagai test-bench
pada penelitian ini digunakan untuk
memperlihatkan output pengujian encoder
penyandian saluran 2B1Q pada FPGA. Karena
encoder menggunakan 4 elemen sinyal yang
berbeda untuk mengkodekan setiap 2 bit input,
maka testbench divariasikan untuk 4 runtun bit
yang berbeda. Sehingga setiap elemen sinyal
dapat diamati pada output encoder 2B1Q.
Hasil desain dan implementasi encoder
penyandian saluran 2B1Q menggunakan
FPGA dapat memnampilkan 4 elemen sinyal
yang berbeda dengan level tegangan yang
telah menunjukkan algoritma penyandian
saluran 2B1Q. Tetapi masih memerlukan
6
perangkat tambahan untuk menampilkan
tegangan -3V, -1V, +1V dan +3V. walaupun
demikin encoder 2B1Q ini sudah dapat
digunakan
untuk
mendemonstrasikan
penyandian
saluran
2B1Q
untuk
memperlihatkan empat elemen sinyal yang
berbeda untuk setiap runtun 2 bit yang
berbeda.
V. KESIMPULAN
Teknik pennyandian saluran 2 biner
dengan 2B1Q yang merepresentasikan setiap 2
bit data input ke salah satu dari empat elemen
sinyal membuat data terkirim dengan
kecepatan 2 (dua) kali lebih cepat dibanding
dengan pengkodean NRZ. Sehingga dapat
mereduksi setengah dari bandwith. Sehingga
dapat digunakan pada frekuensi rendah dan
jarak yang lebih jauh sampai 5 KM
menggunakan saluran kawat UTP.
UCAPAN TERIMA KASIH
Pada pelaksanaan penelitian ini penulis
dibantu oleh rekan-rekan dosen mahasiswa
Teknik Elektro Politeknik Negeri Ujung
pandang.
Oleh
karena
itu
penulis
mengucapkan terima kasih yang sebesarbesarnya semoga hasil penelitian ini dapat
bermamfaat bagi kemajuan ilmu pengetahuan.
REFERENSI
1. Ali, Imran and Ahmad, Ali. 2013. An
Efficient FPGA Based HDB3 Decoding
System Using, nternational Journal of
Future Computer and Communication
Vol. 2, No. 6.
2. Stalling, William. 1997. Data and
Computer Communication. New Jersey:
Prentice-Hall International, Inc.
3. Sandige, Ricards. 1990. Modern Digital
Design.
McGraw-Hill
Publishing
Company.
4. Stanley, William D. 1994, Operational
Amplifier with Linier Integrated Circuit.
McGraw-Hill.
5. Winch,
Robert
G.
1993.
Telecommunication Transmission System.
Singapura; McGraw-Hill, Inc.
6. Black Box Network Services. 2015.
HDB3
Encoding
http://www.blackbox.de/en-de/page/332/hdb3-encoding
7. Kadir, Sahbuddin Abdul. 2015. Rancang
Bangun Penyandian Saluran HDB3
Berbasis FPGA. Seminar Nasional Teknik
Elektro dan Informatika
7
Download