mikroişlemci temelli sistem ile kontrol uygulamaları

18
Endüstriyel Otomatik Kontrol Sistemleri Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları Mustafa Türker GÜLTEPE www.mturkergultepe.com

Upload: mustafa-turker-gultepe

Post on 16-Apr-2015

623 views

Category:

Documents


12 download

DESCRIPTION

Mikroişlemci Temelli Sistemlerin incelendiği ve bazı uygulamaların anlatıldığı mikroişlemcilere giriş niteliğindeki kaynak.

TRANSCRIPT

Page 1: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

Endüstriyel Otomatik Kontrol Sistemleri

Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları Mustafa Türker GÜLTEPE

www.mturkergultepe.com

Page 2: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

2

İçindekiler

Avantajlar ve Sonuç 17

Mikroişlemci Denetimli Tasarımlar 8

Mikroişlemcilerin Tarihi 3

Yararlanılan Kaynaklar 18

Page 3: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

3

Tarihçe

İlk mikroişlemciler

Teknolojideki birçok gelişmeyle beraber, mikroişlemci artık zamanı gelen bir fikirdi. Üç proje, yaklaşık aynı zamanda tartışmalı bir şekilde tam bir mikroişlemciyi doğurmuştu: Intel’in 4004’ü, Texas Instruments’ın TMS 1000’i ve Garrett AiResearch’ün Central Air Data Computer’ı. 1968’de Garrett’ın, Birleşik Devletler ordusunun yeni uçağı F-14 Tomcat’in ana uçuş kontrol bilgisayarını yapması istendi. Tasarım 1970’de tamamlanmıştı ve çekirdek ana işlem biriminde olduğu gibi MOS tabanlı bir yonga seti (chipset) kullanıyordu. Tasarım, yarıştığı diğer mekanik sistemlere göre daha küçük ve çok daha güvenilirdi ve bütün öncü Tomcat modellerinde kullanılmıştı. Fakat sistem o kadar gelişmiş görüldü ki; ordu, tasarımın yayınlanmasını 1997’ye kadar reddetti. Bu yüzden, kullandığı CADC ve MP944 yonga setleri günümüzde bile hala tam olarak bilinememektedir.

Texas Instruments (TI), 4-bit TMS 1000’i üretti ve önceden programlanmış gömülü uygulamalara önem verdi. 17 Eylül 1971’de TMS1802NC olarak adlandırılan bir versiyon, bir hesap makinesinin tüm işlevlerini bir çip üzerinde gerçekleştirebiliyordu. Intel’in çipi 4-bit 4004, 15 Kasım 1971’de piyasaya sürüldü ve Federico Faggin tarafından geliştirildi.

TI, mikroişlemci için patent başvurusunda bulundu. Gary Boone, 4 Eylül 1973’de tek-çip mikroişlemci mimarisiyle U.S. Patent 3,757,306 aldı. Hangi şirketin laboratuarlarında ilk çalışan mikroişlemciye sahip olduğunu bilmek hiçbir zaman mümkün olmayabilir. İlginç bir şekilde, bir üçüncü şahıs “mikroişlemci” yi de kapsayabilen bir patente sahip olduğunu iddia etti.

Mikroişlemcinin değişik bir biçimi olan bir-çipte-bilgisayar, (computer-on-a-chip) mikroişlemci çekirdeği (CPU), bellek ve G/Ç (giriş/çıkış) hatlarının hepsini tek bir çip üzerinde toplar. Bir-çipte-bilgisayar patenti (o sıralarda “mikrobilgisayar patenti” olarak adlandırılıyordu) U.S. Patent 4,074,351, TI’dan

Gary Boone ve Michael J. Cochran’a verilmişti. Bu patent bir yana, mikrobilgisayarın standart anlamı ana işlem birim(ler)i olarak bir veya daha fazla mikroişlemci kullanan bilgisayar iken, patentte tanımlanan kavram muhtemelen bir mikrodenetleyiciye daha yakındır.

A History of Modern Computing, (MIT Press), pp. 220–21’e göre, Intel tasarlamakta olduğu bir terminalde kullanılacak bir çip için, daha sonra ismi Datapoint olacak olan San Antonio TX orijinli Computer Terminals Corporation ile bir anlaşma yaptı. Daha sonra Datapoint çipi kullanmaktan vazgeçti ve Intel bunu Nisan 1972’de 8008 olarak piyasaya sürdü. Bu, Dünya'nın ilk 8-bit mikroişlemcisiydi. 8008 ve halefleri, dünyaca ünlü 8080, mikroişlemci bileşen pazaryerini oluşturdu.

Önemli 8-bit tasarımlar

4004’ü, daha sonra, 1972’de, Dünya'nın ilk 8-bit mikroişlemcisi olan 8008 takip etti. Bu işlemciler, çok başarılı olan Intel 8080 (1974), Zilog Z80 (1976) ve Intel 8-bit işlemcilerin türevlerini müjdeliyordu. Rekabet eden Motorola 6800, Ağustos 1974’de piyasaya sürüldü. Mimarisi 1975’de, 1980’lerde Z80’in popülerliğiyle yarışacak olan MOS Technology 6502’de kopyalandı ve geliştirildi.

Z80 de 6502 de, daha küçük paketleme (packaging), basit bilgisayar bus ihtiyaçları ve ayrı bir çip üzerinde bulunması gereken devrelerin eklenmesiyle (örneğin, Z80 bellek denetleyici içermekteydi) genel maliyeti düşürmek üzerine yoğunlaşmıştı. Bu özellikler, 1980’lerin başındaki ev bilgisayarı “devrim” ini mümkün kıldı.

Western Design Center, Inc. (WDC) 1982’de CMOS 65C02’yi tanıttı. Bu tasarım Apple IIc ve IIe kişisel bilgisayarların, otomotiv, endüstriyel ve tüketim aygıtlarının çekirdeğini oluşturdu. Motorola 1978’de MC6809’ü üreterek bütün 8-bit Dünyası'nda büyük yankı uyandırdı. MC6809 tartışmaya açık bir şekilde, gelmiş geçmiş en güçlü, ortogonal ve en temiz 8-bit

