Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

TUNA AYAN ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama.

Benzer bir sunumlar


... konulu sunumlar: "TUNA AYAN ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama."— Sunum transkripti:

1 TUNA AYAN ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama

2 • GPIO(Çevresel Aygıtlar) • StellarisWare İle Programlama • Interrupt • OLED Ekran • Debug İşlemi

3 GPIO Nedir? • Genel amaçlı giriş ve çıkış pinlerine GPIO denir. • Bu pinler programcı tarafından kontrol edilebilir, programlanabilir ve yönlendirilebilir. • LM3S811 üzerinde GPIO pinleri 5 adet port altında toplanmıştır.

4 Özellikleri: GPIO Modülü, her portta 8 adet pin kullanımına olanak sağlar. Bu pinlerin genel özellikleri; • Giriş yada çıkış olarak tanımlanabilirler. • Opsiyonel olarak pull-up, pull-down seçenekleri ile kullanılabilirler. • Çevresel aygıt pini olarak kullanılabilirler. • Her pinin birden fazla görevi vardır. Bu görevler arasında seçim yapılmasına olanak sağlar.

5 GPIO Modülüne Ait Fonksiyonel Tanımlamalar: • Data Kontrolü • Interrupt Kontrolü • Mod Kontrolü • Pad Kontrolü

6 Data Kontrolü: • Pin için giriş çıkış ayarları bu kısımda gerçekleştirilir. • Stellaris üzerindeki GPIODIR register’ı ile gerçekleşir. • Gerekli pini giriş olarak tanımlamak için ‘0’ değeri, çıkış olarak tanımlamak için ‘1’ değeri yazılır.

7 Interrupt Kontrolü: • GPIO pinlerinin interrupt özelliğinin açılıp kapanmasını sağlar. • Hangi durumlarda interrupt geleceğinin belirlenmesini sağlar. Mod Kontrolü: • GPIO pininin hangi işlevini kullanacağımızı belirler.

8 Pad Kontrolü: • Pad ayarlamaları için kullanılır. • Donanımsal olarak kullanım değişikliklerinde tercih edilir. • Opsiyonel olarak open-drain seçimi yapılmasına olanak sağlar.

9 Algoritma: 1. Cihaz üzerinde kullanacağımız port aktif hale getirilir. SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOX); 2. Port üzerinde kullanacağımız pin seçilir ve özellikleri ayarlanır. GPIOPinTypeGPIOOutput(GPIO_PORTX_BASE,GPIO_PIN_5 | GPIO_PIN_6); 3. Varsa özel ayarlar yapılır. 4. Yapmak istediğimiz işlemler gerçekleştirilir. GPIOPinWrite(GPIO_PORTX_BASE,GPIO_PIN_Y,!GPIO_PIN_Y); Uygulama

10 Interrupt Nedir? • Bir uygulamanın, daha önemli bir uygulamanın gerçekleşmesi için kesilmesi işlemidir. • Interrupt bağlandığı yerdeki spesifik hareketlere göre ayarlanabilir, kontrol edilebilir, kendi içerisinde de önem sırasına göre kullanılabilir. • ARM tabanlı MCU’lar üzerinde NVIC (Nested Vectored Interrupt Controller) bulunur.

11 NVIC Nedir? • Stellaris üzerinde 26 adet NVIC interrupt kullanılabilir. • 0-7 arasında öncelik sırasına göre interrupt’lar kendi aralarında da sıralanabilir.(önceliği en büyük olan 0) • GPIO pinlerine bağlanabilir. • Maskelenebilir, Maskelenemeyen harici NMI interrupt’ı vardır. • Vektörel olarak tanımlanır, kolay kullanım avantajı sağlar.

12 NVIC Nasıl Kullanılır: • Proje içerisindeki startup.s dosyası içerisinden kolaylıkla kullanılabilir. • Vektörel olarak isimlendirilmiş alanda interrupt olduktan sonra dallanılacak fonksiyon adresini belirtilir. • Fonksiyon adresi tanımlanır.

13 Algoritma: 1. İnterrupt özellikleri ayarlanır.(örn. Düşen kenar) GPIOIntTypeSet(GPIO_PORTX_BASE, GPIO_PIN_Y, GPIO_FALLING_EDGE); 2. Pin üzerindeki interrupt yakalama aktif hale getirilir. GPIOPinIntEnable(GPIO_PORTX_BASE, GPIO_PIN_Y); 3. Genel interrupt açılır. IntEnable(INT_GPIOX); 4. Interrupt fonksiyonu içerisinde Interrupt bayrağı temizlenir. GPIOPinIntClear(GPIO_PORTX_BASE, GPIO_PIN_Y);

14 OLED Ekran Nedir? • OLED ekran LCD ekran teknolojisine rakip olarak çıkmıştır. Işık yayan diyot(LED) familyasının son türüdür. • Organic Light Emitting Device açılımına sahiptir. • Düşük güçte çalışmalarından dolayı genellikle mobil uygulamalarda kullanılırlar.

15 Stellaris OLED Ekran ÖZellikleri: • Üzerinde SSD0303 sürücü bulunmaktadır. • Bu sürücü sayesinde fonksiyonlar yardımıyla kolayca yazı ve resim ekleyebiliyoruz. • Monochrome(tek renk) ekranı vardır. • 96x16 Çözünürlük destekliyor.

16 Resim Ekleme: • Resim gösterimi matris tanımlanarak yapılabilmektedir. • Stellaris üzerindeki OLED ekran ile resim gösterimi matris dolumu ile gerçekleşir.

17 Algoritma: 1. Hızı ayarlanır. Display96x16x1Init(true); 2. String yazılır. Display96x16x1StringDraw("Merhaba", 0, 0);

18 Debug Nedir? • Türkçesi hata ayıklama olan bu yöntem programcıya kodunu adım adım inceleme imkanı sunar. • Adım adım kod çalıştırmanın yanında anlık değişkenlerimizin değerini de okumak mümkündür. • Başlarda simülasyon düzeyinde olan bu işlemler artık gömülü sistemlerde cihazın üstünde debug yapma özelliği getirmiştir. Aynı zamanda zorunlu hale de gelmiştir.

19 JTAG Nedir? • Joint Test Action Group olarak açılabilir. • Bir debug çeşididir. İşlemciler üzerindeki alt blokları kontrol eder. • Gömülü sistemlerde adım adım çalışmayı sağlar. • 1990 yılında test mekanizması olarak çıkmıştır.

20 JTAG Elemanları:

21 JTAG Nasıl Çalışır?

22 ICDI • In Circuit Debugger Interface olarak açılabilir. • Stellaris LM3S811 üzerinde bilgisayar ile arasındaki debugger ICDI tipi debugger dır. • Bilgisayar ve stellaris arasında debug ara yüzünü kolayca oluşturur.


"TUNA AYAN ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama." indir ppt

Benzer bir sunumlar


Google Reklamları