Gömülü

Gömülü bir sistem, yalnızca birkaç çok özel sorunu çözmek için inşa edilmiş ve kolayca değiştirilemeyen bir bilgisayardır. Gömülü kelimesi, sistemin içine yerleştirilmiş olduğu anlamına gelir. Daha büyük bir sistemin kalıcı bir parçasıdır. Genellikle bir bilgisayar gibi görünmez, genellikle klavye, monitör veya fare yoktur. Ancak her bilgisayar gibi bir işlemciye ve yazılıma, giriş ve çıkışa sahiptir.

Örneğin, bir asansöre yerleştirilmiş olan kontrolör, basılan düğmelere bağlı olarak motora asansörü farklı katlara hareket ettirmesini söyler. Bir kod çözücü, çanaktan gelen bir sinyali okumak ve bir TV'nin anlayacağı bir şey göndermek için bir uydu televizyon set üstü kutusuna (STB olarak adlandırılır) yerleştirilmiştir. Genellikle bu tür bir sistem işini belirli bir süre içinde yapmalıdır. Buna gerçek zamanlı hesaplama denir. Eğer bir set üstü kutu başka bir görev yapmak için kesintiye uğrarsa, örneğin TV'de kötü bir görüntü görürsünüz. Genel amaçlı bir bilgisayar başka bir şey yaparken genellikle kısa duraklamalar olur, bu gerçek zamanlı değildir.

Gömülü sistemler, otel kapı kilitlerindeki kart okuyucular veya bir arabadaki birkaç şey gibi günümüzde kullanılan yaygın cihazların çoğunu kontrol eder. MP3 çalar veya dijital kamera gibi küçük cihazları ve trafik ışık sistemleri, uçaklar veya bir fabrikadaki montaj hatları gibi büyük cihazları kontrol edebilirler.

Bir ADSL modem/yönlendiricinin iç kısımlarının resmi. Modern bir gömülü sistem örneği. Etiketli parçalar arasında bir mikroişlemci (4), RAM (6) ve flash bellek (7) bulunmaktadırZoom
Bir ADSL modem/yönlendiricinin iç kısımlarının resmi. Modern bir gömülü sistem örneği. Etiketli parçalar arasında bir mikroişlemci (4), RAM (6) ve flash bellek (7) bulunmaktadır

Gömülü sistem örnekleri

Gömülü sistemler, aşağıdakiler de dahil olmak üzere birçok elektrikli cihazda kullanılır:

  • Telekomünikasyon sistemleri bunları telefonlar, cep telefonu ağı ve wi-fi yönlendiricileri için kullanır.
  • Tüketici elektroniği yayın alıcıları, MP3 çalarlar, cep telefonları, video oyun konsolları, dijital kameralar, DVD oynatıcılar, GPS alıcıları, ev güvenlik sistemleri ve yazıcıları içerir.
  • Mikrodalga fırınlar, çamaşır makineleri, hırsız alarm sistemleri ve bulaşık makineleri gibi ev aletleri gömülü sistemlere sahiptir.
  • Ulaşım, trenler için lokomotiflerden, uçaklara ve otomobillere kadar her şey için gömülü sistemler kullanır.
  • Endüstride elektronik kontrolörlü elektrik motorları, kart okuyucular ve otomatik olarak metal parçalar üreten CNC makineleri kullanılmaktadır.
  • Defibrilatörler, otomatik tansiyon okuyucular ve otomatik insülin pompaları gibi tıbbi cihazlar.
  • Telsizler, uydular ve füzeler için güdüm sistemleri gibi askeri cihazlar.

Ortak özellikler

  • Gömülü sistemler, genel amaçlı bilgisayarlardan farklı olarak belirli bir görevi yerine getirmek üzere tasarlanmıştır.
  • Bir bilgisayara benzemiyor - tam bir monitör veya klavye olmayabilir.
  • Birçok gömülü sistem, işleri gerçek zamanlı olarak - kısa bir süre içinde (insan bakış açısıyla neredeyse anında) yapabilmelidir.
  • Birçok gömülü sistem, özellikle tıbbi cihazlar veya uçakları kontrol eden aviyonikler için çok güvenli ve güvenilir olmalıdır.
  • Çok çabuk başlıyor. İnsanlar arabalarının veya acil durum ekipmanlarının çalışması için bir veya iki dakika beklemek istemezler.
  • Gerçek zamanlı işletim sistemi veya RTOS olarak adlandırılan bu gereksinimleri karşılamaya yardımcı olan özel bir işletim sistemi (veya bazen çok küçük bir ev yapımı işletim sistemi81487) kullanabilir.
  • Gömülü sistemler için yazılan program talimatları bellenim olarak adlandırılır ve salt okunur bellekte veya flash bellek yongalarında saklanır. Sınırlı bilgisayar donanım kaynakları ile çalışırlar: az bellek, küçük veya hiç olmayan klavye ve/veya ekran.