Page 4: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

4

mikroişlemciydi – aynı zamanda üretime geçen mikroişlemciler arasında en karmaşık sert telli mantıksal tasarıma sahipti. Yaklaşık bu zamanlarda, MC6809’dan daha güçlü tasarımlar için mikrokodlama (microcoding) sert telli mantığın yerine geçti – bunun nedeni özellikle sert telli mantık için tasarım gereksinimlerinin çok fazla karmaşık olmaya başlamasıydı.

Başka bir 8-bit mikroişlemci ise Signetics 2650’ydi. Bu mikroişlemci, yenilikçi ve güçlü komut kümesi mimarisiyle (instruction set architecture) kısa bir ilgi gördü.

Başka bir mikroişlemci ise uzay uçuşu Dünyası'nda kullanılan RCA’nın RCA 1802’siydi (CDP1802, RCA COSMAC (1976)). NASA’nın 1970’lerdeki Voyager ve Viking uzay sondalarında kullanıldı. CDP1802’nin kullanılmasının sebebi düşük güç tüketimi ve üretim süreci nedeniyle (safirde silikon) kozmik radyasyona ve elektrostatik yayılımlara karşı o zamanın diğer işlemcilerinden daha iyi dayanmasıydı. Bu nedenle, 1802, radyasyona karşı güçlendirilmiş ilk mikroişlemci olarak kabul edilir.

16-bit tasarımlar

İlk çoklu-çip (multi-chip) mikroişlemci 1973’de üretilen National Semiconductor IMP-16’ydı. Bu yonga setinin 8-bit versiyonu 1974’de IMP-8 olarak piyasaya sürülmüştü. 1975’de National ilk tek-çip 16-bit mikroişlemciyi, PACE’i, üretti. PACE’i daha sonra NMOS versiyonu olan INS8900 takip etti.

TI’ın 16-bit mikroişlemcisi TMS 9900, TI-990 tipi mikrobilgisayarlarla uyumluydu. 9900, ayrıca TI 990/4 mikrobilgisayar, TI-99/4A ev bilgisayarı ve TM990 tipi OEM mikrobilgisayarlarda kullanılıyordu. Intel 8080 gibi çoğu 8-bit mikroişlemci, daha yaygın, küçük ve ucuz plastik 40-pin DIP’le paketlenirken, 9900, büyük bir seramik 64-pinli DIP’le paketleniyordu. TMS 9900’ün ardından TMS 9980, Intel 8080 ile rekabet etmek için tasarlanmıştı. 9980, bütün TI 990'lar 16-bit komut setine sahipti; plastik 40-pin paket kullanıyordu; tek seferde 8 bit taşıyabiliyordu fakat sadece 16KB adresleyebiliyordu. Üçüncü bir çip, TMS 9995

yeni bir tasarımdı. Aile daha sonra 99105 ve 99110’u da kapsayacak şekilde genişledi.

1984’de The Western Design Center, Inc. (WDC) WDC CMOS 65C02’nin 16-bit yükseltmesi olan CMOS 65816’yı üretti. 65816 16-bit mikroişlemcisi, Apple IIgs’nin ve daha sonra da Super Nintendo Eğlence Sistemi’nin çekirdeğini oluşturdu. Bu, 65816’yı tüm zamanların en popüler 16-bit tasarımlarından biri yaptı.

Intel değişik bir yol izledi. Emüle edecek bir minibilgisayar olmadan 8080 tasarımlarını geliştirerek 16-bit Intel 8086’yı, modern PC tip bilgisayarların çoğunda bulunan x86 ailesinin ilk üyesini, üretti. İlk IBM kişisel bilgisayarı, model 5150’de kullanılan 8088 mikroişlemcisi, 8086’nın harici bir 8-bit data bus a sahip versiyonuydu. 8086 ve 8088 sonrasında Intel 80186, 80286 ve 1985’de 32-bit 80386’yı üretti ve işlemci ailelerinin geriye uyumluluğuyla; PC piyasasındaki egemenliğini sağlamlaştırdı.

Gömülü mikroişlemci bellek yönetim birimi (the integrated microprocessor memory management unit) (MMU), Intel’de Childs et al. tarafından ortaya atıldı ve 4,442,484 numaralı Birleşik Devletler patenti alındı.

32-bit tasarımlar

Bir Intel 80486DX2 die deki yukarı iç

bağlantılar

Page 5: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

5

32-bit tasarımları ortaya çıkmaya başladıktan sonra 16-bit tasarımları piyasada çok fazla kalamadı.

32-bit tasarımların en ünlülerinden biri, 1979’de üretilen MC68000 idi. Sık bilinen adıyla 68K, 32-bit yazmaçlara (register), fakat 16-bit dahili data yollarına (data paths) ve pin sayısını azaltmak üzere 16-bit harici data bus a sahipti ve yalnızca 24-bit adreslemeyi destekliyordu. Motorola’nın onu genel olarak 16-bit bir işlemci olarak tanıtmasına rağmen, açık bir şekilde 32-bit mimarisine sahipti. Yüksek hız, büyük (16 megabayt) bellek alanı ve nispeten ucuz fiyatı onu sınıfının en popüler ana işlem birimi tasarımı haline getirdi. Atari ST ve Commodore Amiga gibi 1980’lerin ortalarındaki sistemlerde kullanılmasının yanı sıra aynı zamanda Apple Lisa ve Macintosh sistemlerinde de 68000 kullanılmıştır.

Dünyanın ilk tek-çip tam 32-bit mikroişlemcisi (32-bit data yolları, 32-bit bus lar ve 32-bit adresleme), ilk örnekleri 1980’de gelen ve üretime 1982’de geçen AT&T Bell Labs BELLMAC-32A idi.1984’de AT&T’nin dağılmasından sonra bu mikroişlemciye WE 32200 adı verildi (WE Western Electric’in kısaltmasıydı) ve iki takipçi nesile sahip oldu: WE 32100 ve WE 32200. Bu mikroişlemciler, AT&T 3B5 ve 3B15 mikrobilgisayarlarda, Dünya'nın ilk masaüstü süpermikrobilgisayarı 3B2’de, Dünya'nın ilk 32-bit dizüstü bilgisayarı “Companion”da ve günümüzdeki oyun konsollarındakine benzer ROM-pack bellek kartuşu kullanan Dünya'nın ilk kitap-boyutunda (book-sized) süpermikrobilgisayarı “Alexander” da kullanıldı. Bu sistemlerin tümü UNIX System V işletim sistemini çalıştırıyordu.

