May 30

SUN firması’ndan gömülü sistemler alanında yeni bir atılım: SUN SPOT

 


Java adlı programlama dili ve platformunun yaratıcısı SUN firması SUN SPOT ( SUN small programmable object technology – SUN programlanabilir nesne teknolojisi ) adı altında Java diliyle programlanabilen bir donanım platformu üretti. Platform üzerinde bulunan donanımlar şunlar :

– 180 Mhz 32 bir ARM920T çekirdekli işlemci ,512K RAM ve 4 MB flash
– 3 eksenli ivmeölçer
– Sıcaklık sensörü
– Işık Sensörü
– 8 adet 3-renk LED
– ADC tarafından okunabilen 6 analog giriş
– 2 anahtar
– 5 genel amaçlı giriş/çıkış pini ve 4 yüksek akım çıkş pini
Ayrıca platform üzerinde 2.4 Ghz’lik kablosuz radyo-modem de bulunmakta.Platform üzerinde Java ile gömülü yazılımlar geliştirilebilmekte.
SUN firması bu ürünüyle Java yazılım geliştiricilerine kolaylıkla gömülü sistemler alanında çalışma olanağı veriyor.
Günümüzde gömülü sistemlerin ne kadar yaygınlaştığını düşündüğümüzde Sun firmasının bu atılımı çok büyük önem taşıyor.
Projenin web sitesinden daha ayrıntılı bilgi alabilirsiniz: http://www.sunspotworld.com/



Haz 10

Onlar Her Yerde :Gömülü Sistemler II


Önceki yazımda gömülü sistemlere kullanıcı gözüyle bakmıştık . Bu sefer işin teknik boyutuna biraz daha eğileceğiz. Gömülü sistemlerin tanımını yapmakla işe başlayalım.Genel olarak gömülü sistemler:

“belirli bir fonksiyonu yerine getirmek için tasarlanmış yazılım ve donanım kombinasyonudur” şeklinde tanımlanabilir.

Gömülü sistemleri diğer genel amaçlı bilgisayar sistemlerinden ayıran özelliklerin başında, bu sistemlerin belirli bir amaç için tasarlanmış olmaları gelir. Bir video cihazını kontrol eden gömülü sistem bütün kullanım ömrü boyunca bu işi gerçekleştirecektir. Ancak ev ve işyerlerimizde kullandığımız PC’lerde birçok farklı işlemi gerçekleştirmekteyiz. PC’lerde bu değişik işleri değişik yazılımlarla yapmaktayız. Ancak gömülü sistemlerin içinde çalışan yazılım genellikle “tektir”.

Gömülü sistemler adlarından da anlaşılabileceği gibi genellikle daha büyük bir sistemin içinde “gömülü” olarak çalışırlar. Örneğin bir çamaşır makinesinde birçok mekanik kısım bulunmakla birlikte, bütün bunları kontrol eden bir veya birden fazla mikrodenetleyici tabanlı sistem bulunur. Bu sistemler kullandığımız cihazların “akıllı olmasını” sağlayan, beyin vazifesi gören birimlerdir

Her gömülü sistemin başlangıçta tanımlanan tasarım kriterleri farklı olduğundan, tasarımı da kendine özgüdür. Bir oyun konsolunun içerdiği birimlerle, bir mikrodalga fırının içerdiği gömülü sistemler birimleri birbirinden farklıdır. Ancak genel olarak her gömülü sistem şekildeki birimlere sahiptir:

Gömülü sistemlerin tasarım gereksinimleri şunlardır:

  • İşlem Gücü
  • Bellek
  • Geliştirme Maliyeti
  • Birim Üretim hacmi
  • Beklenilen yaşam süresi
  • Güvenilirlik

Bunlar dışında her sistemin kendine has başka gereksinimleri de olabilir. Örneğin pille çalışacak bir sistemde güç tüketimi de önemli bir kriterdir.

Tasarımlardaki kriterlere göre bu gereksinimlerinden bazıları arasında tercih yapmak gerekebilir. Örneğin karmaşık hesaplamaların gerekli olabileceği sistemlerde yüksek işlem gücü ihtiyacı ön planda olurken, çok büyük miktarlarda üretilecek sistemlerde düşük maliyet daha önemli olabilir.

