MCU nedir?
MCU (Micro Controller Unit) karmaşık lojik fonksiyonları tek bir entegrede toplayıp sunan bir cihazdır.
Genelde başlı başına bir sistem olmayıp, başka bir sistemi yönetmek amacıyla kullanılır. MCU'lar klasik mikroişlemcili sistemlerden farklı olarak program belleği, RAM, I/O ve CPU bir aradadır.
Mcu'lar assembler, C veya PLC ile programlanır. PIC16Fxx serisi mcu'lar 35 adet assembler komutuna shiptir. Yazacağınız programları PIC' lerin üreticisi firmasından temin edebileceğiniz MP-LAB programıyla derleyip simule edebilirsiniz.
Ayrıca HT-SOFTWARE firması tarafından hazırlanan Pic-C tipi pic programlama dillerinide MB-LAB ile entegre kullanabilirsiniz. Kullanılacak olan programlama dili tamamıyla kullanıcının seçimine kalmıştır. Aynı zamannda C dışında PicBasic ve PicPascal dilleride değişik firmalarden temin edilebilir.
Gömülü sistemler, bilgisayarın kontrol ettiği cihaz tarafından içerildiği, cep telefonu, ADSL modem, , şifreli yayın alıcıları gibi günlük kullanımda olan; üretim kontrolü, kalite kontrolü sistemleri gibi endüstriyel alanda kullanılan veya uçuş kontrolü, güdüm, şifreleme, görüntüleme gibi askeri alanlarda kullanılan; özel amaçlı sistemlerdir.
Genel maksatlı -kişisel bilgisayar gibi- sistemlerden farklı olarak, gömülü bir sistem kendisi için önceden özel olarak tanımlanmış görevleri yerine getirir. Sistem belirli bir amaca yönelik olduğu için tasarım mühendisleri ürünün boyutunu ve maliyetini azaltarak sistemi optimize edebilirler.
Gömülü sistemler genellikle büyük miktarlarda üretildiği için maliyetin düşürülmesinden elde edilecek kazanç, milyonlarca ürünün katları olarak elde edilebilir. Gömülü sistemler, yıllarca hatasız bir şekilde çalışacağı varsayılan donanımların içinde bulunur. Bu yüzden gömülü sistem içindeki yazılımlar, kişisel bilgisayar içinde olanlardan daha dikkatli bir şekilde geliştirilip test edilir.
Mikroişlemci ve MCU arasındaki fark nedir?
Genelde bu ikisi karıştırılır ve birbirinin yerine kullanılır. İkisinin arasındaki temel fark; mikroişlemcinin içinde sadece CPU (Central Processing Unit) bulundurmasıdır. İntel’in, AMD’nin ürettikleri mikroişlemcidir.
Mikrodenetleyicinin(MCU) içinde ise bellek ve çevresel birimler vardır. Microchip, Atmel gibi şirketlerin ürettikleri PIC, AVR gibi IC’ler mikrodenetleyicidir. Yeri gelmişlen “IC ne demektir?” sorusuna da cevap verelim; IC, integrated circuit (entegre devre) demektir. Küçük bir kılıfın içine yerleştirilen belirli bir amaç için tasarlanan devredir.
Mikroişlemci = CPU
Mikrodenetleyici (MCU-Microcontroller Unit) = CPU + çevresel birimler + bellek
Çevresel birimler = Timerlar, iletişim birimler (UART, SPI, I2C vs.), ADC vs.
Bellek = EEPROM.
Mikrodenetleyiciler nasıl programlanır?
Mikrodenetleyiciler belirli görevleri yapmaları için tasarlanmışlardır. Mikrodenetleyicilerin I/O (Input/Output) denilen “bacak”ları vardır. Genelde pinlere Türkiye’de bacak denir. Bir kaç tane bacak bir araya gelerek portları oluşturur; A portu, B portu gibi.
Giriş çıkış bacakları, belirli girişlerde çıkış bacağının nasıl tepki vermesi isteniyorsa o şekilde programlanır. Örneğin buzdolabının kapağı 30 saniye boyunca açık kaldığında ses çıkarması mikrodenetleyici ile yapılan bir özelliktir.
Kapak açıldığında, kapaktaki buton açılır. Kapaktaki buton mesela B4 (B portu 4. bacak) pinine, ses çıkaran buzzer (mini hoparlör) da B5 pinine bağlı diyelim. B4 pini yapılan yazılımla gözlenir. Program şu şekilde yazılır; B4 pini açık olduğunda 30 saniye bekle, eğer kapanmazsa B5 pinini high (0-1 mantığındaki 1 high; 0 lowdur) et.
Örnekten de anlayacağınız gibi giriş çıkışlar gözlenerek yorumlanmasına mikrodenetleyici programlama denir. Özetle, gömülü sistem belirli bir amaca yönelik tasarlanmış sistemlerdir.