Categories
Mikrokontroler

Perancangan Aplikasi Real Time (1): Pendahuluan

PENDAHULUAN

Apa yang akan kita bicarakan atau bahas kali ini adalah tentang Real Time Operating System. Apaan? Real Time Operating System? Apa tuch? Oke, sabar dulu sebentar. Real Time Operating System, yang selanjutnya kita singkat saja menjadi RTOS, merupakan sistem operasi untuk aplikasi-aplikasi waktu nyata atau istilah kerennya Real Time Applications, contohnya apa saja? Ya sebagaimana kita jumpai di sekitar kita, seperti handphone (tidak harus smartphone) – bukankah tanpa sistem operasi ketika di-ON-kan tidak akan terjadi apa-apa, padahal kenyataannya HP langsung melakukan ‘booting’ (istilah dalam sistem operasi) beberapa saat, kemudian baru siap kita gunakan – ditandai dengan visualisasi pada LCD-nya, antara lain, kekuatan sinyal, sisa daya baterei, nama provider, jam, tanggal dan lain sebagainya.

Oke, untuk memulai membahas tentang perancangan aplikasi real time dengan sistem operasi, kita mulai dengan kasusnya dulu yang akan dicari solusinya…

STUDI KASUS ATAU APLIKASI

Perhatikan gambar 1 berikut ini..

Gambar 1

Aplikasi akan berjalan pada sebuah sistem (single board) yang berisikan mikrokontroler atau mikroprosesor yang harus melakukan kontrol terhadap suatu proses dan pada waktu bersamaan melakukan akuisisi dan pemantauan/pengontrolan baik secara lokal maupun jarak jauh. Sistem tersebut terdiri dari:

  • Sebuah sistem benam (embedded system) dengan kekuatan suatu mikrokontroler/mikroprosesor;
  • Dua sensor yang terhubung dengan jaringan fieldbus;
  • Sesuatu yang dikontrol (bisa apa saja, motor, pemanas dll), serta dihubungkan pada jaringan fieldbus yang sama;
  • Keypad matriks yang dibaca melalui luaran/masukan;
  • Dua buah indikator LED;
  • Sebuah penampil LCD;
  • Sebuah server web tertanam agar dapat dilakukan pengontrolan jarak jauh (melalui web atau internet);
  • Sebuah antarmuka RS232 agar dapat dihubungkan dengan suatu PDA.

KEBUTUHAN PERANGKAT LUNAK TINGKAT ATAS

Yang sangat dibutuhkan dalam kasus ini adalah persyaratan urutan dan pewaktuan, dengan asumsi fungsional dianggap sudah beres dan tidak ada masalah. Kontrol Proses melakukan serangkaian pekerjaan:

  1. Mengirimkan permintaan data pada sensor-sensor yang terpasang pada jaringan fieldbus;
  2. Menunggu diterimanya data dari kedua sensor tersebut;
  3. Menjalankan suatu algoritma pengontrolan, dan
  4. Mengirimkan perintah atau kontrol ke proses yang bersangkutan.

Fungsi kontrol dari sistem benam harus mengirimkan permintaan tepat setiap 10md dan tanggap perintah harus dikirimkan dalam jangka waktu 5md.

Keypad dan LCD digunakan operator untuk memilih, melihat dan memodifikasi data-data sistem. Antarmuka operator berfungsi selama proses dikontrol. Untuk memastikan tidak ada tombol yang ditekan yang tidak terbaca, keypad di-scan setiap minimal 15md. Sedangkan LCD diperbaharui dalam jangka waktu 50md setelah suatu tombol ditekan.

Indikator LED digunakan untuk menunjukkan status sistem. LED hijau yang berkedip-kedip menunjukkan bahwa proses berjalan dengan normal, sebagaimana diinginkan. Sedangkan LED merah yang berkedip-kedip merupakan tanda adanya suatu kesalahan. Kedipan LED ON dan OFF tersebut dilakukan dalam 1 detik, laju kedipan ini diatur dalam waktu 50md.

Antarmuka PDA, yang menggunakan RS232, digunakan untuk melihat dan mengakses data-data sistem persis seperti antarmuka operator lokal dan persyaratan pewaktuannya sama persis.

Server WEB tertanam memberikan layanan permintaan HTTP setiap detik.

PERSYARATAN PEWAKTUAN

Persyaratan pewaktuan dari sistem ini dibagi menjadi tiga kategori:

  1. Pewaktuan yang ketat (Strict Timing) – untuk kontrol proses
    Fungsi kontrol memiliki syarat pewaktuan yang ketat, harus dijalankan persis setiap 10md.
  2. Pewaktuan yang fleksibel (Flexibel Timing) – Indikator LED
    Luaran LED memiliki batasan waktu minimum dan maksimum.
  3. Pewaktuan yang terbatas (Deadline Only Timing) – antarmuka pengguna
    Meliputi keypad, LCD, RS232 dan komunikasi ethernet TCP/IP. Fungsi antarmuka operator bisa memiliki syarat pewaktuan yang berbeda, diketahui hanya ada syarat maksimum saja. Misalnya, keypad harus di-scan maksimal setiap 10md, laju scan hingga 10md masih bisa diterima.

Oke… Lantas bagaimana solusinya? Ikuti terus artikelnya…

Bergabunglah dengan GROUP PINTAR EMBEDDED SYSTEM di Facebook.

[bersambung]