Gömülü sistemler her zaman bağımsız cihazlar değildir. Bazen bir arabanın çeşitli parçaları gibi bir set olarak inşa edilirler - radyo, gaz kelebeği kontrolü, kirlilik kontrolü vb. Bazen internet veya cep telefonu ağıyla iletişim kurabilirler ve bir USB okuyucu veya diğer bağlantılara sahip olabilirler.

Kullanıcı arayüzleri

Gömülü sistemler, hiçbir kullanıcı arayüzü olmadan - sadece elektrik sinyalleri gönderip alarak - modern bir bilgisayarda olduğu gibi tam bir grafik kullanıcı arayüzüne kadar çeşitlilik gösterir. Çoğu zaman birkaç buton, küçük bir ekran ve bazı LED'lere sahip olurlar. Daha karmaşık bir sistem, akıllı telefonlarda olduğu gibi her ekranda düğmelerin anlamının değişmesine izin veren bir dokunmatik ekrana sahip olabilir.

Düğmeler ve basit bir LCD ekran içeren bir kullanıcı arayüzü örneği.Zoom
Düğmeler ve basit bir LCD ekran içeren bir kullanıcı arayüzü örneği.

Donanım

Donanım; çipleri, kabloları, devre kartlarını, düğmeleri ve ekranları içerir.

CPU'lar

En önemli çip merkezi işlem birimi ya da CPU'dur. Bu, yazılım talimatlarını çalıştırır. Standart bir mikroişlemci veya bir mikrodenetleyici olabilir. Mikrodenetleyiciler, mikroişlemcinin yanı sıra basit çevresel ekipmanları da içerir, böylece sistem daha küçük ve daha ucuz olabilir. Bu parçalar değiştirilemediği için daha az esnekliğe sahiptirler. Genellikle bu parçalar Flash bellek ve seri portlar, USB vb. için destek içerir.

Genel amaçlı bir bilgisayarın mikroişlemcisinden farklı olarak, daha büyük ve daha hızlı her zaman daha iyi değildir. Birçok gömülü işlemci çok küçüktür. Bu bazen daha az alan ya da daha az güç kullanmak için, bazen de daha ucuz olmak içindir. Genel amaçlı bilgisayarlar 32 bit veya 64 bit sözcükleri okuyan ve GHz ile ölçülen hızlarda çalışan mikroişlemciler kullanır, ancak gömülü işlemciler genellikle 4 ila 32 bittir ve genellikle onlarca MHz (yüz kat daha yavaş) ile ölçülen hızlarda çalışır. (Ancak programlar da daha küçüktür ve kullanılmayan şeyleri kontrol etmezler).

Hazır bilgisayar kartları

Bazı gömülü sistemlerde kullanılabilen "hazır" bilgisayar kartları vardır. Bunlar genellikle Windows CE, Linux, NetBSD veya gömülü bir gerçek zamanlı işletim sistemi kullanır.

Bazen önceden yapılmış bir devre kartını kullanmak daha kolay olabilir. Bunlar genellikle genel amaçlı bilgisayarlarla birçok bileşeni paylaşır, ancak genel amaçlı bir bilgisayardakinden daha küçüktür. VIA EPIA gibi kartlar Microsoft Windows çalıştırabilir. Avantajı, elektrik mühendisliği zamanından tasarruf sağlaması ve PC tipi yazılım geliştirme için kullanılan aynı yazılım geliştirme araçlarını kullanabilmesidir. Bu tür gömülü cihazlara örnek olarak ATM'ler veya kumarhanelerdeki ekranlar verilebilir. Gerçek zamanlı gereksinimler çok katı değilse (örneğin bir işin beş yerine sekiz saniye sürmesi çok önemli değildir) bu iyi çalışır.

