Mikroişlemci ve Mikrokontrolörler

Başlatan ibrsel, 19 Kasım 2006, 23:16:33

ibrsel

MIKROISLEMCI NEDIR?


Çok genel bir ifadeyle bir bilgisayarin beyni, esas isi yapan kismi olarak isimlendirilebilecek olan mikroislemciler hakkinda biraz daha ayrintili bir açiklama su sekilde yapilabilir:

Bir dijital bilgisayar üç temel kisimdan olusmaktadir.
Merkezi Islem Birimi - MIB (Central Processing Unit – CPU)
Program ve Veri Hafizalari (Program and Data Memory)
Giris – Çikis Birimleri (Input – Output Units)

Merkezi Islem Birimi (MIB / CPU), verileri isleme ve sistemi olusturan çesitli birimler arasinda bilgi akisi kontrolü islemlerini gerçeklestirir.
Veri islemenin büyük çogunlugu MIB de yer alan Aritmetik Lojik Birim üzerinde gerçeklestirilir. Ancak bu islemlerin gerçeklestirilmesi sirasinda Kod Çözme Kontrol Birimleri ile çesitli Saklayicilar (Registers) da çok yogun olarak kullanilir.

Iste bu merkezi islem birimini olusturan çesitli alt birimlerin tek bir entegre devre üzerinde gerçeklestirilmis – üretilmis haline Mikroislemci (Microprocessor) adi verilir.
Bir mikroislemci kullanilarak hazirlanmis bilgisayarlara mikrobilgisayar denilmektedir. Hafiza ve giris-çikis birimlerinin miktari, türü ve kapasitesi uygulamaya bagli olarak degisir.

Isimlendirmede kullanilan mikro adi ise islemcinin veya bilgisayarin yeteneginin kisitliligini değil, boyutlarinin küçüklügünü belirtmek için kullanilir. Modern gelismis mikroislemcilerde bir kaç milimetre karelik alanda milyonlarca tranzistör yer almaktadir. Örnegin Pentium II islemcisinde (ön hafiza, cache memory) hariç 7.5 milyon adet transistör bulunmaktadir.

Mikroislemcilerin tarihsel gelisimine kisaca bir göz atilacak olursa ilk mikroislemcinin bir hesap makinesinde kullanilmak üzere INTEL firmasi tarafindan 1971 de I4004 adiyla üretilen 4 bitlik bir islemci oldugu görülür. Bu tarihten önce bilgisayarlarin MIB leri önceleri elektron tüpleri ve röleler daha sonraki dönemde ise tranzistörler ve çesitli elektronik devreler kullanilarak hazirlaniyordu. Çok büyük yer kaplayan ve çok güç tüketen bu eski bilgisayarlar ortam sartlarina karsi da çok duyarliydilar. Islem kapasitelerinin çok kisitli olmasinin yani sira sürekli bakim gerektiriyorlardi. Bir fikir vermesi açisindan 1945 de Pennsylvania Üniversitesinde tamamlanan ENIAC isimli ilk bilgisayarin 30 metre boyu ve 30 ton agirligi oldugunu söyleyebiliriz. 18,000 radyo tüpünden olusan cihaz 100 Kwatt güç harcamaktaydi.

1971 deki, bilgisayarin temel elemani kabul edilen MIB ‘in tek bir entegre devre içine sigdirilarak üretimi, yari-iletken teknolojisinde, tranzistörün kesfi gibi bir siçrama gerçeklestirmistir.

INTEL, özel siparis üzerine gelistirdigi 4 bitlik I4004 (1971) ve 8 bitlik I8008 (1972) entegre devrelerine ilk müsterilerinden baska bir ilgi beklemedigi için üretim hattini düsük kapasitede tutmustu. Ancak aksine bu islemciler büyük bir ilgi gördü ve 1974 de genel amaçli ilk 8 bitlik MIB olan I8080 islemcisini üretti.

Bu islemciye büyük bir talep oldu ve kisa bir zamanda I8080 endüstri standardi oldu. Iki yil sonra 1976 da daha gelismis bir model olan I8085 üretildi. Bu arada 1975 yilinda sektörün ikinci önemli ismi olan Motorola firmasi da MC6800 adindaki islemciyi piyasaya sürerek o günden itibaren süre gelen bir yarisa katilmis oldu.

Mikroislemcilerin siniflandirilmasinda önemli bir ölçü olan bit sayisi islemcinin üzerinde ilem yapabildigi en uzun verinin bit sayisini gösterir. Kelime uzunlugu (word lenght) de denilen bu parametre 4 bit, 8 bit, 16 bit, 32 bit gibi degerler alabilmektedir. Bu deger ayni zamanda islemcinin saklayicilarinin ve veri yolunun genisligini de gösterir. Ancak bazen harici ve dahili veri yollari farkli genisliklerde olabilir.

1978 yilinda ilk 16 bitlik islemcisi olan 8086 yi üreten INTEL bir yil sonra 1979 da harici veri yolu genisligi 8 bit olmanin disinda 8086 ile ayni yapiya sahip olan 8088 i piyasaya sürdü. 8088, 1981 de üretilmeye baslanan IBM PC (Personel Computer – Kisisel Bilgisayarlarin) ilk islemcisi olmuştur.

