TUGAS AKHIR PEMBANGKIT GELOMBANG SINUS, SEGITIGA DAN KOTAK MENGGUNAKAN CPLDFPGA

TUGAS AKHIR

  

PEMBANGKIT GELOMBANG SINUS, SEGITIGA

DAN KOTAK MENGGUNAKAN CPLD/FPGA

  Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

  Program Studi Teknik Elektro Disusun oleh:

  NENDAR WIBARASTA NIM : 035114037

  

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2010

  i

FINAL ASSIGNMENT

  

WAVEFORM GENERATOR OF SINE, TRIANGLE

AND SQUARE WAVE USING CPLD/FPGA

  Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree

  In Electrical Engineering Study Program NENDAR WIBARASTA

  NIM : 035114037

  

ELECTRICAL ENGINEERING STUDY PROGRAM

SCIENCE AND TECHNOLOGY FACULTY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2010

  ii

MOTTO DAN PERSEMBAHAN

  

“ If we knew what we were doing, it wouldn't be called research, would

it? "

  (Albert Einstein)

  

"Security is mostly a superstition... Life is either a daring adventure, or

nothing."

  (Hellen Keller)

  

“Try to keep everything simple, since we don’t need to exaggerate

anything”

  Kupersembahkan Tugas Akhir ini untuk : < Allah Bapa di Surga atas kasih dan karunia-Nya. < Bapak, ibu dan adikku tercinta. <

  Almamaterku Teknik Elektro USD vi

  

PEMBANGKIT GELOMBANG SINUS, SEGITIGA

DAN KOTAK MENGGUNAKAN CPLD/FPGA

Nendar Wibarasta

035114037

  

INTISARI

  Kemampuan untuk membangkitkan bentuk gelombang seperti gelombang sinus, gelombang segitiga dan gelombang kotak sudah menjadi hal yang sangat penting dalam dunia medis, telekomunikasi, dan industri. Namun sinyal analog memiliki resiko sangat rentan terhadap derau, sehingga pembangkitan gelombang secara digital yang tahan derau menjadi sangat penting.

  Pembangkitan sinyal atau gelombang secara digital pada penelitian ini dirancang menggunakan teknik Direct Digital Synthesis atau DDS. Sederetan bilangan biner 8 bit digunakan sebagai tuning word. Tuning word ini yang akan menentukan frekuensi keluaran gelombang keluaran. Pengubahan nilai tuning word akan merubah nilai frekuensi keluaran pada semua jenis gelombang yang dibangkitkan. Pengubahan nilai amplitudo dilakukan secara analog pada bagian Digital to Analog Converter.

  Penelitian ini belum selesai dan hanya berhasil sampai pada tahap simulasi. Simulasi dari aplikasi pembentuk gelombang ini membuktikan bahwa frekuensi keluaran dapat diubah- ubah secara digital. Pengujian amplitudo gelombang tidak dapat dilakukan dikarenakan blok DAC belum dibuat.

  Kata kunci : Direct Digital Synthesis, gelombang , frekuensi. viii

  

WAVEFORM GENERATOR OF SINE, TRIANGLE

AND SQUARE WAVE USING CPLD/FPGA

Nendar Wibarasta

035114037

  

ABSTRACT

  The ability to generate the waveforms such as sinewave, triangle wave and square wave has become an important subject in the field of medication, telecommunication and industry. But the analog signal is fragile of noise, so it is important to generate digital waveforms which are persistent of noise.

  The waveform generator in this research is designed using Direct Digital Synthesis method, which is usually abbreviated to DDS. The 8 bits of binary numbers are used as tuning word. This tuning word will determine the frequency of the output waveforms. The changing value of tuning word will change the value of the output frequency of the waveform, while the the changing the waveform’s amplitude is operated in Digital to Analog Converter (DAC).

  This research is not completed yet, and only proceeds until the simulation session. It is proved from the simulation that the waveform’s frequency can be changed digitally. The test of amplitude of the analog waveform could not be completed due to the DAC part that has not been built yet.

  Key words: Direct Digital Synthesis, waveform, frequency. ix

  

