Gömülü Sistemlerin Gizemli Dünyasına Bir Bakış PC'ler hayatımızın önemli bir yükünü taşımaktalar. Peki eğer böyle bir özelliğe de sahip olsalardı neler olabileceğini hayal edebiliyor musunuz? Eğer size evinizde kaç adet PC'niz var diye bir soru sorulsa, fazla düşünmeden sahip olduğunuz PC sayısını belirtecektiniz. Öte yandan kaç adet mikro-işlemciniz var diye sorulsa ilk başlarda biraz şaşıracak ve daha sonra büyük ihtimalle "Ne kadar bilgisayarım varsa o kadar tabii ki." cevabını verirsiniz. Şimdi burada durup bir düşünelim: Evinizde bir televizyon vardır. Peki ya bir çamaşır makinesi? Evet. Ya da bir buzdolabı? Elbette. Cep telefonu? Çağımızın olmazsa olmazlarındandır zaten. Bu cihazların üzerinde onları kontrol edebilmemiz için tasarlanmış bazı ara aygıtlar mevcuttur. Bu ara aygıtlar sayesinde gönderdiğimiz komutları işleyip cihazın istediğimiz işlemi yapabilmesi için bu cihazlarımızda mikro-işlemciler bulunmaktadır. Hatta kolumuzdaki basit sayısal saatlerde bile! Saydığımız araçların her biri kendi başına bir sistem olmasına rağmen, bu araçları birçok sistemin bileşimi olarak da düşünebiliriz. Mesela, bir araba sisteminde motor sistemi, fren sistemi, vs gibi birçok alt sistem mevcuttur. Her bir alt sistem, kendi içinde daha da küçük sistemlere bölünebilir. Konuya alt sistem açısından bakarsak, her bir sistem daha büyük bir sistemin içerisine yerleş miştir ya da gömülmüştür. Böyle sistemlere "gömülü sistemler" denilmektedir. Mesela, bir arabanın fren sistemi bir gömülü sistemdir çünkü araba sisteminin içine gömülmüştür. Günümüzde gömülü sistemlerden daha akıllı olması gerekenleri mikro-işlemciler ile kontrol etme eğilimi çok yaygındır ve büyük bir hızla da yayılmaktadır. Bu eğilimi görmenin en kolay yolu yukarıda da belirttiğimiz gibi mikro-işlemcilerin bilgisayar dışında kullanıldığı sistemlere bakmaktır. Bu sistemlerin çoğu gömülü sistemlerdir. Bir gömülü sistem standart bir PC ile benzer donanımlara sahiptir . Buna ilaveten mikro-işlemciler ve onun bağlı olduğu bütün diğer elektrik, elektronik, mekanik, vs. alt sistemler de bu donanımın tamamlayıcılarıdır. Yazılım ise sistemin hafızasında saklanır. Mikro-işlemci hafızadan yazılımı okur, ne demek istediğini anlar ve çalıştırır. Bir gömülü sistemin kullandığı mikro-işlemcilerin sayısı genelde bu sistemin karmaşıklığı ya da sahip olduğu alt sistemlerin sayısı ile doğru orantılı olarak artar. Gömülü sistemlerin bir tane mikro-işlemci kullananları da vardır. Gömülü Sistemlerin Gizemli Dünyasına Bir Bakış, Devam Burada anlattıklarımızdan vermek istediğimiz mesaj şudur ki birçoğumuza mikro-işlemciler dendiği zaman aklımıza hemen bilgisayarlar gelir. Sebep tabii ki mikro-işlemcilerin bilgisayarların beyni olmasındandır. İlginç olan, bilgisayarlardaki mikro-işlemcilerin sayısı şu anda dünyada olan mikro-işlemcilerin yüzde 2'si kadarını kapsamaktadır. Mikro-işlemcilerin geriye kalan yüzde 98'inin kullanıldığı yerler, mikro-işlemciler dendiğinde aklımıza hiç gelmeyen yerlerde ya da sistemlerde gizlenmişlerdir. (Dünyada bir yılda yaklaşık 5 milyar mikro-işlemci piyasaya sürülmektedir.) Bu sistemlerin bir kısmı fabrikalardaki makinelerdedir ama diğer bir kısmı ise burnumuzun dibinde, her gün kullandığımız araçların içerisindedir ve bunlar birer gömülü sisteme sahiptir diyebiliriz. Gömülü sistemlerin her biri birbirinden farklı yapıda ve özelliktedir. Konusu ve alanı oldukça geniş olduğundan bu yazımızda günlük hayatta kullandığımız cihazlardaki kontrol tasarımlarından çok endüstriyel otomasyon için kullanılan evimizdeki standart PC'lere çok benzeyen, yani örneğin Pentium 4 bir işlemciye, DDR RAM destekli 478 iğneli anakarta sahip olan tamamıyla endüstriyel amaçlı bilgisayarlardan bahsetmek istiyoruz. Gömülü Sistemlerin Özellikleri, Avantajları, İşleyişi Bir üniversitenin laboratuarında endüstriyel robot kolları bilgisayarlarla kontrol edilip, test ediliyor. Gömülü sistemlerin en önemli özellikleri düşük güç tüketimi ve düşük maliyetleridir. Çünkü pek çok gömülü sistem on bin ya da milyon adetlerde üretilir. Gömülü sistemlerde genelde yavaş bir işlemci ve küçük hafıza boyutları kullanılır. Sebebi ise maliyetleri düşürmektir. Yavaşlık sadece işlemci saat hızının düşmesi anlamında algılanmamalıdır. Bilgisayar sisteminin tüm mimarisi sadeleştirilerek ve basitleştirilerek maliyetleri düşürmek için gömülü sistemlerde kullanılır. Gömülü sistemlerdeki yazılımlar, donanım kısıtlarına rağmen genelde gerçek-zamanlı çalışırlar. Genelde işletim sistemi, disk sürücüsü, klavye ya da ekranları olmaz. Bir flaş sürücü mekaniksel olarak dönen bir disk sürücüsünün yerini, basit bir tuş takımı bir klavyenin yerini, küçük bir LCD'de PC'deki ekranın yerini alabilir. Ama yazının ilerleyen bölümlerinde de görebileceğiniz gibi böyle özellikleri olan sistemler de mevcut ve satışa sunulmuş durumda. Aygıt yazılımı , gömülü donanımlarda çalışan yazılıma denir ve rom/flaş hafıza ya da IC yongası içinde bulunabilir. Gömülü sistemler, 100% güvenilir, hata yapmayan, yıllarla ölçülebilen uzun zaman aralıklarında çalışabilecek şekilde tasarlanırlar. Burada yazılımın önemli çok büyüktür. Donanımdaki hatalar kolaylıkla tespit edilirken, aygıt yazılımı hataları daha zor ayıklanabilir. Ayrıca yazılımın donanımı tekrar başlatma özelliği mutlaka bulunmalıdır çünkü gömülü sistemleri insanların ulaşamayacağı yerlerde çalışmak zorunda olabilir . Yıkıcı bir veri bozulması durumunda aygıt yazılımı kırılacak ve sistem duracaktır. Bu gibi durumlarda genelde yazılımdaki önlemlerin yanı sıra yazılımı destekleyen donanımsal bazı yeniden başlatma sistemleri geliştirilmiştir. Bekçi köpeği zamanlayıcısı yazılımda gelen bir hata durumunda sistemi yeniden başlatarak sürecin aksamasını önlemektedir. Gömülü Sistemlerin Özellikleri, Avantajları, İşleyişi, Devam Gömülü sistemler pek çok CPU mimarisinde tasarlanabilir. Şu an için Intel/AMD x86 mimarisi, apple/motorola/ibm powerpc ise apple machintosh mimarisi üzerinedir. x86 mimarisine sahip 478 iğneli Pentium 4 işlemciler için tasarlanmış, DDR RAM destekli, PICMG girişli kasalar için tasarlanmış bir anakart. Görünümü dışında normal bir PC ile hemen hemen aynı platforma sahip. Daha genel bir gömülü sistem yapılandırması ise yonga üzerinde sistemlerdir . Bir uygulamaya özel tümleşik devre , tümleşik devre tasarımına entelektüel özelliğin dahil edilerek üretilmesiyle elde edilen işlemcidir. Tipik bilgisayar programcıları gibi gömülü sistem tasarımcıları da derleyici , çevirici ve hata ayıklayıcı kullanırlar. Bu yazılım araçları pek çok kaynaktan elde edilebilir: bu pazarda özelleşmiş yazılım firmalarından, GNU yazılım geliştirme araçlarından temin edilerek , eğer gömülü sistemdeki işlemci PC'dekinin bir türevi ya da akrabasıysa geleneksel PC'lerdeki yazılım araçları da kullanılabilir. Gömülü sistemlerin genelde işletim sistemleri yoktur ya da özelleşmiş gömülü işletim sistemleri bulunabilir. Bunlara genelde gerçek-zamanlı işletim sistemleri adı verilir. İşletim sistemi olanlarda da Linux tercih edilir çünkü Linux açık kaynak kodlu ve bedava bir işletim sistemi olduğundan çekirdeği kullanıcılar tarafından yeniden yapılandırılıp derlenebilir. Hata ayıklama genelde dahili devre öykünücüsü veya mikro-denetleyicinin dahili mikro-kodlarına kesme yapabilen bazı ayıklayıcılarla yapılır. İlk kayda değer modern gömülü sistem Apollo yol gösterme bilgisayarıdır . Ay uçuşlarında görev yapan CSM ve LM birimlerinde rehberlik sistemi olarak çalışmışlardır. Esasında bu sistem Apollo projesinin en riskli adımlarından biridir. Bunun yanında, ilk endüstriyel seri üretim gömülü sistemler ise Minuteman füzelerinde kullanılmıştır. Gömülü Sistemlerin Özellikleri, Avantajları, İşleyişi, Devam Pek çok tasarımcı yazılım kontrolünde olan LED'leri kullanarak geliştirme esnasında hataları göstererek üretimde hata ayıklamayı kolaylaştırmışlardır. Yaygın bir kullanım, elektronik sistem yeniden başlatma anında tüm LED'leri kapalı duruma getirir. Uygulama her bir başarımdan sonra ilgili LED'i açar veya duruma göre yanıp sönme etkisi verebilir . Gömülü yazılım mimarileri olarak pek çok farklı yöntem bulunmaktadır. Mr.

