Professional Documents
Culture Documents
Dosen Pembimbing:
Oleh:
Dosen Pembimbing:
Arifin, ST, MT
NIP. 196005031988031004
JURUSAN TELEKOMUNIKASI
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
INSTITUT TEKNOLOGI SEPULUH NOPEMBER
2009
RANCANG BANGUN SISTEM PENGIRIMAN
TEMPERATUR DENGAN MENGGUNAKAN SPREAD
SPECTRUM
Oleh :
Tugas Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh
Gelar Sarjana Saint Terapan ( S.ST)
di
Jurusan Telekomunikasi – Politeknik Elektronika Negeri Surabaya,
Institut Teknologi Sepuluh Nopember Surabaya
Disetujui Oleh :
3. M Hasbi A. S,Kom
NIP.2000000018
Mengetahui:
Ketua Jurusan Telekomunikasi
Arifin, ST, MT
NIP. 196005031988031004
ABSTRACT
Penyusun
UCAPAN TERIMA KASIH
vi
DAFTAR ISI
HALAMAN JUDUL........................................................................ i
LEMBAR PENGESAHAN.............................................................. ii
ABSTRAK...................................................................................... iii
ABSTRACT.................................................................................... iv
KATA PENGANTAR..................................................................... v
UCAPAN TERIMA KASIH........................................................... vi
DAFTAR ISI.................................................................................. vii
DAFTAR GAMBAR........................................................................ ix
DAFTAR TABEL............................................................................. xi
BAB I PENDAHULUAN.............................................................. 1
1.1 Latar Belakang......................................................... 1
1.2 Rumusan Masalah ................................................... 1
1.3 Batasan Masalah...................................................... 2
1.4 Tujuan ..................................................................... 2
1.5 Metodologi.............................................................. 2
1.6 Sistematika Penulisan.............................................. 3
BAB V PENUTUP....................................................................... 73
5.1 Kesimpulan.............................................................. 74
DAFTAR PUSTAKA....................................................................... 75
LAMPIRAN..................................................................................... 76
RIWAYAT HIDUP PENULIS......................................................... 129
DAFTAR GAMBAR
1
1.2 RUMUSAN MASALAH
Permasalahan pada proyek akhir tersebut diantaranya adalah
sebagai berikut:
• Permasalahan dari proyek akhir ini dibatasi pada proses
pengkodean data informasi melalui pseudonoise (PN) yang
akan dibuat, yaitu PN jenis Gold Code.
• Sistem spread-spectrum yang digunakan adalah Direct
Sequence Spread Spectrum (DS-SS).
• Mikrokontroler yang digunakan adalah AT-Mega 8535
dengan DX-24 Transmitter 2,4 GHz yang berfungsi
sebagai modul utama yang digunakan untuk melakukan
komunikasi data.
• Apakah sinyal informasi dapat tersebar dengan baik atau
tidak, dengan membangkitkan kode pseudonoise berbasis
pada mikrokontroler AT-Mega 8535.
1.4 TUJUAN
Tujuan dari proyek akhir ini adalah melakukan
implementasi sistem spread-spectrum dengan membangkitkan
kode pseudonoise berbasis pada mikrokontroler AT-Mega
8535 dengan menggunakan Dx-24 Transceiver 2.4 GHz secara
terstruktur, utamanya pada proses spreading, dan untuk
mengetahui apakah sinyal informasi telah ter-sebar dengan
baik.
1.5 METODOLOGI
Proyek Akhir ini dilakukan melalui beberapa tahap yaitu
sebagai berikut:
2
1.5.1 Studi Pustaka
Pemahaman studi pustaka tentang konsep dan
teori sistem komunikasi data, teori spreading dengan
despreading dengan menggunakan kode pseudonoise
Gold Code, pengkodean data analog menjadi data biner,
kemudian hasilnya diterjemahkan melalui mikrokontroler
AT-Mega 8535 dengan menggunakan Dx-24 Transceiver
2.4 GHz.
3
e. Rangkaian Mikrokontroler
Rangkaian ini digunakan untuk mengubah sinyal
analog menjadi sinyal digital dari sensor suhu. Karena
di dalam mikrokontroler AT-Mega 8535 terdapat
ADC internal dan juga terdapat counter untuk
menghitung input dari rangkaian mikro kondensor.
BAB I PENDAHULUAN
Menguraikan tentang latar belakang, tujuan,
permasalahan, batasan masalah, dan sistematika pembahasan
yang digunakan dalam pembuatan proyek akhir ini.
BAB V PENUTUP
Berisi tentang kesimpulan dan saran yang berdasarkan
analisa hasil data yang diperoleh.
4
BAB II
TEORI PENUNJANG
5
spread-spectrum semakin lebar bandwidth yang digunakan maka data
akan semakin tahan terhadap jamming dan akan semakin terjamin
tingkat kerahasiaannya. Disamping itu akan semakin banyak kanal
yang bisa dipakai.
6
Dalam contoh paling sederhana, PN-code dikalikan dengan
satu bit data (lihat gambar, dalam contoh ini N = 7). Bandwidth
sinyal data dikalikan dengan faktor N, faktor ini disebut sebagai
processing gain.
7
Spreading:
Pada sisi pemancar, data biner d t secara langsung dikalikan
dengan pseudonoise sequence (PN sequence) pn t untuk
menghasilkan sinyal baseband tx b :
tx b = d t . pn t ……………………................. (2.1)
Operasi perkalian ini dilakukan dengan menggunakan
gerbang Ex-NOR. Pengaruh dari perkalian d t dan pn t adalah
untuk menyebarkan bandwidth sinyal input baseband (R s ) ke
bandwidth PN sequence (R c ).
Despreading:
Sinyal spread-spectrum tidak bisa dideteksi oleh penerima
konvensional dengan bandwidth yang sempit. Pada penerima,
sinyal baseband yang diterima rx b dikalikan dengan PN sequence
pn r.
1. Jika pn t = pn r dan rx b telah dicocokkan dengan PN sequence,
maka perkalian akan menghasilkan output d r . Pengaruh
perkalian antara sinyal spread-spectrum rx b dengan PN
sequence pn r adalah untuk mendapatkan sinyal input kembali.
2. Jika pn t ≠ pn r maka tidak akan terjadi proses despreading.
Sinyal d r tetap berupa sinyal acak. Penerima tidak dapat
mengenali PN sequence dari pemancar yang tidak dapat
mereproduksi data yang dipancarkannya.
Berikut ini adalah gambaran dari spread-spectrum untuk
komunikasi BPSK dengan menggunakan kanal yang ideal
8
Proses Spreading:
Proses Despreading:
9
Sistem spread-spectrum yang menyebarkan sinyal
informasi d t dengan bandwidth BW info , memiliki bandwidth
BW ss yang jauh lebih besar:
SF = G p = BW ss / BW info = R c / R s = T s / T c = N c ……..
(2.3)
Kemudian untuk mendespreadingkan sinyal yang diterima
rx b dikalikan dengan Pn r, PN sequence ini sama dengan pn t.
Sinyal rx b juga disinkronkan dengan PN sequence tersebut.
Proses despreading ini digunakan untuk menata kembali sinyal
yang disebarkan oleh transmitter.
Output perkalian pada receiver ini menjadi (Pn r = Pn t ):
pn t . pn t = +1……………………………….. (2.5)
Sehingga output yang dihasilkan dari perkalian adalah:
d r = d t ..................................................... (2.6)
Tetapi pada kondisi pn r ≠ pn t, jika sinyal yang diterima
dikalikan dengan PN sequence pn r maka outputnya menjadi:
d r = rx b . pn r = (d t . pn t ) . pn r …………………….. (2.7)
Pada penerima, pendeteksian sinyal yang diinginkan dicapai
dengan adanya korelasi pada PN sequence yang ada. Untuk
komunikasi yang aman pada peralatan multiguna, data yang
10
ditransmisikan tidak dapat diterima oleh pengguna yang tidak
mengetahui PN sequence pn t pada pemancar. Karena:
Crosskorelasi Rc (τ) = rata – rata (pn t . pn r ) <<1……… (2.8)
Dengan demikian dapat diartikan bahwa output yang dihasilkan
akan bernilai nol seluruhnya.
11
Modulo
P
Kode linear
1 n
Panjang = Pn -1
D D D
Output
12
2.2.2 Jenis – Jenis Kode Acak Semu
Pada proses penebaran suatu sistem spread-spectrum
dibutuhkan suatu jenis kode acak semu yang dapat digunakan
untuk mengalikan data informasi yang diterima sehingga
dapat diperoleh kode hasil proses penebaran yang memiliki
lebar pita yang semakin lebar, sedangkan pada bagian ini
akan diuraikan tentang jenis kode acak semu yang akan
digunakan dalam proyek akhir ini yaitu:
a. Gold Code
Teori Gold Code telah membuktikan bahwa pasangan
yang cocok dari kode Maksimal dengan periode, N = 2n – 1
memiliki tiga nilai fungsi crosskorelasi {-1, -t (n), t (n) –2},
dimana :
t (n)[5] = 2(n+1)/2 +1 (n ganjil)
2(n+2)/2 +1 (n genap) ……………… (2.22)
Kode ini memiliki tahap umpan balik yang relatif lebih
sedikit. Gold Code dibentuk dari penambahan chip demi chip
dengan clock yang disinkronkan. Kode-kode yang
disinkronkan ini memiliki panjang yang sama, sehingga
kedua pembangkitan kode panjang maksimal dapat terjaga
agar phase-nya sama. Kode yang dibangkitkan memiliki
panjang sama dengan kode dasarnya, namun tidak maksimal.
Dengan konfigurasi Gold Code, dapat dihasilkan 33
kombinasi kode panjang maksimal dengan lima shift register.
Sehingga dengan n register, kita dapat membangkitkan 2n-1
deretan panjang maksimal ditambah dua deretan maksimal
dasarnya.
Untuk mendapatkan pasangan yang cocok dari kode
panjang maksimal yang memiliki nilai crosskorelasi rendah.
Kita membutuhkan preferred pair. Berikut ini adalah tabel
yang mendaftarkan seluruh preferred pairs yang paling
umum digunakan untuk derajat 5 sampai 13
13
Tabel 2.1 Preferred-Pair
Derajat Preferred pairs
5 [ 5,2] [ 5,4,3,2 ]
6 tidak ada
7 [7,3] [7,3,2,1]
[7,3,2,1]
[7,5,4,3,2,1]
8 [8,7,6,5,2,1] [8,7,6,1]
9 [9,6] [9,6,4,3]
[9,6,4,3] [9,8,4,1]
10 [10,9,8,7,6,5,4,3] [10,9,7,6,4,1]
[10,8,5,1] [10,7,6,4,2,1]
[10,8,7,6,5,1] [10,5,3,2]
[10,8,4,3] [10,9,6,5,4,3]
[10,8,7,6,2,1] [10,9,4,2]
[10,5,2,1] [10,9,7,6,4,3,2,1]
11 [11,2] [11,8,5,2]
[11,8,5,2] [11,10,3,2]
[11,7,3,2] [11,10,9,7,6,4,3,2,]
12 [12,11,9,8,7,5,2,1] [12,10,9,8,7,5,2,1]
[12,9,3,2] [12,11,8,7,6,3,2,1]
[12,11,6,4,2,1,] [12,11,8,7,5,4,3,2]
[12,11,9,7,6,4] [12,6,5,3]
[12,9,8,3,2,1] [12,11,8,7,3,1]
[12,9,8,5,4,3] [12,7,6,4]
[12,10,7,5,3,2] [12,11,8,4,3,1]
[12,10,6,5,4,2,1] [12,10,9,8,4,3]
[12,10,6,5,2,1] [12,11,10,4]
[12,11,10,9,8,7,5,4,3,2] [12,11,7,4]
[12,9,7,6,3,1] [12,10,7,6,5,4,1]
[12,11,10,9,4,2] [12,8,4,3,2,1]
[12,9,8,5,4,3,2,1] [12,11,7,5,4,3]
Preferred pairs
14
[12,10,8,7,6,2] [12,10,2,1]
[13,4,3,1] [1 3,12,8,7,6,5]
13
[13,10,9,7,5,4] [13,12,8,7,6,5]
[13,11,8,7,4,1] [13,11,10,5,4,3,2,1]
1 2 3 4 5
Gold
Output
1 2 3 4 5
g2(D)=1+D2+D3+D4+D5
Gambar 2.8 Pembangkit Gold Code dengan Konfigurasi
[5,2]-[5,4,3,2]
15
3. Dengan konfigurasi Gold Code akan dihasilkan
konfigurasi yang panjangnya ditambahkan dua deretan
dari maksimal dasarnya L=2n-1.
4. Crosskorelasi dari kode-kode panjang maksimalnya yang
rendah dan terbatas.
5. Untuk teknologi CDMA yang menginginkan kerja
simultan banyak digunakan Gold Code ini untuk
membawa banyak sinyal pada frekuensi pembawa yang
sama.
16
2.4 Teori Mikrokontroler AVR AT-Mega 8535
Mikrokontroler adalah suatu chip yang dapat digunakan
sebagai pengontrol utama sistem elektronika, misalnya sistem
pengukur suhu digital (termometer digital), sistem keamanan rumah,
dan lain-lain.
Hal ini dikarenakan di dalam chip tersebut sudah ada unit
pemroses, memori ROM (Read Only Memory), RAM (Random
Access Memory), input-output dan fasilitas pendukung lainnya. Pada
alat ini menggunakan AVR dikarenakan memiliki beberapa
kelebihan antaranya sudah ada pengubah Analog ke Digital (ADC
internal) di dalam chip tersebut.
17
2.4.2 Konfigurasi Pin AT-Mega 8535
18
Gambar 2.12 Blok diagram AT-Mega 8535
19
2.5 Power AVR AT-Mega 8535
Mikrokontroler ini dilengkapi dengan rangkaian penyearah dan
regulator sehingga untuk keperluan power supply hanya diperlukan
sebuah trafo penurun tegangan dari 220V ke 9 V atau 12 V saja.
Walau demikian, input power supply 9-12 Volt AC tersebut juga
dapat digunakan sebagai input power supply DC sebesar 9-12 Volt
pula di mana power supply (adaptor) tersebut juga banyak tersedia di
pasaran dengan harga yang relatif murah.
20
• RFS[1..0] merupakan bit pengatur tegangan referensi ADC
AT-Mega8535. Memiliki nilai awal 00 sehingga referensi
tegangan berasal dari pin AREF.
21
• ADCSRA merupakan register 8 bit yang berfungsi
melakukan manajemen signal control dan status dari
ADC. Proses konversi dimulai dengan cara memberikan
logika 1 pada bit ADC start conversion (ADAC). Bit ini
terus berlogika 1 selagi proses konversi masih
berlangsung dan akan di-clear-kan oleh hardware ketika
konversi selesai.
0 0 0
22
Aplikasi ini membutuhkan modul / komponen berikut:
- 2 bh DT-AVR Low Cost Nano System,
- 2 bh TRW-2.4G,
- 2 bh 74HC125,
- 4 bh transistor 2N3904,
- 6 bh resistor 10K ohm ¼ W.
* Pin ini tidak mutlak dan dapat diganti pin lain tetapi harus mengubah
program
** Hubungan ini melalui rangkaian level converter
Tabel 2.4 Hubungan DT-AVR Low Cost Nano System dengan TRW-2.4G
23
TRW-2.4G menggunakan catu daya +3 VDC dan memiliki I/O
yang bekerja pada level tegangan 3 V sehingga beberapa hubungan
dalam Tabel 1 harus melalui rangkaian level converter seperti pada
Gambar 2. Setelah itu hubungkan modul DT-AVR Low Cost Nano
System ke COM port komputer dengan menggunakan kabel serial
DT-AVR Low Cost Nano System. Setelah semua rangkaian dan catu
daya terhubung dengan benar, programlah TRANSMITTER3.HEX
atau RECEIVER3.HEX ke dalam DT-AVR Low Cost Nano System
menggunakan DT-HiQ AVR In System Programmer atau
peralatan in-system programmer lain dengan konektor 10 pin standar
ATMEL. Program TRANSMITTER3.HEX akan bertindak sebagai
transmitter saat pertama kali dijalankan, sedangkan program
RECEIVER.HEX akan bertindak sebagai receiver saat pertama kali
dijalankan. Setelah rangkaian transmitter dan receiver siap, jalankan
program TRW1.EXE pada kedua komputer dengan konfigurasi
baudrate 9600bps, 8 bit data, 1 bit stop, tanpa bit parity, dan tanpa
flow control.
24
Tabel 2.5 Fungsi – Fungsi Pin TRW-2.4 G
25
Tabel 2.7 Spesifikasi TRF-2.4G RF
26
BAB III
PERENCANAAN SISTEM
Berdasarkan pada bab sebelumnya, maka pada bab ini kami akan
menjelaskan tentang proses perancangan seluruh bagian pada sistem pada
mokrokontroler dengan menggunakan teknik spreading – despreading
meliputi:
1. Perancangan rangkaian sensor suhu.
2. Perancangan rangkaian mikrokontroler AT-Mega 8535.
3. Perencangan rangkaian ADC (Analog to Digital Converter).
4. Perancangan data informasi.
5. Perancangan pseudonoise Gold Code.
6. Perancangan rangkaian spreading.
7. Perancangan rangkaian despreding.
3.1 PERALATAN
Peralatan – peralatan yang digunakan dalam pengujian ini antara
lain adalah:
1. Oscilloscope National VP-5231A-30
2. Logic Analyzer National VP-3621A
3. Probe Logic Analyzer National VQ 059A22
4. Function Generator
5. Power Supply
6. Kabel LPT
27
Gambar 3.1 Tampilan BASCOM
3. Buat program baru dengan cara :pilih File a New, kemudian akan
keluar tampilan seperti berikut :
28
6. Compiler Program anda dengan cara : pilih : Program a
Compiler.
7. Jika masih ada error, maka dapat diperbaiki dengan melihat
error pada docked window atau cek ulang hardware.
8. Jika tidak ada error, maka hardware yang terhubung pada PC
akan dapat dijalankan sesuai dengan program yang telah di
inputkan dan disimpan pada software BASCOM yang
sebelumnya telah di program terlebih dahulu.
9. Sebelum program di koneksikan ke hardware, program yang
telah di Compile dapat disimulasikan untuk memastikan apakah
program dapat dijalankan pada rangkaian (hardware yang akan
digunakan).
29
3.3 PERENCANAAN RANGKAIAN SENSOR SUHU
Sensor temperatur yang digunakan adalah sensor LM 35 DZ
buatan National Semikonduktor. Karakteristik sensor ini
menghasilkan sinyal keluaran secara linier terhadap temperatur
dengan kenaikan sebesar 10 mV/ºC.
Vs = +5V
LM 35 Vout = 10 mV/ºC
GND
Gambar 3.5 Rangkaian Sensor Suhu LM 35
30
Tabel 3.1 Karakteristik Sensor Suhu LM 35
31
3.4 PERENCANAAN MIKROKONTROLER AT-MEGA 8535
Mikrokontroler yang digunakan disini adalah jenis AVR AT-
Mega 8535 yang memiliki banyak kelebihan diantaranya mempunyai
saluran I/O sebanyak 32 buah yaitu port A, port B, port C, port D,
kemudian juga terdapat ADC (Analog to Digital Converter) internal
dengan resolusi 10 bit sebanyak 8 channel.
32
3.5 PERENCANAAN RANGKAIAN ADC (ANALOG TO DIGITAL
CONVERTER)
Di dalam mikrokontroler AVR AT-Mega 8535, masukan
ADC dihubungkan ke sebuah channel analog multiplexer yang
digunakan untuk single ended input channels. Artinya masukan
ADC diukur dengan referensi pada ground (GND). Masing-masing
channel dari analog multiplexer terhubung dengan port A. jadi
masukan ADC pada saat tertentu hanya terhubung dengan satu
tegangan input saja (dengan memilih channel pada analog
multiplexer).
33
Cara kerja ADC sebagai berikut:
1. Untuk memilih channel ADC mana yang digunakan yaitu dengan
mengatur nilai MUX 4:0 (dalam I/O register ADMUX). Jadi
channel ADC 0 (pin A.0) sebagai masukan ADC (referensi
terhadap ground) maka MUX 4:0 diberi nilai 00000B.
2. Pada ADC mikrokontroler ini mempunyai tegangan referensi
yang dapat dipilih. Tegangan referensi ini menentukan tegangan
masukan maksimum ADC dan hasil konversi ADC. Untuk
memilih tegangan referensi mana yang digunakan yaitu dengan
mengatur nilai REFS 1:0 (dalam I/O register ADMUX).
3. Agar ADC dapat digunakan, ADEN (ADC enable, dalam I/O
register ADCSRA) harus diberi nilai ‘1’.
4. Untuk memulai konversi tegangan masukan analog menjadi nilai
digital yaitu dengan memberi nilai ‘1’pada ADSC (ADC Start
Conversion, dalam I/O register ADCSRA). Nilai ADSC akan
tetap bernilai ‘1’ selama proses konversi berlangsung dan akan
bernilai ‘0’ (otomatis, secara hardware) pada saat proses konversi
sudah selesai.
5. Pada ADC diperlukan frekuensi clock untuk proses konversi
tegangan analog menjadi nilai digital. Untuk mndapatkan hasil
konversi dengan ketelitian tinggi, diperlukan frekuensi clock
ADC antara 50 kHz sampai 200 kHz.
34
feedback kode maxlength harus memenuhi aturan tapping dari
kode maxlength, berikut table feedback dari maxlength code:
Tabel 3.2 Tabel Feedback Tap dari Kode Maxlength
35
3.7 RANGKAIAN SPREADING - DESPREADING
PN
LOAD Generator
Keterangan Gambar :
Pada pembuatan rancangan sistem spreading, rangkaian
master clock, clock divider, data informasi, PN generator dan
gerbang logika EX-NOR akan dibuat dengan bantuan software
Bahasa Computer (BASCOM). Sedangkan untuk rangkaian load
akan dibuat secara hardware. Tetapi dalam pengerjaan proyek akhir
ini, untuk clock devider akan menggunakan clock intern yang
terdapat pada rangkaian mikrokontroler AT-Mega 8535, begitu juga
dengan rangkaian loadnya.
36
3.8 PERANCANGAN SISTEM SPREADING – DESPREADING
3.8.1 PERENCANAAN RANGKAIAN CLOCK
Dalam sistem ini diperlukan suatu clock generator dari
master clock yang berada pada board mikrokontroler. Clock ini
digunakan untuk men-supply generator acak semu dan
informasi. Karena frekuensi yang men-supply generator acak
semu dan informasi berbeda, maka diperlukan suatu pembagi
clock. Output dari clock generator langsung men-supply
generator acak semu dan output dari pembagi clock men-
supply informasi. Generator acak semu ini membutuhkan clock
dengan frekuensi tinggi dan stabil. Maka dalam realisasi sistem
spreading ini digunakan master clock. Master clock memiliki
sinyal yang lebih baik dan stabil dibandingkan dengan clock
eksternal, frekuensi tertinggi yang mampu dihasilkan adalah
50 MHz.
37
3.8.3 Perancangan Data Informasi
Data informasi yang diberikan menggunakan suatu
shift-register yang di bentuk dari D-Flip flop. Dalam sistem ini
digunakan shift-register empat bus, parallel input parallel
output. Proses pembentukan data adalah dengan cara
memasukkan konstanta ke bus input dari shift-register.
Kemudian nilai-nilai yang masuk ke shift-register ini digeser.
Output pada bus tertinggi diumpanbalikkan ke input pada bus
terendah. Output dari bus tertinggi setelah diumpanbalikkan
merupakan data informasi. Seperti ditunjukkan pada blok
diagram berikut :
Data
20 2 22 23 24 Informa
Bus Pember
Bus ian
Konsta
Bus nta
atau
Bus
Bus
38
3.8.4.1 Perancangan Pseudonoise Gold Code
Kode acak semu yang dipilih untuk tugas akhir ini
adalah jenis Gold Code. Kode-kode Gold merupakan kode
yang dibangkitkan dengan penambahan modulo-2 dari
pasangan deretan kode linier maksimal. Kode maksimal
adalah kode terpanjang yang dapat dibangkitkan oleh kode
linier register geser atau unsur tunda. Pada proyek akhir ini
maxlength code yang akan kami buat memiliki panjang
register 5 bit. Tapping feedback maxlength code harus
memenuhi aturan tapping dari maxlength code, berikut table
feedback dari maxlength code:
Tabel 3.2 Tabel Feedback Tap dari Kode Maxlength
Jumlah
Shift Panjang Kode feedback Tap
Register
5 31 [5,3];[5,4,3,2];[5,4,2,1]
39
Gambar 3.15 Proses Pembuatan Gold Code Dengan
Penggabungan 2 buah Kode Maxlength
3.8.5 Perancangan Rangkaian Spreading - Despreading
Dari rancangan rangkaian clock, clock divider, data
informasi , load dan Gold Code, maka dapat dibuat rangkaian
transmitter spread spektrum yang dapat ditunjukkan pada
gambar dibawah ini:
40
3.8.6 GFSK (Gaussian Frequency Shift Keying)
Gaussian Frequency-Shift Keying (GFSK) adalah jenis
modulasi Frequency Shift Keying (FSK) yang menggunakan
Gaussian filter untuk melancarkan penyimpangan frekuensi
positif / negatif, yang diwakili dengan biner 1 atau 0.
Digunakan pada DECT, Bluetooth, Cypress WirelessUSB,
Nordic Semiconductor, Texas Instruments LPRF dan
perangkat z-gelombang. Bluetooth untuk deviasi minimum
adalah 115 kHz.
Dalam perangkat modulasi GFSK, semuanya sama
seperti yang ada pada perangkat modulasi FSK kecuali
proses sinyal pulsa baseband (-1, 1) sebelum masuk ke
dalam perangkat modulasi FSK. Sinyal pulsa baseband harus
melalui Gaussian Filter untuk membuat sinyal pulsa
menjadi lebih baik sehingga lebar sinyal spectral dapat
terbatasi. Gaussian Filtering merupakan salah satu cara yang
sangat standar untuk mengurangi lebar spectral yang disebut
dengan "pulse shaping". Jika kita menggunakan -1 untuk
nilai fc-fd dan 1 untuk nilai fc + fd, ketika kita melompat
dari -1 ke 1 atau 1 ke -1 bentuk gelombang termodulasi akan
mengalami perubahan secara pesat dimana besar out-of-band
spectrum akan dapat terlihat. Jika kita mengubah sinyal
pulsa yang sedang berlangsung dari -1 ke 1 sebagai -1, -. 98,
-. 93 ..... ,96, ,99, 1 dan sinyal pulsa ini digunakan sebagai
sinyal pulsa halus yang memodulasi carrier, maka sinyal
spektrum out-of-band akan berkurang.
GFSK juga merupakan sistem modulasi FSK
(Frequency Shift Keying) secara sederhana dengan
menggunakan Gaussian Filter. Rangkaian secara umum dari
perangkat modulasi pada FSK adalah sama, tetapi sinyal bit
yang melewati Gaussian Filter hanya sedikit.
41
Hal ini untuk menghindari adanya pembatasan shift
minimum dari teknik modulasi FSK yang paling sederhana.
Parameter Gaussian Filter memiliki pengaruh pada jumlah
lateral spectrum dasar akan dipersempit, dan berapa banyak
kemungkinan manipulasi shift frekuensi. Dalam prakteknya
(sebenarnya dalam teori juga) ukuran nilai X selalu lebih dari
Br / 2, karena pengurangan lateral yang dicapai oleh kuat
landaian / miring pada bagian depan dari manipulasi tegangan /
kekuatan, yang mengarah ke salah satu serangan lain pada
sinyal impuls, dan sebagai akibat dari ke ketidakmungkinan
demodulation.
Jarak pengurangan yang digunakan untuk modulasi
GFSK sekitar 30-40% dari klasik Shift = Br, yaitu Shift = (0.7-
0.6) * Br. Sangat sulit, dalam kasus umum, modulasi GFSK
dapat digunakan dsebagai bahan analisa, karena adanya
pengaruh yang sama atau mirip dengan filter yang lainnya.
dengan :
v(t) = adalah bentuk gelombang FSK biner
VC = puncak amplitudo carrier tanpa termodulasi
ù C = carrier frekuensi (dalam radian)
fm(t) = frekuensi sinyal digital biner pemodulasi
Äù = beda sinyal pemodulasi (dalam radian)
42
Pada sebuah modulator FSK biner, center dari frekuensi
carrier tergeser (terdeviasi) oleh masukan data biner.
Sebagai konsekuensinya, keluaran pada suatu modulator
FSK biner adalah suatu fungsi step pada domain frekuensi.
Sesuai perubahan sinyal masukan biner dari suatu logic 0 ke
logic 1, dan sebaliknya, keluaran FSK bergeser diantara dua
frekuensi: suatu mark frekuensi atau logic 1 dan suatu space
frekuensi atau logic 0. Modulator FSK biner, ada suatu
perubahan frekuensi keluaran setiap adanya perubahan
kondisi logic pada sinyal masukan. Sebagai konsekuensinya,
laju perubahan keluaran adalah sebanding dengan laju
perubahan masukan. Suatu FSK biner secara sederhana
diberikan seperti Gambar 2.4.
43
Gambar 3.20 Rangkaian Modulator FSK dengan
TCM 3105
44
Gambar 3.21 Rangkaian Lengkap Demodulator FSK
dengan IC TCM3105
45
Dalam dua dimensi, Gaussian Filter merupakan hasil dari
dua Gaussian :
46
BAB IV
PEMBUATAN SISTEM
47
proses DAC untuk mengembalikan data biner menjadi data analog
kembali sehingga nilai data dapat teramati melalui LCD yang
terpasang pada sisi penerima. Tentunya data juga akan mengalami
proses despreading untuk mengembalikan data ke dalam bentuk
semula (seperti data input). Data output yang diinginkan harus sama
seperti data input. Jika data input berbeda dengan data output, maka
proses pengiriman bisa dikatakan gagal. Kegagalan pada saat
melakukan proses pengiriman data informasi bias dikarenakan
pemasangan hardware yang kurang tepat, terjadi kesalahan saat
melakukan konfigurasi pemrograman pada mikrokontoler, atau
Human Error.
48
Hasil yang diperoleh :
49
menimbulkan terjadinya nilai error diantara kedua data yang
diperoleh. Perbedaan nilai yang diperoleh juga dapat
menunjukkan seberapa bagus tingkat keakuratan sensor suhu LM
35 dalam menditeksi suhu lingkungan yang telah berhasil diterima
oleh sensor suhu tersebut. Berikut merupakan perhitungan secara
teoritis untuk mengetahui nilai error yang terjadi karena adanya
perbedaan nilai data yang diperoleh pada saat pengukuran :
50
biner, sebab semua data yang diterima melalui sensor suhu masih
dalam bentuk analog sehingga perlu diadakan konversi ke dalam
bentuk biner seperti voice. Sebelum data informasi kita spreading
dengan menggunakan pseudo-noise, maka terlebih dahulu data kita
konversikan kedalam bentuk biner melalui ADC (Analog to Digital
Converter) sehingga pada saat mengalami proses spreading, input
data sudah dalam keadaan biner.
start
end
51
Cls
Lcd "NILAI INPUT"
Waitms 500
Mulai:
Stop Adc
Call Config_fullmode
Waitms 10
'''''''''''''''''''''''''''''''
'Dat0 = Waitkey()
'If Dat0 = &HFA Then
' Print Chr(&Hfd)
'Else
' Print Chr(&Hfc);
'End If
Goto Kirim
'''''''''''''''''''''''''''''
Kirim:
Rx_en = 0
Call Config_tr
Kirim2:
Do
Start Adc
Dat0 = Getadc(0)
Dat0 = Dat0 - 27
If Dat0 < 25 Then
Dat0 = Dat0
Cls
Lcd "INPUT Tx..."
Lowerline
Lcd Dat0 ; "C"
Waitus 1
52
Program di atas digunakan untuk memanggil nilai input berupa nilai
data temperatur yang diterima oleh sensor suhu. Data akan dianalisa
dalam bentuk karakter. Data yang diinginkan adalah nilai suhu
dengan batas range antara 250 C sampai 380 C. Jika nilai data yang
diperoleh sesuai dengan batas range yang telah ditentukan, maka data
akan dikirim atau mengalami proses penambahan PN-Code dan
diteruskan dengan proses modulasi data dengan menggunakan teknik
modulasi GFSK (Gaussian Frequency Shift Keying). Tetapi jika data
yang di peroleh tidak sesuai dengan nilai range data yang diinginkan,
maka program akan memerintahkan hardware untuk menunggu input
data baru melalui sensor suhu LM 35 DZ sampai diperoleh nilai input
yang sesuai dengan batas nilai range yang diinginkan. Karena
masukan input data dari sensor suhu sudah diberi batas atau range
nilai data yang bisa diterima oleh mikrokontroler, maka jika data
yang diterima oleh sensor suhu tidak sesuai, mikrokontroler tidak
akan memproses data input yang tidak sesuai. Dengan demikian pada
hardware (mikrokontroler) tidak akan tejadi proses pengiriman data
dan karena tidak ada data input yang akan dikirimkan maka pada sisi
penerima juga tidak ada proses penerimaan data sehingga tidak
ditemukan hasil data output. Jika mikrokontroler tidak memproses
data input yang telah diterima karena data yang diinginkan tidak
sesuai, maka tampilan pada layar lcd akan terlihat nilai suhu 00 C.
Pengujian fungsi sensor suhu LM 35 pada mikrokontroler
dapat juga dilaksanakan dengan cara menjalankan peralatan
mikrokontroler selama 24 jam dengan teknik pengambilan data setiap
jam. Pengambilan data yang dilakukan setiap jam memerlukan
pengaturan perangkat lunak yang diatur supaya pergantian
penerimaan data baru atau perubahan data dapat terjadi dalam setiap
jam. Hasil pengambilan data nilai temperatur oleh sensor suhu selama
24 jam dengan jeda waktu pergantian data input selama 1 jamm dapat
terlihat pada Tabel 4.2
53
Tabel 4.2 Hasil Pengambilan Data Nilai Suhu selama 24 Jam
54
Dari Tabel 4.2 dapat dibuat grafik seperti ditunjukkan gambar 4.5.
Dari grafik ini dapat diamati perubahan suhu udara selama satu hari
penuh.
HASIL PENGUKURAN
40
20 HASIL
0 PENGUKU
0:00:…
5:00:…
10:00…
15:00…
20:00…
RAN
55
4.3.3 Kode Pseudo Noise
Tipe kode pseudo-noise yang di gunakan pada pembuatan
software untuk proses pengiriman dan penerimaan sinyal informasi
ini berupa maximal-length sequence (m-sequence) dan gold code.
Kode pseudo-noise ini dihasilkan dari Pseudo Random Generator
(PNG).
• Maximal-Length Sequence
M-sequence tersusun dari deretan elemen shift-register yang diberi
feedback sebagai input tunggalnya. Pemberian feedback diatur
berdasarkan kode-kode oktal yang telah ditetapkan seperti yang
terlihat pada tabel 2.1. Hal ini telah dijelaskan secara teoritis pada
bab sebelumnya yaitu pada bab 2.
Di bawah ini merupakan diagram alir dari pembangkitan kode m-
sequence :
56
Misalnya :
Tipe shift-register yang dipakai 8 dengan tipe Pseudo Random
Generator 545. Terlebih dahulu kita konversikan ke dalam bentuk
biner sesuai dengan tabel 2.2, sehingga untuk menghasilkan
bentuk biner :
545 = 101100101
g(D) = 1 + D2 + D5 + D6
57
pengolahan data sebelumnya. Hal ini akan dilakukan secara terus-
menerus antara 0-255.
58
B. Kode Maxlength dengan Tapping [5,4,3,2]
Hasil Pengukuran Pada Logic Analyzer
59
diharapkan sama dengan hasil data informasi yang di terima pada
sisi receiver.
• Gold Code
Sebuah Gold Code, juga dikenal sebagai Gold Sequence
yang merupakan bentuk urutan biner yang digunakan dalam
telekomunikasi (CDMA) dan satelit navigasi (GPS). Pada Gold
Code diharuskan memilih dua sequence panjang maksimum yang
sama panjang yaitu dengan ketentuan 2m - 1, sehingga cross-
correlation pada Gold Code hanya memiliki tiga nilai. Rangkaian
Gold Code merupakan rangkaian dari eksklusif-or 2m - 1 yang
terdiri dari 2-sequence dari Gold Code dalam berbagai tahapan.
Sebuah rangkaian Gold Code Sequence terdiri dari 2m + 1 untuk
masing-masing sequence dengan periode 2m - 1. Dalam satu
rangkaian Gold Code terdiri dari rangkaian bit biner yang di
deklarasikan dengan angka “1” dan “0” dimana banyaknya jumlah
angka “1” dan angka “0” hanya berbeda 1 angka saja.
Tipe kode pseudo-noise dihasilkan dari bentuk penambahan
dari 2 bentuk kode pseudo-noise m-sequence. Penambahan
dilakukan dengan menggunakan X-OR. Dengan melakukan X-OR
diharapkan dapat menghasilkan pseudo-noise code yang lebih
kompleks dari bentuk m-sequence sebelumnya. Untuk tipe kode
pseudo-noise ini banyak dipakai dalam sistem komunikasi CDMA
(Code Division Multiple Access). Untuk mendapatkan nilai
pencampuran pseudo-noise code ini yaitu dengan menjumlahkan
nilai output yang dihasilkan dari masing-masing m-sequence. Hal
ini telah dijelaskan pada bab sebelumnya yaitu pada bab 2.
60
61
Gambar 4.11 Diagram Alir Pembentukan Pseudo-noise Code pada Tipe
Gold Code.
62
Misal :
Tipe yang dipilih 435 dan 551. Hasil konversi dari masing-masing
tipe kode pseudo-noise ini yaitu sebagai berikut :
63
• Pengujian Sistem Spreading - Despreading Menggunakan
Gold Code
Untuk pengujian sistem spreading - despreading dengan
menggunakan Gold Code kali ini akan diamati adalah kode yang
memiliki jumlah shift-register 5 buah dengan pasangan tap [5,3]
dan [5,4,3,2]. Dan hasil yang didapatkan adalah sebagai berikut:
64
karena faktor delay. Delay pada saat pengiriman dan penerimaan
data bisa ditentukan sesuai dengan yang kita inginkan. Delay yang
kita inginkan dapat diatur pada software yang kita gunakan untuk
mengendalikan mikrokontroler.
4.3.4 Spreading
Spreading dilakukan dengan meng-XOR-kan nilai pseudo-
noise dengan menggunakan input data yang telah diperoleh
sebelumnya, sehingga dihasilkan kode-kode data yang acak dengan
bandwidth yang lebar.
Print Chr(dat_out);
If Dat_out = &H11D Then
Dat_out = 0
Else
If Dat_out = &H169 Then
Dat_out = 0
else
If Dat_out = &HF3 Then
Dat_out = 0
else
If Dat_out = &H12A Then
65
Dat_out = 0
else
If Dat_out = &H165 Then
Dat_out = 0
else
If Dat_out = &H15F Then
Dat_out = 0
else
If Dat_out = &H1C3Then
Dat_out = 0
else
If Dat_out = &H163 Then
Dat_out = 0
else
Goto Kirim
End If
Wend
Loop
Kirim:
Rx_en = 0
Call Config_tr
Kirim2:
Do
Dat0 = &Hfa
'''''''''''''''
If Dat0 = 0 Then
Print Chr(&Hfd)
Goto Kirim2
End If
66
modulasi FSK (Frequency Shift Keying) yang mendapatkan
penambahan filter dengan menggunakan metode Gaussian Filter.
4.3.5 Modulasi
Modulasi yang digunakan adalah modulasi dengan tipe
modulasi GFSK (Gaussian Frequency Shift Keying). Sistem kerja
dari modulasi ini yaitu dengan membalikkan nilai phase antara 00
sampai 1800 dari nilai hasil spreading. Bila nilai input yang
dihasilkan dari hasil spreading tersebut bernilai “1”, maka phase
yang dihasilkan adalah 900. Sedangkan nilai input yang masuk pada
modulasi ini menghasilkan nilai phase sebesar -900. Hal ini dapat
terlihat pada diagram phasor yang telah dijelaskan pada bab
sebelumnya.
START
Y
Jum1=1 Gambar +180
Y
Jum1=1 Gambar -180
END
67
Kirim:
Rx_en = 0
Call Config_tr
Kirim2:
Do
Dat0 = &Hfa
'''''''''''''''
If Dat0 = 0 Then
Print Chr(&Hfd)
Goto Kirim2
End If
Dari list program di atas menjelaskan bahwa bila nilai input yang
diberikan bernilai sesuai dengan nilai input yang diinginkan (sesuai
dengan batasan range nilai input yang ditentukan), maka data input
yang diterima akan mengalami proses modulasi. Apabila nilai data
yang diterima tidak sesuai dengan nilai yang diinginkan, maka
program akan memberi perintah untuk tidak mengolah data atau
meneruskan data pada proses modulasi. Program akan
memerintahkan hardware untuk mencari data input baru yang sesuai
dengan batas range nilai data input yang telah ditentukan sebelumnya.
Teknik modulasi yang digunakan dalam proses modulasi ini adalah
modulasi GFSK (Gaussian Frekuensi Shift Keying) dimana teknik
modulasi ini merupakan teknik modulasi FSK (Frequency Shift
Keying) dengan menggunakan Gaussian Filter. Sinyal baseband pada
modulasi GFSK harus melalui Gaussian Filter sebelum mengalami
proses modulasi secara FSK dan hasil output pada suatu modulator
FSK biner merupakan suatu fungsi step pada domain frekuensi.
Gaussian Filtering merupakan salah satu cara yang sangat standar
untuk mengurangi lebar spectral yang disebut dengan "pulse
shaping". Gaussian Filter berfungsi untuk membuat sinyal pulsa
menjadi lebih baik sehingga lebar sinyal spectral dapat terbatasi. Hal
ini untuk menghindari adanya pembatasan terhadap shift minimum.
4.3.6 Demodulasi
Pada demodulasi sinyal output dari sisi transmitter yang
dihasilkan dari udara akan diproses pada demodulator dengan
menggunakan teknik modulasi yang sama seperti yang digunakan
pada sisi transmitter, yaitu teknik modulasi GFSK. Sehingga akan
menghasilkan nilai-nilai biner seperti pada hasil perhitungan
spreading. Selanjutnya nilai-nilai ini akan diproses lebih lanjut pada
bagian despreding. Tipe demodulasi yang digunakan pada proyek
68
tugas akhir ini adalah tipe demodulasi GFSK seperti modulasi pada
sisi transmitter.
Kirim:
Rx_en = 0
Call Config_tr
Kirim2:
Do
Dat0 = &Hfd
'''''''''''''''
If Dat0 = 0 Then
Print Chr(&Hfa)
Goto Kirim2
End If
69
informasi juga akan mengalami proses modulasi secara FSK dan
juga akan mengalami proses penyaringan melalui Gaussian Filter.
4.3.7 Despreading
Pada sisi despreading, input data berasal dari hasil atau output
proses demodulasi. Nilai tersebut akan di XOR-kan dengan pseudo
noise yang berada pada sisi receiver. Apabila nilai atau kode
pseudo-noise yang berada pada sisi receiver sama dengan nilai atau
pseudo-noise pada sisi transmitter, maka data informasi yang di
kirimkan oleh transmitter akan diterima kembali oleh sisi receiver.
Sebaliknya, apabila nilai atau pseudo noise pada sisi receiver
berbeda dengan nilai yang ada pada sisi transmitter, maka pada sisi
receiver akan menerima kode-kode acak yang menyerupai noise.
70
Print Chr(dat_out);
If Dat_out = &H11D Then
Dat_out = 0
Else
If Dat_out = &H169 Then
Dat_out = 0
else
If Dat_out = &HF3 Then
Dat_out = 0
else
If Dat_out = &H12A Then
Dat_out = 0
else
If Dat_out = &H165 Then
Dat_out = 0
else
If Dat_out = &H15F Then
Dat_out = 0
else
If Dat_out = &H1C3Then
Dat_out = 0
else
If Dat_out = &H163 Then
Dat_out = 0
else
Goto Kirim
End If
Wend
Loop
Kirim:
Rx_en = 0
Call Config_tr
Kirim2:
Do
Dat0 = &Hfd
'''''''''''''''
If Dat0 = dat_0 Then
Print Chr(&Hfa)
Goto Kirim2
End If
71
spreading. Penambahan kembali pn code noise terhadap data
informasi adalah supaya data output pada sisi receiver memiliki nilai
yang sama dengan nilai data input sebelum data informasi
mengalami segala jenis proses yang berlangsung pada sisi
transmitter. Penambahan pn code noise juga dilakukan dengan 2
metode yaitu dengan metode m-sequence dan metode Gold Code
dan tentunya dengan penggunaan tipe nilai persamaan polinomial
yang sama seperti yang digunakan pada sisi transmitter. Jika tipe pn
noise code yang digunakan pada kedua sisi mikrokontroler berbeda
maka proses pengiriman dan penerimaan data informasi tidak akan
terjadi atau akan mengakibatkan program error.
72
BAB V
PENUTUP
5.1 KESIMPULAN
Setelah melakukan proses pengamatan dan analisa terhadap sistem
yang telah dibuat dapat disimpulkan beberapa hal diantaranya adalah:
73
5.2 SARAN
Berdasarkan pada apa yang telah kami lakukan selama pembuatan
proyek akhir ini, saran-saran yang dapat kami berikan antara lain:
1. Hendaknya dalam perancangan dan pembuatan rangkaian logika
harus disertai dengan teori teknik modulasi yang yang labih
lengkap dan jelas.
2. Dalam pengujian sistem sebaiknya sistem dibandingkan dengan
beberapa parameter lainnya, logic Analyzer dan spektrum
analyzer untuk mendapatkan hasil pengukuran yang lebih akurat.
74
DAFTAR PUSTAKA
75
HALAMAN INI SENGAJA DIKOSONGKAN
76
LAMPIRAN A
$regfile = "m8535.dat"
$baud = 9600
$crystal = 12000000
Ce Alias Portb.2
Cs Alias Portb.3
Dr Alias Pinb.0
Clk Alias Portb.4
Dat Alias Portb.1
Dat_pin Alias Pinb.1
'shockburst configuration
Dim Data2_w As Byte , Data1_w As Byte
Dim Addr2_1 As Byte , Addr2_2 As Byte , Addr2_3 As Byte , Addr2_4 As
Byte , Addr2_5 As Byte
Dim Addr1_1 As Byte , Addr1_2 As Byte , Addr1_3 As Byte , Addr1_4 As
Byte , Addr1_5 As Byte
Dim Addr_w As Byte , Crc_length As Bit , Crc_en As Bit '6-1-1
'general configuration
Dim Rx2_en As Bit , Cm As Bit , Rfdr_sb As Bit , Xo_f As Byte , Rf_pwr As
Byte '1-1-1-3-2
Dim Rf_ch As Byte , Rx_en As Bit '7-1
Dim Dat0 As Byte , S As Byte
Channel = 0
Ce = 0
Cs = 0
Clk = 0
Dat = 0
Waitms 500
'jangan lupa selalu config input/output->baca=input - tulis=output
Data2_w = 8
Data1_w = 8 'panjang data
Addr2_5 = &H00
Addr2_4 = &H00
Addr2_3 = &H00
Addr2_2 = &H00
Addr2_1 = &H00
Addr1_5 = &H00 'address
Addr1_4 = &H00
Addr1_3 = &H00
Addr1_2 = &H00
Addr1_1 = &H00
Addr_w = 40 'panjang address
Crc_length = 1 'panjang crc
Crc_en = 1
Rx2_en = 0
Cm = 1 'direct/shockburst
Rfdr_sb = 1 'data rate kbps/mbps
Xo_f = 3 'crystal freq
Rf_pwr = 1 'db
Rf_ch = &H55 '0-83
Rx_en = 1
Cls
Lcd "NILAI INPUT"
Waitms 500
Mulai:
Stop Adc
Call Config_fullmode
Waitms 10
'''''''''''''''''''''''''''''''
'Dat0 = Waitkey()
'If Dat0 = &HFA Then
' Print Chr(&Hfd)
'Else
' Print Chr(&Hfc);
'End If
Goto Kirim
'''''''''''''''''''''''''''''
Kirim:
Rx_en = 0
Call Config_tr
Kirim2:
Do
Start Adc
Dat0 = Getadc(0)
Dat0 = Dat0 - 27
If Dat0 < 25 Then
Dat0 = Dat0
Elseif Dat0 >= 39 Then
Dat0 = 0
End If
Cls
Lcd "INPUT Tx..."
Lowerline
Lcd Dat0 ; "C"
Waitus 1
Ce = 0
Cs = 0
Waitus 10
Ce = 1
Waitus 10
Dat_out = Addr1_1 'addr1
Call Send_byte
Dat_out = Addr1_2 'addr2
Call Send_byte
Dat_out = Addr1_3 'addr3
Call Send_byte
Dat_out = Addr1_4 'addr4
Call Send_byte
Dat_out = Addr1_5 'addr5
Call Send_byte
Dat_out = Dat0 'data
Call Send_byte
Waitus 100
Ce = 0
Waitms 100
Goto Mulai
Loop
End
Sub Read_byte
Dat_out = 0
For I = 1 To 8
Waitus 1
Clk = 1
Shift Dat_out , Left
Dat_out = Dat_out Or Dat_pin
Waitus 1
Clk = 0
Next
Clk = 0
End Sub
Sub Send_byte
For I = 1 To 8
Rotate Dat_out , Left
Data_print = Dat_out And 1
' Print Data_print;
Dat = Data_print
Waitus 1
Clk = 1
Set Portd.0
Waitus 1
Clk = 0
Reset Portd.0
Next
Clk = 0
' Print ""
End Sub
Sub Config_tr
Cs = 1
Ce = 0
Config Dat_pin = Output
Waitms 10
Dat = Rx_en
Waitus 1
Clk = 1
Waitus 1
Clk = 0
Cs = 0
End Sub
Sub Config_fullmode
Cs = 1
Ce = 0
Config Dat_pin = Output
Waitms 10
Dat_out = Data2_w
Call Send_byte
Dat_out = Data1_w
Call Send_byte
Dat_out = Addr2_5
Call Send_byte
Dat_out = Addr2_4
Call Send_byte
Dat_out = Addr2_3
Call Send_byte
Dat_out = Addr2_2
Call Send_byte
Dat_out = Addr2_1
Call Send_byte
Dat_out = Addr1_5
Call Send_byte
Dat_out = Addr1_4
Call Send_byte
Dat_out = Addr1_3
Call Send_byte
Dat_out = Addr1_2
Call Send_byte
Dat_out = Addr1_1
Call Send_byte
Dat_out = Rf_ch
Shift Dat_out , Left , 1
Dat_out = Dat_out Or Rx_en
Call Send_byte
Cs = 0
End Sub
Pada Sisi RECEIVER
$regfile = "m8535.dat"
$crystal = 4000000
Ce Alias Portb.2
Cs Alias Portb.3
Dr Alias Pinb.0
Clk Alias Portb.4
Dat Alias Portb.1
Dat_pin Alias Pinb.1
'shockburst configuration
Dim Data2_w As Byte , Data1_w As Byte
Dim Addr2_1 As Byte , Addr2_2 As Byte , Addr2_3 As Byte , Addr2_4 As
Byte , Addr2_5 As Byte
Dim Addr1_1 As Byte , Addr1_2 As Byte , Addr1_3 As Byte , Addr1_4 As
Byte , Addr1_5 As Byte
Dim Addr_w As Byte , Crc_length As Bit , Crc_en As Bit '6-1-1
'general configuration
Dim Rx2_en As Bit , Cm As Bit , Rfdr_sb As Bit , Xo_f As Byte , Rf_pwr As
Byte '1-1-1-3-2
Dim Rf_ch As Byte , Rx_en As Bit '7-1
Dim Dat0 As Byte
Ce = 0
Cs = 0
Clk = 0
Dat = 0
Waitms 500
'jangan lupa selalu config input/output->baca=input - tulis=output
Data2_w = 8
Data1_w = 8 'panjang data
Addr2_5 = &H00
Addr2_4 = &H00
Addr2_3 = &H00
Addr2_2 = &H00
Addr2_1 = &H00
Addr1_5 = &H00 'address
Addr1_4 = &H00
Addr1_3 = &H00
Addr1_2 = &H00
Addr1_1 = &H00
Addr_w = 40 'panjang address
Crc_length = 1 'panjang crc
Crc_en = 1
Rx2_en = 0
Cm = 1 'direct/shockburst
Rfdr_sb = 1 'data rate kbps/mbps
Xo_f = 3 'crystal freq
Rf_pwr = 1 'db
Rf_ch = &H55 '0-83
Rx_en = 1
Mulai:
Cls
Call Config_fullmode
Waitms 10
Terima:
Rx_en = 1
Call Config_tr
Config Dat_pin = Input
Waitms 10
Do
Cs = 0
Ce = 1
Waitus 10
While Dr = 0
Wend
Ce = 0
Dat_out = 0
While Dr = 1
Call Read_byte
Cls
Lcd "HASIL RX"
Lowerline
Lcd "from Tx:" ; Dat_out ; "C"
'Waitms 10
Dat_out = 0
Goto Terima
Wend
Goto Mulai
Loop
Sub Read_byte
Dat_out = 0
For I = 1 To 8
Waitus 1
Clk = 1
Shift Dat_out , Left
Dat_out = Dat_out Or Dat_pin
Waitus 1
Clk = 0
Next
Clk = 0
End Sub
Sub Send_byte
For I = 1 To 8
Rotate Dat_out , Left
Data_print = Dat_out And 1
' Print Data_print;
Dat = Data_print
Waitus 1
Clk = 1
Waitus 1
Clk = 0
Next
Clk = 0
' Print ""
End Sub
Sub Config_tr
Cs = 1
Ce = 0
Config Dat_pin = Output
Waitms 10
Dat = Rx_en
Waitus 1
Clk = 1
Waitus 1
Clk = 0
Cs = 0
End Sub
Sub Config_fullmode
Cs = 1
Ce = 0
Config Dat_pin = Output
Waitms 10
Dat_out = Data2_w
Call Send_byte
Dat_out = Data1_w
Call Send_byte
Dat_out = Addr2_5
Call Send_byte
Dat_out = Addr2_4
Call Send_byte
Dat_out = Addr2_3
Call Send_byte
Dat_out = Addr2_2
Call Send_byte
Dat_out = Addr2_1
Call Send_byte
Dat_out = Addr1_5
Call Send_byte
Dat_out = Addr1_4
Call Send_byte
Dat_out = Addr1_3
Call Send_byte
Dat_out = Addr1_2
Call Send_byte
Dat_out = Addr1_1
Call Send_byte
Shift Addr_w , Left , 1
Addr_w = Addr_w Or Crc_length
Shift Addr_w , Left , 1
Dat_out = Addr_w Or Crc_en
Call Send_byte
Dat_out = Rx2_en
Shift Dat_out , Left , 1
Dat_out = Dat_out Or Cm
Shift Dat_out , Left , 1
Dat_out = Dat_out Or Rfdr_sb
Shift Dat_out , Left , 3
Dat_out = Dat_out Or Xo_f
Shift Dat_out , Left , 2
Dat_out = Dat_out Or Rf_pwr
Call Send_byte
Dat_out = Rf_ch
Shift Dat_out , Left , 1
Dat_out = Dat_out Or Rx_en
Call Send_byte
Cs = 0
End Sub
LAMPIRAN B
RIWAYAT HIDUP