DAFTAR ISI

  Halaman HALAMAN JUDUL DALAM BAHASA INDONESIA…………………..…........ i HALAMAN JUDUL DALAM BAHASA INGGRIS............................................... ii LEMBAR PENGESAHAN OLEH PEMBIMBING ………………………............ iii LEMBAR PENGESAHAN OLEH PENGUJI ………………………………......... iv LEMBAR PERNYATAAN KEASLIAN KARYA …………………….……........ v MOTTO DAN PERSEMBAHAN …………………………………….….……...... vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS.................................................................. vii

  INTISARI ……………………………………………………………………......... viii ABSTRACT ……………………………………………………………………..... ix KATA PENGANTAR ………………………………………………………… ..... x DAFTAR ISI …………………………………………………………………........ xi DAFTAR GAMBAR ………………………………………….………………....... xiv BAB I PENDAHULUAN …………………………..………………………...

  1 1.1. Latar Belakang Masalah …………………..……………………..

  1 1.2. Tujuan dan Manfaat Penelitian……………………..…………….

  2 1.3. Batasan Masalah ………………………………………………....

  2 1.4. Metodologi Penelitian....... ……………………..…………...........

  2 1.5. Sistematika Penulisan …………………………………………....

  2 BAB II DASAR TEORI ………………………………………….…………...

  3 2.1. Metode Direct Digital Synthesis ……………………..…………..

  3 2.1.1. Akumulator............. ………………………………..........

  4 2.1.2. ROM Look Up Table ............ ………………..……..........

  4 2.1.3 Register Parallel In Parallel Out................ ......................

  5 xi

  2.1.4 Penambah/Pengurang Komplemen 2.................................

  5 2.1.5 Mekanisme Pengubahan Frekuensi ....................................

  6 2.1.6 Digital to Analog Converter...............................................

  7

  2.2. Konsep Perancangan Sistem Digital dengan Menggunakan Perangkat Lunak Altera Max+Plus II …….....................................................

  8

  2.3. Complex Programmable Logic Device

  9 BAB III PERANCANGAN PEMBANGKIT BENTUK GELOMBANG........

  10 3.1. Perancangan Arsitektur Pembangkit Gelombang............................

  11 3.1.1. Perancangan Register Input ................................................

  11 3.1.2. Perancangan Blok Akumulator Fasa...................................

  11 3.1.3. Perancangan Blok ROM Gelombang Sinus.......................

  12 3.1.4. Perancangan Pengontrol Gelombang Segitiga....................

  13 3.1.5. Perancangan Pengontrol Gelombang Segi Empat..............

  14 3.1.6. Perancangan Pengontrol Output.........................................

  14

  3.1.7. Perancangan Register

  14 Output..............................................

  3.1.8 Perancangan Blok Digital to Analog Converter..................

  14 3.2. Metode Pembentukan Gelombang Sinus........................................

  15 3.3. Metode Pembentukan Gelombang Segitiga .....................................

  17 3.4. Metode Pembentukan Gelombang Kotak.........................................

  19

  3.5. Pin Pengontrol, Pin Masukan, dan Pin Keluaran Pada UP1 Board

  20 3.6. Penggunaan Flex Switch Pada Papan UP1 Board........................... ..

  21 3.7. Perancangan Pembagi Frekuensi.......................................................

  21 3.8. Perancangan Saklar Pengontrol Gelombang Segitiga dan Kotak......

  21 3.9. Pengimplementasian Perancangan.....................................................

  22 BAB IV HASIL DAN PEMBAHASAN …………………………........................ 23

  4.1. Pengujian Blok-Blok Penyusun Konfigurasi Pembentuk Gelombang

  23

  4.1.1. Pengujian Blok Register Input ….…...................................... 24 4.1.2. Pengujian Blok Akumulator……...........................................

  25 4.1.3. Pengujian Blok Register Adder/Register Fasa…...……….....

  26 4.1.4. Pengujian Blok ROM…………………………….…….........

  27 4.1.5 Pengujian Blok Pengontrol Gelombang Segitiga....................

  30 xii

  4.1.6. Pengujian Blok Pengontrol Gelombang Kotak.......................

  44 4.3.1. Kesalahan Pada Simulasi Gelombang Segitiga..................

  2 LAMPIRAN LIST PROGRAM PER MODUL/SUB PROYEK LAMPIRAN DATASHEET DAC0832 LAMPIRAN DATASHEET LF351

  LAMPIRAN KONFIGURASI PEMBANGKIT GELOMBANG LAMPIRAN HASIL SIMULASI PEMBANGKIT GELOMBANG PADA SIMULATOR ALTERA MAX+PLUS II LAMPIRAN GRAFIK GELOMBANG PADA BEBERAPA NILAI TUNING WORD LAMPIRAN CONTOH TABEL UNTUK PEMBANGKITAN GELOMBANG SINUS PADA TUNING WORD 00000001

  53 DAFTAR PUSTAKA ……………………………………..…………………….......... 55

  53 5.2. Saran ………………………………………..……….………….........

  52 BAB V KESIMPULAN DAN SARAN ……………………………….……......... 55 5.1. Kesimpulan ………………………………………..……..…….........

  50 4.5. Pengujian Blok DAC dan Pengubahan Amplitudo Gelombang..........

  48 4.4. Pengujian Gelombang Kotak/Segi Empat...........................................

  45 4.3.2. Analisa Kesalahan Pada Port Sub.......................................

  4.2.3. Karakteristik Gelombang Sinus Pada Rentang Frekuensi Audio 42 4.3. Pengujian Gelombang Segitiga............................................................

  31

  40

  4.2.2. Pengaruh Nilai Tuning Word Pada Bentuk Gelombang Sinus

  38

  2

  4.2.1. Pengujian Gelombang Sinus dengan Tuning Word 00000010

  34

  4.1.8 Pengujian Blok Register Output............................................... 34 4.2. Pengujian Gelombang Sinus................................................................

  4.1.7. Pengujian Blok Pengontrol Output........................................... 33

  xiii

  DAFTAR GAMBAR

  20 Gambar 3.11. Bagian Flex-Switch yang akan digunakan sebagai input tuning word

  10 ............. 29

