Bilgisayar denildiğinde ilk aklımıza gelen günlük hayatımızda ev ve iş yerlerimizde kullandığımız masaüstü ve notebook bilgisayarlardır.
Bu cihazların dışında yaşam alanımızda sıklıkla kullandığımız elektronik cihazların içinde de bilgisayar sistemleri yer almaktadır. Bir elektronik cihaz içinde yer alan bilgisayar sistemlerine gömülü sistem adı verilir. Otomobil, buzdolabı, çamaşır makinesi, yazıcı gömülü sistemlere ait örneklerden bazılarıdır.
Ancak, normal bilgisayar sistemleri ile gömülü bilgisayar sistemleri işlevsel olarak aynı şekilde çalışmalarına rağmen bir çok açıdan farklılık göstermektedir.
Gömülü sistem, bir bilgisayar işlemcisi, bilgisayar belleği ve giriş/çıkış çevre aygıtlarından oluşan, özel bir fonksiyona gerçekleştiren bir bilgisayar sistemidir. Günümüzde, gömülü sistemler uygulamaları genellikle, entegre belleğe ve çevresel arabirimlere sahip mikroişlemciler olan mikrodenetleyiciler yoluyla yapılır.
- Bir veya daha fazla fonksiyonu kontrol etmek için tasarlanmış mikrodenetleyici (microcontroller) tabanlı bir sistemdir.
- Bilgisayar donanım ve yazılımlarının birleşimi ile oluşturulur.
- Kullanıcı gömülü sistemde yer alan fonksiyonları kullanırken kendi isteği doğrultusunda tercihler yapabilir, ancak bu fonksiyonlarda veya yazılımda herhangi bir değişiklik yapamaz.
- Gömülü sistemlerin çoğunda mikrodenetleyiciler bulunur. Mikrodenetleyici, işlemci, bellek, flash bellek ve I/O gibi bir bilgisayarın tüm ana birimlerini içeren tek bir çiptir.
- Bir masaüstü bilgisayar, notebook veya sunucuda mikroişlemci bulunur. Gömülü sistemlerde ise, mikroişlemci mikrodenetleyicinin içinde bir parça olarak bulunur.
- Özel bir amaca yönelik tek bir fonksiyon çalışarak ortamdan yapılan veri girişine karşılık olarak bir işlem gerçekleştirir.
- Düşük maliyetli, düşük miktarda enerji tüketen ve küçük boyutlu bir sistemdir.
- Sistemin bulunduğu ortamda yapılan veri girişine gerekli karşılığı kabul edilebilir gecikme süresi dahilinde vermelidir.
- Donanım, yazılım ve donanım yazılımından (Firmware) oluşur.
Gömülü donanım yazılımı bir aygıtta yer alan ROM (Read Only Memory), PROM (Programmable Read Only Memory), EPROM (Erasable Programmable Read Only Memory) veya flash belleğe yazılabilen, çeşitli aygıt ve sistem fonksiyonlarının kontrolu için kullanılan özel yazılımlardır.
- Seri haberleşme arayüzleri (SCI): RS-232, RS-422, RS-485, vb.
- Senkron seri iletişim arayüzü: I2C, SPI, SSC ve ESSI (Gelişmiş senkron seri arayüz)
- Evrensel seri veri yolu (USB)
- Çoklu ortam kartları (SD kartlar, Flash bellek, vb.)
- Ağlar: Ethernet, LAN, vb.
- Zamanlayıcılar: PLL (ler), Yakalama/Karşılaştırma ve Zaman işleme birimleri
- Genel Amaçlı Giriş/Çıkış (GPIO)
- Analogdan Dijitale/Dijitale Analog (ADC/DAC)
- Hata ayıklama: JTAG, ISP, BDM bağlantı noktası, BITP ve DB9 bağlantı noktaları.
- Gömülü sistem tasarımındaki temel zorluk sistemin maliyet, boyut ve enerji tüketimi açısından en ideal biçimde tasarlanma ihtiyacıdır.
- Tasarımın temel amacı sistemin, bulunduğu ortamda ihtiyacı karşılayacak nitelikte uygun olarak çalışmasıdır.
- Sistemin yeterli hız ve kaliteye sahip aynı zamanda düşük maliyetli olmasıdır.
- Sistem elemanları bu özellikleri karşılayacak şekilde seçilmelidir.
- Karmaşık işlemci yapısı gömülü sistemlerin maliyetini artırır.
- Gömülü sistemlerin büyük çoğunluğu pil ile çalışır.
- Küçük boyutlu bellekler kullanılır.
- Gömülü sistemlerin çoğu bazı cihazları kontrol etmek ve belirli bir zaman dahilinde kullanıcı tarafından yapılan veri girişine karşılık verecek şekilde kullanılır.