EEM-465 Gömülü Sistemler
Ali Şentürk
alisenturk@isparta.edu.tr
asenturk.github.io
Gömülü Sistemlere Giriş
1. Gömülü Sistem Nedir?
Gömülü sistemler, belirli bir görevi yerine getirmek için tasarlanmış, donanım ve yazılımın birleşiminden oluşan sistemlerdir. Genel amaçlı bilgisayarlardan farklı olarak, gömülü sistemler genellikle düşük kapasiteli, optimize edilmiş, enerji verimli ve düşük maliyetli çözümler sunar.
2. Gömülü sistemlerin ortak özellikleri:
- Genellikle düşük kapasitelidirler ve belirli bir amaca yönelik olarak tasarlanırlar.
- Giriş-çıkış bileşenleri basittir; butonlar, LED’ler, LCD ekranlar gibi temel bileşenler içerirler.
- Sensörlerden veri alır, veriyi işler ve aktüatörlere (gerçekleyicilere) belirli işlemleri yaptırır.
- Genellikle düşük güç tüketimine sahiptirler ve enerji verimli olacak şekilde tasarlanırlar.
- Gerçek zamanlı çalışabilmelidirler, yani bir etkiye verilecek tepkinin süresi belirli ve öngörülebilir olmalıdır. Zaman kritik uygulamalar için hızlı yanıt verebilmelidirler.
- Küçük boyutludurlar ve donanımsal olarak minimal tasarımlar içerirler.
- Güvenilir olmalıdırlar (Dependability), uzun süre stabil çalışabilmelidirler.
- Düşük maliyetlidirler, seri üretime uygun olarak maliyet-etkin tasarlanırlar.
- Ağ bağlantısına sahip olabilirler (Networked Embedded Systems), IoT (Nesnelerin İnterneti) sistemleriyle entegrasyon için uygundurlar.
3. Gömülü Sistemlerin Amaçları
- Gerçek zamanlı işlem: Anlık ve kesintisiz veri işleme gerektiren uygulamalar için kullanılır.
- Özel amaçlı tasarım: Belirli bir fonksiyona yönelik optimize edilir.
- Düşük güç tüketimi: Mobil ve batarya ile çalışan sistemlerde enerji verimliliği ön plandadır.
- Güvenilirlik: Kritik görevler için uzun süre kesintisiz çalışması gereklidir.
- Verimli tasarım (Efficient Design): Minimum kaynak kullanarak en iyi performansı sunar.
4. Kullanım Alanları
Gömülü sistemler pek çok farklı alanda kullanılır:
- Endüstriyel otomasyon: Sensörler, motor kontrolü, robotik sistemler
- Tüketici elektroniği: Akıllı telefonlar, televizyonlar, akıllı saatler
- Otomotiv: ABS, motor kontrol üniteleri, hava yastığı sistemleri, otonom sürüş sistemleri
- Sağlık sektörü: Medikal cihazlar, hasta izleme sistemleri
- Telekomünikasyon: Modemler, yönlendiriciler, baz istasyonları
- Savunma ve havacılık: Uçuş kontrol sistemleri, radarlar, insansız hava araçları
- Tarım teknolojileri: Otomatik sulama sistemleri, drone tabanlı analiz
- Akıllı şehirler: Trafik yönetimi, akıllı aydınlatma ve enerji yönetimi
- Nesnelerin İnterneti (IoT): Akıllı ev sistemleri, giyilebilir teknolojiler
- Makine Öğrenmesi ve Yapay Zeka: Gömülü sistemler, makine öğrenmesi algoritmalarını çalıştırarak akıllı karar mekanizmaları oluşturabilir.
5. Yaygın Tasarım Desenleri
Gömülü sistemlerde kullanılan bazı yaygın tasarım desenleri:
a) Sonsuz Döngü (Super Loop) Yaklaşımı
- Basit uygulamalar için uygundur.
- Tüm işlemler bir sonsuz döngü içerisinde gerçekleştirilir.
- Zaman kritik uygulamalar için yetersiz kalabilir.
b) Kesme Tabanlı Tasarım
- Öncelikli görevlerin hızlı yanıt vermesi gereken durumlarda kullanılır.
- Donanım kesmeleri ile belirli olaylara tepki verilir.
- Gerçek zamanlı işlemler için uygun bir yaklaşımdır.
c) Gerçek Zamanlı İşletim Sistemi (RTOS) Kullanımı
- Görevlerin belirli zaman aralıklarında çalışmasını sağlar.
- Kaynak paylaşımını optimize eder ve daha karmaşık sistemler için uygundur.
- Örnekler: FreeRTOS, Zephyr, RTEMS
6. STM32F4 Discovery Kartı
Bu ders kapsamında STM32F4 Discovery geliştirme kartı kullanılacaktır. Bu kart şunları içerir:
- ARM Cortex-M4 tabanlı mikrodenetleyici
- FPU (Floating Point Unit) ile yüksek hesaplama gücü
- Dahili çevre birimleri: ADC, DAC, GPIO, UART, I2C, SPI, PWM
- Gelişmiş zamanlayıcılar ve DMA desteği
- Gömülü debugger (ST-LINK/V2)
7. Register seviyesi programlama
Ders kapsamında, register (yazmaç/kaydedici) seviyesi programlama yaklaşımı kullanılacaktır. Bu sayede öğrenciler, ARM tabanlı mikrodenetleyicilerin donanım seviyesinde nasıl çalıştığını ve programlandığını doğrudan öğrenme fırsatı bulacaktır. Kütüphanelerden bağımsız olarak mikrodenetleyicinin doğrudan kontrol edilmesi, sistemin daha iyi anlaşılmasını ve özelleştirilmesini sağlar.
8. Sonuç
Gömülü sistemler, günlük hayatta, endüstride kritik öneme sahiptir. Özellikle Ar-Ge sektöründe çok sık kullanılmaktadır. Bu ders kapsamında STM32F4 Discovery ile uygulamalar yaparak, donanım ve yazılım entegrasyonunu öğreneceğiz.