Gambar 4.10. Hasil simulasi blok ROM dengan nilai alamat desimal 173

  10 ….…….... 28

  28 Gambar 4.9. Hasil simulasi dari blok ROM dengan alamat desimal 1

  27 Gambar 4.8. Blok ROM ………………………...……………..............................

  27 Gambar 4.7. Hasil simulasi dari cara kerja register adder ………..……………....

  26 Gambar 4.6. Blok register adder/register fasa………………………….……........

  25 Gambar 4.5. Hasil simulasi dari proses pengurangan ………………….………... .

  25 Gambar 4.4. Hasil simulasi dari proses penambahan ……………………..……...

  24 Gambar 4.3. Rangkaian blok akumulator …………………………………….….

  24 Gambar 4.2. Hasil simulasi dari blok register input................................................

  22 Gambar 4.1. Blok Register Input ………………………..….................................

  21 Gambar 3.12. Rangkaian saklar pengontrol...............................................................

  20 Gambar 3.10. Skema dari pin keluaran dan pin kontrol.............................................

  Halaman Gambar 2.1. Diagram blok dari arsitektur DDS......................................................

  19 Gambar 3.9. Blok diagram dari UP1 Board …………………………….……......

  18 Gambar 3.8. Diagram alir dari pembentukan gelombang kotak ………….……....

  17 Gambar 3.7. Diagram alir pengontrolan dalam pembentukan gelombang segitiga

  16 Gambar 3.6. Diagram alir dari proses looping ……….……………..…………....

  15 Gambar 3.5. Diagram alir utama pembentukan gelombang sinus …...…………..

  13 Gambar 3.4. Skema rangkaian DAC ………………………………………..........

  12 Gambar 3.3. Nilai heksadesimal bagi nilai amplitudo gelombang sinus ..……….

  10 Gambar 3.2. Sintaks pada MATLAB untuk mendapatkan nilai fungsi sinus ……

  7 Gambar 3.1. Diagram detail rancangan arsitektur pembangkit gelombang….…...

  7 Gambar 2.5. Rangkaian DAC model R-2R Ladder ................................................

  5 Gambar 2.4. Teknik pengubahan laju frekuensi ……………………..…..............

  5 Gambar 2.3. Rangkaian penambah/pengurang komplemen 2………..………..…

  3 Gambar 2.2. Contoh blok rangkaian register PIPO…………………………..…...

  xiv

Gambar 4.11. Gambar blok pengontrol gelombang segitiga …...…..……………....

  30 Gambar 4.12. Hasil simulasi blok pengontrol segitiga dengan nilai nol pada port control 30

Gambar 4.13. Hasil simulasi blok pengontrol segitiga dengan nilai satu pada port control 31 Gambar 4.14. Blok pengontrol gelombang segiempat ……….….…………….........

  31 Gambar 4.15. Hasil simulasi pengontrol segiempat dengan nilai nol pada port control

  32 Gambar 4.16. Hasil simulasi pengontrol segiempat dengan nilai satu pada port control

  32 Gambar 4.17. Blok pengontrol output ………………………………........................

  33 Gambar 4.18. Hasil simulasi pengontrol output dengan nilai nol pada port control

  33 Gambar 4.19. Hasil simulasi pengontrol output dengan nilai satu pada port control

  33 Gambar 4.20. Gambar blok register output ………………………………….…......

  34 Gambar 4.21. Hasil simulasi dari blok register output…………………………....... 34

Gambar 4.22. Hasil simulasi pembangkitan gelombang sinus ………………….…

  35 Gambar 4.23. Hasil simulasi pembangkitan gelombang sinus pada rentang frekuensi 0 µS 250 µS dengan nilai tuning word 00000001

  2 ………………………

  36 Gambar 4.24. Representasi grafis dari bentuk gelombang sinus dengan tuning word sebesar 00000001

  2 .…………………………………….................................. 37

Gambar 4.25. Hasil simulasi pembangkitan gelombang sinus dengan kenaikan frekuensi sebesar nilai biner 10 atau setara dengan desimal dua........................

  38 Gambar 4.26. Representasi grafis dari bentuk gelombang sinus dengan tuning word sebesar 00000010

  2 ........................................................................................... 39

Gambar 4.27. Representasi grafis bentuk gelombang sinus pada tuning word 00010000

  2

  40 Gambar 4.28. Representasi grafis bentuk gelombang sinus pada tuning word 00100000

  41

  2 Gambar 4.29. Representasi grafis bentuk gelombang sinus pada tuning word 10000000

  2

  41 Gambar 4.30. Rangkaian pencacah biner 8 bit..........................................................

  42 Gambar 4.31. Titik awal dalam satu periode clock keluaran dari pembagi frekuensi

  42 Gambar 4.32. Titik akhir dalam satu periode clock keluaran dari pembagi frekuensi

  43 Gambar 4.33. Titik awal pada satu periode gelombang sinus dengan nilai tuning word 00000001

  2 ............................................................................................ 43

Gambar 4.34. Titik akhir dalam satu periode gelombang sinus dengan nilai tuning word 00000001 2..........................................................................................................................................

  43 Gambar 4.35. Hasil simulasi pembangkitan gelombang segitiga...............................

  45 xv

