Mikrodenetleyici (mikrodenetleyiciye İngilizcede kısaca MCU, MC, UC veya μC de denir) bir VLSI entegre devre çipinde küçük bir bilgisayar'dır. Mikrodenetleyici, bellek ve programlanabilir (giriş/çıkış) çevre birimleri ile birlikte bir veya daha fazla CPU ('ni) kapsar.
Çipte genellikle , NOR flaş veya OTP ROM biçiminde program belleği ve ayrıca biraz da RAM bellek vardır. Mikrodenetleyiciler kişisel bilgisayarlarda kullanılan mikroişlemcilerin veya çeşitli ayrı ayrı çiplerden oluşan diğer genel amaçlı uygulamaların aksine gömülü uygulamalar için tasarlanır.
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.
Yaygın türler
Gömülü tasarım
Mikrodenetleyici işlemci, bellek ve çevre birimleri ile bağımsız bir sistemdir ve gömülü sistem olarak kullanılabilir. Günümüzdeki mikrodenetleyicilerin çoğu otomobil, telefon, çeşitli cihazlar ve bilgisayar sistemleri için çevre birimleri gibi diğer makinelerde gömülüdür.
Bazı gömülü sistemler çok karmaşık olsa da birçoğunun bellek ve program uzunluğuna minimum gereksinimi vardır, işletim sistemi yoktur ve yazılımı nispeten sadedir. Tipik giriş ve çıkış cihazları arasında elektrik anahtarları, 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. veri sensörleri 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 insanla etkileşimli her türlü cihaz da olmayabilir.
Kesintiler
Mikrodenetleyiciler, kontrol ettikleri gömülü sistemdeki olaylara gerçek zamanlı (öngörülebilir ama illa hızlı olmasa da) tepki vermelidir. Belirli olaylar olduğunda kesme sistemi, işlemciye mevcut komut dizisini işlemeyi durdurmasını ve asıl komut dizisine dönmeden önce kesme kaynağında kesme hizmeti rutinini (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 girişte mantık düzeyindeki bir değişiklik ve iletişim bağlantısında alınan veri 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 az güçlü uyku durumundan uyandırabilir.
Programlar
Harici, genişletilebilir bellekli bir sistemi sağlamak pahalı olacağından, genellikle mikrodenetleyici programları çipin belleğine sığmalıdır. Derleyiciler ve birleştiriciler, hem hem de assembly dil kodlarını mikrodenetleyicinin belleğine depolamak için küçük bir makine kodu'na dönüştürmede kullanılır. Cihaza bağlı olarak, program belleği kalıcı olabilir, yalnızca fabrikada programlanabilen sadece okunur bellek veya sahada değiştirilebilir flaş bellek 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 çeşitlerini ürettiler. Başlangıçta bunlar cihazın üstünde program belleğinin ultraviyole ışıkla silinebildiği programlama ("yakma") ve test döngüsünden sonra yeniden programlamaya hazır "pencere"li EPROM sürümleriydi. 1998'den beri EPROM sürümleri nadirdir ve yerini kullanımı daha kolay (elektronik olarak silinebilir) ve üretimi daha ucuz olan EEPROM ve flaş ile değiştirdi.
ROM'a dahili bellek yerine harici bir cihaz olarak erişilen diğer sürümler de var olabilir ama bunlar ucuz mikrodenetleyici programcılarının yaygın bulunduğundan nadir hale gelmektedir.
Mikrodenetleyicide sahada programlanabilir cihazların kullanılması, donanım yazılımının sahada güncellenmesine veya monte edilmiş ancak henüz sevk edilmemiş ürünlerde geç fabrika revizyonlarına imkan 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 mikrodenetleyici, uygulamanın gereksinimlerine uyarlanmış çevre birimleri ve için kişiselleştirilebilen bir dijital mantık bloğu içerir. Buna bir örnek, Atmel firmasının AT91CAP'idir.
Diğer mikrodenetleyici özellikleri
Mikrodenetleyicilerin genellikle birkaç ila düzinelerce genel amaçlı giriş/çıkış pini (GPIO) vardır. GPIO pinleri giriş veya çıkış durumuna göre yapılandırılabilen yazılımlardır. GPIO pinleri giriş durumuna yapılandırıldığında genellikle sensörleri veya harici sinyalleri okumak için kullanılır. Çıkış durumuna göre yapılandırılan GPIO pinleri LED veya motor gibi harici cihazları harici güç elektronik devresi aracılığıyla dolaylı olarak çalıştırırır.
Birçok gömülü sistemin analog sinyal veren sensörleri okuması gerekir. Analog dijital dönüştürücü'nün (ADC) amacı budur. İşlemciler 1 ve 0 gibi dijital verileri yorumlamak ve işlemek için yapıldığından kendisine cihaz tarafından gönderilebilecek analog sinyallerle hiçbir şey yapamazlar. Böylece analog dijital dönüştürücü gelen veriyi işlemcinin tanıyabileceği şekle dönüştürmek için kullanılır. Bazı mikrodenetleyicilerde işlemcinin analog sinyal veya voltajı vermesini sağlayan Dijital Analog Dönüştürücü (DAC) vardır.
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. PIT ya bir değerden sıfıra kadar geri sayım ya da sıfıra taşarak sayım kaydının kapasitesine kadar sayım yapar. Sıfıra ulaştığında, işlemciye sayımın bittiğini belirten bir kesme gönderir. Bu özellik, klimayı, ısıtıcıyı vb. açmaları gerekip gerekmediğini görmek için çevresindeki sıcaklığı periyodik olarak kontrol eden termostat gibi cihazlar için kullanışlıdır.
Özel Darbe Genişlik Modülasyon (PWM) bloğu CPU'nun kısa zamanlayıcı döngülerinde CPU kaynağını kullanmadan CPU'nun güç dönüştürücüleri, direnç yükünü, motorları vb. kumanda etmesini mümkün kılar.
Evrensel Asenkron Alıcı/Verici (UART) bloğu, CPU üzerinde çok az yük ile seri hat üzerinden veri alıp iletmeyi mümkün kılar. Adanmış çip üstü donanımı, Inter-Integrated Circuit (I²C), Seri Çevre Birimi Arayüzü (SPI), Evrensel Seri Veri Yolu (USB) ve Ethernet gibi dijital biçimlerde diğer cihazlarla (yongalar) iletişim kurma yeteneklerini de kapsar.
Daha çok entegrasyon
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:
- küçük ve basit 4-bit işlemcilerden karmaşık 32-bit veya 64-bit işlemcilere kadar merkezi işlem birimi –
- veri depolama için geçici bellek (RAM)
- program ve çalışma parametresi depolaması için ROM, EPROM, EEPROM veya flaş bellek
- bireysel bir paket piminin mantık durumunun kontrolüne veya algılanmasına izin veren ayrı giriş ve çıkış bitleri
- seri bağlantı noktaları (Üniversal Asenkron Alıcı Verici (UART)'ler) gibi seri (giriş/çıkış)
- sistem ara bağlantısı için I²C, Serial Peripheral Interface ve Controller Area Network gibi diğer seri iletişim arayüzleri
- zamanlayıcılar, olay sayaçları, PWM üreteçleri ve bekçi köpeği gibi çevresel cihazlar
- saat üreteci – genellikle bir kuvars zamanlama kristali, rezonatör veya RC devresi için bir osilatör
- birçoğu analogdan dijitale dönüştürücüler içerir, bazıları dijitalden analoğa dönüştürücüler içerir
- devre içi programlama ve devre içi hata ayıklama desteği
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, 1970'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. Ö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.
Programlama ortamları
Mikrodenetleyiciler orijinal olarak yalnızca Assembly dili ile programlanmıştır ama C, Python ve JavaScript gibi çeşitli yüksek seviyeli programlama dilleri de şimdi mikrodenetleyicileri ve gömülü sistemleri hedeflemek için yaygın kullanılmaktadır.
Genel amaçlı diller için Derleyiciler, mikrodenetleyicilerin benzersiz özelliklerini daha iyi desteklemek için bazı kısıtlamalara ve geliştirmelere sahiptir. Bazı mikrodenetleyiciler, belirli uygulama türlerinin geliştirilmesine yardımcı olacak ortamlara sahiptir. Mikrodenetleyici satıcıları, donanımlarını benimsemeyi kolaylaştırmak için bu araçları genellikle ücretsiz olarak sunar.
Özel donanıma sahip mikrodenetleyiciler, donanım özellikleriyle ilgisi olmayan kodlar için bile standart araçların (kod kitaplıkları veya statik analiz araçları gibi) kullanılmasını engelleyen Small Device C Compiler(8051 için SDCC) gibi kendi standart olmayan C lehçelerine ihtiyaç duyabilir.
CircuitPython çatalı, donanım bağımlılıklarını kitaplıklara taşımaya ve dili daha CPython standardına uygun hale getirmeye çalışsa da yorumlayıcılar, MicroPython gibi standart olmayan özellikler de içerebilir.
Bazı mikrodenetleyiciler için tercüman sabit yazılımı da mevcuttur. Örneğin, ilk mikrodenetleyicilerde Intel 8051 BASIC; Zilog Z8'de BASIC ve FORTH yanı sıra bazı modern cihazlardaki gibi. Genellikle bu tercümanlar etkileşimli programlamayı destekler.
Simülatörler, bazı mikrodenetleyiciler için mevcuttur. Bunlar, geliştiricinin, gerçek kısmı kullanıyorlarsa mikrodenetleyicinin ve programlarının davranışının ne olması gerektiğini analiz etmesine olanak tanır. Bir simülatör dahili işlemci durumunu ve ayrıca çıkışların durumunu gösterecek ve ayrıca giriş sinyallerinin üretilmesine izin verir. Bir yandan çoğu simülatör, sistemdeki diğer pek çok donanımı simüle edememekle sınırlı olacak olsa da, aksi takdirde fiziksel uygulamada istendiğinde yeniden üretilmesi zor olabilecek koşulları uygulayabilir ve hata ayıklama ve problemleri analiz etmenin en hızlı yolu olabilir.
Yeni mikrodenetleyiciler genellikle, bir devre içi emulator (ICE) tarafından JTAG aracılığıyla erişildiğinde, bir hata ayıklayıcı ile sabit yazılımın hata ayıklamasına imkan veren çip üzerinde Hata ayıklama devresi ile entegre edilmiştir. Gerçek zamanlı bir ICE, çalışırken dahili durumların görüntülenmesine ve/veya değiştirilmesine izin verebilir. Bir izleyici ICE, bir tetikleme noktasından önce/sonra yürütülen programı ve MCU durumlarını kaydedebilir.
Kaynakça
- ^ Heath, Steve (2003). Embedded systems design. EDN series for design engineers (2 bas.). Newnes. ss. 11-12. ISBN .
- ^ David Harris & Sarah Harris (2012). Digital Design and Computer Architecture, Second Edition, p. 515. Morgan Kaufmann. .
- ^ "Easy Way to build a microcontroller project". 24 Ocak 2023 tarihinde kaynağından . Erişim tarihi: 24 Ocak 2023.
- ^ Mazzei, Daniele; Montelisciani, Gabriele; Baldi, Giacomo; Fantoni, Gualtiero (2015). "Changing the programming paradigm for the embedded in the IoT domain". 2015 IEEE 2nd World Forum on Internet of Things (WF-IoT). Internet of Things (WF-IoT), 2015 IEEE 2nd World Forum on. Milan: IEEE. ss. 239-244. doi:10.1109/WF-IoT.2015.7389059. ISBN .
- ^ "8052-Basic Microcontrollers" 9 Şubat 2014 tarihinde Wayback Machine sitesinde . by Jan Axelson 1994
- ^ Edwards, Robert (1987). "Optimizing the Zilog Z8 Forth Microcontroller for Rapid Prototyping" (PDF). Martin Marietta: 3. 27 Eylül 2012 tarihinde kaynağından (PDF). Erişim tarihi: 9 Aralık 2012.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Mikrodenetleyici mikrodenetleyiciye Ingilizcede kisaca MCU MC UC veya mC de denir bir VLSI entegre devre cipinde kucuk bir bilgisayar dir Mikrodenetleyici bellek ve programlanabilir giris cikis cevre birimleri ile birlikte bir veya daha fazla CPU ni kapsar Infineon tarafindan uretilmis 8051 tabanli bir mikrodenetleyici8 bitlik bir mikrodenetleyici olan Intel 8742 nin ayni cipte calisan 12 MHz CPU 128 bayt RAM bellegi 2048 bayt EPROM bellegini ve I O i iceren entegre devre kalibiIki ATmega mikrodenetleyici Cipte genellikle NOR flas veya OTP ROM biciminde program bellegi ve ayrica biraz da RAM bellek vardir Mikrodenetleyiciler kisisel bilgisayarlarda kullanilan mikroislemcilerin veya cesitli ayri ayri ciplerden olusan diger genel amacli uygulamalarin aksine gomulu uygulamalar icin tasarlanir Kisitli miktarda olmakla birlikte yeterince hafiza birimlerine ve giris cikis uclarina sahip olmalari sayesinde tek baslarina calisabildikleri gibi donanimi olusturan diger elektronik devrelerle irtibat kurabilir uygulamanin gerektirdigi fonksiyonlari gerceklestirebilirler Uzerlerinde analog dijital cevirici gibi tumlesik devreler barindirmalari sayesinde algilayicilardan her turlu verinin toplanmasi ve islenmesinde kullanilabilmektedirler Ufak ve dusuk maliyetli olmalari gomulu uygulamalarda tercih edilmelerini saglamaktadir Mikrodenetleyiciler siradan mikroislemcilere nazaran asagida listelenen 4 temel avantajlari sayesinde elektronik sanayinde gunumuzde oldukca buyuk bir uygulama alanina sahiptirler oldukca kucuk boyutludurlar cok dusuk guc tuketimine sahiptirler dusuk maliyetlidirler yuksek performansa sahiptirler Ornegin en basit elektronik saatlerden otomatik camasir makinelerine robotlardan fotograf makinelerine LCD monitorlerden biyomedikal cihazlara ve endustriyel otomasyondan elektronik bilet uygulamalarina kadar pek cok elektronik uygulamada mikrodenetleyiciler kullanim alani bulmuslardir Yaygin turler6800 8051 PSoC PIC AVRGomulu tasarimMikrodenetleyici islemci bellek ve cevre birimleri ile bagimsiz bir sistemdir ve gomulu sistem olarak kullanilabilir Gunumuzdeki mikrodenetleyicilerin cogu otomobil telefon cesitli cihazlar ve bilgisayar sistemleri icin cevre birimleri gibi diger makinelerde gomuludur Bazi gomulu sistemler cok karmasik olsa da bircogunun bellek ve program uzunluguna minimum gereksinimi vardir isletim sistemi yoktur ve yazilimi nispeten sadedir Tipik giris ve cikis cihazlari arasinda elektrik anahtarlari role ler solenoid ler LED ler kucuk veya ozel sivi kristal ekran lar radyo frekans cihazlari ve sicaklik nem isik seviyesi vb veri sensorleri bulunur Gomulu sistemlerde genellikle klavye ekran disk yazici veya kisisel bilgisayar gibi diger taninabilir I O cihazlar yoktur ve insanla etkilesimli her turlu cihaz da olmayabilir Kesintiler Mikrodenetleyiciler kontrol ettikleri gomulu sistemdeki olaylara gercek zamanli ongorulebilir ama illa hizli olmasa da tepki vermelidir Belirli olaylar oldugunda kesme sistemi islemciye mevcut komut dizisini islemeyi durdurmasini ve asil komut dizisine donmeden once kesme kaynaginda kesme hizmeti rutinini ISR veya kesme isleyicisi baslatmasi icin sinyal verebilir Olasi kesme kaynaklari cihaza baglidir ve genellikle dahili zamanlayici tasmasi analogdan dijitale donusturmenin tamamlanmasi bir dugmeye basilmasi gibi giriste mantik duzeyindeki bir degisiklik ve iletisim baglantisinda alinan veri gibi olaylari icerir Batarya cihazlarinda oldugu gibi guc tuketiminin onemli oldugu yerlerde kesintiler ayrica bir mikro denetleyiciyi islemcinin cevresel bir olay tarafindan bir sey yapmasi gerekene kadar durduruldugu az guclu uyku durumundan uyandirabilir Programlar Harici genisletilebilir bellekli bir sistemi saglamak pahali olacagindan genellikle mikrodenetleyici programlari cipin bellegine sigmalidir Derleyiciler ve birlestiriciler hem hem de assembly dil kodlarini mikrodenetleyicinin bellegine depolamak icin kucuk bir makine kodu na donusturmede kullanilir Cihaza bagli olarak program bellegi kalici olabilir yalnizca fabrikada programlanabilen sadece okunur bellek veya sahada degistirilebilir flas bellek veya silinebilir salt okunur bellek olabilir Ureticiler hedef sistemin donanimina ve yazilim gelistirmesine yardimci olmak icin genellikle mikro denetleyicilerinin ozel cesitlerini urettiler Baslangicta bunlar cihazin ustunde program belleginin ultraviyole isikla silinebildigi programlama yakma ve test dongusunden sonra yeniden programlamaya hazir pencere li EPROM surumleriydi 1998 den beri EPROM surumleri nadirdir ve yerini kullanimi daha kolay elektronik olarak silinebilir ve uretimi daha ucuz olan EEPROM ve flas ile degistirdi ROM a dahili bellek yerine harici bir cihaz olarak erisilen diger surumler de var olabilir ama bunlar ucuz mikrodenetleyici programcilarinin yaygin bulundugundan nadir hale gelmektedir Mikrodenetleyicide sahada programlanabilir cihazlarin kullanilmasi donanim yaziliminin sahada guncellenmesine veya monte edilmis ancak henuz sevk edilmemis urunlerde gec fabrika revizyonlarina imkan verebilir Programlanabilir bellek yeni bir urunun devreye alinmasi icin gereken hazirlik suresini de azaltir Yuzbinlerce ayni cihazin gerekli oldugu durumlarda uretim sirasinda programlanmis parcalarin kullanilmasi ekonomik olabilir Bu maske programlanmis parcalar ayni zamanda cipin mantigiyla ayni sekilde ortaya konan programa sahiptir Ozellestirilmis bir mikrodenetleyici uygulamanin gereksinimlerine uyarlanmis cevre birimleri ve icin kisisellestirilebilen bir dijital mantik blogu icerir Buna bir ornek Atmel firmasinin AT91CAP idir Diger mikrodenetleyici ozellikleri Mikrodenetleyicilerin genellikle birkac ila duzinelerce genel amacli giris cikis pini GPIO vardir GPIO pinleri giris veya cikis durumuna gore yapilandirilabilen yazilimlardir GPIO pinleri giris durumuna yapilandirildiginda genellikle sensorleri veya harici sinyalleri okumak icin kullanilir Cikis durumuna gore yapilandirilan GPIO pinleri LED veya motor gibi harici cihazlari harici guc elektronik devresi araciligiyla dolayli olarak calistiririr Bircok gomulu sistemin analog sinyal veren sensorleri okumasi gerekir Analog dijital donusturucu nun ADC amaci budur Islemciler 1 ve 0 gibi dijital verileri yorumlamak ve islemek icin yapildigindan kendisine cihaz tarafindan gonderilebilecek analog sinyallerle hicbir sey yapamazlar Boylece analog dijital donusturucu gelen veriyi islemcinin taniyabilecegi sekle donusturmek icin kullanilir Bazi mikrodenetleyicilerde islemcinin analog sinyal veya voltaji vermesini saglayan Dijital Analog Donusturucu DAC vardir Donusturuculere ek olarak bircok gomulu mikroislemci cesitli zamanlayicilari da icerir En yaygin zamanlayici turlerinden biri PIT Programlanabilir Aralikli Zamanlayicidir PIT ya bir degerden sifira kadar geri sayim ya da sifira tasarak sayim kaydinin kapasitesine kadar sayim yapar Sifira ulastiginda islemciye sayimin bittigini belirten bir kesme gonderir Bu ozellik klimayi isiticiyi vb acmalari gerekip gerekmedigini gormek icin cevresindeki sicakligi periyodik olarak kontrol eden termostat gibi cihazlar icin kullanislidir Ozel Darbe Genislik Modulasyon PWM blogu CPU nun kisa zamanlayici dongulerinde CPU kaynagini kullanmadan CPU nun guc donusturuculeri direnc yukunu motorlari vb kumanda etmesini mumkun kilar Evrensel Asenkron Alici Verici UART blogu CPU uzerinde cok az yuk ile seri hat uzerinden veri alip iletmeyi mumkun kilar Adanmis cip ustu donanimi Inter Integrated Circuit I C Seri Cevre Birimi Arayuzu SPI Evrensel Seri Veri Yolu USB ve Ethernet gibi dijital bicimlerde diger cihazlarla yongalar iletisim kurma yeteneklerini de kapsar Daha cok entegrasyonMikrocip Teknolojisi tarafindan 1200 nanometre islemi kullanilarak uretilmis tam statik EEPROM EPROM ROM tabanli CMOS mikrodenetleyici 8 bit PIC12C508 kalibi16 kilobayt flas bellek 24 MHz merkezi islem birimi CPU motor kontrolu ve Tuketici Elektronigi Kontrolu CEC islevleriyle bir STM32F100C4T6B ARM Cortex M3 mikro denetleyicisinin kalibi STMicroelectronics tarafindan uretilmistir Mikrodenetleyiciler CPU ile ayni cipte RAM ve kalici olmayan bellegi birlestikleri icin harici bir adres veya veri yolu uygulayamayabilirler Daha az pin kullanilarak cip cok daha kucuk ve daha ucuz bir pakete yerlestirilebilir Bellegi ve diger cevre birimlerini tek bir cipde tumlestirmek ve bunlari bir birim olarak denemek o cipin maliyetini artirir ama genellikle butun olarak gomulu sistemin net maliyetinin dusmesine neden olur Entegre cevre birimli bir CPU nun maliyeti bir CPU ve harici cevre birimlerinin maliyetinden biraz daha fazla olsa bile daha az cipe sahip olmak daha kucuk ve daha ucuz devre kartina yol acar ve bitmis montaj icin hata oranini dusurme egiliminin yani sira devre kartini takmak ve denemek icin gereken isciligi azaltir Mikrodenetleyici genellikle asagidaki ozellikleri olan tek bir entegre devre dir kucuk ve basit 4 bit islemcilerden karmasik 32 bit veya 64 bit islemcilere kadar merkezi islem birimi veri depolama icin gecici bellek RAM program ve calisma parametresi depolamasi icin ROM EPROM EEPROM veya flas bellek bireysel bir paket piminin mantik durumunun kontrolune veya algilanmasina izin veren ayri giris ve cikis bitleri seri baglanti noktalari Universal Asenkron Alici Verici UART ler gibi seri giris cikis sistem ara baglantisi icin I C Serial Peripheral Interface ve Controller Area Network gibi diger seri iletisim arayuzleri zamanlayicilar olay sayaclari PWM uretecleri ve bekci kopegi gibi cevresel cihazlar saat ureteci genellikle bir kuvars zamanlama kristali rezonator veya RC devresi icin bir osilator bircogu analogdan dijitale donusturuculer icerir bazilari dijitalden analoga donusturuculer icerir devre ici programlama ve devre ici hata ayiklama destegi Bu entegrasyon ayri cipler kullanarak esdeger sistemler uretmek icin gerekli olacak cip sayisini ve kablolama miktarini ve devre kart alanini cok azaltir Ayrica ozellikle az pinli cihazlarda her bir pin yazilim tarafindan secilen pin islevi ile birkac dahili cevre birimine arayuz olusturabilir Bu bir parcanin pimlerin ozel islevlere sahip olmasina gore daha genis bir uygulama yelpazesinde kullanilmasina imkan verir Mikrodenetleyiciler 1970 lerde piyasaya surulduklerinden bu yana gomulu sistemlerde oldukca populer olduklarini kanitladilar Bazi mikrodenetleyiciler Harvard mimarisi kullanir talimatlar ve veriler icin ayri bellek veri yollari erisimlerin eszamanli olarak gerceklesmesine izin verir Harvard mimarisinin kullanildigi durumlarda islemci icin talimat sozcukleri dahili bellek ve yazmaclarin uzunlugundan farkli bir bit boyutunda olabilir ornegin 8 bitlik veri kayitlari ile kullanilan 12 bitlik komutlar Hangi cevre biriminin entegre edilecegine karar vermek genellikle zordur Mikrodenetleyici saticilari genellikle musterilerinin pazara sunma suresi gereksinimlerine ve genel olarak daha az sistem maliyetine karsi calisma frekanslarini ve sistem tasarim esnekligini takas eder Ureticiler cip boyutunu en aza indirme ihtiyacini ek islevsellik ile dengelemek zorundadir Mikrodenetleyici mimarileri cok cesitlidir Bazi tasarimlar pakete entegre edilmis bir veya daha cok ROM RAM veya I O islevli genel amacli mikroislemci cekirdekleri icerir Diger tasarimlar kontrol uygulamalari amacina yoneliktir Bir mikro denetleyici talimat setinde genellikle kontrol programlarini daha kucultmek icin bit manipulasyonu bit tabanli islemler icin tasarlanmis bircok talimat bulunur Ornegin genel amacli bir islemci mikrodenetleyicinin yaygin olarak gerekli islevi saglamak icin tek bir yonergeye sahip olabilecegi durumda bit ayarlanmissa bir kayitta ve dalda bir biti test etmek icin birkac talimat gerektirebilir Mikrodenetleyicilerin geleneksel olarak bir matematik yardimci islemcisi yoktur bu nedenle kayan nokta aritmetigi yazilim tarafindan gerceklestirilir Ancak bazi yeni tasarimlar bir FPU ve DSP icin optimize edilmis ozellikler icerir Microchip in PIC32 MIPS tabanli hatti buna bir ornek olabilir Programlama ortamlariMikrodenetleyiciler orijinal olarak yalnizca Assembly dili ile programlanmistir ama C Python ve JavaScript gibi cesitli yuksek seviyeli programlama dilleri de simdi mikrodenetleyicileri ve gomulu sistemleri hedeflemek icin yaygin kullanilmaktadir Genel amacli diller icin Derleyiciler mikrodenetleyicilerin benzersiz ozelliklerini daha iyi desteklemek icin bazi kisitlamalara ve gelistirmelere sahiptir Bazi mikrodenetleyiciler belirli uygulama turlerinin gelistirilmesine yardimci olacak ortamlara sahiptir Mikrodenetleyici saticilari donanimlarini benimsemeyi kolaylastirmak icin bu araclari genellikle ucretsiz olarak sunar Ozel donanima sahip mikrodenetleyiciler donanim ozellikleriyle ilgisi olmayan kodlar icin bile standart araclarin kod kitapliklari veya statik analiz araclari gibi kullanilmasini engelleyen Small Device C Compiler 8051 icin SDCC gibi kendi standart olmayan C lehcelerine ihtiyac duyabilir CircuitPython catali donanim bagimliliklarini kitapliklara tasimaya ve dili daha CPython standardina uygun hale getirmeye calissa da yorumlayicilar MicroPython gibi standart olmayan ozellikler de icerebilir Bazi mikrodenetleyiciler icin tercuman sabit yazilimi da mevcuttur Ornegin ilk mikrodenetleyicilerde Intel 8051 BASIC Zilog Z8 de BASIC ve FORTH yani sira bazi modern cihazlardaki gibi Genellikle bu tercumanlar etkilesimli programlamayi destekler Simulatorler bazi mikrodenetleyiciler icin mevcuttur Bunlar gelistiricinin gercek kismi kullaniyorlarsa mikrodenetleyicinin ve programlarinin davranisinin ne olmasi gerektigini analiz etmesine olanak tanir Bir simulator dahili islemci durumunu ve ayrica cikislarin durumunu gosterecek ve ayrica giris sinyallerinin uretilmesine izin verir Bir yandan cogu simulator sistemdeki diger pek cok donanimi simule edememekle sinirli olacak olsa da aksi takdirde fiziksel uygulamada istendiginde yeniden uretilmesi zor olabilecek kosullari uygulayabilir ve hata ayiklama ve problemleri analiz etmenin en hizli yolu olabilir Yeni mikrodenetleyiciler genellikle bir devre ici emulator ICE tarafindan JTAG araciligiyla erisildiginde bir hata ayiklayici ile sabit yazilimin hata ayiklamasina imkan veren cip uzerinde Hata ayiklama devresi ile entegre edilmistir Gercek zamanli bir ICE calisirken dahili durumlarin goruntulenmesine ve veya degistirilmesine izin verebilir Bir izleyici ICE bir tetikleme noktasindan once sonra yurutulen programi ve MCU durumlarini kaydedebilir Kaynakca Heath Steve 2003 Embedded systems design EDN series for design engineers 2 bas Newnes ss 11 12 ISBN 9780750655460 David Harris amp Sarah Harris 2012 Digital Design and Computer Architecture Second Edition p 515 Morgan Kaufmann 0123944244 Easy Way to build a microcontroller project 24 Ocak 2023 tarihinde kaynagindan Erisim tarihi 24 Ocak 2023 Mazzei Daniele Montelisciani Gabriele Baldi Giacomo Fantoni Gualtiero 2015 Changing the programming paradigm for the embedded in the IoT domain 2015 IEEE 2nd World Forum on Internet of Things WF IoT Internet of Things WF IoT 2015 IEEE 2nd World Forum on Milan IEEE ss 239 244 doi 10 1109 WF IoT 2015 7389059 ISBN 978 1 5090 0366 2 8052 Basic Microcontrollers 9 Subat 2014 tarihinde Wayback Machine sitesinde by Jan Axelson 1994 Edwards Robert 1987 Optimizing the Zilog Z8 Forth Microcontroller for Rapid Prototyping PDF Martin Marietta 3 27 Eylul 2012 tarihinde kaynagindan PDF Erisim tarihi 9 Aralik 2012