Intel’in ilk 32-bit mikroişlemcisi iAPX 432 idi. 1981’de üretilen bu mikroişlemci, ticari bir başarıya ulaşamadı. Gelişmiş bir yetenek tabanlı nesne yönelimli mimariye (capability-based object-oriented architecture) sahipti. Fakat Motorola 68000 gibi rakip mimarilere göre düşük performans elde ediliyordu.

Motorola’nın 68000 ile yakaladığı başarı, sanal bellek (virtual memory) desteği sunan MC68010’u doğurdu. 1985’de tanıtılan MC68020 tam 32-bit data ve adres bus larına sahipti. 68020, Unix süpermikrobilgisayar piyasası ve masaüstü sistemler üreten birçok

küçük şirket (örneğin; Altos, Charles River Data Systems) için çok popüler oldu. Bunu takiben, MMU’yu çipe ekleyen MC68030 ile beraber 68K ailesi, DOS çalıştırmayan her sistem için uygun işlemci oldu. Devam eden başarı, daha iyi aritmetik performans için FPU’ya sahip olan MC68040’ı doğurdu. 68050, hedeflediği performansa ulaşamadı ve piyasaya sürülmedi. Takipçisi MC68060, piyasaya çok daha hızlı bir RISC tasarımla sürüldü. 1990’ların başlarında 68K ailesi masaüstü piyasasından çekildi.

Diğer büyük şirketler, 68020’yi tasarladı ve takipçilerini gömülü ekipmanlarda (embedded equipment) kullandılar. Bir noktada, gömülü ekipmanlardaki 68020’lerin sayısı, PC’lerdeki Intel Pentium’lardan daha fazlaydı. ColdFire işlemci çekirdekleri, saygıdeğer 68020’nin türevleriydi.

Bu zaman süresince (1980’lerin başlarından ortalarına kadar), National Semiconductor, NS 16032 adında (daha sonra 32016 ismi verildi) 68020’ye çok benzer bir 16-bit pinout lu, 32-bit dahili mikroişlemciyi, tam 32-bit versiyonu olan NS 32032’yi ve bir sınıf 32-bit endüstriyel OEM mikrobilgisayarları üretti. 1980’lerin ortalarında, Sequent, NS 32032 kullanarak; ilk simetrik çoklu-işlemcili (symmetric multiprocessor (SMP)) server sınıfı bilgisayarı üretti. Bu, 32032’nin birkaç başarısından biriydi ve 1980’lerin sonunda piyasadan çekildi.

MIPS R2000 (1984) ve R3000 (1989) çok başarılı 32-bit RISC mikroişlemcilerdi. Uç sınıf (high-end) iş platformlarında ve server larda kullanıldı.

Diğer tasarımlardan biri, piyasaya çok geç giren ve çabuk çekilen ilginç Zilog Z8000’di.

1980’lerin sonlarındaki “mikroişlemci savaşları” bazı mikroişlemcileri öldürdü. Örneğin, sadece bir ana tasarım kazancıyla, Sequent’in NS 32032’si yok oldu ve Sequent, Intel mikroişlemcileri kullanmaya başladı.

1985’den 2003’e kadar 32-bit x86 mimarisi, masaüstünde, dizüstünde ve server piyasasında giderek yaygınlaştı ve bu mikroişlemciler gittikçe daha hızlı ve daha yetenekli hale geldiler. Intel, mimarisinin öncü versiyonlarını diğer şirketlere lisansladı fakat

Page 6: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

6

Pentium'u lisanslamayı reddetti. Bu yüzden AMD ve Cyrix, kendi tasarımlarını yaparak bu mimarinin daha sonraki versiyonlarını gerçekleştirdiler. Bu kısa süre içinde, işlemcilerin karmaşıklığı (transistör sayısı) ve yetenekleri (komut/saniye) en az 1000 katına çıktı.

64-bit masaüstü mikroçipler

1990’ların başlarından beri bazı piyasalarda 64-bit mikroişlemciler kullanılırken, 2000’lerin başları PC piyasası için hedeflenmiş 64-bit mikroçiplerin doğuşu olarak kabul edilir.

AMD’nin Eylül 2003’te ilk 64-bit IA-32 ile geriye uyumlu mimarisi olan AMD64’ü tanıtmasından sonra, Intel de kendi x86-64 ciplerini üretti ve 64-bit masaüstü çağı başlamış oldu. İki işlemci de eski 32-bit uygulamaları çalıştırabilirken, yeni 64-bit yazılımları da destekliyordu. 64-bit Windows XP ve 64-bit çalışabilen Linux ile yazılımlar da bu işlemcilerin bütün gücünü ortaya çıkarma fırsatı buldu. 64-bit e geçiş sadece yazmaç boyutlarının IA-32’ye göre artması değil ayrıca yaşlanmış CISC tasarımı için genel amaçlı yazmaçların sayısının da iki katına çıkması demekti.

64 bit e geçiş, 90’ların başlarında PowerPC işlemcilerinin tasarımından beri amaçlanmıştı ve uyumsuzluk için büyük bir neden değildi. Mevcut tamsayı yazmaçları, ilgili data yolları gibi genişletilmişti fakat birkaç yıl boyunca IA-32’de olduğu gibi floating point ve vektör birimleri 64 bit veya daha fazlasında çalışıyordu. x86-64’e genişleyen IA-32’de olanın aksine, 64-bit PowerPC’ye yeni bir genel amaçlı yazmaç eklenmedi. Böylece, geniş adres alanını kullanmayan 64-bit modu uygulamaları çalıştırılırken elde edilen performans kazancı az oluyordu.