ASIC ve FPGA çözümleri

Cihazın çok küçük olması gerekiyorsa veya çok büyük sayılarda ("yüksek hacimli") satılacaksa, tam olarak ihtiyaç duyulan şeyi yapan özel veya uzmanlaşmış bir çip yapmak mantıklıdır. Bu, tek bir entegre devre üzerinde işlemci, kayan nokta birimi, bellek önbelleği ve arayüzler gibi eksiksiz bir sistemi barındıran bir çip üzerinde sistemdir (SoC). SoC'ler özel sipariş uygulamaya özel entegre devre (ASIC) olarak ya da gömülü sistemi inşa eden kişiler tarafından programlanan sahada programlanabilir kapı dizisi (FPGA) kullanılarak yapılabilir.

Çevre Birimleri

Gömülü sistemler, dış dünya veya diğer bileşenlerle aşağıdaki gibi çevre birimleri kullanarak konuşur:

  • Seri Portlar: RS-232, RS-422, RS-485. Bu, 9 pimli (veya daha büyük) konektörlerle oldukça yaygındı.
  • Senkron Seri İletişim Arayüzü: I²C Entegre Devre, I²S Entegre Ses, SPI, MIcrowire, ...
  • Evrensel Seri Veri Yolu (USB).
  • Ağlar: Ethernet, Denetleyici Alan Ağı, LonWorks, ...
  • Ayrık Giriş/Çıkış: Genel Amaçlı Giriş/Çıkış (GPIO). Bu, açma/kapama sinyaline sahip tek bir kablo olabilir. Küçük bir tuş takımı veya bir LED yakmak için kullanılabilir.
  • Analogdan Dijitale/Dijitale Analog dönüştürücüler (ADC/DAC). Bu, ışık sensörü veya motor kontrolü gibi gücü değişen bir şeyi ölçer.
  • Hata ayıklama: Yazılım mühendisleri için JTAG, ICSP portu.
Soekris net4801, ağ uygulamalarını hedefleyen gömülü bir sistemdir.Zoom
Soekris net4801, ağ uygulamalarını hedefleyen gömülü bir sistemdir.

Yazılım

İşletim sistemleri

Gömülü sistemler genellikle tam bir işletim sistemine ihtiyaç duymaz. Bazıları çok hızlı başlayan özel olarak üretilmiş küçük ve basit işletim sistemleri kullanırken, diğerleri hiç ihtiyaç duymaz. Gömülü sistemler o kadar kolay adapte edilemez, ancak görevlerini çok daha güvenilir bir şekilde yerine getirmek üzere inşa edilirler. Donanım daha basit olduğu için, yapımı da genellikle daha ucuzdur ve daha hızlı çalışır.

Bunun aksine, genel amaçlı bir bilgisayarın yeni yazıcılar veya sabit diskler gibi henüz bilmediği donanımları çalıştırmak için yeni aygıt sürücülerine ve yazılımlara hazır olması gerekir. Farklı uygulama programlarını çalıştırması gerekir.

Gömülü sistemler büyüdükçe, eskiden yalnızca genel amaçlı bilgisayarlarda ve hatta ana bilgisayarlarda bulunan şeyler artık gömülü sistemlerde de yaygınlaşıyor. Buna korumalı bellek alanı ve Linux, NetBSD gibi açık programlama ortamları da dahildir.

Basitten karmaşığa doğru bazı işletim sistemi örnekleri:

  • Basit kontrol döngüsü - Farklı alt rutinleri tekrar tekrar çağırmak için bir zamanlayıcı ve bir döngü kullanılır. Bu genellikle daha küçük sistemler için bir kişi tarafından yapılır.
  • kesme kontrollü - Görevler farklı türde olaylar tarafından başlatılır. Olay, zamanlanmış bir şey (örneğin her on saniyede bir) veya bir düğmeye basma ya da alınan veri olabilir.
  • nonpreemptive multitasking - Her görev çalışma sırasını alır ve bittiğinde bir sonraki görevi çalıştırmak için işletim sistemindeki bir zamanlayıcıyı çağırır.
  • preemptive multitasking veya multi-threading - Bir görev, başka bir görevin bir süre çalışmasına izin vermek için belirli bir süre sonra durdurulabilir. Hiçbir görev sistemi meşgul edemez. Bu seviyede sistem bir "işletim sistemi" çekirdeğine sahip olarak kabul edilir ve görevleri paralel olarak çalıştırabilir. Bu tür bir işletim sistemi genellikle sadece gömülü işletim sistemleri üzerinde çalışan bir şirketten satın alınır.

