Mikrodenetleyiciler

MİKRODENETLEYİCİLER
Mikrodenetleyici Mimarisi

Mikrodenetleyici programlanabilme, bir programı içerisinde depolayıp daha sonra çalıştırabilme özelliklerine sahip tek bir chip ’ten oluşan bilgisayardır. Bu özelliği mikrodenetleyicileri mikroişlemcilerden ayıran özelliğidir. Mikrodenetleyiciler bir CPU, RAM-ROM, input-output uçları, seri ve paralel portlar, sayıcılar ve bazı mikrodenetleyicilerde de Analog ‘dan Dijital ’e ya da Dijital’ den Analog’ a çeviriciler bulunur. Mikroişlemciler kullanarak oluşturulan sistemlerde ise bu özelliklerin her biri için mikroişlemci bulunur. Mikro denetleyicileri mikroişlemcilerden ayıran diğer bir özellikleri gerçek zamanlı uygulamalarda çalışmalarıdır. Gerçek zamanlı uygulamalarda işlemcinin dışındaki elektronik ortamdan gelen işaretler çok hızlı değişim gösterebilir. Bu nedenle bunları işleyip gereken çıkışları aynı hızlılıkta dış dünyaya uygulamak gerekebilir. Mikrodenetleyiciler böyle bir performansı, çok küçük boyutlarda ve çok daha az güç tüketerek gerçekleştirebilirler. Öte yandan mikrodenetleyicilerin matematik işlem yapma yeteneklerinin kısıtlı olduğundan, çok çeşitli on-chip çevre birimlerine sahip olmakla birlikte bunların kapasitelerinin de sınırlı olması nedeniyle bir mikroişlemcinin kullanıldığı yerler için uygun değildir. Sonuç olarak mikroişlemciler ve mikrodenetleyiciler temelde aynı alt yapı çalışma mantığına sahip olmakla birlikte kullanım yeri ve amacına göre iki ayrı grup olarak değerlendirilebilir.

Bellek Organizasyonu
Program Belleği
Program belleği her biri 2K’lık 4 sayfadan oluşmaktadır. Her sayfa belirli adresleri içerir. Adreslere erişim program sayacı ile sağlanır. Program sayacı 13 bit’ lik ve 8Kx14 değerinde adresleme kapasitesine sahiptir. 14 sayısı denetleyicilerdeki komut uzunluğu uzunluğudur. Bu sayede 8x1KB=8192 kadar program belleği adreslenebilmektedir. Bu denetleyicilerde Reset vektörünün adres 0000h ve kesme vektörünün adresi ise 0004H’tır.

Veri Belleği
Veri belleği kendi içinde, bank adı verilen sayfalara bölünmüştür. Bunların her birinin başında özel fonksiyonlu kaydedici alanı ve daha sonra da genel amaçlı kaydedici alanı bulunur. Özel işlem kaydedicileri mikrodenetleyicinin işlemini kontrol eder. Bu kayıtlar geçicidir. Enerji kesildiğinde veya yapılan değişikliklerde adreslerdeki bilgi silinir veya değişir. Bazı özel işlem kaydedicileri bir banktan, daha çok bankta yer alır. Bu yöntem, erişimi hızlandırma amaçlı olup, çok kullanılan kaydedicilerin görüntüsü ayna gibi diğer banklara yansıtılmıştır. Böylece bu kaydedicilere erişmek için sık sık bank değiştirilmesi gereği ortadan kaldırılmış ve programlamaya kolaylık sağlamıştır.    

ROM
Salt okunur bellek içerisinde bulunan verilerin okunmasına izin veren fakat verilerin değiştirilmesine izin vermeyen bellek türüdür.

OTP Rom
Bir defa programlanabilen bu tür ROM’lar programlama işinin üretici firma yerine müşteri tarafından yapılmasına olanak sağlar. Özel programlama donanımı ile programcı kodunu bir defaya mahsus olmak üzere ROM’a yükler.

EPROM
Silinebilir/Programlanabilir ROM kullanımı daha kolaydır çünkü programlama ve silme işlemleri aynı anda ve yavaş bir ultaviole ışığı ile silme süreci olmadan yapılabilir. EPROM ve EEPROM belirli bir programlama kapasitesine sahiptir. Yaklaşık olarak 1000 defa programlama yapılabilmektedir.


EEPROM
Elektriksel olarak silinebilir PROM’ un kullanımı daha kolaydır çünkü programlama ve silme işlemleri aynı anda ve yavaş bir ultaviole ışığı ile silme süreci olmadan yapılabilir. EPROM ve EEPROM belirli bir programlama kapasitesine sahiptir. Yaklaşık olarak 1000 defa programlama yapılabilmektedir.

