390 likes | 1.13k Views
Mikrodenetleyiciler. Ders Notu. Yrd.Doç.Dr. Kadir VARDAR. Dersin İşlenişi ve Değerlendirme. Sınavlar, Ödevler ve Projeler Ara Sınav %35 Final %50 Ödev (Zorunlu) %15 Proje (İsteğe Bağlı) %20 (Bonus). Zorunlu Ödev
E N D
Mikrodenetleyiciler Ders Notu Yrd.Doç.Dr. Kadir VARDAR Mikrodenetleyiciler
Dersin İşlenişi ve Değerlendirme Sınavlar, Ödevler ve Projeler Ara Sınav %35 Final %50 Ödev (Zorunlu) %15 Proje (İsteğe Bağlı) %20 (Bonus) Zorunlu Ödev Derste İşlenen Uygulamalara benzer, EasyPIC4 setinde test edilecek bir konuda öğrencinin tercihine bırakılmış bir proje. Rapor: Max. 3 sayfa, kapak olmayacak, Öğrenci Adı, Numarası, Proje Kaynak Kodu ve Amacı , Isis simülayon ekranı. Uygulama: Yazılmış uygulamalar Öğretim Elemanı gözetiminde Laboratuarda öğrenci tarafından yüklenip test edilecektir. Mikrodenetleyiciler
İçerik • Gömülü (Embedded) Sistemlere Giriş • Mikroişlemcilerin Temel Prensipleri ve Mimarileri • PIC Mikrodenetleyiciler ve Yapıları • Programlama ve ASSEMBLY Dili • PIC 16F877 ile Assembly Uygulamaları • MikroC C derleyici ve Uygulamaları • Arm Mikrodenetleyiciler • DSP Sayısal Kontrol Denetleyici Uygulamaları Mikrodenetleyiciler
GÖMÜLÜ SİSTEMLERE GİRİŞ(INTRODUCTION OF EMBEDDED SYSTEMS) 1.Hafta Mikrodenetleyiciler
Gömülü Sistemler (Embedded Systems) Gömülü sistem, bilgisayarlı bir kontrol donanımı ve yazılımı içeren özel amaçlı bir sistemdir. Genel maksatlı, örneğin kişisel bilgisayar gibi bir bilgisayardan farklı olarak, gömülü bir sistem kendisi için önceden özel olarak tanımlanmış görevleri yerine getirir. Gömülü sistemlerdeki yazılımlar, donanım kısıtlarına rağmen genelde gerçek-zamanlı (real-time) çalışırlar. Mikrodenetleyiciler
Gömülü Sistem Uygulamaları • Banka ATM’ leri • Uçuş kontrol donanım/yazılımı ve uçak ve füzelerdeki diğer tümleşik sistemlerden oluşan havacılık elektroniği modülleri • Cep telefonları • Router gibi bilgisayar ağ ekipmanları • Bilgisayar yazıcıları • Fotokopi makineleri • Termostat, klima ve güvenlik izleme sistemleri gibi ev otomasyonu ürünleri • Hesap makineleri • Mikro dalga fırınlar, çamaşır makinesi, televizyon setleri • DVD oynatıcı/kaydedici gibi ev elektroniği ürünleri • Tıbbi ekipmanlar • Endüstriyel otomasyon ve izleme için PLC’ ler Mikrodenetleyiciler
Gömülü İşletim Sistemleri 1. ECos 2. FreeRTOS 3. Gömülü Linux 4. JavaOS 5. LynxOS 6. Mobilinux 7. Nucleus RTOS 8. Palm OS 9. Prex 10. Micrium OS 11. Windows CE 12. Windows XP Embedded Mikrodenetleyiciler
Programlanabilir Gömülü Sistemler Elemanları • Mikroişlemciler • Mikrodenetleyiciler • Dijital Sinyal İşlemcileri • Programlanabilir Lojik Aygıtlar, PLD,CPLD ve FPGA Mikrodenetleyiciler
Mikroişlemci ve Mikroişlemci Sistemi Mikrodenetleyiciler
PC Anakart Form Faktörleri Tip ve Boyut (mm) WTX (356×425) AT (350×305) Baby-AT (330×216) BTX (325×266) ATX (305×244) EATX (Extended) (305×330) LPX (330×229) microBTX (264×267) NLX (254×228) Ultra ATX (244×367) microATX (244×244) DTX (244×203) FlexATX (229×191) Mini-DTX (203×170) EBX (203×146) microATX (min.) (171×171) Mini-ITX (170×170) EPIC (Express) (165×115) Mini ATX (150×150) ESM (149×71) Nano-ITX (120×120) COM Express (125×95) ESMexpress (125×95) ETX/XTX (114×95) Pico-ITX (100×72) PC/104 (-Plus) (96×90) ESMini (95×55) Qseven (70×70) mobile-ITX (60×60) CoreExpress (58×65) Mikrodenetleyiciler
Mikrodenetleyiciler Mikrodenetleyiciler
Mikrodenetleyiciler • ARM coreprocessors (manyvendors) • ARM Cortex-M coresarespecificallytargetedtowardsmicrocontrollerapplications • Atmel AVR (8-bit), AVR32 (32-bit), and AT91SAM (32-bit) • CypressSemiconductor'sM8C Coreused in theirPSoC (ProgrammableSystem-on-Chip) • FreescaleColdFire (32-bit) and S08 (8-bit) • Freescale68HC11 (8-bit) • Intel 8051 • Infineon: 8, 16, 32 (ARM basedCortex M4F), 32 Tricore Bit microcontrollers[9] • MIPS • MicrochipTechnologyPIC, (8-bit PIC16, PIC18, 16-bit dsPIC33 / PIC24), (32-bit PIC32) • NXP SemiconductorsLPC1000, LPC2000, LPC3000, LPC4000 (32-bit), LPC900, LPC700 (8-bit) • ParallaxPropeller • PowerPC ISE • Rabbit 2000 (8-bit) • RenesasMicrocontrollers • 32bit microcontrollers: RX, V850, SuperH, R32C, H8SX • 16bit Microcontrollers: RL78, H8, M16C, R8C, 78K0R • 8bit Microcontrollers: 78K0 • SiliconLaboratoriesPipelined 8-bit 8051 Microcontrollersandmixed-signal ARM-based 32-bit microcontrollers • STMicroelectronics STM8 (8-bit), ST10 (16-bit) and STM32 (32-bit) • Texas Instruments TI MSP430 (16-bit) C2000 (32-bit) • Toshiba TLCS-870 (8-bit/16-bit). Mikrodenetleyiciler
Örnek bazı DSP türleri Mikrodenetleyiciler
PLD, CPLD ve FPGA Seri ve Paralel programlama Mikrodenetleyiciler
MİKROİŞLEMCİ MİMARİLERİ VE TEMEL PRENSİBLERİ 2.Hafta Mikrodenetleyiciler
Genel Şema Mikrodenetleyiciler
Temel Birimler Giriş / Çıkış (Input / Output) : Sayısal, analog ve özel fonksiyonlardan oluşur ve mikroişlemcinin dış dünya ile haberleşmesini sağlar. CPU (Central Processing Unit – Merkezi İşlem Birimi) : Sistemin en temel işlevi ve organizatörüdür. Bilgisayarın beyni olarak adlandırılır.Komutları yürütmek, hesapları yapmak ve verileri koordine etmek için 4, 8, 16, 32 ve 64 bitlik sözcük uzunluklarında çalışır. Hafıza : RAM, ROM, PROM, EPROM, EEPROM veya bunların herhangi bir birleşimi olabilir. Bu birim, program ve veri depolamak için kullanılır. Osilatör : Veri ve komutların CPU 'ya alınmasında, yürütülmesinde, kayıt edilmesinde, sonuçların hesaplanmasında ve çıktıların ilgili birimlere gönderilmesinde gerekli olan saat darbelerini üretmektir. Mikrodenetleyiciler
Temel Birimler Zamanlama ve Denetim Birimi: Bu kısım sitemin tüm işleyişinden ve işlemin zamanında yapılmasından sorumlu olan birimdir. Bu birim bellekte program bölümünde bulunan komut kodunun alınıp getirilmesi, kodunun çözülmesi, ALU tarafından işlenip, sonucun alınıp belleğe yüklenmesi için gerekli olan denetim sinyalleri üretir. İletişim yolları: Mikroişlemci mimarisine girmese de işlemciyle ayrılmaz bir parça oluşturan iletişim yolları kendi aralarında üçe ayrılır. Adres yolu (Address Bus); komut veya verinin bellekte bulunduğu adresten alınıp getirilmesi veya adres bilgisinin saklandığı yoldur. Veri yolu (Data Bus); ise işlemciden belleğe veya Giriş/Çıkış birimlerine veri yollamada yada tersi işlemlerde kullanılır. Kontrol yolu ise sisteme bağlı birimlerin denetlenmesini sağlayan özel sinyallerin oluşturduğu bir yapıya sahiptir. Mikrodenetleyiciler
Veri Yolları Mikrodenetleyiciler
Kaydediciler (Register) Flip-floplardan oluşan birimlerdir. Kaydediciler genel amaçlı ve özel amaçlı olmak üzere iki grupta incelenmektedir. Genel amaçlı kaydediciler grubuna A, B ve X gibi kaydediciler girer. Özel amaçlı kaydediciler ise; PC (Program Counter, Program Sayacı), anlık icra edilen komutun adresi bu kaydedicide tutulur. SP (Stack Pointer- Yığın İşaretçisi) ve Flags (Bayraklar) verilebilir. Bunların dışında işlemcide programcıya görünmeyen kaydediciler vardır. Bu kaydedicileri alt düzey program yazan programcıların mutlaka bilmesi gerekir. Bunlar; IR(Instruction Register-Komut kaydedicisi), MAR (Memory Address Register- Bellek adres kaydedicisi), MBR (Memory Buffer Register- Bellek veri kaydedicisi), DAR(Data Address Register- Veri adres kaydedicisi) ve DR (Data register- Veri kaydedicisi) olarak ele alınabilir. Mikrodenetleyiciler
Aritmetik Lojik Birim (ALU) Aritmetik ve Mantık Birimi: ALU mikroişlemcilerde aritmetiksel ve mantıksal işlemlerinin yapıldığı en önemli birimdir. Aritmetiksel işlemler denilince akla başta toplama, çıkarma, çarpma ve bölme gelir. Komutlarla birlikte bu işlemleri, mantık kapıları, bu kapıların oluşturduğu toplayıcılar, çıkarıcılar ve flipfloplar gerçekleştirir. Mantıksal işlemlere de AND, OR, EXOR ve NOT gibi işlemleri örnek verebiliriz. Mikrodenetleyiciler
Bayraklar (Flags) Aritmetik ve Mantık Birimi: ALU içerisinde gerçekleştirilmiş olan işlemin sonucuna ait bilgileri içerir. Eğer işlem sonucu Sıfır ise Zero bayrağı lojik 1 olur. Toplama veya çıkarma işlemi sonucunda elde veya borç durumu oluşmussa Carry bayrağı lojik1 olur. Mikrodenetleyiciler
7-SEGMENT DISPLAY Mikrodenetleyiciler
16 bit Mimari Mikrodenetleyiciler
32 bit Mimari Mikrodenetleyiciler
VonNeuman Mimarisi Bu mimaride veri ve komutlar bellekten tek bir yoldan mikroişlemciye getirilerek işlenmektedir. Program ve veri aynı bellekte bulunduğundan, komut ve veri gerekli olduğunda aynı iletişim yolunu kullanmaktadır. Bu durumda, komut için bir algetir saykılı, sonra veri için diğer bir algetir saykılı gerekmektedir. Mikrodenetleyiciler
Harvard Mimarisi Harvard mimarili bilgisayar sistemlerinde veri ve komutların ayrı ayrı belleklerde tutulur. Buna göre, veri ve komut aktarımında iletişim yolları da bir birinden bağımsız yapıda bulunmaktadırlar. Komutla birlikte veri aynı saykıl da farklı iletişim yolundan ilgili belleklerden alınıp işlemciye getirilebilir. Getirilen komut işlenip ilgili verisi veri belleğinden alınırken sıradaki komut, komut belleğinden alınıp getirilebilir. Bu önden alıp getirme işlemi, dallanma haricinde hızı iki katına çıkarabilmektedir. Mikrodenetleyiciler
CISC (Complex Instruction Set Computer) Mimarisi Bu mimari, programlanması kolay ve etkin bellek kullanımı sağlayan tasarım felsefesinin bir ürünüdür. İşlemci üzerinde performans düşüklüğü ve işlemcinin karmaşık bir hale gelmesine neden olsa da yazılımı basitleştirmektedir. Bu mimarinin en önemli iki özelliği, değişken uzunluktaki komutlar diğeri ise karmaşık komutlardır. Değişken ve karmaşık uzunluktaki komutlar bellek tasarrufu sağlar. Karmaşık komutlar birden fazla komutu tek bir hale getirirler. Karmaşık komutlar aynı zamanda karmaşık bir mimariyi de oluşturur. Mikrodenetleyiciler
RISC (Reduced Instruction Set Computer) Mimarisi • RISC mimarisinin en önemli özelliği küçültülen komut kümesi ve azaltılan adresleme modları sayısıdır. Bunun yanında aşağıdaki özelliklere sahiptir. • Bir çevrimlik zamanda komut işleyebilme • Aynı uzunluk ve sabit formatta komut kümesine sahip olma • Ana belleğe sadece “load” ve “store” komutlarıyla erişim; operasyonların sadece kaydedici • üzerinde yapılması • Yüksek seviyeli dilleri destekleme • Çok sayıda kaydediciye sahip olması Mikrodenetleyiciler
Komut Biçimleri Mikrodenetleyiciler
Fetch-Execute Mikrodenetleyiciler
Adresleme Modları 1- Anında Adresleme (Immediate Addressing) Opcode+Operand(Verinin kendisi) 2- Mutlak Adresleme (Absolute Addressing) Operand taki bilgi, verinin bulunduğu kaydedicinin adıdır. 3- Doğrudan Adresleme (Direct Addressing) Opcode+Operand(Verinin adresi) 4- Dolaylı Adresleme (Indirect Addressing) Opcode+Operand(Bu adreste verinin adresi bulunur) 5- Sıralı Adresleme (Indexed) Sıralama kaydedicinde veri dizisinin ilk elemanın adresi bulunur. Bu adres baz alınarak diğer verilere erişilir. 6- Bağıl Adresleme (Relative) Dallanma komutlarında, gidilecek yerin PC de adresten ne kadar uzakta olduğunu gösterir. Mikrodenetleyiciler
Bellek Organizasyonu Mikrodenetleyiciler
Bellek Genişletme (Enine) 64Kx4 bit ile 64Kx8bit ROM elde etme Mikrodenetleyiciler
Bellek Genişletme (Boyuna) 1Mx8 bit ile 2Mx8bit ROM elde etme Mikrodenetleyiciler