Gerçek zamanlı işletim sistemleri MicroC/OS-II, Green Hills INTEGRITY, QNX veya VxWorks gibi ürünleri içerir. MacOS veya Windows 7'nin aksine, bu işletim sistemleri çoğu insan tarafından çok iyi bilinmemektedir. Ancak zamanın ve güvenliğin çok önemli olduğu birçok yerde kullanılırlar. İnsanlar bunları her gün kullanıyor ve bunun farkında değiller.

Daha büyük çekirdeklerin yaygın örnekleri Gömülü Linux ve Windows CE'dir. Bunlar katı bir gerçek zamanlı sistem için gereken sıkı zaman sınırlarına sahip olmamakla birlikte, özellikle Kablosuz Yönlendiriciler ve GPS'ler gibi daha güçlü cihazlar için daha yaygın hale gelmektedir. Aygıt Sürücüleri, Web Sunucuları, Güvenlik Duvarları ve diğer kodlar için kamu malı kodun yeniden kullanımına izin verirler. PC'ler için uygulama yazma konusunda daha rahat olan yazılım geliştiriciler de bunu daha tanıdık bulacaktır. Gerekirse, sıkı zaman sınırlarına ihtiyaç duyan şeyler için bir FPGA veya diğer özel donanımlar kullanılabilir.

Araçlar

Diğer yazılımlar gibi gömülü sistem tasarımcıları da gömülü sistem yazılımı geliştirmek için derleyiciler, birleştiriciler ve hata ayıklayıcılar kullanırlar. Bununla birlikte, bazı daha özel araçlar da kullanabilirler:

  • Dijital sinyal işleme kullanan sistemler için geliştiriciler MATLAB, MathCad veya Mathematica gibi bir matematik aracı kullanabilirler.
  • Özel derleyiciler ve bağlayıcılar, belirli bir donanım için optimizasyonu iyileştirmek için kullanılabilir.
  • Gömülü bir sistem kendi özel diline veya tasarım aracına sahip olabilir veya Basic Stamp tarafından kullanılan gibi mevcut bir dile geliştirmeler ekleyebilir.

Hata ayıklama araçları:

  • Bir devre içi hata ayıklayıcı (ICD), bir JTAG arayüzü aracılığıyla mikroişlemciye bağlanan bir donanım cihazı. Bu, yazılımı çalıştırırken mikroişlemciyi dışarıdan başlatır ve durdurur. Ayrıca bellek ve kayıtların okunmasına ve yazılım programının bellekte saklanmasına izin verir.
  • Yanıp sönen bir monitör (printfs) kullanarak çalışmayı izlemek için günlük kaydı veya seri port çıkışı kullanarak harici hata ayıklama.
  • Etkileşimli yerleşik hata ayıklama - işletim sistemi destekliyorsa, bu, gömülü işlemci üzerinde geliştirici tarafından yazılan komutları çalıştıran bir kabuktur (örneğin Linux).
  • Bir devre içi emülatör, kart üzerindeki mikroişlemcinin yerini alarak mikroişlemcinin yapabileceği her şey üzerinde tam kontrol sağlar.
  • Tam bir emülatör, donanımın tüm özelliklerini simüle ederek tümünün kontrol edilmesine ve değiştirilmesine olanak tanır. Donanım gerçekte yoktur, ancak normal bir bilgisayarda onun taklit bir versiyonu ("sanal" bir makine) vardır.
  • Harici hatların bir mantık analizörü veya multimetre ile kontrol edilmesi.

Harici hata ayıklama ile sınırlandırılmadığı sürece, programcı genellikle araçlar aracılığıyla yazılımı yükleyebilir ve çalıştırabilir, işlemcide çalışan kodu görüntüleyebilir ve çalışmasını başlatabilir veya durdurabilir. Kodun görünümü montaj kodu veya kaynak kodu şeklinde olabilir. Bazı entegre sistemler (VxWorks veya Green Hills gibi), yazılımın çalışırken ne kadar yer kapladığını, hangi görevlerin çalıştığını ve işlerin ne zaman gerçekleştiğini takip etmek gibi özel özelliklere sahiptir.