Gambar 4.36. Detail dari hasil simulasi gelombang segitiga.......................................

  45 Gambar 4.37. Hasil simulasi gelombang segitiga dengan nilai output dalam nilai heksadesimal....................................................................................... 46

Gambar 4.38. Hasil simulasi gelombang segitiga saat proses penambahan................

  46 Gambar 4.39. Hasil simulasi gelombang segitiga saat proses pengurangan………..

  47 Gambar 4.40. Kesalahan pada nilai sub saat proses pembentukan gelombang segitiga..... 48

Gambar 4.41. Perbesaran gambar dari hasil simulasi pada gambar 4.40……………

  48 Gambar 4.42. Representasi grafis gelombang segitiga dengan tuning word 00000010

  2 ..... 49 Gambar 4.43. Hasil simulasi pembentukan gelombang kotak……………………....

  50 Gambar 4.44 Hasil simulasi pembentukan gelombang kotak dengan tuning word sebesar 00000010

  2 …………………………………………………………… 51 Gambar 4.5 Hasil simulasi ulang terhadap pembentukan gelombang kotak……..

  51 xvi

BAB I PENDAHULUAN

  1.1 Latar Belakang Masalah

  Kemampuan untuk membangkitkan dan mengendalikan bentuk gelombang dalam berbagai nilai frekuensi sudah menjadi kebutuhan yang sangat penting dalam berbagai bidang dan aplikasi, seperti bidang medis, telekomunikasi maupun industri.

  Pembentukan sinyal secara analog memiliki banyak kekurangan, diantaranya adalah sifatnya yang sangat rentan terhadap derau. Masalah ini dapat ditangani dengan pembentukan sinyal secara digital. Pembentukan sinyal secara digital memiliki beberapa keunggulan, diantaranya adalah ketahanan sinyal output terhadap derau, dan proses

  switching frekuensi output yang cepat [4].

  Salah satu metode pembentukan sinyal secara digital yang cukup banyak diaplikasikan adalah metode Direct Digital Synthesis (DDS). Ini dikarenakan metode DDS dapat dikembangkan pada sebuah IC (Integrated Circuit) tunggal yang dapat menghasilkan gelombang output analog terpogram dengan sederhana dan dengan tingkat ketepatan dan resolusi yang tinggi [4].

  Dengan metode DDS, dapat dibangkitkan fungsi gelombang keluaran yang bermacam-macam selain sinus, sehingga DDS dapat dimanfaatkan dalam suatu generator fungsi yang membangkitkan bermacam-macam fungsi [7].

  1.2 Tujuan dan Manfaat Penelitian

  Tujuan yang akan dicapai, yaitu merancang pembangkit gelombang sinus, segitiga dan kotak secara digital menggunakan metode Direct Digital Synthesis, dengan berbasis CPLD.

  Manfaat yang dapat dicapai, yaitu:

  a. pengembangan pengetahuan mengenai metode pembangkitan sinyal secara digital b. sebagai bahan untuk pengembangan dan aplikasi pembangkitan sinyal dalam perkuliahan perancangan sistem digital

  1.3 Batasan Masalah

  Dalam perancangan dan simulasi ini memiliki batasan sebagai berikut: a.

  Bentuk gelombang yang dibangkitkan adalah gelombang sinus, kotak dan segitiga b. Nilai frekuensi gelombang dapat diubah secara digital dan amplitudo gelombang dapat diubah secara analog.

  c. Perancangan dan simulasi menggunakan perangkat lunak Altera Max+plus II 10.2.

  1.4 Metodologi Penelitian a.

  Metodologi yang digunakan penulis dalam penelitian adalah sebagai berikut: b. Mengumpulkan referensi dan literatur dari buku-buku perpustakaan dan sumber dari internet.

  c. Menyusun referensi dari literatur yang ada.

  d. Perancangan dan pembuatan simulasi menggunakan perangkat lunak.

  e.

  Pengujian simulasi bentuk gelombang f. Penyusunan laporan

  1.5 Sistematika Penulisan

  Penulis menggunakan sistematika penulisan sebagai berikut:

  BAB I Berisi latar belakang masalah, tujuan dan manfaat dari penelitian, batasan masalah, metodologi penelitian, dan sistematika penulisan. BAB II Berisi dasar teori tentang blok dasar dari arsitektur Direct Digital Synthesis , mekanisme pengubahan frekuensi pada DDS, dan konsep perancangan sistem digital menggunakan Altera Max+Plus II.

  BAB III Berisi rancangan simulasi yang dibuat, meliputi blok diagram, bagan alir program (flow chart), dan penjelasan singkat tentang cara kerjanya. BAB IV Bab ini berisi data hasil perancangan dan simulasi dan pengamatan terhadap hasil rancangan. BAB V Berisi kesimpulan dan saran.

BAB II DASAR TEORI

2.1 Metode Direct Digital Synthesis Direct Digital Synthesis adalah metode pembentukan gelombang secara digital [5].

  Dinamakan Direct Digital Synthesis atau disingkat dengan nama DDS, karena metode ini membangkitkan sinyal digital secara langsung, tanpa memerlukan proses sampling dan kuantisasi dari masukan sinyal analog [5].

  Metode DDS dapat membangkitkan bentuk gelombang yang nilai frekuensi maupun amplitudonya dapat diubah-ubah, dengan menerapkan sinyal clock yang berfrekuensi tetap. Blok diagram dari arsitektur Direct Digital Synthesis tampak seperti di bawah ini.

  Rangkaian penambah

  Tuning Word M Output/ regi

  DAC

  sine ster regist look

  ∑

  out er up put input table

  Clock

