Sunday, April 24, 2011

Jenis Bus, Protokol Dan Operating System Pada OBDH Satellite Nano

Blok Diagram OBDH
  
Fungsi subsistem dalam OBDH
a.       Subsistem Comm(komunikasi)
Misi : Telemetri, Proses Telecommand dan Kontrol Operasi Satelit dari ground segment
-          Manajemen Sistem Satelit
-          Kontrol Payload
-          Komunikasi Stasiun Bumi
b.      Subsistem ACDS(Altitude Determination And Control system)
Misi : Penentuan posisi ketinggian dan pengontrolan perilaku satelit dalam orbit
c.       Subsistem power
Misi : Pengaturan, distribusi dan suplai daya kesubsistem satelit dan pengembangan subsistem daya
d.      Subsistem payload
Misi : Pengembangan muatan satelit untuk berbagai misi (komunikasi, Ilmiah dan Pengideraan Jauh/kamera).
-          Komunikasi digital (store & forward)
-          Observasi bumi dan pengideraan jauh
-          Navigasi
-          Lingkungan Antariksa
e.      Additional Subsystem(Subsistem tambahan)
-          Subsistem Struktur Mekanis Satelit
Misi : Disain dan manufacturing struktur mekanis satelit
-          Subsistem Stasiun Bumi
Misi : Stasiun Bumi control dan komando untuk operasi satelit


Arsitektur Terdistribusi
Pada arsitektur terdistribusi seperti terlihat pada blok  diagram diatas, terlihat bahwa OBC masih berfungsi sebagai  kontrol utama tapi tidak terhubung langsung dengan subsystem  lainnya namun melalui data bus. Data bus yang digunakan  adalah serial data bus. Setiap subsistem memiliki mikrokontroller sendiri yang mengatur hubungan data dengan serial data bus. Data bus yang dipakai berbasis standar I2C.

Fungsionalitas Bus
Pada arsitektur terdistribusi, data bus adalah tulang punggung dalam OBDH, yang menjadi perantara OBC untuk berkomunikasi dengan subsystem lain. Data bus ini berbasis I2C karena itu setidaknya ada 2 jalur utama yang digunakan dalam OBDH yaitu untuk sinyal clock(SCK) dan sinyal data(SDA). Setiap kontroller(subsystem) dalam satelit akan memilki alamat unik yang memungkinkan pengalamatan data serempak ke semua kontroller. Sebuah kontroller dapat menjadi master atau slave dalam sebuah bus, master dapat meminta transfer data sedangkan slave hanya dapat merespon perintah dari master. Untuk mempermudah desain OBC system didesain sebagai satu-satunya master, sedangkan subsystem lain sebagai slave.

Pilihan Tipe Bus
Dengan menggunakan arsitektur terdistribusi sebagai dasar desain OBDH, maka distribusi masih akan menggunakan OBC dan hardware yang hanya mensupport standar I2C dan SPI. Begitu juga dengan tipe mikrokontroller yang akan digunakan pada subsystem. Salah satu fitur yang belum disediakan pada standar I2C adalah pendeteksi kesalahan, walau setiap byte yang dikirim telah disetujui oleh penerima, tidak akan menjamin data bebas dari error transmisi. Melihat dari standar serial bus yang dipakai diluar angkasa yaitu Spacewire dan CAN, dapat dilihat bahwa keduanya memiliki pendeteksi kesalahan. Kedua protokol tersebut memiliki penanganan error dan prosedur untuk melakukan restarting jika suatu error terdeteksi. Karena itu untuk mengkompensasi error yang terjadi pada protokol dalam Operating system OBDH, dapat dibuat protokol baru diatas protokol I2C standar.

Pendeteksi Error Dan Strategi Penangananya
Dalam memilih fungsi pendeteksi kesalahan yang akan diimplementasikan diatas protokol I2C ada 2 pilihan cara yaitu:
1.       Melakukan koreksi error dari algoritma itu sendiri. Spacewire menggunakan metode paritas ganjil sedangkan CAN menggunakan CRC-16 checksum. Paritas adalah metode yang lebih mudah dibuat sedangkan CRC sulit namun lebih baik untuk keakuratan data dibanding  paritas.
2.       melakukan penanganan dengan pendekatan error cara ini dilakukan memeriksa integritas data tersebut jika data tidak sesuai maka akan dilakukan pengiriman ulang data sampai integritas data yang diminta telah sesuai.
Dari kedua cara tersebut paling cocok adalah dengan metode paritas untuk pengecekan error transfer data pada serial data bus. Metode ini memerlukan kemampuan komputasi dan karena mikrokontroller akan berjalan pada clock rendah untuk menghemat energi maka dengan metode ini hanya akan memakai sedikit sumber daya. Setiap bit yang ditransfer melalui databus termasuk alamat akan diperiksa integritasnya  oleh bit paritas. Dan jika masih ada error data maka pengiriman data akan diulangi.

