Mikrodenetleyiciler Mikrodenetleyiciler
Ders Notu
Dersin İşlenişi ve Değerlendirme Dersin İşlenişi ve Değerlendirme
Mikrodenetleyiciler 2
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.
İçerik İç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
GÖMÜLÜ SİSTEMLERE GİRİŞ GÖMÜLÜ SİSTEMLERE GİRİŞ
(INTRODUCTION OF EMBEDDED SYSTEMS) (INTRODUCTION OF EMBEDDED SYSTEMS)
Mikrodenetleyiciler 4
1.Hafta
1.Hafta
Gömülü Sistemler Gömülü Sistemler (Embedded Systems) (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.
Gömülü Sistem Uygulamaları Gömülü Sistem Uygulamaları
Mikrodenetleyiciler 6
• 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
Gömülü İşletim Sistemleri 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
Programlanabilir Gömülü Sistemler Elemanları Programlanabilir Gömülü Sistemler Elemanları
Mikrodenetleyiciler 8
• Mikroişlemciler
• Mikrodenetleyiciler
• Dijital Sinyal İşlemcileri
• Programlanabilir Lojik Aygıtlar,
PLD,CPLD ve FPGA
Mikroişlemci ve Mikroişlemci Sistemi
Mikroişlemci ve Mikroişlemci Sistemi
Mikrodenetleyiciler 10 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)
PC Anakart Form Faktörleri
PC Anakart Form Faktörleri
Mikrodenetleyiciler Mikrodenetleyiciler
Mikrodenetleyiciler 12
Mikrodenetleyiciler Mikrodenetleyiciler
ARM core processors (many vendors)
ARM Cortex-M cores are specifically targeted towards microcontroller applications
Atmel AVR (8-bit), AVR32 (32-bit), and AT91SAM (32-bit)
Cypress Semiconductor's M8C Core used in their PSoC (Programmable System-on-Chip)
Freescale ColdFire (32-bit) and S08 (8-bit)
Freescale 68HC11 (8-bit)
Intel 8051
Infineon: 8, 16, 32 (ARM based Cortex M4F), 32 Tricore Bit microcontrollers[9]
MIPS
Microchip Technology PIC, (8-bit PIC16, PIC18, 16-bit dsPIC33 / PIC24), (32-bit PIC32)
NXP Semiconductors LPC1000, LPC2000, LPC3000, LPC4000 (32-bit), LPC900, LPC700 (8-bit)
Parallax Propeller
PowerPC ISE
Rabbit 2000 (8-bit)
Renesas Microcontrollers
32bit microcontrollers: RX, V850, SuperH, R32C, H8SX
16bit Microcontrollers: RL78, H8, M16C, R8C, 78K0R
8bit Microcontrollers: 78K0
Silicon Laboratories Pipelined 8-bit 8051 Microcontrollers and mixed-signal ARM-based 32- bit microcontrollers
Örnek bazı DSP türleri Örnek bazı DSP türleri
Mikrodenetleyiciler 14
Firma DSP Clock Hızı
(MHz) Flash (kB) PWM kanalları, hızı (duty cycle)
Microchip dsPIC30F 30 6–144 4–8 (16 bits, 1 or 16.5 ns
depending on part)
dsPIC33F 40 12–256 up 18 PWM (16 bits, 12.5
ns)
dsPIC33E 70 64-512 up 16 PWM (16 bits, 8.32
ns)
Texas Instruments TMS320F28x 60–150 32–512 16 PWM (13 bits, 150 ps)
TMS320LF240x 40 16–64 7–16 PWM (11 bits, 150 ps)
Freescale MC56F83x 60 48–280 12 PWM (15 bits, 10 ns)
MC56F80x 32 12–64 5–6 PWM (15 bits, 10 ns)
MC56F81x 40 40–572 12 PWM (15 bits, 10 ns)
PLD, CPLD ve FPGA
PLD, CPLD ve FPGA
MİKROİŞLEMCİ MİKROİŞLEMCİ MİMARİLERİ VE MİMARİLERİ VE
TEMEL PRENSİBLERİ TEMEL PRENSİBLERİ
Mikrodenetleyiciler 16
2.Hafta
2.Hafta
Genel Şema
Genel Şema
Temel Birimler Temel Birimler
Mikrodenetleyiciler 18
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.
Temel Birimler 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.
Veri Yolları Veri Yolları
Mikrodenetleyiciler 20
Kaydediciler (Register) 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),
Aritmetik Lojik Birim (ALU) Aritmetik Lojik Birim (ALU)
Mikrodenetleyiciler 22
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.
Bayraklar (Flags) 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.
7-SEGMENT DISPLAY 7-SEGMENT DISPLAY
Mikrodenetleyiciler 24
16 bit Mimari
16 bit Mimari
32 bit Mimari 32 bit Mimari
Mikrodenetleyiciler 26
Von Neuman Mimarisi Von Neuman 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.
Harvard Mimarisi Harvard Mimarisi
Mikrodenetleyiciler 28
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.
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
RISC (Reduced Instruction Set Computer) Mimarisi
Mikrodenetleyiciler 30
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ı
Komut Biçimleri
Komut Biçimleri
Fetch-Execute Fetch-Execute
Mikrodenetleyiciler 32
Adresleme Modları 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.
Bellek Organizasyonu Bellek Organizasyonu
Mikrodenetleyiciler 34
Bellek Genişletme (Enine) Bellek Genişletme (Enine)
64Kx4 bit ile 64Kx8bit ROM elde etme
64Kx4 bit ile 64Kx8bit ROM elde etme
Bellek Genişletme (Boyuna) Bellek Genişletme (Boyuna)
Mikrodenetleyiciler 36