Gambar 2.1 Diagram blok dari arsitektur DDS

  Komponen pokok dari arsitektur DDS terdiri dari sebuah akumulator fasa atau rangkaian penjumlah, sebuah konverter amplitudo (look up table untuk pembangkitan gelombang sinus), clock, tuning word, dan sejumlah register [4] seperti yang tampak pada gambar 2.1.

  Dalam hal pembangkitan gelombang sinus, DDS menghasilkan gelombang sinus pada frekuensi yang ditetapkan. Nilai frekuensi ini tergantung pada dua variabel, yaitu frekuensi clock referensi dan bilangan biner yang diprogram ke dalam register pengatur frekuensi (tuning word M).

  Bilangan biner pada register frekuensi memberikan masukan ke akumulator fasa atau rangkaian penjumlah. Bila sebuah look-up table digunakan, akumulator menghitung sebuah alamat bagi look-up table, yang mana akan menghasilkan nilai digital dari amplitudo gelombang keluaran.

  Untuk menghasilkan gelombang sinus pada frekuensi tertentu, sebuah nilai konstan (kenaikan nilai fasa pada register masukan) ditambahkan ke akumulator pada setiap siklus

  [4]. Bila kenaikan nilainya besar, akumulator akan melakukan step yang sangat cepat

  clock

  melalui look-up table gelombang sinus, dan kemudian menghasilkan gelombang sinus berfrekuensi tinggi. Sebaliknya, bila kenaikan bilangannya kecil, maka akumulator akan melakukan step yang lebih banyak, sehingga akan menghasilkan gelombang sinus dengan besar frekuensi yang lebih lambat [4].

2.1.1 Akumulator

  Akumulator di sini sebenarnya merupakan sebuah rangkaian penambah/pengurang komplemen 2 yang menaikkan/menurunkan nilai yang disimpannya setiap saat ia menerima masukan. Besarnya nilai kenaikan ditentukan oleh nilai sebuah word digital M yang berada pada register masukan yang dijumlahkan dengan output dari pencacah itu sendiri. Word digital pada register masukan membentuk ukuran langkah pada setiap clock- nya. Sebagai contoh, untuk akumulator dengan lebar data N=32 bit, sebuah nilai M 0000....00001 (ekivalen dengan nilai satu) akan menghasilkan akumulator yang mengalami

  32

overflow setelah 2 siklus clock referensi (kenaikan). Bila nilai M diubah menjadi

  1

  0111....1111, akumulator akan mengalami overflow setelah hanya 2 siklus clock, atau dua siklus clock referensi. Pengontrolan dari ukuran langkah ini membentuk sebuah pengaturan frekuensi dari arsitektur DDS.

  Hubungan dari akumulator dengan register masukan membentuk persamaan dasar dari pengaturan frekuensi pada DDS: F OUT =(M(CLKreferensi))2N (2.1)

  Dengan: F = frekuensi keluaran dari DDS

  OUT

  M = word biner pengatur frekuensi CLK referensi = frekuensi clock internal (system clock) N = panjang bit dari akumulator

  2.1.2 ROM Look Up Table

  ROM Look Up Table merupakan ROM (Read Only Memory) yang menyimpan nilai-nilai digital yang merepresentasikan nilai-nilai amplitudo dari gelombang sinus yang akan dibangkitkan [4]. Besar kecilnya langkah fungsi sinus yang diprogram pada ROM Look Up Table ini akan memiliki pengaruh besarnya frekuensi gelombang keluaran.

  2.1.3 Register Parallel In Parallel Out

  Register Parallel In Parallel Out atau disingkat dengan nama PIPO adalah register yang memasukkan data biner pada setiap pin input-nya secara bersamaan pada satu clock [3]. Dan mengeluarkan data biner pada pin output-nya secara bersamaan pula pada satu clock . Contoh skema register PIPO empat bit ditunjukkan pada gambar 2.2.

  output

  1 output 2 output 3 output

  4 FF1 FF2 FF3 FF4

  input

  1 input 2 input 3 input

  4 clock

Gambar 2.2 Contoh blok rangkaian register PIPO

  2.1.4 Penambah/Pengurang Komplemen 2

  Rangkaian dari penambah/pengurang yang didasarkan pada komplemen 2 ditunjukkan pada gambar 2.3.

  A1 A2 A3 A4

  

B1 B2 B3 B4

SUB

  INV

  INV

  INV

  INV

  C

  FA FA FA FA

S1 S2 S3 S4

Gambar 2.3 Rangkaian penambah/pengurang komplemen 2 Pada gambar2.3, terdapat beberapa blok. Blok A1-A4 merupakan bilangan biner yang akan ditambahkan. Blok B1-B4 adalah bilangan penambah. Blok FA merupakan blok

  

