Judul : PENERAPAN REAL TIME OPERATING SYSTEMS (RTOS) PADA MIKROKONTROLER AVR
Fitur : RTOS
Perancangan Sistem :
Perancangan Perangkat Keras
Perangkat keras pada tugas akhir ini hanya untuk mengetes secara nyata cara kerja dari sistem real time yang dirancang. Karena jika tanpa perangkat keras maka tidak relevan antara teori dan kenyataan. Dalam perancangan perangkat keras dalam tugas akhir ini meliputi modul sistem minimum ATmega128L, modul LED dan push button dan LCD. Secara umum perancangan sistem dapat dilihat pada gambar 3.1.
Gambar Blok diagram sistem
Tiap-tiap bagian blok dari diagram blok tersebut dapat dijelaskan sebagai berikut:
- Modul push button berfungsi sebagai masukkan untuk MCU. Masukkan tersebut bisa berupa interrupt untuk sistem, event untuk sebuah task.
- Modul LED berfungsi sebagai keluaran di mana nantinya akan dilihat task yang berjalan atau jika terdapat sebuah event yang terjadi.
- Modul LCD berfungsi untuk melihat task berapa yang sedang berjalan dan tingkat prioritas dari task tersebut.
- Modul sistem minimum ATmega128L merupakan MCU di mana sistem real time akan ditanamkan. Dan semua proses kernel terjadi di dalam modul ini.
- Modul k125 merupakan modul 3 in 1 di mana selain dapat untuk memprogram MCU, modul ini juga dapat berfungsi sebagai catu daya dan penghubung koneksi serial antara MCU dengan laptop.
- Laptop berfungsi untuk melihat hasil pengiriman data serial dari MCU.
Perancangan Perangkat Lunak
Sistem yang dibuat pada tugas akhir ini, hanya berupa pembuktian dan penjelasan dari beberapa fungsi dan yang terdapat pada ChibiOS. Sistem ini akan terdiri dari empat buah task dengan prioritas yang berbeda dan pada saat berjalan nantinya prioritas dari keempat task tersebut akan dapat berubah prioritas dan dari sini dapat dilihat respons sistem terhadap tingkat prioritas. Selain itu juga terdapat penggunaan semaphore, yang biasanya dipergunakan pada saat ada dua task atau lebih ingin mengakses sebuah hardware Untuk membuat sistem seperti yang dijelaskan sebelumnya, pada tugas akhir ini digunakan diagram pendekatan berupa diagram fungsional.
Gambar Context diagram dari sistem
Main task sendiri merupakan perubahan dari fungsi main pada senarai program. Setelah proses inisialisasi pada fungsi main selesai maka fungsi main akan berubah menjadi main task dengan prioritas normal dengan keadaan current running state. Task 1 mempunyai fungsi untuk komunikasi serial. Nilai pada port B akan dimasukkan ke dalam serial buffer dan selanjutnya akan diproses untuk dilanjutkan pengiriman menuju komputer. Sehingga nilai dan keadaan pada port B akan dapat dimonitor.
Gambar Diagram alir data sistem level 1
Untuk task 2, task 3 dan task 4 akan menghasilkan keluaran untuk port B yang selanjutnya akan diteruskan ke dalam modul LED sehingga perubahan nilai pada port B bisa diamati. Pada task 2 keluaran yang dihasilkan akan melakukan penjumlahan bilangan hexadecimal secara bertahap dari nilai 0x00 hingga nilai 0xFF. Sehingga pada LED yang muncul adalah penjumlahan bilangan biner dari awal hingga akhir dan proses tersebut akan terus berulang hingga task mendapat semaphore, di reset atau ada task yang lebih tinggi prioritasnya. Keluaran dari task 3 akan membuat LED menyala satu persatu dari bit rendah hingga bit tertinggi dan akhirnya menyalakan semua LED. Dan apabila semua LED telah menyala maka proses selanjutnya merupakan kebalikan dari menyalakan LED yaitu mematikan LED satu persatu dari bit terendah hingga bit tertinggi sampai semua LED mati. Sedangkan pada task 4, keluarannya berupa penjumlahan dan pengurangan nilai pada port LED. Sehingga pada LED akan memunculkan nyala LED secara acak secara terus menerus.