Transmisi Master Slave
Transmisi pada databus I2C selalu dimulai oleh master dan tidak pernah oleh slave. Ini akan membuat penanganan error lebih kompleks. Karena itu diperlukan urutan sebagai berikut:
1.       Master mengirim dan slave menerima
OBC/master mengirim pesan ke mikrokontroller(subsystem)/slave. Mikrokontroller akan memeriksa integritas data. Karena slave tidak bisa mengirim data sendiri maka slave akan menunggu sampai master meminta informasi tentang integritas data yang dikirim.
2.       master penerima dan slave pengirim.
Mikrokontroller/slave mengirim data ke OBC/master atas perintah master. Data tersebut akan dicek integritasnya oleh OBC dan apabila data tersebut error maka master akan langsung mengirim pesan ke slave untuk meminta pengiriman data ulang. Dan jika data yang diterima telah benar maka transmisi selesai.

Alasan pemilihan I2C
I2C dirancang agar semua alat yang kompatibel dengan I2C bus dapat berkomunikasi langsung melalui I2C bus. Desain ini menyelesaikan berbagai masalah antarmuka dalam mendesain rangkaian kontrol digital.

Fitur Bus I2C
-          Hanya membutuhkan 2 jalur data yaitu serial data line(SDA) dan serial clock line(SCL)
-          Setiap perangkat yang terhubung ke dalam bus memiliki alamat yang unik dan hubungan master slave yang mudah, master dapat sebagai penerima atau pengirim
-          I2C adalah multi master bus termasuk adanya deteksi tabrakan data dan pemutusan data untuk mencegah terjadinya data corrupt jika 2 atau lebih master sama-sama mengirim data
-          Serial, orientasi 8 bit, data transfer dua arah dan dapat mencapai 100kbps pada mode standar dan 400kbps pada mode cepat
-          Filter di dalam chip yang menolak gangguan pada jalur data bus untuk mengamankan integritas data
-          Jumlah IC yang dapat dikoneksikan pada bus yang sama hanya terbatas pada kapasitansi bus yaitu 400pf

Keunggulan I2C
Beberapa fitur dari IC yang kompatible dengan bus I2C yang menguntungkan desainer kontrol digital diantaranya:
-          Fungsional blok pada blok diagram dapat langsung berupa IC; proses desain akan sangat cepat dari blok diagram ke skematik
-          Tidak membutuhkan desain antarmuka bus karena antarmuka bus I2C sudah terintegrasi pada chip
-          Pengalamatan yang terintegrasi dan protokol data transfer yang memperbolehkan sistem didefinisikan oleh software
-          IC yang sama tipenya dapan digunakan pada banyak aplikasi yang berbeda
-          Mengurangi waktu desain bila desainer sudah terbiasa dengan fungsional blok bus I2C
-          IC dapat ditambahkan dan dikurangi dari sistem tanpa mempengaruhi sirkuit lain dalam bus
-          Pemeriksaan kesalahan dan debugging yang mudah; malfungsi dapat dengan cepat ditemukan
-          Waktu pengembangan software dapat dikurangi dengan pembuatan library pada modul software
Kelebihan lainnya adalah CMOS IC pada bus I2C kompatible dengan banyak perangkat sehingga memudahkan untuk peralatan portable dan sistem baterai backup, kelebihan tersebut adalah:
-          Konsumsi daya yang rendah
-          Kekebalan yang tinggi terhadap noise
-          Jangkauan tegangan yang luas
-          Jangkauan temperatur untuk operasi yang luas

Keuntungan Pembuatan
IC Yang Kompatible Dengan Bus I2C Juga Sangat Menguntungkan Untuk Pembuatan Perangkat Karena:
-          2 jalur Serial Bus I2C Meminimalkan Koneksi Dalam Jadi IC Dapat Memiliki Pin Yang Lebih Sedikit Dan Track PCB Yang Tidak Terlalu Banyak Sehingga Hasilnya PCB Yang Lebih Kecil Dan Murah
-          Bus I2C Terintegrasi Menghapus Kebutuhan Akan Alamat Decoder Dan Sejenisnya
-          Kemampuan Multi Master Dari Bus I2C Memungkinkan Tes Yang Cepat Dan Perpindahan Perangkat Koneksi Melalui Komputer
-          Ketersediaan IC Yang Kompatible Bus I2C Dalam Bentuk SO(Small Outline), VSO(Very Small Outline) Begitu Pula DIL Mengurangi Penggunaan Tempat Pada PCB.