16 bitlik islemcilerde endüstri standardi olan 8086 / 8088 günümüze kadar gelen çesitli ürünlerle X86 ailesi diye isimlendirilen mikroislemci ailesinin çekirdegi (core) olmuştur.



MIKROKONTROLÖRLER


Bir mikrokontrolör, komple bir bilgisayarin (MIB, hafiza ve giris - çikislar) tek bir entegre devre üzerinde üretilmis halidir. Kisitli miktarda olmakla birlikte yeterince hafiza birimlerine ve giris – çikis uçlarina sahip olmalari sayesinde tek baslarina (stand alone) çalisabildikleri gibi donanimi olusturan diger elektronik devrelerle irtibat kurabilir, uygulamanin gerektirdigi fonksiyonlari gerçeklestirebilirler.

Mikrokontrolörler çogunlukla, yer aldiklari uygulama devresinin içine gömülmüs, sadece oraya adanmis olarak kullanilirlar. Bu özellikleri nedeniyle bilgisayarlardaki kullanici uygulama programlarini çalistirma gibi esneklikleri olmamakla birlikte kontrol agirlikli uygulamalarda alternatifsiz seçenek olarak karsimiza çikarlar.

Onlari böyle cazip kilan, çok düsük boyutlu olmalari (az yer kaplamalari), düsük güç tüketimleri, düsük maliyetlerine karsin yüksek performansa sahip olmalari gibi özellikleridir. Motor kontrolünden fotograf makinesi isik ve fokus ayarina, cep telefonlarindan merkezi klima sistemlerine, faks ve fotokopi makinelerinden radyo teyp ve TV lere, fabrika otomasyonundan hayat kurtaran biyomedikal cihazlara, oyuncaklardan askeri cihazlara, cebinizdeki elektronik bilet uygulamasindan cüzdaninizdaki banka kartlarina varincaya kadar akla gelebilecek her yerde mikrokontrolörler yer almaktadir.
Bu tür uygulamalarda kullanildiklari için hafiza ve paralel/seri giris-çikis birimlerinin yani sira zamanlayicilar (timers), sayicilar (counters), kesme kontrol birimleri (Interrupt Control), Analog-Sayisal dönüstürücüler (A/D Converters) gibi çesitli çevre birimleri de mikrokontrolör entegre devrelerinin içinde yer almaktadir.

Ayrica genellikle gerçek zamanli uygulamalarda çalismalariyla mikrokontrolörler, mikroislemcilerden ayrilmaktadirlar. Gerçek zamanli uygulamalarda dis dünyadan (islemcinin disindaki elektronik ortamdan) gelen isaretler çok hizli degisim gösterebilir ve bunlari isleyip gereken çikislari ayni hizlilikta dis dünyaya uygulamak gerekebilir.
Böyle bir performansi, çok küçük boyutlarda ve çok daha az güç tüketerek sadece mikrokontrolörler araciligiyla gerçeklestirmek mümkündür.

Diger taraftan matematik islem yapma yeteneklerinin kisitli olusu, çok çesitli on-chip çevre birimlerine sahip olmakla birlikte bunlarin kapasitelerinin de sinirli olmasi nedeniyle bir mikroislemcinin kullanildigi (örn: bir kisisel bilgisayar gibi) yerler için uygun bir seçenek olusturmazlar.

Sonuç olarak mikroislemciler ve mikrokontrolörler temelde ayni alt yapi çalisma mantigina sahip olmakla birlikte kullanim yeri ve amacina göre iki ayri grup ürün olarak degerlendirilebilir.

Mikroislemciler ve mikrokontrolörler günlük hayatta kullanilan sayisiz cihaz ve sistemin içinde yer almakta olup, bu ürünleri kullanarak gerçeklestirilebilecek uygulamalar insanin hayal gücü ile sinirlidir.

Günümüzde Mikroislemci ve mikrokontrolörler üreten irili ufakli pek çok firma bulunmaktadir. Bunlara örnek olarak INTEL, MOTOROLA, AMD, PHILIPS, SIEMENS, TEXAS INS., DALLAS, ATMEL, MICROCHIP, HITACHI, MITSUBISHI, SGS-THOMSON, ANALOG DEVICES, NATIONAL gibi firmalar sayilabilir. Bu firmalarin bazilari sadece kendilerine özgü islemcileri piyasaya sürerken bazilari da ilk üretimi ve patenti bir baska firmaya ait olmakla birlikte, orijinal islemci ile uyumlu fakat çesitli baska ek özelliklere de sahip türev ürünler (derivatives) üretebilmektedir.

1995 istatistik raporlarina göre Intel uyumlu islemciler %70 lerin üzerindeki Pazar payiyla en yaygin kullanilmakta olan ürünlerdir.



Bu PICler de ne ola ki?