Full Adder atau penambah penuh. Blok S1-S4 adalah blok bilangan biner output. Blok

  INV adalah blok inverter atau pembalik. blok INV ini dapat diaplikasikan menggunakan sebuah gerbang XOR dua masukan [3].

  Bila nilai Sub berlogika rendah, maka bit-bit B lewat melalui inverter terkendali ke penambah penuh. Nilai Sub di sini merupakan pengendalinya. Oleh karenanya, penambah penuh menghasilkan jumlah A dan B. Sebagai contoh, jika A=1001 (nilai desimal = 9), dan B=0011 (nilai desimal = 3), jumlah desimal dan binernya adalah 1100 (nilai desimal = 12).

  Sebaliknya, bila Sub berlogika tinggi, maka bit-bit B akan dibalik sebelum mencapai penambah penuh. Di samping itu, Sub yang bernilai tinggi menambahkan 1 kepada penambah pertama. Penambahan 1 ini membentuk komplemen 2 bagi B. Dengan kata lain, inverter terkendali menghasilkan komplemen 1, dan menambahkan nilai satu pada full adder LSB sehingga menghasilkan komplemen 2. Dengan demikian, keluaran penambah penuh merupakan selisih antara A dan B. Sebagai contoh, dengan A dan B yang sama seperti yang digunakan pada contoh sebelumnya, dengan menggunakan penjumlahan komponen 2, akan dilakukan penambahan. Namun sebelumnya B=0011 diubah ke komplemen 2-nya menjadi 1101. Hasil penambahan A (1001) dan komplemen 2 dari B (1101) adalah 0110, yang setara dengan nilai desimal 6. Hasil penambahan komplemen 2 tersebut ekivalen dengan proses pengurangan antara A dengan B.

2.1.5 Mekanisme Pengubahan Frekuensi

  Frekuensi keluaran DDS tergantung pada tiga hal yaitu: frekuensi clock acuan, besarnya langkah sinus yang diprogram pada LUT, dan nilai pengubah frekuensi (tuning

  

word ). Frekuensi keluaran dapat diubh dengan metode pengubahan laju sampling yang

dilakukan dengan cara mengubah-ubah nilai tuning word [4].

  Pada teknik pengubahan laju sampling, sebagian atau seluruh isi LUT dialamati dengan frekuensi clock acuan yang konstan dengan langkah pengalamatan yang berubah.

Gambar 2.4 menunjukkan laju sampling. Langkah pengalamatan LUT tergantung pada nilai dari data pengatur frekuensi tuning word. Frekuensi keluaran memiliki hubungan

  yang linear terhadap data pengatur.

  Bagian dari skema pengubahan frekuensi dengan metode pengubahan laju sampling ditunjukkan pada gambar 2.4.

  Tuning Word (M)

  Akumulator Fasa Look Up Table

  Clock Acuan

Gambar 2.4 Teknik pengubahan laju frekuensi

2.1.6 Digital To Analog Converter

  Pengubahan nilai digital ke nilai ekivalen analognya dilakukan menggunakan . Salah satu model DAC yang banyak digunakan adalah model

  Digital to Analog Converter R-2R Ladder, seperti yang ditunjukkan pada gambar 2.2.

  Masukan b(1) sampai b(n) adalah bit digital dengan b(1) sebagai Least Significant (LSB) dan b(n) sebagai Most Significant Bit (MSB). Masukan data digital diubah

  Bit

  menjadi nilai tegangan sebagai keluaran. Rangkaian ini hanya membutuhkan dua nilai resistor dimana salah satunya adalah dua kali nilai resistor lainnya.

Gambar 2.5 Rangkaian DAC model R-2R Ladder Pengubahan nilai digital ke analog pada metode R-2R Ladder direpresentasikan dengan persamaan (2.2) n +

  b ( ni 1 ) b ( n − 1 ) b ( n − 2 ) b ( 1 ) ⎛ ⎞

  • Vout = Vr = Vr ... (2.2) ⎜ ⎟

  ∑ 1 i = 2 n

  4

  8 2 n ⎝ ⎠

  Dengan V = nilai tegangan referensi

  r

  n = jumlah bit nilai digital V out = nilai tegangan keluaran

  

2.2 Konsep Perancangan Sistem Digital dengan Menggunakan Altera

Max+PlusII

  Dalam suatu konsep perancangan sistem digital terdapat dua konsep perancangan, yaitu konsep top-down dan bottom-up [2]. Konsep perancangan top-down dimulai dengan deskripsi fungsi rangkaian secara keseluruhan. Kemudian rangkaian secara keseluruhan ini dibagi-bagi menjadi rangkaian yang lebih kecil.

  Konsep perancangan bottom-up dimulai dari pendefinisian fungsi rangkaian secara global, tapi dalam mempartisi rangkaian, perancang berpedoman pada komponen yang tersedia, sehingga kebebasan perancangan menjadi terbatas.

  Pada perancangan menggunakan dengan menggunakan HDL (Hardware

  

Description Language ), pada tahap pembuatan program agar memenuhi deskripsi

  spesifikasi yang ditentukan, sistem yang akan dibuat dibagi-bagi menjadi modul-modul yang lebih kecil. Pada tahapan ini, perancangan yang dilakukan menggunakan pendekatan

  

