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 17310 ….…….... 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 000100002
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 DDSKomponen 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 PIPO2.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
SUBINV
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 hubunganyang 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 frekuensi2.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 ( n − i 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+PlusIIDalam 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.3Gambar 3.3 Nilai heksadesimal bagi nilai amplitudo gelombang sinusNilai-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.