Kontrol döngüsü: Bu tasarım metodunda yazılımın basit bir döngüsü bulunur. Bu döngü alt rutinleri çağırır. Her bir alt prosedür yazılımın veya donanımın bir parçasını yönetir. Kesmeler , yazılımın kalan kısmı tarafından okunan sayıcıları veya bayrak değişkenlerini değiştirirler. Basit bir API, kesmeleri aktif veya pasif yapar. İç içe geçmiş alt yönergelere çağrı yapar ve dıştakine geri döner. Bunlar basit bir çekirdek oluşturmanın temel adımlarıdır. Zamanlayıcılar da ise belli dönemlerde tetiklenen kesmeler vardır. Bir zamanlayıcının süresi dolduğu zaman ilgili alt yönerge çalıştırılır yada bir bayrak değişkeni set edilir. Donanımların tepkilerimi mutlaka yazılımsal zamanlayıcılar ile kontrol edilmelidir. Donanım sistemleri trilyonda bir defa da olsa hata yapabilirler. Ama seri üretimdeki cihazlar için, yazılım ile donanımın kontrol edilme durumu yoksa bu büyük bir sıkıntı oluşturabilir. Pek çok tasarımcı her bir I/O birimini her döngüde bir kez okumayı ve sonucu bir mantıksal değişkende tutmayı önerir. Bazı tasarımcılar ise kendi durum makinelerini tasarlayarak sadece bir ya da iki şeyi her durum için kontrol eder. Bu metodun en zayıf yanı, sitemin her hangi bir donanım tetiklemesine karşı ne kadar zamanda tepki verileceğinin garanti edilememesidir. Kesmeler zorunlu kalınmadığı sürece devre dışı bırakılmamalıdır. Bir diğer zayıf yan ise, sisteme yeni özellikler ekleneceği zaman yapının aşırı karmaşıklaşmasıyla kodlamanın zorlaşmasıdır. Uzun zaman alan algoritmalar dikkatli bir biçimde parçalanarak ana döngü içinde sadece küçük bir parçanın bir miktar çalışması sağlanabilir. Bu sistemin bir avantajı basit olması ve suçun yüklenebileceği bir işletim sistemi olmamasından dolayı yazılan yazılımın çalışacağının garanti edilmesidir. Zincirlemeli Çoklu Görev : Bu teknik yukarıdaki tekniğe çok benzemektedir. Tek fark döngünün bir API içinde saklı olmasıdır. Görev dizileri tanımlanır ve her bir görev kendisine ait olan alt rutin yığınını alır. Sonrasında bir görev boşta durumdayken, özel bir alt yönerge olan "idle" rutinini çağırır . Bu mimaride bir olay zinciri bulunur, bir döngü bu olayları işi bitince kaldırır ve gerekli olan alt rutinleri çağırır. Avantaj ve dezavantajları kontrol döngüsü yöntemininkilere benzerdir ancak sisteme yeni bir yazılım eklemek daha kolaydır. Sonsuz Öncelikli Zamanlayıcılar : Yukarıdaki sistemlerden birini baz alırız ve bir zamanlayıcı kesmesiyle alt yordamları çalıştıran bir zamanlayıcı ekleriz. Diğer Teknikler: Preemptive tasks Office-style operating systems Exotic custom operating systems Endüstriyel Bilgisayarların Donanım Özellikleri Anakart için bir anakart. Üzerinde PICMG uyumlu anakartlar için bir yuva bulunduran bir endüstriyel bilgisayar arka plan kartı. Kasa Tipleri Nasıl şuan kullandığımız bilgisayarın bir kasası varsa endüstriyel gömülü sistemler için de kasa kullanmaktayız. Fakat bu kasalar bizim evimizdeki bilgisayarlar için kullandığımız kasalardan oldukça farklı. IC'nin kullanılacağı ortama ve miktarına göre özel üretilmiş kasalar mevcut. Bunlar karşımıza üç farklı tipte çıkıyor: Duvar monteli, çekmece tipi ve gömülü kasalar. Pentium 4 Mini-ITX Kasa: 533/400 MHz FSB, DDR200/266/333 SDRAM, Intel Extreme Graphics, TV-çıkışı, S Video arayüzü, IEEE 1394, 10/100 Mbps LAN, 5-1 Kanal 3D Ses/SPDIF, USB 2.0 Bu görmüş olduğunuz bildiğimiz Shuttle gibi Barebone tipi içinde kendi hazır anakartını (478 iğneli i845GV yonga setli) barındıran bir bilgisayar (model: TCS-COCEB1) kasası. 256 MB veri depolamasına sahip flaş bellek içeriyor. Bu kasa tipi "gömülü kasa" olarak adlandırılıyor. Gömülü kasalar genellikle hareketli ortamlar için üretilmişlerdir. 3000 metre yüksekliğe, %95'lik nem oranına ve 17 500 Hz'lik titreşimlere dayanıklıdır. Kısacası fabrika ortamı için biçilmiş kaftanlardır. Başka bir gömülü kasa örneği daha. Kaya gibi sağlam bir yapıya sahip(model: TCS-IECE11). Üzerinde PLC'lerde olduğu gibi veri giriş çıkışları mevcut. . Duvara monte edilebilen kasalar ise içine birden fazla anakart takabileceğiniz arka plan kartına sahip çeşitli boyutlara sahip kasalardır. Bu arka plan kartları genellikle PCI, ISA ve PICMG yuvalarına sahiptir. PICMG yuvaları modele göre Pentium 3,4 ve Xeon destekli anakartlara destek vermektedir. Büyük sunucu istasyonları ve birden fazla veya ağır işlem gerektiren endüstriyel uygulamalar için oldukça güçlü bir platform sunar. TCS-IEW062 Tipi 6 yuvalı bir duvar monteli kasanın parçaları. Kasa Tipleri, Devam TCS-IEW101 Çekmece tipi alüminyum kasalar ise fabrika ortamında fazla yer kaplamaması için tasarlanmış portatif bir endüstriyel otomasyon bilgisayarı çözümü olarak karşımız çıkıyor. Uzun, ince ve yassı yapısıyla bir çekmece rafını andırıyor. Bu kasalarda 10 ila 20 arası yuva bulunabiliyor. TCS-ACR1011 çekmece tipi kasa. TCS-ATR4141 Arka Panel Kartları Bir arka plan kartı endüstriyel amaçlı bir işlemci anakartı için bir istasyon oluşturarak fiziksel arayüzleri paralel olarak birleştiren devre kartıdır. Bir arka plan kartı PCI, ISA yuvalarını ayrı ayrı ya da ikisinin de bileşiminden oluşan PICMG'yi barındırır. Bir arka plan kartının 3, 4, 5, 6, 7, 14 ve 20 yuvaya sahip modelleri bulunmaktadır. Farklı yuva tipleri arka plan kartına değişik tipteki kartların, özellikle de adeta tek başına bir bilgisayar teşkil eden işlemci kartlarının takılmasına olanak sunar. Bu yuva çeşitliliği arttıkça arka plan kartının endüstriyel PC'ler için değeri de artar. Mükemmel güvenilirliklerine bağlı olarak arka plan kartları kablolu sistemler için özellikle tercih edilen platformlardır. Kablolama sistemindeki kabloların yerleri takılan her yeni kart için değiştirilmesi gerektiği için bu değişimler bazı mekanik problemlere sebebiyet verebilir. Arka plan kartlarında bu ömür boyu söz konusu olamaz çünkü bir arka plan kartının ömrü sadece yuvalarının sayısı ile sınırlıdır. Arka plan kartları aktif ve pasif formlarda sunulurlar. Pasif arka plan kartlarında veriyolu sürücü devresi bulunmazken aktif arka plan kartlarında bulunan bu tümleşik devreler yuvalara çeşitli sinyaller gönderirler. Genel olarak arka plan kartları anakartlardan ayrı olarak düşünülmelidir çünkü kendi dahili işlemci yuvalarına sahip değillerdir. TCS-IEB13X1 Arka Plan kartı: 1 AGP, 8 ISA, 4 PCI, 1 PCIAGP, 1 PICMG yuvası içeren endüstriyel uygulamalar için güzel bir arka plan kartı. Mr.