top-down . Pada saat implementas ukuran PLD membatasa kebebasan pemilihan komponen

  yang digunakan. Pada tahap ini, perancangan yang dilakukan harus disesuaikan dengan komponen yang tersedia, sehingga sesuai dengan uraian sebelumnya, pendekatan yang digunakan pada tahap ini adalah bottom-up.

  Altera Max+Plus II dipakai untuk perancangan logika dengan divais target yang dapat diprogram dari Altera, meliputi keluarga divais Classic, MAX 5000, MAX 7000, MAX 9000, FLEX 6000, FLEX 8000, dan FlEX 10K. Max+Plus II menyediakan kemampuan perancangan logika: metoda design entry yang bermacam-macam untuk perancangan yang hirarkis, sintesis logika yang powerful, kompilasi timing-driven, partisi, simulasi fungsional dan pewaktuan, simulasi untuk multi divais, analisis pewaktuan, lokasi kesalahan otomatis, dan pemrograman dan verifikasi.

  Max+Plus II bisa membaca dan menulis berkas AHDL dan berkas netlist EDIF standar, berkas HDL Verilog, VHDL, dan berkas skematik ORCAD. Tahap-tahap perancangan dengan Max+Plus II adalah: design entry, compilation, simulation, timing analysis, dan device programming.

2.3 Complex Programmable Logic Device

  CPLD atau Complex Programmable Logic Device adalah salah satu kelas dari

  

Programming Logic Device (PLD). PLD sendiri terdiri dari beberapa kelas, yaitu FPGA

  (Field Programmable Gate Arrays), PLA (Programmable Array Logic), PROM (Programmable Read Only Memories), PAL (Programmable Logic Array), GAL (Generic Array Logic ) dan yang terakhir adalah CPLD.

  PLD adalah devais yang memiliki arsitektur yang sudah di pre-definisi secara umum dimana pengguna dapat memprogram sebuah desain ke dalamnya menggunakan seperangkat tool. Arsitektur umumnya dapat bermacam-macam namun terdiri dari satu atau lebih term AND dan OR untuk mengimplementasikan fungsi logika. Banyak devais yang juga memiliki kombinasi dari flip-flop dan latch (pengunci) yang dapat digunakan sebagai elemen penyimpan untuk input dan output bagi devais tersebut. Devais yang lebih kompleks terdiri dari macrocell. Macrocell memungkinkan pengguna untuk mengkonfigurasi tipe input dan output yang dibutuhkan desain.

  CPLD dikategorikan sebagai PAL yang sangat besar yang memiliki karakteristik dari PLA. Arsitektur dasarnya bnyak memilikia kemiripan dengan PAL. CPLD memiliki tingkat kompleksitas di antara PAL dan FPGA, namun secara arsitektural, CPLD memiliki kesamaan dengan PAL maupun FPGA.

BAB III PERANCANGAN PEMBANGKIT BENTUK GELOMBANG 3.1 Perancangan Arsitektur Pembangkit Gelombang. Pembangkit bentuk gelombang yang akan dirancang adalah rangkaian elektronika

  yang dapat menghasilkan bentuk gelombang keluaran yang memiliki frekuensi dan amplitudo yang dapat diatur. Pengaturan frekuensi dilakukan secara digital melalui pengubahan tuning word pada bagian masukan awal dari konfigurasi pembangkit gelombang..

  DDS digunakan sebagai metoda untuk membangkitkan gelombang keluaran. Diagram blok dasar dari metoda DDS sudah ditunjukkan pada gambar 2.1

  Diagram blok yang lebih detail dari arsitektur pembangkit bentuk gelombang dengan metoda Direct Digital Synthesis ditunjukkan pada gambar 3.1

  Register input pada gambar 3.1 merupakan bagian masukan utama. Register input ini berfungsi sebagai penyimpan tuning word yang nantinya akan difungsikan sebagai pengatur frekuensi gelombang keluaran. Keluaran dari register input akan dimasukkan ke rangkaian akumulator.

  Bagian akumulator dan register fasa bisa dianggap sebagai satu blok, karena dua

  bagian ini sangat berperan penting dalam proses pembentukan gelombang. Bila akumulator tidak memiliki register fasa, akan terjadi kekeliruan perhitungan karena tidak ada media penyimpan yang bekerja berdasarkan siklus clock sumber.

  Keluaran akumulator kemudian akan diteruskan ke pengontrol gelombang segitiga terlebih dahulu. Pada pengontrol inilah ditentukan kemana sinyal akan dilewatkan. Bila diteruskan ke ROM, maka proses selanjutnya adalah pembangkitan gelombang sinus. Bila diteruskan ke pengontrol gelombang segi empat, maka ada dua kemungkinan yang akan terjadi. Bila pengontrol gelombang segi empat dalam keadaan tidak aktif, maka sinyal akan diteruskan ke pengontrol output. Bila pengontrol segi gelombang empat aktif, maka sebagian sinyal akan ditahan, dan MSB dari keluaran akumulator akan diambil untuk membangkitkan bentuk gelombang segi empat.

  Pengontrol output berfungsi untuk memilih sinyal yang akan diteruskan ke register . Bila pengontrol gelombang segitiga aktif, pengontrol output pun ikut aktif,

  output

  sehingga isi alamat ROM tidak akan diteruskan ke register output. Sebaliknya bila pengontrol segitiga aktif, maka pengontrol output pun tidak akan aktif, sehingga proses pembentukan gelombang sinus dapat dikerjakan.

  3.1.1 Perancangan Register Input

  Perancangan Register Input dilakukan dengan menggunakan VHDL. Bentuk deskripsi yang akan digunakan pada perancangan register input adalah deksripsi

  

