Gömülü Sistem Programlama |
1. Bölüm
Bu yazımızda, gömülü sistemlerin ne olduğu, neden önemli oldukları ve hangi tür cihazlar için kullanılabilecekleri hakkında daha ayrıntılı bilgi vereceğiz. Bu yazının sonunda bu sistemler hakkında bir fikriniz oluşmuş olacak. İlerleyen bölümlerde ise ARM mimarisinin derinliklerine inip STM32 mikroişlemcileri ile projeler geliştiriyor olacağız.
24.03.2023 tarihli yazı 7836 kez okunmuştur.
Gömülü sistemler, günümüzde hemen hemen her yerde bulunan küçük ve özel amaçlı cihazlardır. Arabalardaki kontrol sistemlerinden akıllı ev aletlerine, tıbbi cihazlardan akıllı telefonlara kadar pek çok cihazda gömülü sistemler kullanılmaktadır. Gömülü sistemler, belirli bir görevi yerine getirmek için tasarlanmış özel amaçlı cihazlardır. Genellikle, bir gömülü sistemdeki donanım, işletim sistemi ve uygulama yazılımı bir arada bulunur. Bu sistemler, evlerimizde, arabalarımızda, fabrikalarda ve birçok farklı alanda kullanılır. Bunlar arasında tıbbi cihazlar, endüstriyel otomasyon, taşımacılık, savunma ve güvenlik, iletişim ve ağ cihazları, ev otomasyonu, akıllı telefonlar ve daha birçok alanda kullanılan cihazlar yer almaktadır. Gömülü sistemlerin önemi, bu cihazların birçok farklı işlevi yerine getirerek günlük hayatımızı kolaylaştırıyor olmalarıdır. Örneğin, akıllı telefonlar, internete bağlanarak haberleri okumanıza, sosyal medya hesaplarınızı kontrol etmenize, müzik dinlemenize ve hatta bankacılık işlemleri yapmanıza olanak tanır. Gömülü sistemler, pek çok farklı türde cihazda kullanılabilir. Bu cihazlar arasında akıllı ev aletleri, güvenlik kameraları, tıbbi cihazlar, fabrika otomasyon sistemleri, navigasyon sistemleri, arabalardaki kontrol sistemleri, cep telefonları, dijital kameralar, müzik çalarlar ve daha birçok cihaz yer alır.
Gömülü Sistemlerin Tarihi Gelişimi
Gömülü sistemler, yaklaşık olarak 1960'lardan beri var olan bir teknolojidir. İlk gömülü sistemler, çoğunlukla askeri, endüstriyel ve uzay uygulamalarında kullanılmıştır. Günümüzde ise gömülü sistemler, ev aletleri, taşıtlar, sağlık cihazları, güvenlik sistemleri ve daha birçok alanda yaygın bir şekilde kullanılmaktadır.
Apollo Guidance Computer
►İlginizi Çekebilir: Gömülü Sistem Nedir?
1) Mekanik Cihazlar
İlk gömülü sistemler, büyük ölçüde mekanik cihazlardı ve birçok uygulama için özelleştirilmiş olarak tasarlanmışlardı. Bu cihazlar, basit işlevleri yerine getirme konusunda oldukça etkiliydiler ancak programlanabilirlikleri sınırlıydı.
2) Mikroişlemciler
2) Mikroişlemciler
1970'lerde, mikroişlemci teknolojisi geliştirilerek, gömülü sistemlerin işlevselliği artırıldı. Bu dönemde Intel, Zilog, Motorola ve Texas Instruments gibi şirketler, mikroişlemci tabanlı gömülü sistemlerin tasarımı ve üretimi konusunda öncülük yaptılar.
3) Yazılım
1980'lerde, donanım ve yazılım geliştikçe, gömülü sistemler daha da küçültüldü ve daha fazla işlevsellik sağladı. Bu dönemde, özellikle otomotiv, tıbbi cihazlar ve telekomünikasyon alanında kullanılan gömülü sistemlerin popülerliği arttı.
4) Yonga Teknolojisi
4) Yonga Teknolojisi
1990'larda, yonga teknolojileri daha da gelişti ve gömülü sistemler daha da küçültüldü. Bu dönemde, çeşitli sektörlerde yaygın olarak kullanılan özelleştirilmiş gömülü sistemlerin yanı sıra, tüketici elektroniği cihazlarına entegre edilen standart gömülü sistemler de geliştirildi.
5) Çok Çekirdekli İşlemci Teknolojisi
2000'lerden sonra, düşük güç tüketimi, yüksek performans ve yüksek ölçeklenebilirlik sağlayan çok çekirdekli işlemci teknolojileri sayesinde gömülü sistemler daha da geliştirildi. Ayrıca, açık kaynak yazılım ve donanım platformları gibi yeni gelişmeler, gömülü sistemlerin tasarımı ve geliştirilmesini daha da kolaylaştırdı.
Gömülü sistemlerin tarihi gelişimi, sürekli bir yenilik ve gelişim süreci içinde olmuştur. Bu teknolojinin gelecekte, daha da küçük boyutlarda, daha fazla işlevsellik sağlayan ve daha geniş kullanım alanlarına sahip cihazlar olarak devam edeceği tahmin ediliyor.
Gömülü sistemlerin tarihi gelişimi, sürekli bir yenilik ve gelişim süreci içinde olmuştur. Bu teknolojinin gelecekte, daha da küçük boyutlarda, daha fazla işlevsellik sağlayan ve daha geniş kullanım alanlarına sahip cihazlar olarak devam edeceği tahmin ediliyor.
Gömülü Sistemlerin Özellikleri
Gömülü sistemlerin, masaüstü bilgisayarlar gibi diğer bilgisayarlardan farklı özellikleri vardır. Bunlar arasında, küçük boyut, düşük güç tüketimi, yüksek güvenilirlik, düşük maliyet, düşük karmaşıklık, yüksek performans ve özel amaçlı donanım gibi özellikler bulunur. Gömülü sistemlerin önemli özellikleri şu şekilde sıralanabilir:
► Boyut: Gömülü sistemler, genellikle küçük boyutlu ve genellikle tek bir görev için tasarlanmıştır.
► Güç tüketimi: Gömülü sistemler, düşük güç tüketimi için optimize edilirler. Bu nedenle, batarya veya diğer enerji kaynaklarını verimli bir şekilde kullanmaları gerekir.
► İşlemci mimarisi: Gömülü sistemler, özel işlemci mimarileri kullanırlar. Bu mimariler, düşük güç tüketimi, yüksek performans ve donanım kaynaklarının etkin kullanımı gibi özellikleri sağlar.
► Bellek yönetimi: Gömülü sistemler, sınırlı bellek kapasiteleri nedeniyle bellek yönetimine özel bir dikkat gerektirirler. Bellek kullanımının optimize edilmesi, sistem performansını arttırır.
► Donanım bileşenleri: Gömülü sistemler, sensörler, motorlar, ekranlar ve diğer donanım bileşenlerini yönetmek için tasarlanırlar. Bu bileşenler, sistem performansını ve işlevselliğini artırmak için kullanılır.
► Gerçek zamanlı işletim: Gömülü sistemler, gerçek zamanlı işletim sistemlerini de kullanabilirler. Bu sistemler, sıkı zaman sınırlamalarına uymak ve önceliklere göre işlem yapmak için tasarlanmıştır.
► Bağlantı: Gömülü sistemler, genellikle diğer sistemlerle veya ağlarla iletişim kurabilirler. Bu nedenle, uygun bağlantı arayüzlerine sahip olmaları gerekir.
► Güvenilirlik: Gömülü sistemler, genellikle kritik görevler için tasarlanır. Bu nedenle, yüksek güvenilirlik ve hata toleransı gereklidir. Hatalı çalışma durumunda ciddi sonuçlar doğurabilirler. Bu nedenle, gömülü sistemlerin tasarımı, test edilmesi ve doğrulanması büyük bir özen gerektirir.
► Uygun ve düşük maliyet: Gömülü sistemlerin düşük maliyeti, farklı sektörlerde kullanılmalarının en önemli nedenlerinden biridir. Geleneksel masaüstü bilgisayarlar veya sunucular, özel amaçlı cihazların birçoğundan daha pahalıdır. Gömülü sistemler, düşük maliyetleri nedeniyle, birçok farklı sektörde yaygın olarak kullanılmaktadır.
► Boyut: Gömülü sistemler, genellikle küçük boyutlu ve genellikle tek bir görev için tasarlanmıştır.
► Güç tüketimi: Gömülü sistemler, düşük güç tüketimi için optimize edilirler. Bu nedenle, batarya veya diğer enerji kaynaklarını verimli bir şekilde kullanmaları gerekir.
► İşlemci mimarisi: Gömülü sistemler, özel işlemci mimarileri kullanırlar. Bu mimariler, düşük güç tüketimi, yüksek performans ve donanım kaynaklarının etkin kullanımı gibi özellikleri sağlar.
► Bellek yönetimi: Gömülü sistemler, sınırlı bellek kapasiteleri nedeniyle bellek yönetimine özel bir dikkat gerektirirler. Bellek kullanımının optimize edilmesi, sistem performansını arttırır.
► Donanım bileşenleri: Gömülü sistemler, sensörler, motorlar, ekranlar ve diğer donanım bileşenlerini yönetmek için tasarlanırlar. Bu bileşenler, sistem performansını ve işlevselliğini artırmak için kullanılır.
► Gerçek zamanlı işletim: Gömülü sistemler, gerçek zamanlı işletim sistemlerini de kullanabilirler. Bu sistemler, sıkı zaman sınırlamalarına uymak ve önceliklere göre işlem yapmak için tasarlanmıştır.
► Bağlantı: Gömülü sistemler, genellikle diğer sistemlerle veya ağlarla iletişim kurabilirler. Bu nedenle, uygun bağlantı arayüzlerine sahip olmaları gerekir.
► Güvenilirlik: Gömülü sistemler, genellikle kritik görevler için tasarlanır. Bu nedenle, yüksek güvenilirlik ve hata toleransı gereklidir. Hatalı çalışma durumunda ciddi sonuçlar doğurabilirler. Bu nedenle, gömülü sistemlerin tasarımı, test edilmesi ve doğrulanması büyük bir özen gerektirir.
► Uygun ve düşük maliyet: Gömülü sistemlerin düşük maliyeti, farklı sektörlerde kullanılmalarının en önemli nedenlerinden biridir. Geleneksel masaüstü bilgisayarlar veya sunucular, özel amaçlı cihazların birçoğundan daha pahalıdır. Gömülü sistemler, düşük maliyetleri nedeniyle, birçok farklı sektörde yaygın olarak kullanılmaktadır.
Gömülü Sistemlerde Kullanılan Donanım Bileşenleri
Yukarıda bahsettiğimiz özelliklere sahip olan gömülü sistemler, çeşitli donanım bileşenlerini de kendi içerisinde barındırır. Kullanılan alan veya sektöre bağlı olarak gömülü sistemlerin bileşenleri değişiklik gösterecektir. Gömülü sistemlerde kullanılan donanım bileşenleri şunlar olabilir:
► Mikrokontrolörler: Mikrokontrolörler, bir işlemci, bellek ve diğer gerekli bileşenlerin tek bir çipte birleştirilmesiyle oluşturulur. Bu bileşenler, sensörler, motorlar ve diğer donanım bileşenleriyle etkileşim kurarak görevleri yerine getirmek için kullanılır.
► Mikrokontrolörler: Mikrokontrolörler, bir işlemci, bellek ve diğer gerekli bileşenlerin tek bir çipte birleştirilmesiyle oluşturulur. Bu bileşenler, sensörler, motorlar ve diğer donanım bileşenleriyle etkileşim kurarak görevleri yerine getirmek için kullanılır.
► Sensörler: Gömülü sistemler, sıcaklık, nem, basınç, hız, ivme ve konum gibi çeşitli sensörlerle donatılabilir. Bu sensörler, sistemin çevresel değişikliklere yanıt vermesini ve doğru ölçümler yapmasını sağlar.
► Aktuatörler: Aktuatörler, gömülü sistemlerde mekanik hareketi sağlamak için kullanılır. Örneğin, motorlar, pompalar ve valfler gibi bileşenler, bir gömülü sistemde aktuatör olarak kullanılabilir.
► Ekranlar: Gömülü sistemler, durum bilgilerini veya kullanıcı arayüzünü göstermek için ekranlarla donatılabilir. LCD ekranlar, LED ekranlar veya dokunmatik ekranlar gibi farklı ekran türleri kullanılabilir.
► Veri depolama birimleri: Gömülü sistemler, verileri depolamak için farklı depolama birimleri kullanabilir. Bu birimler, flash bellekler, SD kartlar veya EEPROM gibi farklı türlerde olabilir.
► Bağlantı arabirimleri: Gömülü sistemler, diğer sistemler veya ağlarla iletişim kurmak için uygun bağlantı arabirimlerine sahip olmalıdırlar. Bu arabirimler, Ethernet, USB, UART, SPI, I2C ve Wi-Fi gibi farklı türlerde olabilir.
Gömülü Sistem Tipleri
Gömülü sistemler, işlevsel özelliklerine, kullanım alanına ve tasarımına göre farklı tiplerde sınıflandırılabilirler. Burada, bazı yaygın gömülü sistem tipleri hakkında bilgi verilebilir:
Çalışma Yöntemine Göre:
Standalone (Bağımsız) Gömülü Sistemler: Diğer cihazlara bağlı olmayan, kendi başlarına çalışabilen sistemlerdir.
Networked (Ağ Bağlantılı) Gömülü Sistemler: Bir ağ üzerinde çalışan sistemlerdir. Bu sistemler genellikle birden fazla cihazla iletişim kurarlar.
Networked (Ağ Bağlantılı) Gömülü Sistemler: Bir ağ üzerinde çalışan sistemlerdir. Bu sistemler genellikle birden fazla cihazla iletişim kurarlar.
Mobil Gömülü Sistemler: Akıllı telefonlar, tabletler ve diğer taşınabilir cihazlar gibi, insanların hareket halindeyken kullanabileceği gömülü sistemlerdir.
İşletim Sistemi Tipine Göre:
Gerçek Zamanlı Gömülü Sistemler: Zaman kısıtlamalarına sahip, sıralı işlemlerin hızlı bir şekilde gerçekleştirilmesi gereken sistemlerdir. Gerçek zamanlı gömülü sistemlerin iki türü vardır:
Katı Gerçek Zamanlı Sistemler (Hard Real-Time Systems): Belirli bir işlemi tamamlama süresi kritik öneme sahiptir ve bu süreyi geçmek, sistem arızası veya ciddi sonuçlar doğurabilir.
Katı Olmayan Gerçek Zamanlı Sistemler (Soft Real-Time Systems): Belirli bir işlemi tamamlama süresi önemlidir, ancak sürenin aşılması sistemin çökmesine neden olmaz. Bu tür sistemler, işlemin hızlı bir şekilde gerçekleştirilmesi gerektiği durumlarda kullanılır.
Katı Olmayan Gerçek Zamanlı Sistemler (Soft Real-Time Systems): Belirli bir işlemi tamamlama süresi önemlidir, ancak sürenin aşılması sistemin çökmesine neden olmaz. Bu tür sistemler, işlemin hızlı bir şekilde gerçekleştirilmesi gerektiği durumlarda kullanılır.
Genel Amaçlı Gömülü Sistemler: Belirli bir işlemi gerçekleştirmek için tasarlanmamış, birden fazla amaç için kullanılabilen sistemlerdir.
Kullanım Alanına Göre:
Endüstriyel Gömülü Sistemler: Fabrikalarda, otomasyon sistemlerinde kullanılan sistemlerdir.
Tüketici Elektroniği Gömülü Sistemler: Televizyonlar, telefonlar, kameralar, ev aletleri gibi tüketici elektroniği ürünlerinde kullanılan sistemlerdir.
Otomotiv Gömülü Sistemler: Arabalarda kullanılan sistemlerdir.
Askeri Gömülü Sistemler: Askeri araçlar, silah sistemleri ve benzeri askeri cihazlarda kullanılan sistemlerdir.
Tüketici Elektroniği Gömülü Sistemler: Televizyonlar, telefonlar, kameralar, ev aletleri gibi tüketici elektroniği ürünlerinde kullanılan sistemlerdir.
Otomotiv Gömülü Sistemler: Arabalarda kullanılan sistemlerdir.
Askeri Gömülü Sistemler: Askeri araçlar, silah sistemleri ve benzeri askeri cihazlarda kullanılan sistemlerdir.
İşlemci Tipine Göre:
ARM Tabanlı Gömülü Sistemler: ARM işlemcilerle çalışan sistemlerdir.
AVR Tabanlı Gömülü Sistemler: AVR işlemcilerle çalışan sistemlerdir.
PIC Tabanlı Gömülü Sistemler: PIC işlemcilerle çalışan sistemlerdir.
AVR Tabanlı Gömülü Sistemler: AVR işlemcilerle çalışan sistemlerdir.
PIC Tabanlı Gömülü Sistemler: PIC işlemcilerle çalışan sistemlerdir.
Gömülü Sistemlerde Geliştirme Süreci
Gömülü sistemlerde geliştirme süreci, kullanım amacına, sistem özelliklerine ve donanım bileşenlerine göre değişebilir. Genellikle aşağıdaki adımları içerir:
Gereksinim Analizi: Gömülü sistemin kullanım amacı belirlenir ve bu amaca uygun gereksinimler belirlenir. Bu aşamada, donanım ve yazılım gereksinimleri de dikkate alınır.
Gereksinim Analizi: Gömülü sistemin kullanım amacı belirlenir ve bu amaca uygun gereksinimler belirlenir. Bu aşamada, donanım ve yazılım gereksinimleri de dikkate alınır.
Tasarım: Gereksinimler doğrultusunda donanım ve yazılım tasarımı yapılır. Donanım bileşenleri belirlenir ve bir devre şeması oluşturulur. Yazılım tarafında ise, işletim sistemi, sürücüler ve uygulama yazılımı tasarlanır.
Uygulama Geliştirme: Yazılımın kodlanması ve test edilmesi sürecidir. Bu aşamada, kullanılacak programlama dili ve geliştirme araçları belirlenir. Donanım tasarımı tamamlandıktan sonra, donanım bileşenleri bir araya getirilir ve devre oluşturulur.
Sistem Entegrasyonu: Donanım ve yazılım bileşenleri bir araya getirilerek, gömülü sistem oluşturulur. Bu aşamada, sürücülerin yüklenmesi, sistem ayarlarının yapılması ve diğer yapılandırma işlemleri gerçekleştirilir.
Test ve Doğrulama: Oluşturulan gömülü sistem, çeşitli testlerden geçirilir. Bu testler, işlevsel testler, performans testleri ve güvenlik testleri olabilir. Bu testler sonucunda, sistemin doğru çalışıp çalışmadığı, performansının ne düzeyde olduğu ve güvenlik açıklarının olup olmadığı belirlenir.
Sorun Giderme ve Bakım: Gömülü sistem, kullanıma başladıktan sonra da sorunlar çıkabilir. Bu nedenle, sistemdeki sorunların tespiti ve giderilmesi için bir bakım planı hazırlanması gereklidir. Bakım planı, donanım ve yazılım bileşenlerinin güncellenmesini, sistem ayarlarının yapılmasını ve olası sorunların çözümünü kapsar.
Umuyoruz ki gömülü sistemler ile ilgili tüm sorularınızın cevaplarını bulmuşsunuzdur. Bu bölüm ile birlikte ufaktan gömülü sistemlere giriş yaptık ve bazı terimlere aşina olduk. İleriki bölümümlerimizde, amacımızdan sapmadan gömülü sistemler için bazı önemli süreçlere değindikten sonra programlamaya giriş yapacağız.
Kaynak:
► "Embedded Systems: Introduction to Arm Cortex-M Microcontrollers, Fifth Edition" -
Jonathan Valvano
► "Embedded Systems: Real-Time Operating Systems for Arm Cortex-M Microcontrollers" -
Jonathan Valvano
► "Embedded Systems: Design and Applications with the 68HC12 and HCS12" - Steven F.
Barrett and Daniel J. Pack
YORUMLAR
Aktif etkinlik bulunmamaktadır.
- Dünyanın En Görkemli 10 Güneş Tarlası
- Dünyanın En Büyük 10 Makinesi
- 2020’nin En İyi 10 Kişisel Robotu
- Programlamaya Erken Yaşta Başlayan 7 Ünlü Bilgisayar Programcısı
- Üretimin Geleceğinde Etkili Olacak 10 Beceri
- Olağan Üstü Tasarıma Sahip 5 Köprü
- Dünyanın En İyi Bilim ve Teknoloji Müzeleri
- En İyi 5 Tıbbi Robot
- Dünyanın En Zengin 10 Mühendisi
- Üretim için 6 Fabrikasyon İşlemi
- Nasıl Dönüşür I Elektrik 4.0
- Nasıl Dönüşür I Fosil Yakıt
- Nasıl Dönüşür I Kompost
- Sigma DIN Rayı Çözümleri: Ürün Portföyü, Teknik Özellikler ve Kullanım Alanları
- Denizcilik Endüstri Uygulamaları ve Servis Bakım Süreçleri
- DrivePro Yaşam Döngüsü Hizmetleri
- Batarya Testinin Temelleri
- Enerji Yönetiminde Ölçümün Rolü: Verimliliğe Giden Yol
- HVAC Sistemlerinde Kullanılan EC Fan, Sürücü ve EC+ Fan Teknolojisi
- Su İşleme, Dağıtım ve Atık Su Yönetim Tesislerinde Sürücü Kullanımı
ANKET