Çok-çekirdekli işlemciler

AMD X2 3600 Çift Çekirdek işlemci

1990’ların başlarından beri server larda ve iş platformlarında kullanılan ve popüler olan simetrik çokluişlem (multiprocessing) tasarımlarında olduğu gibi, bilgisayarın performansını arttırmak için değişik bir yaklaşım da bilgisayara daha fazla işlemci eklemekti. Moore Kanunu’na uygun kalmak; çip yapma teknolojileri, teknolojinin fiziksel sınırlarına yaklaştıkça daha da zorlaşmaktadır. Bu yüzden, piyasadaki sabit gelişimlerin hızını yakalamak için mikroişlemci üreticileri performansı arttırmak adına başka yollar aramaktadırlar.

Bir çok-çekirdekli işlemci, kabaca birden fazla mikroişlemci çekirdeğini kapsayan tek bir çiptir. Etkin olarak, potansiyel performansı çekirdek sayısıyla çarpmak (işletim sistemi ve yazılım birden çok işlemcinin avantajını kullanacak şekilde tasarlamışsa) genel performansı verir. Bus arayüzü ve ikinci seviye önbellek (second level cache) gibi bazı bileşenler çekirdekler arasında paylaşılabilir. Çekirdekler fiziksel olarak birbirlerine çok yakın olduğu için, ayrık çokişlemcili sistemlere göre, birbirleriyle iletişimleri çok daha yüksek saat hızlarında gerçekleşir ve böylece genel sistem performansı artmış olur.

2005’de, ilk büyük piyasa çift-çekirdek (dual-core) işlemcileri duyuruldu ve 2006 itibariyle, server lar için dört-çekirdek (quad-core) işlemciler kullanılabilir olmaya başlarken, çift-çekirdek işlemciler uç-sınıf server larda ve iş platformlarında yaygın olarak kullanılmaktadır.

Page 7: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

7

RISC

1980’lerin ortalarından 1990’ların başlarına kadar, birçok yeni, yüksek performanslı RISC (azaltılmış komut kümesi bilgisayarı (reduced instruction set computer)) mikroişlemciler üretildi. Bu mikroişlemciler, özel amaçlı makinelerde ve Unix iş platformlarında kullanıldı ve Intel-standart masaüstü hariç bütün rollerde evrensel bir hale geldi.

İlk ticari tasarım, MIPS Technologies tarafından yapıldı, 32-bit R2000 (R1000 piyasaya sürülmemişti). R3000 tasarımı gerçekten pratik bir hale getirmişti ve R4000 Dünya'nın ilk 64-bit tasarımı olarak tanıtıldı. Rakip projeler, IBM’in POWER ve Sun’ın SPARC sistemlerini doğurdu. Kısa bir süre içinde, tüm büyük üreticiler bir RISC tasarımı üretmeye başladı. Bunlardan bazıları: AT&T CRISP, AMD 29000, Intel i860 ve Intel i960, Motorola 88000, DEC Alpha ve HP-PA’ydı.

Piyasa güçleri, ana masaüstü RISC işlemci olarak PowerPC’yi ve sadece Sun tasarımlarında kullanılan SPARC’ı bırakarak; bu tasarımlardan çoğunun eriyip gitmesine neden oldu. MIPS, en önemlisi Cisco router larında olduğu gibi, çoğu gömülü tasarım olarak kullanılan bazı SGI sistemleri sağlamaya devam etmektedir. Orijinal tasarımların geri kalanı ise günümüzde ya yok olmuştur ya da yok olmak üzeredir. Diğer şirketler, özellikle ARM’a yöneldi. ARM orijinal olarak ev bilgisayarlarını amaçlamış fakat daha sonra gömülü işlemci piyasasına yoğunlaşmıştı. Bugün, MIPS, ARM veya PowerPC çekirdeği tabanlı RISC tasarımları işlemsel aygıtların (computing devices) çok geniş bir çoğunluğuna güç vermektedir.

64-bit hesaplamalarında, DEC Alpha, AMD64, MIPS, SPARC, Power Mimarisi ve HP-Intel Itanium popüler tasarımlardır..

Özel amaçlı mikroişlemciler

“Mikroişlemci” terimi, geleneksel olarak bir tek-çip veya çoklu-çip ana işlem birimini veya bir-çipte-sistemi (System-on-a-chip (SoC)) işaret ederken; aynı teknolojiyle birkaç tip özelleşmiş işlem aygıtı üretildi. En yaygın örnekler mikrodenetleyicilerdir: Sayısal Sinyal

İşleyiciler (Digital Signal Processors (DSP)) ve Grafik işleme birimleri (Graphics processing units (GPU)). Bunların çoğu örneği, ya programlanabilir değil ya da kısıtlı programlama yeteneklerine sahiptir. Örneğin, genelde 1990’lardaki GPU’lar büyük ölçüde programlanabilir değildi ve ancak yakın zamanda programlanabilir vertex shader gibi sınırlı yeteneklere kavuştular. “Mikroişlemci” ile ne tanımlandığı konusunda evrensel bir konsensüs yoktur fakat aksi özellikle belirtilmemişse terimin bir özel amaçlı işlemciyi değil genelde bir genel amaçlı ana işlem birimini işaret ettiğini varsaymak yanlış olmaz.

RCA 1802, statik tasarım a sahipti. Statik tasarımın anlamı, saat frekansının keyfi olarak 0 Hz e, tam bir durma haline, kadar düşürülebilmesiydi. Bu, Voyager/Viking/Galileo uzay araçlarının yolculuklarının olaysız anlarında minimum elektrik enerjisi tüketmesini sağlıyordu. Yön bulma güncellemeleri, Dünya'ya göre meyil kontrolü, data alımı ve radyo iletişimi gibi önemli görevlerde zamanlayıcılar ve/veya sensörler işlemciyi zamanında hızlandırabiliyordu.

Başlıca tasarımcılar

Intel

Advanced Micro Devices

IBM

AMCC

Freescale Semiconductor

ARM Holdings

MIPS Technologies

Texas Instruments Semiconductors

Renesas Technology

Western Design Center

STMicroelectronics