Gömülü sistemler kullanım alanlarına göre zaman zaman oldukça kritik görevleri yerine getirebilirler. Burada oluşabilecek hatalar büyük mal ve can kayıplarıyla sonuçlanabilir. Bu açıdan bakıldığında bu sistemlerin “güvenilir” ve “hataları tolere edebilir” özellikte olmaları çok önemlidir. Bir mikrodalga fırının ya da bir oyuncağın içindeki sistemin zaman zaman hatalı çalışması çok büyük sorun oluşturmaz; ancak bir uçağın otomatik pilot sistemindeki hata birçok insanın hayatını tehlikeye atabilir.

Bugün dünyada üretilen mikroişlemcilerin / mikrodenetleyicilerin büyük çoğunluğu gömülü sistemlerde kullanılmaktadır. Genellikle 8 bit mikrodenetleyiciler yoğun olmakla beraber, 32 bitlik mikrodenetleyiciler de düşen maliyetleri sonucu artık geniş kullanım alanı bulmaktadır.
Gömülü sistemlerde tasarımcıların kullandığı temel araçlar:

  • Programlayıcılar
  • Hata Ayıklayıcılar (Debuggers)
  • Derleyiciler
  • Emülatörler
  • Tümleşik Geliştirme Ortamları

Gömülü sistemlerin donanım ve yazılım olarak iki ana bölümden oluştuğunu söylemiştik. Burada donanım ve yazılım bileşenleri birbirleriyle sıkı sıkıya bağlı olduğundan tasarım ekibinde bulunan yazılımcı ve donanımcıların bir arada çalışmaları gerekmektedir. Bu anlamda gömülü sistemler için “multi-disipliner” bir alan diyebiliriz. Bu alandaki mühendislerin donanım, yazılım, kontrol sistemleri vs.. gibi birçok alanda bilgi sahibi olmaları gerekmektedir.

Gömülü yazılımların karmaşıklığı artıkça ve aynı anda yapılacak işlemlerin sayısı arttığında değişik yapılara ihtiyaç duyulur. Aslında bir mikrodenetleyici aynı anda sadece bir tek işi yapabilir. Ancak işlemleri mili, mikro hatta nanosaniyeler mertebesinde gerçekleştirdiğinden, birçok işi aynı anda yapıyormuş gibi görünebilir. Genel olarak mikrodenetleyicili sistemlerde bu tür işlemler kesmeler ve zamanlayıcılar sayesinde periyodik olarak gerçekleştirilir. Bu anlamda kesmeler yazılımlarda önemli bir rol oynar.

Gömülü sistemler de ayrıca gerçek zamanlı işletim sistemleri de kullanılır (RTOS – Real Time Operating Systems). Böylelikle tasarımcı donanım ayrıntılarıyla çok uğraşmadan ana işlemleri gerçekleştirmeye odaklanabilir. Arka plandaki görevlerin senkronizasyonu işletim sistemi tarafından gerçekleştirilir.

Çok geniş bir alanı kapsayan gömülü sistemlerin bütün özelliklerini ele almak çok zor olsa da bu yazıda genel özellikleri tanımış olduk. Bundan sonra değişik özellikleriyle gömülü sistemleri tanımaya devam edeceğiz.

Kas 06

ONLAR HER YERDE:Gömülü Sistemler

Dikkat ettiniz mi: Etrafımızdaki akıllı cihazların sayısı ne kadar da arttı. Cep telefonlarımız artık sadece iletişim sağlamakla kalmıyor,müzik çalıyor,fotoğraf,video çekiyor,bilgilerimizi saklıyor. Çamaşır makinalarımız bile akıllı artık.Kendi bilgisayarlarını barındırıyorlar.Çevremizdeki cihazlara bir bakarsak artık birçoğunun tamamen olmasa da elektronik birimler barındırdığını görürüz:
Kişisel bilgisayar
– Yazıcı
– Tarayıcı (Scanner)
– Hesap makinesi
– Cep telefonu
– Cep bilgisayarı
– Televizyon
– Radyo / Kasetçalar
– Müzik amplifikatörü
– Video kamera
– DVD oynatıcı
– CD çalar
– Alarmlı Saat
– Fotograf Makinesi
– Elektronik daktilo
– Hırsız alarmı
– Mikrodalga fırın
– Bulaşık makinesi
– Buzdolabı
– Mutfak robotu
– Çamaşır makinesi
– Tansiyon ölçme cihazı
– Elektronik oyuncaklar