Son yillarda elektronikle ugrasan bir kimsenin PIC (ya okunusuyla pik)leri duymamis olmasi imkansiz.Peki bu picler ne oluyor? Yenir mi?
PIC terimi, çevresel birimler denetleyicisi anlamina gelen Peripheral Interface Controller kelimelerinin bas harflerinden olusmustur.PICler genel olarak bir mikrokontrollördür.Mikrokontrollörü kisaca kendi içinde bellegi olan mikroislemci olarak tarif edebiliriz.Karmasik lojik devre elemanlari gerektiren dijital devreleri PIClerle basit bir sekilde gerçeklestirebiliriz.Hem de fazla bir eleman kullanmadan.Devremizi yazilim kullanarak tasarladigimizdan esnekligi de artmis olur.Daha sonra yazilimda yapacagimiz degisikliklerle devremize yeni fonksiyonlar ekleyebiliriz.
Ise öncelikle bazi terimleri hatirlamakla baslayalim:

Mikrokontrollör nedir?


Mikrokontrollör içinde bir mikroislemci,ROM(Read Only Memory- Salt okunur bellek),RAM( Random Access Memory- Rastgele Erisimli Bellek),I/O (Input/Output-Giris/Çikis Fonksiyonlari) ve diger özel devreleri bir arada bulunduran cihazlardir.




PIC nedir?


PIC terimi, çevresel birimler denetleyicisi anlamina gelen Peripheral Interface Controller kelimelerinin bas harflerinden olusmustur.Microchip, Inc. adli firmanin üretmis oldugu 8-16 bit mikrokontrollör ailesine vermis oldugu ürün adidir.Firmanin bu çipler için kullandigi isim PICMicro'dur.


Neden PICler bu kadar yaygin olarak kullaniliyor?


PIClerle ugrasmak için büyük harcamalar yapmak gerekmiyor.30-40 YTLlik malzemeyle PIClerle oynamaya baslayabilirsiniz.Piyasada satilan programlayicilarin fiyati 15-20 milyon arasinda.
PIC'ler RISC(Reduced Instruction Set Computer-Azaltilmis Komut Seti Bilgisayar) mimarisindedir.Sadece 35 komuttan olusan komut seti vardir.Ögrenmesi kolaydir.
PIC'lerle ilgili birçok kaynak kolaylikla bulunmaktadir.Internette yüzlerce PIC sitesi,örnek devre ve programlar yapabilirsiniz.PICler ile ilgili kaynaklarin basinda üretici firmasi olan Microchip, Inc. gelmektedir.Sitede bütün PIC modellerinin katalog bilgileri ve birçok uygulama örnegi bulunmaktadir.

PIC'ler hakkinda daha fazlasi:


PIC serisi mikrokontrollörlerin degisik özelliklere sahip çesitleri bulunmaktadir.Örnegin kendi içinde ,çoklu-sayicilar,A/D (Analog dijital dönüstürücüler),seri arabirim,LCD kontrolü,PWM(Pulse Width Modulation) bulunduran PICler bulunmaktadir.8 bacakli PICler oldugu gibi 68 bacakli PICler de bulunmaktadir.Burada önemli olan tasarimin gerektirdigi özelliklere sahip PIC'i tespit etmektir.Son yillarda üretilen PICler Flash bellek özelligine sahip olduklarindan silinip yeniden programlanmalari çok kolaydir.

PIC'lerle neler yapilabilir?


Bu soru PIClerle neler yapilamaz diye sorulsa belki cevaplamak daha kolay olurdu :) PIClerle yapilabilecekler tasarimcinin hayal gücüne kalmis.Birkaç örnek verecek olursak, hirsiz alarmlari,dijital voltmetreler,aranilan numarayi gösteren telefon cihazlari,dijital saatler ... Internette ufak bir arastirma yaptiginizda PIClerle gerçeklestirilmis yüzlerce proje bulabilirsiniz.

PIClerle çalismaya baslamak için neler gerekli?


PIC programlamak için öncelikle bir PIC programlayicisina ihtiyaciniz var.Piyasada degisik modellerde programlayicilar var.Istanbul/Karaköy'de Selanik pasajinda bu programlayicilari 15-20 milyon gibi fiyatlara bulabilirsiniz.Bazi internet sitelerinde 100 $'lar civarinda bazi modeller de bulunmakta.Bunlarin tek özelligi üzerlerinde hem programlama hem de deneme yapilmasidir.Eger kendi deneme kartinizi yapabiliyorsunuz bu kadar para vermeye gerek yok.
PIC yazilimini yazmak için elimizde bir metin editörü,yazdigimiz programi derlemek için bir assembler programi ve programimizi PIC'e göndermek için de bir programlayici yazilim gerekmektedir.
Programlanmis PIC'i denemek için breadboard,güç kaynagi,multimetre gibi araçlarinizin olmasi gerekmektedir.Bu araçlar zaten bir elektronik meraklisinda olmasi gereken temel malzemelerdir.

Gerekli Programlar:

Yaygin olarak kullanilan PIC programlari sunlardir:
Microchip Assembler:MPASM
Microchip Bütünlesik Gelistirme Ortami:MPLAB
(Bu programlari Microchip, Inc sitesinden indirebilirsiniz.Sitenin Search bölümüne adlarini yazip aratma yapabilirsiniz)
Yazdiginiz programlari PIC'e atmak için:ICPROG