Sun Microsystems

Page 8: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

8

Mikroişlemci Denetimli Tasarımlar

Bu konunun amacı, mikroişlemcinin basit bir sistem kontrolünde nasıl kullanıldığını göstermektir. Aşağıda çoğu denenmiş mikroişlemcili sistemlerde PIA biriminin yerine çok amaçlı VIA G/Ç birimi (6522) kullanılmıştır. Kaydedici kullanımları hemen hemen aynıdır. 1 . Isı Denetim Sistemi 1 . 1 . Sistemin Görev Tanımı Şekil ‐ Bir mikroişlemci kontrollü soğutma sistemi Is algılayıcısı, iki ayrı cihazın ısısının ölçülmesinde ve aynı anda ısı kontrolünde kullanılmaktadır. Isının belirlenen ısı değerini aşması halinde gerekli soğutmayı sağlayacak uygun bir fan kullanılmaktadır. Mikroişlemcili sistemin bütün elemanları ve bu elemanlar arasındaki bilgi, yol ve patikalarını gösleren şema şekilde görülmektedir. Sistemin kontrolü basit olarak şöyledir : Mikroişlemci ısı algılayıcısından gelen bilgiyi kullanarak cihazın ısısını sınırlandırır (kontrol eder). Bu durumda daha önceden sınır bilgisi olarak sistemin belleğine yerleştirilen referans bilgisi ile algılayıcıdan alınan bilgi karşılaştırılır, eğer cihaz ısısı üst‐maksimum sınırı geçerse fan motorunu çalıştıracak altyordama dalınır. Oda sıcaklığı bu fan sayesinde oğutulduğundan daha sonra alınan ısı tekrar bu defa bellekteki altminimum sınırı ile

karşılaştırılır. Eğer ısı alt‐sınırı geçerse fan durdurulur. İşlem böyle devam eder gider. Burada dikkat edilmesi gereken, belki de fan hızının ayarlanmasına her saniye gerek duyulacak ve bunun içinde mikroişlemci her saniyede bir milyon hareket yapacaktır. Aynca ikinci soğutma sistemini kontrol etmek için de vakti olacaktır. 1 . 2 . Sistemdeki Sinyaller Şekil‐Transduser‐motor çifti ile CPU arasındaki sinyal bağdaştırıcıları Soğutma sisteminde açık diyagramı görülen sisteme, analogtan sayısala (digital) dönüştürücü (ADC) ve sayısaldan anoloğa dönüştürücü (DAC) gibi devreler eklenerek aşağıdaki şekle dönüştürülebilir. Şekil ‐ Bağlantı esasları gösteren bir ADC elemanı

Page 9: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

9

1 . 3 . Giriş Dönüştürücülerinin Yoklanması Şekilde blok seması görülen bir ADC elemanında ki Çevrim Tamam ve Veri Hazır uçları, mikroişlemcinin genellikle veri hazır olduğunda bir sınırlama yapmak için yorumlayabileceği iki sinyaline sahiptir. ADC, yoklandığında veri hazırsa, işlemci veri çıkış uçlarındaki ikili formdaki bilgiyi okur. Bazen ADC'ler, Çevrime Başla bağlantısıyla birlikte işlemcinin çevrim başlatma komutuna gerek duyarlar. Altta program taslağı çizilmiş ısı kontrol sisteminin program akışı, Şekilde gösterilen diyagramatik yoklama biçimini kullanır. Şekil ‐ Cihazların yoklama şekilleri 2 . Daha Karmaşık Bir Isı Denetim Sistemi 2 . 1 . Bir Kesmenin Alınması Şekil‐Bir kesmeden sonraki program akışı

Operatörün sistem belleğindeki bazı bilgileri değiştirmeye karar verdiğinde, tuşlardan birisine basmasıyla işlemciye bir kesme sinyali gönderecektir. Daha sonraki adımlar şöyledir: 1‐ Mikroişlemci o anda ne yapıyorsa durdurulur. 2‐ İşlemci kesme sinyali aldığında o anda kaydedicilerinde bulunan değerleri bellekle bir yere depolamalı ki daha sonra kaldığı yerden normal çalışmasına devam edebilsin. 3‐ İşlemci, operatörün yaptığı değişiklikle kesmenin yapıldığı noktadan işlemin devam etmesini sağlayacak bilgiyi depolamalıdır. 4‐ Eğer birden fazla cihaz kesme talebinde bulunuyorsa, işlemci hangi cihazın daha önce kesme sinyali gönderdiğini algılamalıdır. 5‐ İşlemci daha sonra kesme talebiyle ilgili altyordama dalmalı ve icra etmelidir. Şekilde kesme alınır alınmaz ana programın kesme‐işleme altyordam bölümüne nasıl dalması gerektiğini göstermektedir. 2 . 2 . Kesmesi Mümkün Birden Fazla Arabirimli Sistemler Sistemde hangi cihaz kesme talebinde bulunuyorsa bunu belirlemek için yapılan işlemde bazı hatalar ortaya çıkabilir. İşlemcinin bu sorunun üstesinden gelmesi için iki yol vardır; Birincisi, bütün kesme kaynakları yoklanır. Diğer yol, kesme sinyali alındıktan sonra işlemciye kendine has bir kod göndermek için kesme cihazı gerekmekledir.

Page 10: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

10

2 . 3 . Kesmelere Karşı Yoklama Giriş transduserlerini düzenli bir şekilde yoklamak basittir fakat, transduserlerin yeterli derecede acil yoklanması mümkün olmayabilir. Üstelik yoklama, işlemcinin elde edemeyeceği cihazları test etmesi zaman israfına sebep olabilir. 3 . Basit Elektronik Org Tasarımı 6502 mikroişlemcide, sabit bir frekansta ve basit sayısal sinyal formunda kare dalga üretimi o frekansta nota yayılmasına sebep olur. Her bir anahtarın, bağlı olduğu giriş kanalını tetiklemesiyle farklı frekanslarda dalgaların üretilmesi sağlanır 3 . 1 . Donanım Şekilde görüldüğü gibi, anahtar düzeni 6502 mikroişlemci setindeki iki porttan birisi olan B portuna bağlanır. Her bir anahtar kanalı kablolar vasıtasıyla B portunun sekiz girişine sırasıyla tek tek bağlanır. 3 . 2 . Değişik Dalga Şekillerinin Elde Edilmesi Elektronik org devresinde yaklaşık 5 Voltluk bir sinyal düzeyi mantıksal 1'i, yaklaşık 0 Volttuk bir gerilim düzeyi ise mantıksal 0'ı

