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
Yorum Gönder