Ne tür bir gömülü sistem yapıldığına bağlı olarak, nasıl hata ayıklanabileceğini etkileyecektir. Örneğin, tek bir mikroişlemcili sistemde hata ayıklamak, işlemin bir çevre biriminde de (DSP, FPGA, yardımcı işlemci) yapıldığı bir sistemde hata ayıklamaktan farklıdır.

Güvenlik ve Güvenilirlik

Gömülü sistemler genellikle yıllarca hatasız çalışması ve bazı durumlarda bir hata oluştuğunda kendi kendine düzelmesi beklenen makinelerde bulunur. Bu da yazılımın genellikle kişisel bilgisayarlardan daha dikkatli bir şekilde geliştirilip test edildiği ve disk sürücüleri ve fanlar gibi güvenilir olmayan mekanik hareketli parçalardan kaçınıldığı anlamına gelir.

Güvenlik ve güvenilirliğin önemli olduğu yerler:

  • Bazı sistemler onarım için güvenli bir şekilde kapatılamaz veya onarımı çok zordur. Örnekler arasında uzay sistemleri (uydular, gezginler), deniz altı kabloları ve nükleer enerji santrali kontrolleri sayılabilir.
  • Sistem, uçak kontrolleri, kimyasal fabrika kontrolleri, tren sinyalleri ve kalp defibrilatörleri gibi arızalanırsa insanları öldürebilir.
  • Sistem kapatılırsa veya bir hata yapılırsa büyük miktarda para kaybedilecektir: Telefon şalterleri, fabrika kontrolleri, yazar kasalar, otomatik vezne makineleri.

Hatalardan kurtulma yolları - hem bellek sızıntıları gibi yazılım hataları hem de donanımdaki yumuşak hatalar:

  • Bir şey çalışmayı durdurursa gömülü sistemi yeniden başlatan Watchdog zamanlayıcısı.
  • Bir sistemin çalışmayı durdurması halinde diğerinin devreye girebileceği yinelenen parçalar.
  • Kısmi işlev sağlayan yazılım "topallama modları".
  • Bağışıklığa Duyarlı Programlama

İlgili sayfalar

Sorular ve Yanıtlar

S: Gömülü sistem nedir?


C: Gömülü sistem, belirli sorunları çözmek için üretilmiş ve değiştirilmesi kolay olmayan bir bilgisayardır.

S: Gömülü bir sistemin genel amaçlı bir bilgisayardan farkı nedir?


C: Gömülü bir sistemde genellikle klavye, monitör veya fare bulunmaz ve özel işlevlere sahiptir. Genel amaçlı bir bilgisayar çok çeşitli görevleri yerine getirebilir.

S: Gömülü sistemlere bazı örnekler nelerdir?


C: Gömülü sistemlere örnek olarak asansör kontrolörleri, set üstü kutular, otel kapı kilitlerindeki kart okuyucular, trafik ışık sistemleri, uçaklar ve fabrikalardaki montaj hatları verilebilir.

S: Gerçek zamanlı bilgi işlem nedir?


C: Gerçek zamanlı bilgi işlem, gömülü bir sistemin işini belirli bir süre içinde tamamlaması gereken durumdur. Eğer kesintiye uğrarsa, TV'de düşük görüntü kalitesi gibi sorunlara neden olabilir.

S: Gömülü bir sistemin bileşenleri nelerdir?


C: Herhangi bir bilgisayar gibi, gömülü bir sistemin de bir işlemcisi, yazılımı, girişi ve çıkışı vardır.

S: Gömülü bir sistemin kontrol edebileceği bazı görevler nelerdir?


C: Gömülü bir sistem MP3 çalarlar veya dijital kameralar gibi küçük cihazları veya trafik ışıkları veya uçaklar gibi daha büyük sistemleri kontrol edebilir.

S: Gömülü sistemlerle ilgili olarak "gömülü" terimi ne anlama gelmektedir?


C: "Gömülü" terimi, bilgisayarın daha büyük bir sistemin içine yerleştirildiği ve kolayca değiştirilemediği anlamına gelir.

AlegsaOnline.com - 2020 / 2023 - License CC3