behavioral, bukan deskripsi struktural. Masukan dari register input adalah DIP switch yang

terdapat pada papan UP1 Board. Jumlah DIP switch yang tersedia adalah sebanyak 8 buah.

  Jumlah itu sudah sesuai dengan perancangan tuning word yang juga sebanyak 8 bit.

  3.1.2 Perancangan Blok Akumulator Fasa

  Bagian akumulator fasa terdiri dari adder/penambah dan register fasa. Adder di sini merupakan rangkaian penambah/pengurang komplemen 2, sehingga tidak diperlukan rangkaian penambah lagi untuk membangkitkan bentuk gelombang segitiga dan kotak. Bagian adder dan register fasa juga memiliki lebar data sebesar 8 bit. Penentuan lebar data yang juga sebesar 8 bit ini berkaitan dengan proses untuk menentukan frekuensi gelombang keluaran.

  Penentuan frekuensi gelombang keluaran yang diinginkan ditentukan dengan perumusan seperti yang sudah ditunjukkan pada persamaan (2.1) Pada penelitian ini, word biner pada persamaan (2.1) pengatur frekuensi M memiliki panjang bit yang sama dengan panjang bit dari akumulator fasa, di mana keduanya memiliki panjang sebesar 8 bit.

3.1.3 Perancangan Blok ROM Sinus

  Bagian ROM sinus memiliki lebar data sebesar 8 bit. Hal ini berarti bahwa jumlah data yang akan dikonversikan untuk membentuk gelombang sinus dengan frekuensi terkecil adalah sebanyak 256 buah.

  Untuk memperoleh nilai desimal dari fungsi sinus dengan jumlah data sebanyak 256 buah ini, dapat dilakukan perhitungan dengan menggunakan rumus:

  referece 2 reference ⎛ ⎞ ⎛ Π ⎞ ⎛ ⎞

    • DEC _ data = sin step (3.1) ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 2 256

  2 ⎝ ⎠ ⎝ ⎠ ⎝ ⎠

  Nilai desimal yang dihasilkan oleh persamaan (3.2) di atas kemudian dikonversikan ke nilai heksadesimalnya dengan bantuan software MATLAB. Sintaks dalam MATLAB untuk mengkonversikan nilai desimal ke-256 data tadi ke nilai heksadesimalnya ditunjukkan pada gambar 3.3.

Gambar 3.2 Sintaks pada MATLAB untuk mendapatkan nilai fungsi sinus Sintaks pada gambar 3.2 tersebut menghasilkan nilai heksadesimal yang ekivalen dengan nilai desimalnya. Nilai-nilai heksadesimal hasil dari konversi tersebut ditunjukkan pada gambar 3.3

Gambar 3.3 Nilai heksadesimal bagi nilai amplitudo gelombang sinus

  Nilai-nilai heksadesimal yang disimpan pada ROM merupakan nilai ekivalen dari amplitudo analog gelombang sinus yang akan dibangkitkan. Nilai-nilai ini diakses sesuai dengan keluaran dari akumulator fasa.

3.1.4 Perancangan Pengontrol Gelombang Segitiga

  Blok ini merupakan persimpangan sinyal sebelum sinyal mengalami proses lebih lanjut. Keadaan nol pada port control pada pengontrol segitiga akan mengakibatkan pengontrol melewatkan sinyal menuju ROM. Sebaliknya, bila nilai port control adalah satu, maka pengontrol segitiga akan memproses sinyal masukan untuk membentuk sinyal segitiga. Sama halnya dengan bagian register input, bagian inipun akan dirancang dengan menggunakan deskripsi behavioral pada VHDL.

  3.1.5 Perancangan Pengontrol Gelombang Segi Empat

  Bagian ini menentukan cara pembentukan gelombang segi empat atau kotak. Bila keadaan port pengontrol dalam taraf nilai nol, maka pengontrol akan melewatkan bit-bit sinyal dari pengontrol segitiga menuju pengontrol output. Sebaliknya bila keadaan port pengontrol dalam taraf nilai satu, maka MSB dari keluaran pengontrol segitiga saja yang akan dilewatkan, sehingga bit-bit lainnya selain bit MSB tak akan dilewatkan. Bagian pengontrol gelombang segi empat inipun akan dirancang secara behavioral.

  3.1.6 Perancangan Pengontrol Output

  Bagian ini akan menentukan apakah keluaran dari ROM sinus ataukah keluaran dari pengontrol segiempat yang akan dilewatkan. Dengan demikian, bagian pengontrol

  

output ini akan memiliki 16 port masukan, yang terdiri dari 8 port masukan dari ROM, dan

8 port lainnya dari pengontrol gelombang segitiga.