Mikrodenetleyeciler üzerinde var olan analog ve dijital tiplere ek, birbiri ardına sıralı tümleşik devrelerde yer almaktadır. Tercih edilirlik oranı oldukça yüksek olan bu devre modelleri, genel itibariyle uygun maliyet ve yüksek verimlilik üzerinden sıklıkla kullanım göstermektedir. Mikrodenetleyiciler, mikroişlemci devre yapılarına göre farklılık göstermektedir. Bu ayrım genellikle seri portları üzerinden, sayıcı verilerinden ya da çeviri sistemlerinden dolayı kendini ön plana çıkarmaktadır.
Mikrodenetleyici Türleri ve Kullanım Alanları
Mikrodenetleyiciler, kullanım yönü itibariyle çamaşır makinelerinde, robot üretiminde, fotoğraf makine içeriğinde ve buna benzer tüm teknolojik tasarım modellerinde karşımıza çıkmaktadır. Mikrodenetleyeciler, programcı hafıza sistemi sayesinde yazılım olarak kaydettiği işlemleri derleyip, tekrardan çıkış sinyali ile geri dönüt aracılığıyla gönderir.
Elektronik cihazların hemen hemen hepsinde yer alan bu donanım, devrelerin küçük boyutlu ve beyin görevine sahip elektronik sistemlerini temsil etmektedir. Mikrodenetleyeci türleriyse genellikle, iki ayrı türde karşımıza çıkmaktadır. Bunlardan ilki Von Neumann mimarisidir. Bu mimari sayesinde program verileri, bir komut etrafında toplanarak tek bir yol üzerinden işlemci sisteme gönderilir.
Mimari türü günümüzde tercih edilirlik bakımından oldukça etkisini yitirmiş bir yöntem olarak kalmıştır. İkinci olarak karşımıza çıkan Harvard mimarisi ise üretildiği ve geliştirdiği andan itibaren sıklıkla tercih edilmektedir. Bu mimari de işleyen veri düzeneği, programlanan hafıza yapısı sayesinde ayrı komutlar dahilinde işlenebilmektedir. Bu yüzden hızlı ve donma sıkıntısı yaşamadan veri gönderimini en etkili ileten mikrodenetleyici çeşidi olarak tanımlanmaktadır.
Mikrodenetleyiciler, CPU ile aynı çipte RAM ve kalıcı olmayan belleği birleştikleri için harici bir adres veya veri yolu uygulayamayabilirler. Daha az pin kullanılarak çip çok daha küçük ve daha ucuz bir pakete yerleştirilebilir.
Belleği ve diğer çevre birimlerini tek bir çipde tümleştirmek ve bunları bir birim olarak denemek o çipin maliyetini artırır ama genellikle bütün olarak gömülü sistemin net maliyetinin düşmesine neden olur. Entegre çevre birimli bir CPU'nun maliyeti, bir CPU ve harici çevre birimlerinin maliyetinden biraz daha fazla olsa bile, daha az çipe sahip olmak daha küçük ve daha ucuz devre kartına yol açar ve bitmiş montaj için hata oranını düşürme eğiliminin yanısıra devre kartını takmak ve denemek için gereken işçiliği azaltır.
Mikrodenetleyici, genellikle aşağıdaki özellikleri olan tek bir entegre devre'dir:
Bu entegrasyon, ayrı çipler kullanarak eşdeğer sistemler üretmek için gerekli olacak çip sayısını ve kablolama miktarını ve devre kart alanını çok azaltır. Ayrıca, özellikle az pinli cihazlarda, her bir pin, yazılım tarafından seçilen pin işlevi ile birkaç dahili çevre birimine arayüz oluşturabilir. Bu, bir parçanın, pimlerin özel işlevlere sahip olmasına göre daha geniş bir uygulama yelpazesinde kullanılmasına imkan verir.
Mikrodenetleyiciler, 'lerde piyasaya sürüldüklerinden bu yana gömülü sistemlerde oldukça popüler olduklarını kanıtladılar.
Bazı mikrodenetleyiciler Harvard mimarisi kullanır: talimatlar ve veriler için ayrı bellek veri yolları, erişimlerin eşzamanlı olarak gerçekleşmesine izin verir. Harvard mimarisinin kullanıldığı durumlarda, işlemci için talimat sözcükleri, dahili bellek ve yazmaçların uzunluğundan farklı bir bit boyutunda olabilir; örneğin: 8 bitlik veri kayıtları ile kullanılan 12 bitlik komutlar.
Hangi çevre biriminin entegre edileceğine karar vermek genellikle zordur. Mikrodenetleyici satıcıları genellikle müşterilerinin pazara sunma süresi gereksinimlerine ve genel olarak daha az sistem maliyetine karşı çalışma frekanslarını ve sistem tasarım esnekliğini takas eder. Üreticiler, çip boyutunu en aza indirme ihtiyacını ek işlevsellik ile dengelemek zorundadır.
Mikrodenetleyici mimarileri çok çeşitlidir. Bazı tasarımlar, pakete entegre edilmiş bir veya daha çok ROM, RAM veya I/O işlevli genel amaçlı mikroişlemci çekirdekleri içerir. Diğer tasarımlar, kontrol uygulamaları amacına yöneliktir. Bir mikro denetleyici talimat setinde genellikle, kontrol programlarını daha küçültmek için bit manipülasyonu (bit tabanlı işlemler) için tasarlanmış birçok talimat bulunur.[3] Örneğin genel amaçlı bir işlemci, mikrodenetleyicinin yaygın olarak gerekli işlevi sağlamak için tek bir yönergeye sahip olabileceği durumda, bit ayarlanmışsa bir kayıtta ve dalda bir biti test etmek için birkaç talimat gerektirebilir.
Mikrodenetleyicilerin geleneksel olarak bir matematik yardımcı işlemcisi yoktur, bu nedenle kayan nokta aritmetiği yazılım tarafından gerçekleştirilir. Ancak, bazı yeni tasarımlar bir FPU ve DSP için optimize edilmiş özellikler içerir. Microchip'in PIC32 MIPS tabanlı hattı buna bir örnek olabilir.
Mikrodenetleyiciler, tek bir entegre devre üzerindeki küçük bilgisayarlardır. Genellikle günlük ev aletlerinde bulunurlar, performanslarını izlerler ve çalışmalarını kontrol ederler. Mikrodenetleyici, termostattan otomatik ev veya işyerine kadar herhangi bir yanıt sisteminin beynidir: bağımsız kontrole sahip hemen hemen her cihaz, bir mikrodenetleyicinin eklenmesiyle geliştirilebilir.
Mikrodenetleyiciler onlarca yıldır piyasadalar, ancak son zamanlarda kompakt boyutları ve düşük maliyetleri nedeniyle Nesnelerin İnterneti cihazları olarak popülerlik kazandılar. Bu devrelerin çok yönlülüğü, onları hızlı performans, hassas zamanlama ve sınırlı bellek alanı gerektiren hemen hemen her uygulamada kullanışlı kılar.
Mikrodenetleyiciler hakkında bilinmesi gereken ilk şey, ne isterseniz yapabildikleridir. Bu teknolojinin uygulamaları, bir binanın sıcaklığını izleyen ve kontrol eden bir termostattan kan basıncını ve kalp atış hızını kontrol eden bir cihaza kadar çok çeşitlidir. Bir mikrodenetleyici seçmenin anahtarı, cihazınızın gerçekleştirmesini istediğiniz belirli işlevleri belirlemektir. Bu özellikler belirlendikten sonra, doğru mikrodenetleyiciyi bulmak, büyük ölçüde cihazın çalışma özelliklerini uygulama gereksinimleriyle eşleştirme meselesidir.
Bir mikrodenetleyici seçerken, cihazın çalışma frekansı, kullanılabilir hafızası, gerekli harici bileşenlerin türü ve sayısı gibi birçok faktör dikkate alınmalıdır. Cihazları değerlendirirken, bu spesifikasyonların üreticiden üreticiye önemli ölçüde değişebileceğini unutmayın, bu nedenle cihazları karşılaştırdığınızdan ve uygulama gereksinimlerinizi en iyi karşılayanı seçtiğinizden emin olun.
PIC, bir tür mikrodenetleyicidir. Birçok farklı endüstride geniş uygulama yelpazesine sahip genel amaçlı 16 bitlik bir cihazdır. Bir PIC mikrodenetleyici, kullanıldığı uygulamanın gerektirdiği herhangi bir sayıda işlevi yerine getirmek üzere programlanabilir.
Esnekliğine ek olarak, birçok durumda PICnin programlanması nispeten kolaydır. Birkaç PIC türü mevcuttur, ancak hepsi aynı temel prensipler üzerinde çalışır. Bir PIC mikrodenetleyici, programlandığı işlevleri yerine getirmek için mantık kapıları, zamanlayıcılar ve çeşitli devre türleri dahil olmak üzere çeşitli bileşenler kullanır.
Mikrodenetleyiciler tasarım gereği basittir. Fazla bir şey yapmaları gerekmediği için çok fazla belleğe ihtiyaç duymazlar. Yüksek seviyeli programlama dili talimatlarını yürütmek yerine, bir dizi düşük seviyeli makine dili talimatını işlerler. Mikrodenetleyici mimarisinin temeli budur. Bununla birlikte, performansı artırmak için üreticiler genellikle mimariye özel öğeler ekleyerek farklı türde mikrodenetleyiciler oluştururlar.
Cihazda kullanılan çip, özel bir şey yapmak için tasarlanmış olabilir: analog sinyalleri işlemek, harici donanımı kontrol etmek veya hatalı programlama nedeniyle çökmesi durumunda çipi sıfırlamak için yerleşik bir bekçi köpeği zamanlayıcısına sahip olmak. Çip mimarisi, cihazın farklı uygulamalar için yeniden yapılandırılmasına izin verecek şekilde sabit veya programlanabilir olabilir.
Her biri farklı özelliklere ve yeteneklere sahip birkaç mikrodenetleyici türü mevcuttur. Kullanılan mikrodenetleyicinin türü, uygulama gereksinimlerine bağlı olacaktır, ancak doğru aygıtı seçmenize yardımcı olabilecek bazı genel yönergeler vardır. Bir mikrodenetleyici seçerken dikkate alınması gereken en önemli faktörler, çalışma frekansı ve kullanılabilir bellek miktarıdır.
Uygulama gereksinimleri çalışma sıklığını belirleyecektir, ancak genellikle gereksinimleri karşılamaya devam ederken mümkün olduğu kadar yavaş çalışacak bir cihaz seçmek en iyisidir. Yüksek frekanslı bir cihaz seçer ve daha sonra bunun gereksinimleri karşılamadığını görürseniz, cihazı veya uygulamayı değiştirmeniz gerekecektir. Cihazda bulunan hafıza miktarı, üreticiye bağlı olacaktır.
Daha fazla belleğe sahip bir cihaz, daha karmaşık işlevleri yerine getirebilir, ancak daha pahalı olabilir. Flash bellekler, EEPROMlar veya EPROMlar gibi harici programlama öğelerini kullanmaya gerek kalmadan istenen işlevleri gerçekleştirmek için yeterli belleğe sahip bir cihaz seçmek önemlidir.
Mikrodenetleyiciler çok çeşitli uygulamalarda kullanılmaktadır. Birçok farklı endüstride kullanılmışlardır ve neredeyse her uygulamada güvenilir ve etkili oldukları kanıtlanmıştır.
Mikrodenetleyicilerin kullanımının bir takım avantajları vardır. Son derece düşük güç gereksinimlerine sahip olmaları, onları pille çalışan uygulamalar için ideal kılar. Ayrıca hızlı yanıt sürelerine sahip olmaları, onları gerçek zamanlı kontrol gerektiren gömülü uygulamalar için uygun hale getirir.
Mikrodenetleyici kullanmanın bir başka avantajı da, çok çeşitli işlevleri yerine getirmek üzere programlanabilmeleridir. Genellikle ayrı bileşenlerle yapılması çok zor veya imkansız olan karmaşık görevleri yapabilirler. Bu, onları özel çözümler gerektiren uygulamalar için ideal hale getirir.
Mikrodenetleyiciler ayrıca çok çeşitli farklı paketlerde mevcuttur ve bu da bir uygulamayı belirli bir ihtiyaca uyacak şekilde özelleştirmeyi kolaylaştırır. Mikrodenetleyicilerin bir diğer büyük avantajı da düşük maliyetleridir. Çok çeşitli uygulamalara uymayı kolaylaştıran küçük paketlerde bulunurlar. Ayrıca, diğer birçok sistem türüne kıyasla nispeten ucuzdurlar.
Mikrodenetleyicilerin birçok avantajı olmakla birlikte bazı dezavantajları da bulunmaktadır. Birçok farklı işlevi yerine getirmek üzere programlanabilmeleri, onları çok yönlü hale getirir, ancak aynı zamanda sorun gidermeyi de zorlaştırır. Bir devre düzgün çalışmıyorsa, sorunun hatalı bir programdan veya bir donanım sorunundan kaynaklanabileceğinden nedenini anlamak çok zor olabilir. Ayrıca, karmaşık uygulamalar pahalı olabilecek çok sayıda mikrodenetleyici gerektirebilir.
Mikrodenetleyicilerin diğer bir dezavantajı, üst düzey programlama dillerinin olmamasıdır. Düşük seviyeli makine dili talimatlarını işledikleri için, bir programda değişiklik yapmak veya donanım problemlerinde hata ayıklamak zor olabilir. Performans ve işlevsellik açısından büyük farklılıklar gösterdikleri için doğru mikrodenetleyici türünü seçmek de önemlidir. Bu, belirli bir uygulama için doğru cihazı bulmayı zorlaştırabilir çünkü çok fazla seçenek mevcuttur.
Bu yazımda mikrodenetleyici nedir ve mikrodenetleyiciler hakkında bilgi vereceğim. Teknoloji, geçmiş yıllardan itibaren hızlı bir gelişim içerisine girmiş ve bu dünya da meslek sahibi olmuş insanların da gelişim içerisine girmesini adeta zorunlu kılmıştır. Bu gelişime ayak uyduramayan veya takip etmeyen kişinin mevcut bilgileriyle en fazla 2 yıl piyasa da tutunabildiği ise su götürmeyen bir gerçek olmuştur.
Teknoloji dünyası içerisinde en hızlı gelişim gösteren alan ise elektroniktir. Bu alanda her geçen gün yeni bir ürün, cihaz veya bir sistem geliştirilmektedir. Tüm bunların kontrolü ise karmaşık bir hal almıştır. Bu karmaşıklığı ortadan kaldırmak için ise mikrodenetleyiciler geliştirilmiştir. Mikrodenetleyiciler hem donanım hem de yazılım olarak bu ihtiyacı rahatlıkla karşılayabilmektedir.
Mikroişlemci ve Mikrodenetleyici Arasındaki Farklar
CPU (Central Processing Unit), bilgisayarın değişik birimleri arasındaki (hafıza, monitör, klavye, giriş çıkış ünitesi gibi.) veri akışını ve işleyişinin sağlanması görevlerini üstlenmektedir. Veri işleme görevinin büyük bir kısmı ise CPU içerisinde bulunan ALU’ da (Aritmetik Lojik Birimi) gerçekleştirilir.
yılında, bir bilgisayarın ALU ile diğer kontrol birimlerinin bir silikon tüm devresi üzerine, INTEL firması tarafından konulması ile mikroişlemciler dönemi başlamıştır. Teknik olarak ifade edersek mikroişlemci, yarı iletken tek bir tüm devre üzerine yerleştirilmiş CPU’ ya denir. Bir işlemci temel olarak CPU’ nun fonksiyonlarını yerine getirdiği için pek çok kere CPU ile mikroişlemci eş anlamda kullanılmaktadır.
Mikrodenetleyici, bir tüm devre üzerinde üretilen bilgisayara denir. Bu tüm devre üzerinde; hafıza, giriş/çıkış sistemleri, bu işlemcilerin birçok uygulama içinde, gömülü olarak doğrudan (tek başına), mikroişlemcilere göre çok daha basit ve ucuz arabirim teknikleriyle, kontrol amaçlı olarak kullanılmalarını sağlar.
Mikroişlemci ile bir sistem oluşturulurken yanına diğer birimleri de ilave ederek bir sistem oluşturmak gerekir. Bu ünitelerinin birbirleri ile iletişimini sağlamak içinde bir data yolu gereklidir. Tüm bunlar maliyet artırıcı unsurlar olarak karşımıza çıkar ve baskı devre üzerinde de fazladan yer işgaline sebep olur. Mikrodenetleyicilerde ise çevresel birimler hariç ihtiyaç duyulan tüm birimler tek bir yonga içinde yer alır. Bu durum bize hem maliyet hem tasarım alanı hem de programlamada pozitif bir katkı sağlamaktadır.
Günümüzde mikrodenetleyici üreten birçok firma bulunmaktadır. Microchip, ATMEL, Intel, Motorola, Maxim-Dallas, Parallax, Phillips, Zilog bu firmalardan başlıcalarıdır. En yaygın olarak bilinen firma ise Microchip’ tir. Üretimiş olduğu mikrodenetleyici ürünlerine ise PIC (Peripheral Interface Controller) ismini vermektedir. Farklı özelliklerde mikrodenetleyici ürünlerini üreten Microchip firmasının popüler olmasındaki asıl etken ise, ürünlerin donanım yapısındaki zenginliği, ucuz oluşu ve piyasada yaygın olarak kullanılmasıdır. Şunu da belirtmek gerekir ki her firmanın üretmiş olduğu denetleyiciye uygun olan komutlar kullanılarak programlama yapılabilmektedir. Bu farklılık programlayıcılar için zaman zaman can sıkıcı olabilse de mikrodenetleyici programlamasına aşina olan biri uyum süresini de kolay atlatabilmektedir.
Bir Mikrodenetleyici Programlaması İçin Gerekenler
Sonuç
Yazının bütününde mikroişlemci ve mikrodenetleyicinin ne olduğuna, aralarındaki ince çizgiye ve mikrodenetleyici ürünlerini üreten yaygın firmalara değinilmiştir. Ayrıca bir mikrodenetleyici programlamasının yapılması için gerekli argümanlara yer verilmiştir. Bu argümanların kullanılması suretiyle de lise yıllarında gerçekleştirmiş olduğum basit bir uygulamayı da sizlerle paylaşıyorum, tıklayınız: 8 Ledli Havada Kayan Yazı