Mikrodenetleyici

Vikipedi, özgür ansiklopedi
Infineon tarafından üretilmiş 8051 tabanlı bir mikrodenetleyici

Bir mikrodenetleyici (MCU ve µC olarak da adlandırılır), bir mikroişlemcinin, MİB, hafıza ve giriş - çıkışlar, kristal osilatör, zamanlayıcılar (timers), seri ve analog giriş çıkışlar, programlanabilir hafıza (NOR Flash, OTP ROM) gibi bileşenlerle tek bir tümleşik devre üzerinde üretilmiş halidir.

Kısıtlı miktarda olmakla birlikte, yeterince hafıza birimlerine ve giriş – çıkış uçlarına sahip olmaları sayesinde tek başlarına çalışabildikleri gibi, donanımı oluşturan diğer elektronik devrelerle irtibat kurabilir, uygulamanın gerektirdiği fonksiyonları gerçekleştirebilirler. Üzerlerinde analog-dijital çevirici gibi tümleşik devreler barındırmaları sayesinde algılayıcılardan her türlü verinin toplanması ve işlenmesinde kullanılabilmektedirler. Ufak ve düşük maliyetli olmaları gömülü uygulamalarda tercih edilmelerini sağlamaktadır. Mikrodenetleyiciler sıradan mikroişlemcilere nazaran aşağıda listelenen 4 temel avantajları sayesinde elektronik sanayinde günümüzde oldukça büyük bir uygulama alanına sahiptirler:

  • oldukça küçük boyutludurlar,
  • çok düşük güç tüketimine sahiptirler,
  • düşük maliyetlidirler,
  • yüksek performansa sahiptirler.

Örneğin en basit elektronik saatlerden otomatik çamaşır makinelerine, robotlardan fotoğraf makinelerine, LCD monitörlerden biyomedikal cihazlara ve endüstriyel otomasyondan elektronik bilet uygulamalarına kadar pek çok elektronik uygulamada mikrodenetleyiciler kullanım alanı bulmuşlardır.

Mikrodenetleyici projeleri Mikrodenetleyiciler hakkında[değiştir | kaynağı değiştir]

Gömülü tasarım[değiştir | kaynağı değiştir]

Mikro denetleyici, işlemci, bellek ve çevre birimleri ile bağımsız bir sistem olarak kabul edilebilir ve bir gömülü sistem olarak kullanılabilir.[1] Günümüzde kullanılan mikrodenetleyicilerin çoğu otomobiller, telefonlar, cihazlar ve bilgisayar sistemleri için çevre birimleri gibi diğer makinelere gömülüdür.

Bazı gömülü sistemler çok karmaşık olsa da, birçoğunun bellek ve program uzunluğu için minimum gereksinimleri vardır, işletim sistemi yoktur ve yazılım karmaşıklığı düşüktür. Tipik giriş ve çıkış cihazları arasında elektrik anahtarları (ingilizce: switch), röle'ler, solenoid'ler, LED'ler, küçük veya özel sıvı kristal ekran'lar, radyo frekansı cihazları ve sıcaklık, nem, ışık seviyesi vb. gibi veriler için sensörler bulunur. Gömülü sistemlerde genellikle klavye, ekran, disk, yazıcı veya kişisel bilgisayar gibi diğer tanınabilir I/O cihazlar yoktur ve her türlü insan etkileşimli cihaz da olmayabilir.

Kesintiler[değiştir | kaynağı değiştir]

Mikrodenetleyiciler, kontrol ettikleri gömülü sistemdeki olaylara gerçek zamanlı (öngörülebilir, ancak mutlaka hızlı olmasa da) yanıt sağlamalıdır. Belirli olaylar olduğunda, kesme sistemi, işlemciye mevcut komut dizisini işlemeyi askıya almasını ve asıl komut dizisine dönmeden önce kesmenin kaynağında kesme hizmeti rutini (ISR veya "kesme işleyicisi") başlatması için sinyal verebilir. Olası kesme kaynakları cihaza bağlıdır ve genellikle dahili zamanlayıcı taşması, analogdan dijitale dönüştürmenin tamamlanması, bir düğmeye basılması gibi bir girişte mantık düzeyinde bir değişiklik ve bir iletişim bağlantısında alınan veriler gibi olayları içerir. Batarya cihazlarında olduğu gibi güç tüketiminin önemli olduğu yerlerde, kesintiler ayrıca bir mikro denetleyiciyi, işlemcinin çevresel bir olay tarafından bir şey yapması gerekene kadar durdurulduğu düşük güçlü uyku durumundan uyandırabilir.

Programlar[değiştir | kaynağı değiştir]

Harici, genişletilebilir belleğe sahip bir sistem sağlamak maliyetli olacağından, tipik olarak mikro denetleyici programları mevcut çip üzerindeki belleğe sığmalıdır. Derleyiciler ve birleştiriciler, hem yüksek seviye hem de assembly dili kodlarını mikro denetleyicinin belleğinde depolamak için kompakt bir makine kodu'na dönüştürmek için kullanılır. Cihaza bağlı olarak, program belleği kalıcı olabilir, yalnızca fabrikada programlanabilen salt okunur bellek veya sahada değiştirilebilir flaş veya silinebilir salt okunur bellek olabilir .