Apakah OBDH Memerlukan Operating System?
Ya perlu, menurut saya obdh adalah suatu system terintegrasi dimana terdapat suatu prosesor yang mengontrol beberapa peripheral untuk memproses data-data input dan output. Dengan adanya operating system maka prosesor akan dapat dengan mudah melakukan pembagian tugas atau instruksi untuk masing-masing  periperal baik secara multi task maupun single task. Obdh pada satelit tentunya memerlukan operating system yang powerfull untuk bisa menjalankan misi yang diberikan. System tentunya harus memiliki kriteria sebagai berikut:
1.       Melakukan proses dengan cepat(real time operating system)
2.       Dapat menangani error dengan sendirinya(software protection code)
3.       Mampu mereset diri sendiri
4.       Start up atau booting yang singkat

Mengapa Memerlukan Operating System?
Pada intinya operating system mengerjakan 2 hal
1.       Mengatur kebutuhan hardware dan software pada system
2.       Menyediakan suatu kestabilan dimana aplikasi dapat bekerjasama dengan hardware tanpa perlu mengetahui cara kerja hardware.(perantara software ke hardware)
Dengan menggunakan operating system maka interface antara software dengan hardware akan lebih stabil dan lebih mudah karena itu, pemakaian operating system akan sangat membantu dalam OBDH terutama karena banyaknya hardware yang digunakan secara bersama-sama dalam suatu OBDH. Sehingga pengaturan data yang kompleks juga dibutuhkan agar data yang didapat bisa tertangani dengan baik.

Kebutuhan Realtime Multitasking dengan ARM 7
Operating system realtime dibutuhkan pada obdh karena kebutuhan yang cepat akan data yang perlu diproses secara realtime sehingga data yang dikirim satelit ke ground segment dapat secara realtime. Masalahnya adalah dengan adanya banyak perangkat pada OBDH yang memerlukan pemrosesan tersendiri dan tentunya membutuhkan prioritas tersendiri. Karena itu untuk memenuhi kebutuhan pemrosesan dari perangkat yang ada diperlukan multitasking system yang akan menjalankan beberapa proses instruksi dalam sekali siklus. Yang menjadi problem lain adalah penggunaan prosesor ARM 7 yang merupakan single core karena itu tidaklah mungkin untuk melakukan proses multi tasking secara ‘real’ karena untuk multi tasking yang sebenarnya tentu memerlukan lebih dari 1 core untuk menyelesaikan beberapa instruksi secara bersamaan karena itu untuk merancang sustu system operasi multi tasking diperlukan adanya prioritas dan timing untuk masing-masing instruksi sehingga pengambilanb beberapa instruksi sekaligus dapat dilakukan. Misal 1 proses instruksi belum selesai tapi akan mengambil instruksi selanjutnya untuk diproses, jadi pemrosesan beberapa instruksi akan berlangsung bergantian pada 1 core. Karena pemrosesan sangat cepat akan terlihat proses tersebut seperti multitasking meski tidak 100% multitasking

Kesimpulan
Berdasarkan informasi yang telah dikumpulkan dan ditelaah menurut kami system bus dan protocol yang paling efisien sekarang ini untuk nano satelit yang ekonomis adalah dengan menggunakan BUS serial dan dengan protocol I2C. sementara itu operating system dirasa perlu untuk menunjang kebutuhan akan pemrosesan data yang cepat dari banyaknya subsystem yang ada dalam OBDH.

Contoh Arsitektur Ncube Satellite System Dengan I2C
 
Referensi:
Dokumen
-The I2C-bus and how to use it, Philips semiconductor
-nCube Spacecraft Specification Document
-CDHS DESIGN FOR A UNIVERSITY NANO-SATELLITE,Gerard Aalbers
Link web
UoSAT OBDH Hardware Overview
g3575016 - Satellite data management (OBDH) in real-time multitasking operating system design _2293
Answers.com - Why does a computer need an operating system
On-Board Satellite Controller using ARM Based Microcontroller | DSP & Embedded Electronics
http://agfi.staff.ugm.ac.id/blog/index.php/2009/12/on-board-satellite-controller-using-arm-based-microcontroller/

No comments:

Post a Comment