göstermektedir. Sıfır ve birlerin arka arkaya meydana getirdikleri katarlara veya dizilere kare dalga denir ki, bir gerilim düzeyinden diğerine geçiş yaparlar. Her bir çıkış kanalında üretilen farklı frekanstaki notalarla sabit frekanslı notalar sürekli üretilebilir. Bunu yapmak için, mikroişlemci tarafından insan kulağının frekans responsunu çok hızlı bir şekilde karşılaştıracak zaman gecikmesini sağlamak gereklidir. Bu zaman gecikmesini sağlamanın iki yolu vardır; 1. Programa zaman geciktirme döngüsü koymaktır. Meselâ, zaman gecikme konusunda ayrıntılı olarak anlatıldığı gibi mikroişlemcinin X veya Y indis kaydedicisinden birisine uygun değer konulur. Daha sonra bu değer tek tek azaltılır ve kaydedicinin değerinin sıfır olup olmadığına bakılır. 2. 6522 çipinde ki zamanlayıcıyı programlayarak donanımsal bir yaklaşım sağlamaktır. Bu işlemin diğerine nazaran avantajı vardır. Çevre birimindeki zamanlayıcı devre zaman gecikmesini sağlarken mikroişlemci başka işlemler yapmak için o anda hazır beklemektedir. Bütün planlanan unsurların programa yerleştirilmesi için yukarıda dikkat çekilen adımların takibine, problemin analizi ve algorilmayı ifade eden akış diyagramının dizilmesiyle başlanır. Yapılması gereken; öncelikli olarak mikroişlemcili sisteme B portunun giriş olarak, A portu kanallarının çıkış

Page 11: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

11

olarak tanımlanmasıdır. Bunun içinde gerekli olan PIA kaydedicileri programlanır. Yukarıdaki akış şemasına göre programlamayı yapmadan önce eldeki verilere bir bakılırsa. B portu giriş ve A portu çıkış olarak kurulurken, bunlara bağlı veri ve veri yönü kaydedicileri tayin edilir. Buna göre hangi komutlar ve kaydediciler kullanılacak tespit edilir; 1 ‐ B portunu giriş, A portunu çıkış olarak kurmak için Akümülatörden DDRA'ya FFH ve DDRB'ye 00 bilgisi yüklenir. 2 ‐B portundan alınan giriş doğrudan X indis kaydedicisine yüklenir. Sisteme diğer

komutların X kaydedicisindeki bilgiye göre işleneceği tanımlanır. 3 ‐Porttan alınan giriş bilgisininkontrol edilerek pozitif değer alınana dek döngü kurulur. Eğer tuşa basılmışa, A portu bir ilerletilir. Aynı zamanda X kaydedicisinin içeriği bir azaltılır. 4 ‐Böyle yapmakla değişken bir zaman gecikmesi sağlanır. 5 ‐X kaydedicisinin içeriğinin sıfır olup olmadığı test edilir. Eğer 0 değilse kısa bir döngüyle X azaltılmaya devam edilir. 0 ise, tekrar X kaydedicisi giriş portundan yüklenerek pozitif sinyalin varlığı kontrol edilir. Program üzerinde değişiklik yapılarak nasıl bir gelişme sağlanır. Frekansta çok basit yarım skala harmoniği kullanılarak değişik frekansta tonlar elde edilebilir. 4 . Basit Bir Terazi Tasarımı Ağırlık ölçme işlemi, kontrol programıyla birlikte analog formda çalışan basit tartı aletinin kontrol edilmesiyle ilgilidir. 4 . 1 . Analogtan Sayısala Çevirici Analogtan sayısala çeviricide bulunan en temel eleman olan saat, düzenli aralıklarla bir dizi sayısal sinyal üreten elemandır. Saat darbesi üretilirken merdiven şeklinde sabit aralıklı ve artan adımlarla gerilim üretilir. Her adımda sayısal olarak üretilen bu gerilim, analog giriş gerilimiyle karşılaştırılır. İki gerilim aynı olduğunda, durdurma sinyali saat sayacının saymasını engeller. Şekil ‐ Analog ve sayısala bir örnek

Page 12: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

12

Şekil ‐ Analogdan sayısala çevirme prensibi

4 . 2 . Devrenin Bağlanış Şekli Terazi devresinin iki ayrı bordunun birbirine bağlanması, çalışma açısından son derece önemlidir. Sol taraftaki analog giriş noktasına terazinin çıkış ucu bağlanırken, analogtan sayısala çeviricinin sekiz kanallık sayısal çıkışları mikroişlemcili sistemin B portlarına bağlanır. sonra üç kontrol sinyalinin giriş/çıkış noktaları şu biçimde bağlanır: Komut Çevir : Bu bir giriş ucu olup, mantıksal 1 sinyalini takiben mantıksal 0 sinyali almalıdır. Seç : Bu bölüm aynı zamanda bir DAC gibi çalışır ve bu giriş noktası çalışma modunun seçilmesinde kullanılır. ADC işlemi için bu noktaya mantıksal 1 girişi varmalıdır. Bunu sağlamak için devrede sürekli olarak + 5 Volta bağlanmıştır. Durum : Bu bir çıkış noktası olup, çıkışın okunmaya hazır olduğunu göstermede kullanılır. Komut Çevir girişi 0 sinyalini aldığında, unit sayacını 0'a setlerken durum çıkışını da 1'e setlenir. Komut Çevir'le birlikte 1 sinyali alındığında, ADC çıkışı ile analog gerilim eşit olana dek sayıcı kendini artırmaya devam eder. Bu noktada, kontrol mantığı sistemi durdurur ve durum çıkışı 1'den 0'a gider. 5 . Trafik Işıklarının Kontrolü Herhangi bir yolda veya kavşakta trafik akışının kontrolü üç yolla yapılabilir; Birincisi, ana kavşaklar veya trafik akışının yoğun olduğu yerlerde akış doğrultusunu düzenleyen bir trafik polisinin görevlendirilmesi ki; günümüzde diğerlerine nazaran hayli etkili ve güvenilir bir yoldur. İkincisi bu kavşak veya geçitlerde röleler, geleneksel mantık kapıları veya mikroişlemci kontrolüyle kırmızı ve yeşil lambaların sabit bir akış çevrimine tabii tutulmasıdır. Üçüncüsü ise, geçişlere karşılıklı detektörler yerleştirilerek akış yoğunluğunun buna göre otomatik olarak ayarlanmasıdır. Bu sistem diğerine nazaran daha fazla işleve sahip olduğundan daha çok mantığa gerek duyar ikinci ve üçüncü kontrol sistemi mikroişlemci devreleri kullanılarak gerçekleştirilir.