Kesmeler
Kesme, ana program çalışırken, belirli olaylar gerçekleştiğinde yapılması gerekli adımların çalıştırılmasına öncelik sağlar. Kesmeler bir programın daha önemli başka bir görevin yerine getirilmesi için kesilmesine izin veren bir mekanizmadır. Bu görevler tuş takımından bir karakter okunması veya farenin yeni koordinatlarının alınması gibi işlemler olabilir. Kesmeler tarafından idare edilecek olaylar sadece donanım tasarımlarının hayal gücüyle sınırlıdır. Peki bu niye bu kadar önemli? Eğer kesmeler oluşmasaydı, her programın bu olayları kontrol etmesi gerekirdi. Yazılım kendi çalışmasını kesip, giriş aygıtlarındaki verileri kontrol etmek zorunda kalacaktı. Kontrol edilecek verilerin ulaşma sıklığı az olmadığı sürece, tüm olayların yakalanma şansı böyle bir yöntemle oldukça düşük olacaktı.

Zamanlayıcılar ve Sayıcılar
Zamanlayıcılar
Zamanlayıcılar, CPU dâhili saatini kullanarak saniye veya saniyenin katları şeklinde sayar. Bu zamanlayıcının ayarlanmış olan zaman süresi ön ayar olarak ayarlanır. Pek çok üreticinin zamanlayıcıları, önceden belirlenmiş bir süre sonunda kontak kapatılması veya açılması sonucu bobini enerjilenen röleler gibi davranmaktadır. Böylece zamanlayıcı başka bir satır ya da basamağı tetikleyen bir çıkış değeri üretir. Zamanlayıcının başka bir fonksiyonu da gecikme işlemini yerine getirmesidir.

Sayıcılar
Giriş darbelerine bağlı olarak, belirli bir durum dizisini tekrarlayan lojik devrelere sayıcı denir. Dijital elektronikte sayıcıların önemi çok büyüktür. Genel olarak sayıcı, flip-flopların uygun şekilde bağlanmalarıyla elde edilir. Sayıcılar dijital ölçü, kumanda ve kontrol tesislerinin en önemli elemanlarından biridir. Örneğin; bilgisayarlarda iç programın sıralanmasını kontrol etmek için, zamanı temsil etmek üzere, saat darbeleri sürekli olarak sayıcılarla sayılır. 

PWM Modülleri
PWM, üretilecek olan darbelerin, genişliklerini kontrol ederek, çıkışta üretilmek istenen analog elektriksel değerin veya sinyalin elde edilmesi tekniğidir. PWM elektrik ve elektronikte birçok alanda, farklı amaçlar için kullanılmaktadır. Telekomünikasyon, güç, voltaj düzenleyiciler, ses üreteçleri veya yükselteçler gibi çeşitli uygulama alanları ve farklı uygulamaları bulunmaktadır. Heralde günümüzde PWM ’in en çok duyulduğu yer, güç kaynaklarıdır. SMPS güç kaynakları, düzenlenecek olan çıkış voltajlarını bu teknikten yararlanarak elde etmektedirler. Bu sayede, yüksek akım ve düşük voltajlı güç elde edinimleri için, transformatörlerden çok daha etkini ve çok daha küçüklerdir. Bilgisayarınızın kasasındaki güç kaynağını düşündüğünüzde, 350Wattlık çıkış gücüne sahip olan bir güç kaynağının nasıl bu kadar küçük ve etkin tasarlandığının cevabı SMPS olmasıdır.

Seri İletişim
Seri haberleşmede biri veri, diğeri GND olmak üzere iki tel yeterli olduğundan dolayı seri haberleşmeye geçilmiştir. Seri veri iletimi, bir veri içindeki bitlerin aynı hat üzerinden art arda gönderilmesidir. Bilgisayar ağlarında kullanılan iletişim seri iletişimdir. Seri veri iletiminde, bir kerede bir karakterin sadece bir biti iletilir. Alıcı makine, doğru haberleşme için karakter uzunluğunu, başla-bitir bitlerini ve iletim hızını bilmek zorundadır. Paralel veri iletiminde, bir karakterin tüm bitleri aynı anda iletildiği için başla-bitir bitlerine ihtiyaç yoktur. Dolayısıyla doğruluğu daha yüksektir. Paralel veri iletimi, bilginin tüm bitlerinin aynı anda iletimi sebebiyle çok hızlıdır. Seri iletişim asenkron seri iletişim ve senkron seri iletişim olmak üzere iki çeşittir:

Asenkron Seri İletişim
Herhangi bir zamanda veri gönderebilir. Veri gönderilmediği zaman hat boşta kalır. Senkron seri iletişimden daha yavaştır. Her veri grubu ayrı olarak gönderilir. Gönderilen veri bir anda bir karakter olacak şekilde hatta bırakılır. Karakterin başına başlangıç ve sonunda hata sezmek için başka bir bit eklenir. Başlangıç için başla biti(0), veri iletişimini sonlandırmak için ise dur biti (1) kullanılır.

Senkron Seri İletişim
Senkron iletişim alıcı ve vericinin eş zamanlı çalışması anlamına gelir. Önce gönderici taraf belirli bir karakter gönderir. Bu her iki tarafça bilinen iletişime başlama karakteridir. Alıcı taraf bu karakteri okursa iletişim kurulur. Verici bilgileri gönderir. Transfer işlemi veri bloku tamamlanana ya da alıcı verici arasındaki eşleme kayboluncaya kadar devam eder.

I2C ve SPI İletişim Protokolü
I2C İletişim Protokolü
Arduino, diğer arduino veya sensörlerle haberleşmek için bazı haberleşme protokolleri kullanır. Bu protokollerden birisi de I2C’dir. I2C, seri haberleşme türlerinden senkron haberleşmeye bir örnektir. Haberleşme için toprak hattı dışında SDA ve SCL olmak üzere iki hatta ihtiyaç duyulmaktadır. Hat sayısının fazla olması nedeniyle, uzun mesafeli haberleşmelerde tercih edilmez. Genellikle kısa mesafeli ve düşük veri aktarım hızının yeterli olduğu yerlerde kullanılır. I2C haberleşmesinde, haberleşmeyi kontrol eden master cihazı bulunur. Her haberleşmede bir tane master bulunmalıdır. Haberleşmenin sağlanabilmesi için haberleşme hattına en az bir adet slave cihaz bağlanmalıdır. Hatta bağlanan birden fazla slave cihazlardan hangisinin veri aktaracağına, master cihaz karar verir. Böylece hat sayısında bir değişiklik olmadan birden fazla cihazla haberleşme sağlanır.
 

Master ve slave cihazların aynı beslenme hattına bağlanmasına gerek yoktur. Fakat iletişimin sağlanması için toprak hatlarının aynı olması gerekir. Bunun yanında veri aktarımı için SDA ve SCL olmak üzere iki adet haberleşme hattı bulunur. Bu hatlardan SDA, cihazlar arasındaki veri aktarımının sağlandığı hattır. Bu hatta çift yönlü veri aktarımı olur. Hatta aktarılan verilerin senkronizasyonu, SCL hattı tarafından gerçekleştirilir. SCL hattında master cihaz tarafından üretilen saat sinyali bulunur. SDA hattındaki haberleşme, bu sinyale göre düzenlenir.
 SPI İletişim Protokolü
SPI, Arduino’nun desteklediği senkron seri haberleşme türlerinden biridir. Özellikle ve kullanım olarak I2C’ye benzer. Bir Arduino'nun diğer Arduino veya sensörlerle kısa mesafede haberleşmesini sağlar. SPI protokolünde de I2C'de olduğu gibi bir adet Master cihaz bulunur. Bu cihaz hatta bağlı çevresel cihazları kontrol eder.
Master ve çevresel cihazlara bağlanan MISO, MOSI ve SCK olmak üzere üç adet SPI hattı bulunur.
1.MISO: Çevresel cihazlardan (slave) yollanan verilerin master cihaza aktarıldığı hattır.
2.MOSI: Master cihazdan yollanan verilerin çevresel cihazlara aktarıldığı hattır.
3.CK: SPI haberleşmesinde senkronu sağlayan saat sinyalinin bulunduğu hattır. Saat sinyali master cihaz tarafından üretilir.
MISO ve MOSI hatlarından da anlaşıldığı gibi SPI protokolünde I2C'den farklı olarak veri hatları tek yönlüdür. Ayrıca çevresel cihazların (slave) adreslerinin olmasına gerek yoktur. Her çevresel cihazın seçim ayağı bulunur. Bu ayağa, SS (Slave Select) denir. Bu hattın sayısı kullanılan çevresel cihazların sayısı kadardır. Her cihaz için master cihazından ayrı SS hattı çıkar. SS hattı LOW (0 volt) düzeyinde olan çevresel cihaz, master cihaz ile iletişime başlar.
Örnek bir SPI haberleşme hattı aşağıdaki resimde gösterilmiştir. Resimde de görüleceği üzere, Master cihazdan çevresel cihaz sayısı kadar SS çıkışı bulunur. Master cihaz iletişime geçmek istediği çevresel cihazın SS pinini LOW (0 Volt) düzeyine çeker.

Yorumlar

Bu blogdaki popüler yayınlar

VLSI Devre Tasarımı

Yapay Sinir Ağlarına Giriş

İnsan Bilgisayar Etkileşimi