Perangkat Lunak Protokol Komunikasi
3. Frequency Setting Command Instruksi ini berfungsi memberikan frekuensi awal. Frekuensi akan diubah lagi di
bagian lain program. Oleh karena itu frekuensi awal cukup diatur sama dengan frekuensi kanal menurut saklar pemilih kanal.
4. Data Rate Command Instruksi ini mengatur kecepatan transfer data. Kecepatan transfer data diatur pada
nilai tertinggi, yaitu 115,2 kbps. 5. Power Setting Command
Instruksi ini mengatur VDI Valid Data Indicator, baseband bandwidth, LNA gain, dan RSSI detector threshold. VDI berhubungan dengan respons penerima terhadap validitas
data; pada perancangan ini diatur pada fast. Baseband bandwidth adalah lebar pita data, diatur pada nilai tertinggi yaitu 400 kHz. Nilai ini juga akan menjadi dasar bagi pembagian
kanal. LNA Low Noise Amplifier merupakan penguat gelombang radio pada penerima; pada perancangan ini diatur senilai 0 dB. RSSI Relative Signal Strength Indicator adalah
indikator kekuatan sinyal; ambang bawahnya diatur senilai -103 dBm. 6. Data Filter Command
Instruksi ini mengatur mengenai tapis data dimana pada perancangan ini jenis tapis data yang digunakan adalah tapis digital.
7. FIFO and Reset Mode command Instruksi ini mengatur pengaktifan dan pemakaian FIFO.
8. AFC Command Instruksi ini berisi berbagai pengaturan mengenai AFC Automatic Frequency
Control. 9. TX Configuration Control Command
Instruksi ini mengatur polaritas FSK Frequency Shift Keying, frekuensi yang digunakan FSK, dan daya keluaran pemancar. Frekuensi untuk representasi logika pada
FSK diatur senilai +- 60 kHz dari frekuensi tengah kanal. Jadi logika 0 dan 1 akan berbeda 120 kHz. Daya pemancar diatur senilai 0 dB.
25
3.4.2.2. Pengaturan Frekuensi Pengaturan frekuensi kerja RFM12 baik pancar maupun terima menggunakan
perintah Frequency Setting Command. Instruksi ini memiliki format : Bit
15 14
13 12
11 10
9 8
7 6
5 4
3 2
1 Data
1 1
F, menyatakan frekuensi
Nilai F ditentukan melalui persamaan : F=4000 f
10 ⋅C
1
−C
2
. Tabel 3.1. Pembagian Kanal.
Kanal Frekuensi
MHz F
Kombinasi Saklar FS
Keterangan Desimal
Heksadesimal 430,4
160 0x00A0
- frekuensi pancar
radio induk 1
430,8 320
0x0140 0001
frekuensi pancar radio anak
2 431,2
480 0x01E0
0010 3
431,6 640
0x0280 0011
4 432,0
800 0x0320
0100 5
432,4 960
0x03C0 0101
6 432,8
1120 0x0460
0110 7
433,2 1280
0x0500 0111
8 433,6
1440 0x05A0
1000 9
434,0 1600
0x0640 1001
10 434,4
1760 0x06E0
1010 11
434,8 1920
0x0780 1011
12 435,2
2080 0x0820
1100 13
435,6 2240
0x08C0 1101
14 436,0
2400 0x0960
1110 15
436,4 2560
0x0A00 1111
16 436,8
2720 0x0AA0
0000
26
f adalah frekuensi dalam satuan MHz. Nilai C1 dan C2 untuk RFM12 pita 433 MHz adalah 1 dan 43, sehingga persamaan menjadi : F
=400f −430 . Sebagai catatan, nilai F minimal adalah 96 dan maksimal 3903.
RFM12 dengan pita frekuensi 433 MHz dapat memakai frekuensi antara 430,24 – 439,7575 MHz. Berdasarkan jangkauan frekuensi tersebut, dapat dibuat pembagian kanal
untuk sistem radio komunikasi yang dirancang dengan perincian sebagaimana tertera pada Tabel 3.1. Tersedia tujuh belas kanal dimana masing – masing memiliki lebar 400 kHz.
Berdasarkan tabel di atas, dapat dibuat hubungan antara nilai F dan nomor kanal : F
=160∗KANAL+1 . No. kanal untuk frekuensi pancar radio anak didapat dari kombinasi saklar pemilih kanal dimana kanal 1 – 15 dilambangkan dengan bilangan biner
yang bersesuaian sedangkan kanal 16 menggunakan bilangan biner 0. Kanal 0 tidak berhubungan dengan kombinasi saklar pemilih kanal karena sudah ditentukan
pemakaiannya untuk frekuensi pancar radio induk. Nilai F yang sudah didapatkan kemudian dilewatkan operasi OR dengan bilangan heksadesimal 0xA000 sesuai format
Frequency Setting Command dan selanjutnya dikirimkan ke RFM12. 3.4.2.3. Prosedur Pengiriman Data
Prosedur pengiriman data melibatkan instruksi Power Management Command dan Transmitter Register Write Command. Power Management Command berfungsi
menghidupkan dan mematikan komponen – komponen pemancar RF pada RFM12. Transmitter Register Write Command berfungsi mengirimkan satu byte data ke register
data pemancar pada RFM12. Untai prosedur pengiriman data dimulai dengan menghidupkan bagian pemancar menggunakan instruksi Power Management Command
dengan nilai 0x8238. Instruksi dengan nilai tersebut akan menghidupkan penguat daya RF Radio Frequency, synthesizer dan osilator. Selanjutnya, lima paket data pembuka dikirim
secara urut : 0xB8AA, 0xB8AA, 0xB8AA, 0xB82D dan 0xB8D4. Kemudian satu byte data dikirim menggunakan perintah Transmitter Register Write Command yaitu dengan
melakukan operasi OR antara bilangan heksadesimal 0xB800 dengan data yang bersangkutan. Langkah ini dapat diulangi jika data yang dikirim berjumlah lebih dari satu
byte. Jika data sudah dikirim semuanya, prosedur ditutup dengan mematikan pemancar 27
menggunakan perintah Power Management Command dengan nilai 0x8208. Instruksi dengan nilai tersebut akan mematikan penguat daya RF, synthesizer dan osilator. Diagram
alir prosedur pengiriman data ditampilkan pada Gambar 3.8.
Gambar 3.8. Diagram alir prosedur pengiriman data.
3.4.2.4. Prosedur Penerimaan Data Prosedur penerimaan data melibatkan tiga instruksi. Power Management
Command berfungsi menghidupkan dan mematikan komponen – komponen penerima RF dari RFM12. FIFO and Reset Mode Command berfungsi mengatur pemakaian register
28
data FIFO. Receiver FIFO Read Command berfungsi menerima satu byte data yang ditampung pada register FIFO. untai prosedur penerimaan data dimulai dengan
menghidupkan komponen – komponen penerima meliputi RF front end, baseband, synthesizer dan osilator. Hal ini dilakukan menggunakan instruksi Power Management
Command dengan nilai 0x82C8. Kemudian mode FIFO diatur dan FIFO diaktifkan menggunakan perintah FIFO and Reset Mode Command dengan nilai 0xCA81 dan
0xCA83. Selanjutnya dilakukan pengambilan data pada register FIFO menggunakan instruksi Receiver FIFO Read Command. Hal ini dilakukan dengan mengirimkan nilai
0xB000 dan menampung data kembalian dari RFM12. Langkah ini dapat diulangi jika data yang hendak diterima berjumlah lebih dari satu byte. Terakhir, setelah data selesai
dikirimkan, prosedur diakhiri dengan mematikan komponen – komponen penerima menggunakan instruksi Power Management Command dengan nilai 0x8208. Diagram alir
prosedur penerimaan data tampak pada Gambar 3.9. 3.4.3. Konversi Sinyal Informasi Menjadi Data
Konversi sinyal diperlukan untuk mengubah sinyal informasi keluaran perangkat audio output yang masih berbentuk sinyal listrik – suara menjadi data digital. Proses
konversi ini membutuhkan pencuplikan yang melibatkan ADC internal mikrokontroler. ADC mikrokontroler Atmega168A digunakan pada resolusi 8 bit dan menggunakan
tegangan referensi internal. Data hasil pencuplikan dengan demikian memiliki lebar 8 bit, sesuai dengan lebar register data RFM12. Tegangan referensi internal yang digunakan
memiliki nilai 1,1 V. Jadi nilai data tertinggi, yaitu 255, merupakan representasi dari nilai tegangan 1,1 V.
Jumlah konversi ditetapkan 8000 kali per detik atau dengan kata lain frekuensi pencuplikan adalah 8 kHz. Nilai ini direalisasikan menggunakan sebuah pewaktu pada
mikrokontroler Atmega168 dimana pada perancangan ini dipakai Timer 2A. Timer ini memiliki resolusi 8 bit. Nilai pembanding untuk register timer ditentukan menggunakan
persamaan : OCR2A =f
CLK
N⋅f
TIMER
−1 dimana N adalah faktor pembagi. Maka register OCR2A diisi dengan nilai :
OCR2A =12⋅10
6
8⋅8⋅10
3
−1=187,5−1≈186
.
29
Gambar 3.9. Diagram alir prosedur penerimaan data.
3.4.4. Konversi Data Menjadi Sinyal PWM Pembangkit sinyal PWM pada mikrokontroler Atmega168A memerlukan sebuah
timer untuk bekerja dimana pada perancangan ini dipakai Timer 1A. Timer ini dipakai untuk membangkitkan PWM beresolusi 8 bit dengan tipe operasi Fast PWM. Tipe dan
resolusi tersebut memungkinkan digunakannya sinyal PWM dengan frekuensi tertinggi. Frekuensi sinyal PWM ditentukan melalui persamaan f
OC1APWM
= f
CLK
N ⋅1+TOP
dimana N adalah faktor pembagi dan TOP adalah nilai data PWM tertinggi berkenaan dengan
30
resolusi. Jika N bernilai 1 dan PWM beresolusi 8 bit, maka frekuensi sinyal PWM bernilai f
OC1APWM
= 12
⋅10
6
1 ⋅1+255
=46.875 Hz . Konversi data ke sinyal PWM harus sinkron dengan proses pencuplikan sehingga
sinyal informasi dapat direkonstruksi dengan pewaktuan yang tepat. Oleh karena itu pembaruan data sinyal PWM dilakukan juga 8000 kali per detik. Proses ini dapat
menggunakan pewaktuan yang dibuat oleh Timer 2A untuk proses pencuplikan. Dengan demikian Timer 2A digunakan sebagai acuan pewaktuan bagi proses konversi sinyal
informasi ke data dan data ke sinyal informasi. 3.4.5. Penerapan Konsep Radio Induk dan Radio Anak pada Program
Berdasarkan posisi saklar pemilih mode, radio komunikasi dapat dipilih untuk berperan sebagai radio induk atau radio anak. Sedangkan berdasarkan penekanan tombol
PTT, masing – masing peran dapat dibagi lagi menjadi dua keadan : memancar atau menerima. Dengan demikian dapat dibuat empat fungsi kondisi radio komunikasi sebagai
berikut. 1. Radio anak memancarkan informasi
Frekuensi pancar diatur sesuai pilihan kanal. Pengambilan data ADC dilakukan dan data ditampung pada suatu variabel 8 bit. Kemudian dilakukan prosedur pengiriman data.
Data juga dikeluarkan ke register OCR1A untuk membangkitkan sinyal PWM sesuai nilai data, sehingga pengguna juga dapat mendengar informasi yang dikirimkannya.
2. Radio anak menerima informasi Frekuensi terima diatur pada kanal 0. Setelah dilakukan prosedur penerimaan data,
data ditampung pada suatu variabel 8 bit. Kemudian data dikeluarkan ke register OCR1A untuk membangkitkan sinyal PWM sesuai nilai data.
3. Radio induk memancarkan informasi Frekuensi pancar diatur pada kanal 0. Pengambilan data ADC dilakukan dan data
ditampung pada suatu variabel 8 bit. Kemudian dilakukan prosedur pengiriman data. Data juga dikeluarkan ke register OCR1A untuk membangkitkan sinyal PWM sesuai nilai data,
sehingga pengguna juga dapat mendengar informasi yang dikirimkannya. 31
4. Radio induk menerima informasi Frekuensi terima diatur pada kanal 1 yang merupakan kanal pertama yang dipindai.
Kemudian prosedur penerimaan data dijalankan. Jika tidak ada data yang diterima maka pemindaian dilanjutkan ke kanal berikutnya. Jika ada data yang diterima, maka frekuensi
pancar diatur pada kanal 0 dan prosedur pengiriman data dilakukan. Kemudian radio induk menunggu apakah radio anak yang bersangkutan mengirim data lagi. Apabila setelah dua
detik menunggu tidak ada data yang diterima, pemindaian dilanjutkan pada kanal berikutnya. Gambar 3.10 menampilkan diagram alir ketika radio induk menerima
informasi.
Gambar 3.10. Diagram alir radio induk saat menerima informasi.
Namun prosedur pengiriman data oleh radio induk setelah menerima data dari radio anak belum dapat direalisasikan. Ketika memasuki bagian rutin program tersebut, RFM12
tidak mampu mengganti fungsi penerima menjadi pemancar dan mengubah frekuensi ke kanal 0.
32