Bu liste daha da uzatılabilir.Listedeki bütün cihazların içinde birer bilgisayar lar var dersek çok da yanlış bir şey söylemiş olmayız.Hepsinin içine “gömülmüş” bilgisayarlar var.Gömülü sistemler tabiri de buradan geliyor zaten.

Gömülü sistem”herhangi bir sistemin içinde yer alan ve o sisteme “akıllılık” özelliğini veren elektronik donanım ve yazılımdan oluşan bütünü ifade etmektedir.Burada sözü edilen yazılımlar ,bilgisayarımızdaki genel amaçlı yazılımlardan farklı olarak ,kullanıcıyla direk değil dolaylı etkileşimde bulunan ve genellikle tek bir görevi yerine getiren yazılımlar.
Bugün ortalama bir aile otomobilinde 20-25 adet mikrodenetleyici kullanıldığı söyleniyor.Arabanıza girmeden önce uzaktan kumandayla kapıları açıyorsunuz,içeri girip kontağı çeviriyorsunuz.CD çalarınızdan bir parça seçiyorsunuz,emniyet kemerinizi takmadığınız takdirde bir uyarı sesiyle karşılaşıyorsunuz…Bütün bu sayılan adımların arka planında çalışan minik bilgisayarlar sözkonusu.Arabınızın güvenliğini sağlayan ve uzaktan kumandayla kontrol ettiğiniz alarmda, arabanızın ateşlemesini kontrol eden sistemde, cd çalarınızda ve aracınızdaki diğer sistemlerin merkezinde bir “mikroişlemci” görev yapmakta.Bu işlemciler de çoğu zaman birbirleriyle iletişim içindeler.

Bugün gömülü sistemler elektronik mühendisliğinin altında kendi başına bir dal haline gelmiştir. Dünyada birçok üniversitede lisans veya yüksek lisans düzeyinde “gömülü sistemler mühendiliği” programları bulunmaktadır.

Mikroişlemci teknolojisindeki gelişmelerle birlikte maliyetlerde büyük düşüşler yaşanmıştır.Böylelikle önceden ayrık elemanlarla tasarlanan sistemler bugün mikroişlemciler/mikrodenetleyiciler etrafında çeşitli çevrebirimlerinin entegre edilmesiyle gerçekleştirilmekte.Sözkonusu mikroişlemciler olunca, o mikroişlemciyi yöneten yazılım da önem kazanmakta.Bugün gömülü sistemlerin tasarımında donanım kadar yazılım da önemli bir maliyet unsuru haline gelmiştir.

Gömülü yazılımları genel amaçlı yazılımlardan ayıran en önemli özellik belki de tek bir amaca hizmet etmeleridir.Kullanım ömürleri boyunca aynı fonksiyonları gerçekleştirirler. Örneğin mikrodalga fırınızda sıcaklık ve zamanlama fonksiyonlarını kontrol eden yazılım, fırının kullanım ömrü boyunca aynı şekilde çalışmaya devam edecektir.

Günümüzde en çok kullandığımız gömülü sistemler herhalde cep telefonlarımızdır. Her ne kadar gelişmelerle birlikte onlar da birer mini PC halini almaya başlasalarda gömülü sistemlere iyi birer örnektirler. Kendi bellekleri,işlemcileri bulunmaktadır.İçlerindeki gömülü yazılım sayesinde donanımları işlerlik kazanmaktadırlar.

Buraya kadar gömülü sistemler “kullanıcı” gözüyle bakarak tanımaya çalıştık.Bundan sonraki yazılarımda gömülü sistemlere “mühendis” gözüyle bakmaya çalışacağım.