Üreticiler, hedef sistemin donanımına ve yazılım geliştirmesine yardımcı olmak için genellikle mikro denetleyicilerinin özel versiyonlarını ürettiler. Başlangıçta bunlar, cihazın üstünde program belleğinin ultraviyole ışıkla silinebildiği, bir programlama ("yakma") ve test döngüsünden sonra yeniden programlamaya hazır "pencereye" sahip EPROM sürümlerini içeriyordu. 1998'den beri, EPROM sürümleri nadirdir ve yerini, kullanımı daha kolay (elektronik olarak silinebilir) ve üretimi daha ucuz olan EEPROM ve flash ile değiştirmiştir.

ROM'a dahili bellek yerine harici bir cihaz olarak erişilen diğer sürümler mevcut olabilir, ancak bunlar ucuz mikrodenetleyici programcılarının yaygın olarak bulunması nedeniyle nadir hale gelmektedir.

Bir mikro denetleyicide sahada programlanabilir cihazların kullanılması, firmware'in sahada güncellenmesine veya monte edilmiş ancak henüz sevk edilmemiş ürünlerde geç fabrika revizyonlarına izin verebilir. Programlanabilir bellek, yeni bir ürünün devreye alınması için gereken hazırlık süresini de azaltır.

Yüzbinlerce aynı cihazın gerekli olduğu durumlarda, üretim sırasında programlanmış parçaların kullanılması ekonomik olabilir. Bu "maske programlanmış" parçaları, aynı zamanda çipin mantığıyla aynı şekilde ortaya konan programa sahiptir.

Özelleştirilmiş bir mikro denetleyici, uygulamanın gereksinimlerine uyarlanmış çevre birimleri ve arayüzleri için kişiselleştirilebilen bir dijital mantık bloğu içerir. Bir örnek, Atmel'den AT91CAP'dir. Cihaza bağlı olarak, program belleği kalıcı olabilir, yalnızca fabrikada programlanabilen salt okunur bellek veya sahada değiştirilebilir flaş veya silinebilir salt okunur bellek olabilir .

Diğer mikrodenetleyici özellikleri[değiştir | kaynağı değiştir]

Mikrodenetleyicilerin genellikle birkaç ila düzinelerce genel amaçlı giriş/çıkış pini (GPIO) vardır. GPIO pinleri, bir giriş veya çıkış durumuna göre yapılandırılabilen yazılımlardır. GPIO pinleri bir giriş durumuna yapılandırıldığında, genellikle sensörleri veya harici sinyalleri okumak için kullanılırlar. Çıkış durumuna göre yapılandırılan GPIO pinleri, LED'ler veya motorlar gibi harici cihazları, genellikle harici güç elektroniği aracılığıyla dolaylı olarak çalıştırabilir.

Birçok gömülü sistemin analog sinyaller üreten sensörleri okuması gerekir. analogdan dijitale dönüştürücü (ADC)'nin amacı budur. İşlemciler, 1'ler ve 0'lar gibi dijital verileri yorumlamak ve işlemek için üretildiğinden, kendisine bir cihaz tarafından gönderilebilecek analog sinyallerle hiçbir şey yapamazlar. Böylece analogdan dijitale dönüştürücü, gelen verileri işlemcinin tanıyabileceği bir forma dönüştürmek için kullanılır. Bazı mikro denetleyicilerde daha az yaygın olan bir özellik, işlemcinin analog sinyaller veya voltaj seviyeleri çıkarmasını sağlayan bir dijitalden analoğa dönüştürücü (DAC) özelliğidir.

Dönüştürücülere ek olarak, birçok gömülü mikroişlemci, çeşitli zamanlayıcıları da içerir. En yaygın zamanlayıcı türlerinden biri (PIT) programlanabilir aralıklı zamanlayıcı'dır . Bir PIT, ya bir değerden sıfıra kadar geri sayım yapabilir ya da sayım kaydının kapasitesine kadar, sıfıra taşabilir. Sıfıra ulaştığında, işlemciye sayımın bittiğini belirten bir kesme gönderir. Bu, klimayı, ısıtıcıyı vb. açmaları gerekip gerekmediğini görmek için çevrelerindeki sıcaklığı periyodik olarak test eden termostatlar gibi cihazlar için kullanışlıdır.

Özel bir darbe genişliği modülasyonu (PWM) bloğu, CPU'nun sıkı zamanlayıcı döngüler'nde birçok CPU kaynağı kullanmadan CPU'nun güç dönüştürücüleri, direnç yükleri, motorları vb. kontrol etmesini mümkün kılar.

Bir evrensel asenkron alıcı/verici (UART) (ingilizce: A universal asynchronous receiver/transmitter) bloğu, CPU üzerinde çok az yük ile bir seri hat üzerinden veri almayı ve iletmeyi mümkün kılar. Adanmış çip üstü donanım, genellikle, Inter-Integrated Circuit (I²C), Seri Çevre Birimi Arayüzü (SPI), Seri Veri Yolu (USB)(ingilizce: Universal Serial Bus) ve Ethernet gibi dijital biçimlerde diğer cihazlarla (yongalar) iletişim kurma yeteneklerini de içerir.[2]

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ Heath, Steve (2003). Embedded systems design. EDN series for design engineers (2 bas.). Newnes. ss. 11-12. ISBN 9780750655460. 
  2. ^ David Harris & Sarah Harris (2012). Digital Design and Computer Architecture, Second Edition, p. 515. Morgan Kaufmann. 0123944244.