Sistem Embedded
Program Studi Teknik
Elektro Unsoed
Oleh :
Acep Taryana, S.Si., M.T
Priswanto, S.T., M.Eng
Ikhtisar
•
Gambaran Embedded System
•
Outline Pembelajaran Embedded System Konvensional ,
Modern
•
Tahapan Pembelajaran
•
Example : Blinky, Dhining Philosoper Problem, Game Fly
n Shoot
Outline Pembelajaran
Konvensional
Concurrent
Concept:
Konsep Thread, Seksi
Kritis (critical section),
Mutek, Sinkronisasi,
Semaphore, Lock Unlock,
Problem : Reader &
Writer(RWP),
Producer-Consumer (PCP), Dhining
Philosopher (DPP)
Microcontrollers
Microprocessors
Assembly
Langguage
RTOS
System Design:
Outline Pembelajaran Modern
Concurrent Concept:
Konsep Thread, Seksi
Kritis (critical section),
Mutek, Sinkronisasi,
Semaphore, Lock Unlock,
Problem : Reader &
Writer(RWP),
Producer-Consumer (PCP), Dhining
Philosopher (DPP)
Microcontrollers
Microprocessors
Assembly Langguage
RTOS
System Analysis and
Design:
UML : State-Machines,
Framework
Object-Oriented
Programming :
Abstract Class, Interface,
Inheritance, Polymorphism
Framewor
k,
BSP
*
Tools
*
BSP (Board Support Package)seperti Texas Instrument, Arduino, Raspberry, ARMTahapan Pembelajaran
•
Embedded Analysis
•
Embedded Design
•
Embedded Programming
•
User Acceptance
•
Embedded Testing
Example 1 : Blinky Project
• Example 1 :
1. Gambarkan Statechart dalam tools yg digunakan.
2. Generate Code into C++
3. Upload Code C++ ke dalam Board yang digunakan.
4. Test
Relasi State Machine, BSP, Tools dan
Framework
Your Code
Ilustrasi
Blinky
Arahkan Mouse ke bidang Gambar,
Klik Tombol RUN untuk menjalankan aplikasi Blinky !!!
REQUIREMENT SYSTEM : Behavior dari Blinky dimodelkan dengan state machine sederhana. Transisi awal adalah masuk state “off”, yang
mengubah lampu LED menjadi mati dalam Entry Action. Ketika event TIMEOUT tiba, maka state “off” bertransisi ke state “on”, yang akan
mengubah lampu LED hidup dalam Entry Action. Ketika event TIMEOUT tiba dalam state “on”, maka state “on” akan bertransisi kembali ke state “off”, yang menyebabkan eksekusi Entry Action, yang mana LED dimatikan. Siklus ini berjalan terus menerus (repeats forever)
Ilustrasi
Dhining Philosoper Problem
(DPP)
REQUIREMENT SYSTEM :
Lima filsuf bertemu untuk makan malam. Mereka duduk di sekeliling meja makan yang bentuknya bulat. Tetapi saat mereka akan makan, ada persoalan praktis yang muncul. Spaghetti yang dihidangkan sebagai menu makan malamnya begitu ruwet dan licin, sehingga untuk memakannya
diperlukan dua garpu sekaligus. Sementara itu, meja sudah diatur sedemikian hingga hanya ada satu garpu untuk setiap filsuf.
Aktivitas hidup setiap filsuf dianggap hanya ada dua, yaitu makan dan berpikir yang dilakukan secara bergantian. Ketika filsuf lapar, filsuf mencoba memperoleh garpu kiri dan kanan sekaligus dengan urutan manapun. Jika sukses memperoleh dua garpu sekaligus, filsuf makan. Kemudian bila telah selesai makan, filsuf meletakkan kembali garpunya dan melanjutkan berpikir.
Bagaimana caranya supaya semua filsuf dapat makan secara adil, dalam arti tidak ada filsuf yang makan terus menerus atau terus menunggu karena garpu yang dibutuhkan tidak selalu tersedia ????
Arahkan Mouse ke bidang Gambar,
Ilustrasi Game
Fly n Shoot
Arahkan Mouse ke bidang Gambar,
Klik Tombol RUN untuk menjalankan aplikasi Game !!!
REQUIREMENT SYSTEM :
Tujuan game ini untuk navigasi sebuah pesawat luar angkasa melalui
terowongan horizontal tak berujung
dengan berbagai ranjau. Setiap benturan (collision) dengan terowongan atau
ranjau akan menghancurkan pesawat. Jika aplikasi ini disimulasikan dalam PC maka anda dapat menggerakkan
pesawat atas dan bawah dengan
State Machine
•
State machines complement imperative languages (C, C++,
Java, C#, etc.)
•
State machines “explode” without state hierarchy
•
State machines are impractical without a framework
Once you try an event-driven, state machine
framework you will not want to go back to “spaghetti”
and raw RTOS/OS.
Tugas I
•
Baca catatan kuliah Real-Time Programming……,
perdalam tentang konsep Mutek, Seksi Kritis,
Sinkronisasi.
•
Susun makalah kecil tentang Mutek, Seksi Kritis !
Daftar Referensi
1. Catatan Kuliah
Real-Time Programming
, Program Studi
Teknik Elektro Unsoed, 2004