Page 13: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

13

T tipi bir kavşak düzeninde bir ana yol ve birde tali yolun kontrolü planlanmıştır. Kontrol önceden yapılan tespitlere göre sabit bir düzende yapılmaktadır.Sistemde T tipi kavşak düşünüldüğünden üç trafık lambası yeterli olmaktadır. Bu üç lambadan karşılıklı ikisi (Lamba 1 ve 3) ana yolu, diğeri (Lamba 1) ise tali yolu kontrol etmektedir. Zaman gecikmesinde kullanılan komutlarda göz önüne alınarak tam bir süre belirlenmelidir. 5 . 1 . Programın Çalışması Birinci aşama : Program babaşlangıcında önceden belirlenen A portunun çıkış olarak düzenlenmesi gerekir. Bunun için standart bir kurulum programı yazılır. İkinci aşama : Programın ikinci aşamasında F girişi kontrol edilerek sarı fasılalı ışığın yanması için gerekli bilginin olup olmadığı kontrol edilir.

Program Konum 1. Konum, 2. Konum, 3. Konum, 4. Konum, 5 ve Konum 6'yı bir defa işledikten sonra yeniden F giriş kontrol bölümüne sapacak ve böylece her tur sonunda F girişi kontrol edilecektir. Üçüncü aşama : Programın bu aşamasında Akumülatördeki değer A portuna basılır. Kullanıcı [025F], [0260], [0261], [0262] ve [0263] adreslerine Y kaydedicisindeki taban değerle (1ms) çarpılacak zaman gecikme sürelerini arzusuna göre mikroişlemci tuş takımıyla girebilir. Dördüncü aşama : Son aşama lambaların yanış sürelerini bağlayan gecikme altyordam programının planlanmasıdır. Gecikme altyordamında Y kaydedicisi 1ms'lik baz alınarak, yukarıda belirtilen adreslere konulan değerlerin X kaydedicisine çekilmesiyle bir zaman gecikmesi oluşturulur. 5 . 2 . Trafik Işıkları Denetim Donanımı Şekil ‐ T tipi kavşak donanımının blok şeması Şekil ‐ Sistemin güç kaynağı devresi

Page 14: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

14

T tipi kavşak donanımı + 5V ve + 12V sayısal kaynak, 1Hz osilatör, 2x99 sn. sayıcı, 220 Voltluk lambaların sürülmesi, göstergelerin yakılmasını sağlayan devreleri ve 6502 mikroişlemciye giden ve gelen kabloları kapsamakladır. Şekilde T tipi kavşak donanımının blok şeması görülmektedir. Güç Kaynağı: Şekilde görülen güç kaynağı ile +5V ve +12V gerilim sağlanmaktadır. 220V‐50Hz şebeke gerilimi transformatör kullanılarak. 16V AC gerilime çevrilmektedir. Devrenin uygun bir biçimde çalışabilmesi için kapasitör, regülatör için gerekli minimum gerilim değerinin altına kadar boşalmamalıdır. 7812 regülatör elemanının en az 7.3 volta ihtiyacı vardır. Osilatör: Osilatörler sayıcılar için gerekli olan 1Hz'lik saat sinyalini üretmektedir. 1Hz'lik kare dalga sinyal üretmek için gerekli formül aşağıdaki şekilde elde edilir; f = 1.44 / (( R1 + 2R2 ) C1 ) Periyod = 1 saniyez olur. f = 1 / T = 1 / 1 = 1 H R1 = 120 K, R2 = 1 M, C = 680 nF seçildiğinde, f = 1.44 / (( 120 K + 2 M) 680 nF) = 1 Hz elde edilir.

SAYICI (2x99): Sayıcılar, Flip‐Flop'ların peş peşe uygun biçimde bağlanmaları suretiyle elde edilirler. Girişine uygulanan her saat darbesinde sayıcı konum değiştirir. Sayıcının durumuna bakarak girişe kaç değer uygulandığı anlaşılabilir. Sayısal Gösterge: Göstergelerde kullanılan renkler, gözün en hussas olduğu kırmızı, yeşil ve sarı renklerden seçilir. Sayısal göstergelerde karakterlerin gösterilmesinde 7‐parçalı gösterge, nokta matrisli ve şekilcik elemanları kullanılır. Fasıla Seçimi: Fasıla seçimi ile ışıkların yanmaları düzenlenmektedir. Triak devresinde Fk anahtarı vasıtasıyla F girişinin 0 veya 1 olması gerçekleştirilir. Fk anahtarı kapalıysa, F girişi şaselenmiş demektir. 6 . Işık Kontrol Sistemi Bu projedeki basit sistem, mikroişlemci kaynağından bilgi çıkışı sağlayan blok elemanlardan oluşmaktadır. Burada AC geriliminde çalışan lambanın işlemci çıkışındaki DC gerilim ile kontrol edilmesi amaçlanmıştır. Şekil ‐ Işık kontrol sistem devresi

Page 15: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

15

