ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama

Slides:



Advertisements
Benzer bir sunumlar
Anakartlar Sistemin merkezi bileşenidir.
Advertisements

BİLGİSAYAR, DONANIM VE YAZILIM KAVRAMLARI
ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama
SelCPU Temmuz 2008 Bilg.Bil.Müh.Selçuk BAŞAK SelSistem Bilgi ve İletişim Teknolojileri
Ali AKMAN Reset, WDT, Basic Timer, Timer-A BİL325  C Ders - 6.
CPU Tasarım – 2 Single – Cycle CPU Veriyolu Tasarımı
Numbers of Opcodes Nihal Güngör.
ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama
MİMARİ ESASLAR Bir bilgisayarın komut kümesi, programcının makineyi programlarken kullanabileceği ilkel emirleri veya makine komutlarının tamamının oluşturduğu.
CPU (Merkezi İşlem Ünitesi)
BİLGİ TEKNOLOJİSİNİN TEMEL KAVRAMLARI
ANA KARTLAR VE KASALAR.
Marmara Ünv. Bilgisayar Mühendisliği Bölümü
Bilgisayar Donanımı Öğr. Gör. Tolga HAYIT
Register ve Türleri Nihal GÜNGÖR.
Intel P6 Architecture Mustafa Çayır.
Yıldız Teknik Üniversitesi
BİLGİSAYARIN MİMARİSİ, TEMEL BİLEŞENLERİ VE ÇALIŞMA MANTIĞI
Mikroişlemciler ve Assembler Programlama
Mikroişlemciler ve Mikrobilgisayarlar
DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ
DERS 5 PIC 16F84 PROGRAMLAMA.
YAZILIM TABANLI RADYO UYGULAMALARI
CPU.
İŞLEMCİ MİMARİLERİ – Derya Işık
Bilişim Teknolojileri Öğretmeni İsmail ÖZTÜRK
MİKRODENETLEYİCİ TABANLI KABLOSUZ HABERLEŞME ve MULTIMEDYA KULLANIMI
Mikrodenetleyiciler.
Hafta2 Bilgisayar Donanımı Dersi
ARM TABANLI İŞLEMCİLER
BİLGİSAYAR MİMARİLERİ 2.Hafta: Bilgisayar Bileşenleri
Kuzey ve Güney Köprüleri
MİKRODENETLEYİCİLER.
BİLİŞİM TEKNOLOJİSİNİN TEMELLERİ
ARM M4 Nesil İşlemci ve Stellaris LM4F120H5QR programlama kartı
İŞLETİM SİSTEMLERİ ISE 206 DR. TUĞRUL TAŞCI. Dersin Amacı Bilgisayar sistemlerinin temel organizasyonunu tanımak İşletim sistemlerinin ana bileşenlerini.
Information Technology, the Internet, and You © 2013 The McGraw-Hill Companies, Inc. All rights reserved.Computing Essentials 2013.
Genel Kavramlar Bölüm - 1. YAZILIM Bilgisayara işlemler yaptırabilmek ve karar verdirtebilmek için yazılan kalıplara denir. Yazılım, genel olarak donanım.
Bilgisayar Donanımı Dersi
DaVinci TM Platformunda Video Kodlama. Neden DaVinci TM ? ? ? DaVinci TM platformu özellikle sayısal video kodlama ve çözme gibi ağır hesapsal yüklerin.
İnformasiya texnologiyaları kafedrası Mövzu № 9. Assembler. ( Assembler anlayışı. Assemblerin təyinatı. Assemblerdə operatorların formatı. Direktivlər.
İŞLEMCİLER İŞLEMCİLER.
Mikrodenetleyiciler. M IKROIŞLEMCI N EDIR ? Mikrodenetleyiciler ve mikroişlemciler transistörlerden oluşmakta ve sadece 1-0 değerleriyle işlem yapmaktadır.
Giri ş 1 Mikroişlemciler. İçerik 2 Tarihi geli ş im Tanımlar Mikroi ş lemci tabanlı sistemler Sayı sistemleri.
Anakart Bilgisayarın tüm parçalarını üzerinde barındıran ve bu parçalar arasında iletişimi sağlayan birincil devre kartıdır. Anakartlar elektriği geçirmeyen.
Bilgisayar donanımı RAM-ROM Selma ÇELİK 1/B DERS ÖĞRETMENİ: YILMAZ EROGLU.
DERS 5 PIC 16F84 PROGRAMLAMA.
Mikrobilgisayar Tasarım Yapıları
Doğu Akdeniz Üniversitesi Bilgisayar Ve Teknoloji Yüksek Okulu
Bilgisayar Donanım ve Sistem Yazılımı
Bilgisayar Donanım ve Sistem Yazılımı
Mikroişlemciler Giriş.
Bilgisayar Donanım ve Sistem Yazılımı
Mikroişlemcili Sistem Tasarımı
Ders 6 Atmega328P Mikrodeneyleyicisi
Bilgisayar Sisteminin Anatomisi
İşletim Sistemleri (Operating Systems)
Bilgisayar Mühendisliğine Giriş
Bilgisayar Mühendisliğine Giriş
Mikrobilgisayar Tasarım Yapıları
İşletim Sistemleri (Operating Systems)
BİLİŞİM TEKNOLOJİLERİ
Konu: EĞİTİM AMAÇLI BLDC MOTOR HIZININ PID KONTROLÜ
NİŞANTAŞI ÜNİVERSİTESİ
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
ANAKARTLAR.
Bilgisayar Donanımı Dersi Bilgisayarın Mimarı Yapısı ve Çalışma Mantığı.
Sunum transkripti:

ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama TUNA AYAN www.tuna-ayan.com tunayan@gmail.com

BAŞLAMADAN ÖNCE İşlemci Nedir? İşlemci Nasıl Çalışır? Mikrodenetleyici Nedir? ARM Mimarisi Stellaris LM3S811 Stellaris LM3S811 Evaluation Kit StellarisWare(API) Keil (IDE) Programcı Modeli Demo Uygulama

Çevresel birimlerin çalışmasını sağlayan, İŞLEMCİ NEDİR? İşlemci: Çevresel birimlerin çalışmasını sağlayan, Bu birimler arasındaki veri (data) akışını kontrol eden, Veri işleme görevlerini yerine getiren, Milyonlarca transistörden(IC) oluşan bir yapıdır.

Decoder(Çözücü) 10000100 => 1 000 0100 Accumulator(Toplayıcı) İŞLEMCİ NEDİR? Temel Kavramlar: Register(Kaydedici) Instruction(Komut) Decoder(Çözücü) 10000100 => 1 000 0100 Accumulator(Toplayıcı) Memory(Hafıza) İşlemciye Ait Birimler: Komut Kaydedici(Instruction Register) Komut Çözücü (Instruction Decoder) ALU(Arithmetic Logic Unit)

Memory(Hafıza): Kodumuzun okunacağı hafıza alanıdır. İŞLEMCİ NASIL ÇALIŞIR? Memory(Hafıza): Kodumuzun okunacağı hafıza alanıdır. Program Counter Memory add #5 sub #4 STRA $10 XX XXX Program Counter(Program Sayıcı): Hafıza üzerinde hangi satırdan okuma yapacağımızı belirleyen kısımdır.

Instruction Register(Komut Kaydedici): İŞLEMCİ NASIL ÇALIŞIR? Instruction Register(Komut Kaydedici): Memory üzerinden okunan makine kodunu yorumlar. Makine kodunu ayrıştırır. Kontrol sinyallerini ayarlar ve işlemi başlatır. Program Counter Memory add #5 sub #4 STRA $10 XX XXX Instruction Register ALU ALU: İşlemcinin matematiksel ve mantıksal işlemleri yapan birimine ALU denir. 

Accumulator(Toplayıcı): ALU sonuçları accumulator e kaydedilir. İŞLEMCİ NASIL ÇALIŞIR? Accumulator(Toplayıcı): ALU sonuçları accumulator e kaydedilir. Accumulator genel amaçlı kaydediciler sınıfına girmektedir. Program Counter Memory add #5 sub #4 STRA $10 XX XXX Instruction Register ALU Write Back(Geri Yazma): Bazı işlemlerde geri yazma operasyonu da kullanılır. Accumulator

İŞLEMCİ NASIL ÇALIŞIR? Program Counter Memory add #5 sub #4 STRA $10 XX XXX BUS: İşlemcinin, kendi içinde ve çevresindeki donanımlarla arasındaki bağlantıyı sağlayan iletken yollardır. Data Bus Address Bus Control Bus Instruction Register ALU Accumulator

Örnek Uygulama: Kullanılan Elemanlar: İŞLEMCİ NASIL ÇALIŞIR? Örnek Uygulama: Kullanılan Elemanlar: PC: Program Counter (Program sayıcı) IR: Instruction Register (Komut kaydedici) ACC: Accumulator (Toplayıcı) MAR: Memory Address Register(Adres kaydedici hafıza) MBR: Memory Buffer Register (Buffer kaydedici hafıza) A,B : Register (Özel kaydedicilerimiz) Kullanılan Komutlar: MOVE: Taşı komutudur. ADD : Ekleme komutudur STO : Yazma komutudur. Uygulama Linki

Birden fazla komutun aynı anda işlenmesi olayına pipeline denir İŞLEMCİ NASIL ÇALIŞIR? Pipeline: Birden fazla komutun aynı anda işlenmesi olayına pipeline denir ARM tabanlı sistemlerde 3 aşamalı(fetch,decode,execute) pipeline kullanılır. Örnek Uygulama

CISC(Complex Instruction Set Computer): İŞLEMCİ NASIL ÇALIŞIR? CISC(Complex Instruction Set Computer): İşlemci kendi üzerinde bulunan minyatür bir yazılımı kullanarak komut setlerini çalıştırır. Bu sayede komut setleri değişik uzunluklarda olabilir ve bütün adresleme modellerini kullanabilirler. Bunun dezavantajı çalışmak için daha karmaşık bir devre tasarımına ihtiyaç duyulmasıdır RISC(Reduced Instruction Set Computer): Daha az komutla çalışan, tek bir saat döngüsünde çalışacak çok hızlı komutları işleyebilecek, basit bir devre tasarımıyla gelmiştir. ARM tabanlı sistemlerde RISC kullanılır.

İŞLEMCİ NASIL ÇALIŞIR? CISC vs RISC: Hafıza üzerinde (1,1) ve (1,2) koordinatlarında bulunan 2 sayıyı çarpalım ve sonucu (1,1) adresine yazalım. CISC: MULT (1,1), (1,2) RISC: LOAD A, (1,1) LOAD B, (1,2) PROD A, B STORE (1,1), A Hangisi daha iyi ?? Referans

Mikrodenetleyici, özel amaçlı mikroişlemcidir. MİKRODENETLEYİCİ NEDİR? Mikrodenetleyici, özel amaçlı mikroişlemcidir. Üzerinde işlemci dışında RAM,ADC,I/O vs. entegre edilmiş olarak bulunabilir. Maliyeti ucuz olması ve tek bir entegrede (IC) çevresel aygıt modüllerinin bulunması mikrodenetleyicileri cazip kılmıştır. Mikrodenetleyici = Microcomputer = MCU = uC

Düşük güç tüketimi sağlar. Sadeleştirilmiş komut setine sahiptir. ARM MİMARİSİ Hakkında: ARM (Acorn Risc Machine) mimarisi 32-bit RISC işlemci mimarisine sahiptir. Düşük güç tüketimi sağlar. Sadeleştirilmiş komut setine sahiptir. Yüksek performans sağlar.

M Serisi: Cortex-M0, Cortex-M3, Cortex-M4 ARM MİMARİSİ ARMv7 Çeşitleri: M Serisi: Cortex-M0, Cortex-M3, Cortex-M4 A Serisi: Cortex-A8, Cortex-A9 R Serisi: Cortex-R4, Cortex-R5, Cortex-R7

ARM Teknolojisi: Thumb Thumb2 TrustZone Jazelle SIMD DSP Komutları ARM MİMARİSİ ARM Teknolojisi: Thumb Thumb2 TrustZone Jazelle SIMD DSP Komutları CMSIS NVIC

Cortex-M3Teknolojisi: Thumb: ARM MİMARİSİ Cortex-M3Teknolojisi: Thumb: Thumb komut seti ARM komut setinden farklı olarak 16 bit ile çalışır. Hafızada daha az yer kaplaması ve perfomans artışı sağladığı için tercih edilir. Thumb2: Komut çeşitliği, performans ve ARM komut setiyle aynı anda kullanılabilirliği açısından thumb komut setinin geliştirilmesiyle oluşmuş bir sistemdir.

Cortex-M3Teknolojisi: CMSIS: ARM MİMARİSİ Cortex-M3Teknolojisi: CMSIS: Türkçesi Cortex mikrodenetleyici yazılım ara yüzü standardıdır. Cortex çekirdeğine sahip işlemciler üzerinde, üreticiden ve çipten bağımsız olarak basit bir şekilde gerçek zamanlı işletim sistemi kullanabilmeye olanak sağlar NVIC: Kesme(interrupt) modülüdür. İşlemci üzerindeki bütün portlara harici kesme verebilme olanağı sağlamaktadır.

Düşük güç tüketimi sayesinde mobil uygulamalarda tercih edilir. STELLARIS LM3S811 Hakkında: ARM Cortex M3 mimarisine sahip olan stellaris serisi MCU’lar düşük fiyat ve yüksek performans sağlamalarından dolayı tercih edilmektedirler. Kolay programlanabilme özelliği (stellarisware) ile programcıya rahatça 32bit işlemci programlayabilme avantajı sağlamaktadır. Düşük güç tüketimi sayesinde mobil uygulamalarda tercih edilir. Ortalama fiyatı : $2.75

Genel amaçlı Timer(sayıcı) Watchdog Timer(sayıcı) I2C UART 10-bit ADC STELLARIS LM3S811 Özellikleri: 50MHz işlemci 64kB flash ve 8 kB SRAM Genel amaçlı Timer(sayıcı) Watchdog Timer(sayıcı) I2C UART 10-bit ADC PWM SPI RTC LDO

Programlanabilir kullanıcı butonu Reset buton Potansiyometre STELLARIS LM3S811 EVALUATION KIT Özellikleri: Stellaris LM3S811 işlemci 96x16 OLED display Programlanabilir kullanıcı butonu Reset buton Potansiyometre 20-pin JTAG debug konnektörü (ICDI) UART0 üzerinden sanal USB haberleşme portu USB üzerinden güç seçeneği

Stellaris MCU’ları kolayca programlamamızı sağlar STELLARISWARE Hakkında: Ücretsiz lisanslı Stellaris MCU’larda kullanılmak üzere geliştirilmiş açık kaynaklı kütüphaneler topluluğudur. Stellaris MCU’ları kolayca programlamamızı sağlar C tabanlı yazılsa da arka planda Thumb-2 komut setini kullandığı için performans konusunda oldukça iddialıdır. uKeil, CCS, IAR, Code Red givi derleyicilerle derlenebilmektedir.

Cortex-M, Cortex-R4, ARM7 ve ARM9 cihazlarının tamamını destekliyor KEIL Hakkında: Cortex-M, Cortex-R4, ARM7 ve ARM9 cihazlarının tamamını destekliyor Üzerinde IDE, debugger ve simülasyon desteği vardır CMSIS özelliğini destekliyor TCP/IP ve UDP protokollerini destekliyor. 32 KB ücretsiz kullanım özelliği vardır.

PROGRAMCI MODELİ Kodumuz derlenir ve hafızaya gönderilir İşlemci daha sonra kodumuzu çalıştırır

DİNLEDİĞİNİZ İÇİN TEŞEKKÜRLER