Şekil ‐ Işık kontrol devresinin bağlantı şekli Mikro işlemcili sistemdeki sadece bir port (PA0) kullanılarak aynı anda bir lamba kontrol edilmektedir. İstendiği takdirde mikroişlemcili sistemin port sayısına bağlı olarak ısı kontrolünde olduğu gibi birden fazla lamba kontrol edilebilir. Programın başlangıcında önceden belirtilen A portunun LSB biti olan PA0'ın çıkış olarak düzenlenmesi gerekir. Bunun için standart bir kurulum programı kullanılmıştır. İşlemci A portunun 0 no.lu ucunu (LSB Biti) çıkış olarak hazırlar. Geriye kalan PA1, PA2, PA3 ve diğerleri başka lambalar için boş bırakılmıştır. 7 . Kapı Kilit Denetimi Bu projede yukarıdaki ışık Kontrol devresinin bir benzeri kullanılarak, bellekte bulunan bir şifrenin klavyeden girilen ve belleğin başka bir yerine yerleştirilen ile aynı olup olmadığını denetleyip, şifre doğru ise kapı kilidini açan değilse bir lamba ile uyaran basit bir sistem tasarlanmıştır.

Şekil‐ Kapı kilit kontrol sistem devresi

Programda kapı kilidini açacak şifre [0025] no'lu adreste FFH verisi olarak saklanmıştır. Bu sisteme dahil edilmemiş olan kapı kilit tuş takımı sanal olarak düşünülmüştür. 8 . Adım Motor Devrinin Sayılması Bu projede mikraişlemcili bir sistemle buna bağlı olan bir adım (step) motorunun gönderilen sinyale göre kaç adım sağa veya sola döndüğünün tespiti yapılmaktadır. 8 . 1 . Adım Motoru Kendisine verilen sayısal (dijital) sinyallere göre adım adım dönme hareketi yapan elektrik motorlarına adım motoru denir. Adım motorlar yapısal özelliklerine göre iki grupta toplanır; 1 . Sabit mıknatıslı adım motor. 2 . Değişken relüktanslı adım motorlar. 8 . 3 . Adım Motor Sürümünde Mikroişlemci Kullanımı Fazla karmaşık hareketleri yapması gerekmeyen motor düzenleri belirli kontrol devreleri vasıtasıyla sürülebilir. Ancak endüstriyel robotlar gibi bir dizi karmaşık hareketi kontrol edebilmek için mikroişlemcili sürücü devrelere ihtiyaç vardır. Şekil‐Adım motor sürücü devresi ve bağlantıları

Page 16: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

16

Şekil‐Adım motor sürücü devre şeması Motor Devrinin Sayılması Motor devrinin sayılması iki farklı yol ile yapılabilir; Birincisi, işlemciden gönderilen toplam adım sayısının motorun bir devir dönmesi için gerekli adım sayısına bölünmesi sonucunda devir sayısının bulunması işlemidir. Bu yöntemin bir sakıncası adım kayıpları olsa dahi bunları yapılmış adımlar gibi sayması ve böylece devir sayısını olduğundan biraz daha fazla gösterebilmesidir. İkincisi, motorun dönme hareketinden üretilen bir mekanizmayla devrin sayılmasıdır. Bu yöntem adım motorun yapmış olduğu gerçek devir sayısını vermesi bakımından daha avantajlıdır. Sayıcı devrenin çalışması için +5V besleme gerilimi gereklidir. Bu gerilim mikroişlemcili sistem üzerinden alınabilir. Motor sürücü devre ile aynı besleme gerilimi kullanılması gerilim dalgalanmalarından dolayı sayıcı devrenin istikrarsız çalışmasına sebep olabilir.

Page 17: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

17

Sonuç

Günümüzde endüstride yukarıda bahsedilen

uygulamalar gibi birçok mikroişlemcili sistem

kullanılmaktadır. Mikroişlemcili sistem

kullanmanın avantajı;

Boyut olarak yer tasarrufu sağlaması,

Güvenlik ve denetiminin daha kolay

sağlanması,

Sistem test çalışmalarının daha kolay

yapılması,

Sistemlere uzaktan müdahale edilebilme

şansını sağlaması,

Programlama kolaylığı sağlaması,

Herhangi bir arıza olduğunda, arıza

kaynağının bulunmasının kolay olması,

Sistemin hızlı çalışması,

Dış çevreden daha az etkilenmeleri,

Daha az kablo bağlantıları istemeleridir.

Page 18: Mikroişlemci Temelli Sistem ile Kontrol Uygulamaları

18

Yararlanılan Kaynaklar

1. Mikroişlemci, http://tr.wikipedia.org/wiki/Mikroi%C5%9Flemci

2. Mikroişlemci Denetimli Sistem Tasarımları, http://www.belgeler.com/blg/2h9m/9-

mikroilemci-denetimli-sistem-tasarimlari1

3. Çizgi Tagem, Mikroişlemci ve Assembly Dili, http://www.cizgi-tagem.org/e-

kutuphane/topic.aspx?id=1033

4. Mikroişlemcili frekans kontrol sistemleri, http://www.ilpa.com.tr/hydro.php

5. Antrak Gazetesi, Sensörler ve Mikroişlemciler 6,

http://antrak.org.tr/index.php?option=com_content&task=view&id=1494&Itemid=92

6. Antrak Gazetesi, Sensörler ve Mikroişlemciler 5,

http://antrak.org.tr/index.php?option=com_content&task=view&id=1492&Itemid=92

7. Nüve Sanayi Malz. İmalat ve Tic. A.Ş., Mikrobiyolojik Emniyet Kabinleri,

http://pdf.nel.com.tr/katalog/1-LAB%20VE%20SAHA%20CIHAZLARI/12-KAB%C4%B0NLER/3-

M%C4%B0KROB%C4%B0YOLOJ%C4%B0K%20EMN%C4%B0YET%20KAB%C4%B0N%C4%B0/N

%C3%9CVE%20MN%20SERISI%20CLASS%20II.pdf

8. Pnömatik Hidrolik Sistemler, Otomatik Kontrol Sistemleri,

http://www.gozlempnomatik.com/tr/tag/avantajlar