80C51 Mikrodenetleyicilerinde Timer-Counter Yapılarının FPGA Mimarileri Kullanılarak Geliştirilmesi. Özdemir ÇETİN 1. Bölümü, Adapazarı

Benzer belgeler
BÖLÜM 7 XTAL2 XTAL1. Vss. Şekil Mikrodenetleyicisi osilatör bağlantı şekli. Bir Makine Çevrimi = 12 Osilatör Periyodu

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

BÖLÜM Mikrodenetleyicisine Giriş

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

Mikroişlemcili Sistemler ve Laboratuvarı

VHDL DONANIM TANIMLAMA DİLİD ve FPGA, CPLD DONANIMLARI. Yard. Doç. Dr. Özdemir ÇETİN

Gömülü Sistemler. (Embedded Systems)

BÖLÜM in Bellek Organizasyonu

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1

Ad Soyad: Öğrenci No:

MİKROİŞLEMCİLER. Mikroişlemcilerde Kullanılan Yeni Teknolojiler ve Mikroişlemcilerin Rakipleri

Sahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula

HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

EEM 419-Mikroişlemciler Güz 2017

Mikroişlemcili Sistemler ve Laboratuvarı

PIC Mikrodenetleyicileri

Embedded(Gömülü)Sistem Nedir?

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

EEM 419-Mikroişlemciler Güz 2016

FPGA ile Kablosuz Görüntü Aktarımı. Yusuf Onur Koçberber

İvme VGA, İvme s_2.1 fiziksel işlemci çekirdeğinin, çalışan iç yapısının herhangi bir simülasyon olmaksızın fiziksel olarak dış dünyaya aktarımıdır.

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

Mikroişlemciler-IMikrodenetleyiciler. Alper Bayrak Abant İzzet Baysal Üniversitesi Bolu

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

ADCCON1: MD1 EXT_REF CK1 CK0 AQ1 AQ0 T2C

TIMER. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Mikroişlemciler ve Assembler Programlama. Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR

FPGA ile Gömülü Sistem Tasarımına Giriş

BM-311 Bilgisayar Mimarisi

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme

Şekil 2.31: Proje yöneticisi penceresinden değişkenleri tanımlama

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

VHDL Kullanarak FPGA ile Yüksek Kapasiteli Tam Çıkarıcı Devre Tasarımı

İÇİNDEKİLER 1. KLAVYE KLAVYE RB KLAVYE RBHIGH DİSPLAY... 31

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

Mikrobilgisayar Mimarisi ve Programlama

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

BLG2109 BİLGİSAYAR DONANIMI DERS 3. Öğr. Grv. Aybike ŞİMŞEK

8051 DONANIM ÖZELLİKLERİ

EEM 437 MİKROİŞLEMCİLER DERS NOTLARI

DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ

Mikroişlemcili Sistemler ve Laboratuvarı

Eğitim Amaçlı Temel Bir Mikrobilgisayarın Tasarlanması ve Gerçeklemesi Design and Implementation of a Basic Microcomputer for Educational Purpose

DESIGN AND IMPLEMENTATION OF MULTIMETER BASED ON MICROCONTROLLER

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

ARM MİMARİSİ VE UYGULAMALARI

VIERO, görüntü tabanlı analiz sayesinde, ortalama araç hızı bilgisi üretmekte ve araç yoğunluğunu da ölçmektedir. VIERO Araç Sayım Sistemi

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk bit 07FF kullanıcının program alanı

8. MİKROİŞLEMCİ MİMARİSİ

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK

Mikrobilgisayarlar. Mikroişlemciler ve. Mikrobilgisayarlar

Mikroçita. Mikroçita Rapor 2:

İşletim Sistemleri (Operating Systems)

Mimari Esaslar. Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır.

VIERO ARAÇ SAYIM SİSTEMİ

PSoC 1 ile Elektronik Uygulamaları için Deney Seti Tasarımı ve Gerçekleştirilmesi

Mikroişlemciler ve Mikrodenetleyiciler

ESM-361 Mikroişlemciler. 1. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Çalışma Açısından Bilgisayarlar

BÖLÜM 7 Kesmeler.

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

BÖLÜM MİKROİŞLEMCİSİ

BM-311 Bilgisayar Mimarisi

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU

Programlanabilir Sayısal Sistemler

Deney 6: Ring (Halka) ve Johnson Sayıcılar

SAYICILAR. Tetikleme işaretlerinin Sayma yönüne göre Sayma kodlanmasına göre uygulanışına göre. Şekil 52. Sayıcıların Sınıflandırılması

BM-311 Bilgisayar Mimarisi

BÖLÜM 1: MİKRODENETLEYİCİLER

Java 2 Micro Edition (J2ME)

EEM 437 MİKROİŞLEMCİLER DERS NOTLARI

İçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6

BM-311 Bilgisayar Mimarisi

BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ

Mikrobilgisayar Mimarisi ve Programlama

DENEY-4. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

BÖLÜM 2 SAYI SİSTEMLERİ

4. HAFTA KBT104 BİLGİSAYAR DONANIMI. KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Buse Ustaoğlu 1, Berna Örs Yalçın 2. İstanbul Teknik Üniversitesi İstanbul Teknik Üniversitesi

8051 Mikrokontrolcü Ailesi

Deney 3: Asenkron Sayıcılar

NEDEN & ADuC8xx EĞİTİM NOTLARI Bölüm-2 Selim Dilmaç Neden 8051

HDL ile Gelişmiş Sayısal Tasarım (EE 425) Ders Detayları

MİKROİŞLEMCİLER. Mikroişlemcilerin Tarihsel Gelişimi

EEM122SAYISAL MANTIK SAYICILAR. Elektrik Elektronik Mühendisliği Yrd. Doç. Dr. Hüseyin Sağkol

MEKATRONİĞİN TEMELLERİ

Transkript:

80C51 Mikrodenetleyicilerinde Timer-Counter Yapılarının FPGA Mimarileri Kullanılarak Geliştirilmesi Özet Murat ÇAKIROĞLU 1 Ahmet Turan ÖZCRİT 1 alil İbrahim SKİKURT 1 Özdemir ÇTİN 1 1 Sakarya Üniversitesi, Teknik ğitim Fakültesi, lektronik ve Bilgisayar ğitimi Bölümü, 54187 Adapazarı {muratc,aozcerit,eskikurt,ocetin}@sakarya.edu.tr Bu makalede, 80C51 mikrodenetleyicisinin endüstriyel alandaki bazı eksikliklerini gidermek ve daha modüler bir yapıya kavuşmasını sağlamak için FPGA (Alan Programlanabilir Kapı Dizisi) mimarileri içerisinde gerçekleştirilmesi amaçlanmıştır. SAU8051 olarak adlandırılan tasarım, VDL donanım tanımlama dili yarımıyla ve Virtex ailesi FPGA elemanı kullanılarak gerçekleştirilmiştir. Tasarım süresince 80C51 mikrodenetleyicisinin orijinal mimarisine mümkün olduğunca sadık kalınmıştır. Anahtar Sözcükler: 80C51, IP-core, FPGA Improving Timer-Counter Units in the 80C51 Microcontrollers Using FPGA Architectures Abstract In this paper, the 80C51 microcontroller has been reconfigured in order to overcome some shortcomings of it and to obtain much more modular configuration by the help of FPGA (Field Programmable Gate Array) architectures. The design, so-called SAU8051, is described by VDL (a ardware Description Language) and implemented in a Virtex device, which is an FPGA chip produced by Xilinx. Throughout the design cycles, the authenticity of the 80C51 is preserved as much as possible. Keywords: 80C51, IP-core,FPGA 1. Giriş lektronik sistemlerin tasarımında modern yaklaşım, system-on-chip (SoC) olarak ifade edilen bir teknolojidir [1]. SoC teknolojisinde, sistem içerisindeki birimler bir donanım tanımlama dili (VDL,VRILOG veya SystemC) yardımıyla ifade edilir. Sistemin tanımlanma aşamasını takiben derleme ve davranışsal benzetim adımları gerçekleştirilir. Sistemden beklenen cevapların elde edilmesiyle sistem üzerinde zamansal benzetim aşamasına geçilir. Bütün birimler, sentezleme ve yerleştirme işlemleri sonunda tekrar programlanabilir bir tümleşik devreye aktarılır. Burada 1

bahsedilen teknolojinin tüm evrelerinde yazılım tabanlı geliştirme sistemleri kullanılır. Sistemin uygulama aşamasında ise gerek büyük kapasiteleri ve gerekse de esnek yapılarından [2] dolayı kompleks dijital sistemlerin ve prototip devrelerin tasarımında en çok tercih edilen uygulama teknolojilerinden birisi olan, FPGA tümleşik devreleri kullanılmıştır. [3]. Intel 80C51 mikrodenetleyicisi, kullanım kolaylığı, esnekliği v.b. özellikleri sayesinde mikrodenetleyici piyasasına hakim olmuştur ve bu yüzden çoğu elektronik devre tasarımında yaygın olarak kullanılmaktadır [4]. Fakat maliyet / performans açısından incelendiğinde ihtiyaca ve amaca yönelik olarak yeniden biçimlendirilme gerekliliği ortaya çıkmıştır. Gerçekleştirilecek tasarımın özelliğine göre Timer / Counter ve Seri haberleşme birimlerinin sayısının belirlenmesi, gerekli olan komut setinin tercih edilmesi, hafıza birimlerinin miktarının ihtiyaca yönelik olarak seçilmesi düşük maliyet / makul performans oranını sağlayacaktır. Bu çalışmada, endüstriyel alandaki uygulamaların gereksinimlerini karşılayacak şekilde ve kullanıcının isteği doğrultusunda, çevre birimlerinin sayısı ve türü, hafıza birimlerinin büyüklüğü, komut seti, komut işleme süresi belirlenebilen SAU8051 olarak adlandırılan IP-core (İşlemci tabanlı çekirdek), tasarımı gerçekleştirilmiştir. 2. İşlemci Tabanlı Çekirdek Mimarisi RST CLK INT0 INT1 T0 T1 RX P0 P1 P2 P3 A Portlar Timer/Counter Komut Çözücü Bit Servis SAU8051_CPU Dahili RAM N Timer/Counter ALU Kontrol Kaydediciler Adress Çözücü Dahili ROM Seri aberleşme Kesme SAU8051_COR P0 P1 P2 P3 PSN TXD RD WR Şekil 1. İşlemci tabanlı çekirdek blok diyagramı. Şekil 1 de, kontrol, ALU, Timer/Counter, seri haberleşme, Kesme birimleri, dahili RAM ve ROM hafıza bloklarından oluşan tekrar konfigüre edilebilir 8051 mikrodenetleyicisinin blok diyagramı görülmektedir. Modellenen 8051 mikrodenetleyicisinin standart özellikleri şunlardır; 32 Giriş/Çıkış portu 128 Byte dahili RAM 64 Kbyte a kadar dahili ROM 2

64 Kbyte a kadar harici ROM ve RAM 2 adet Timer/Counter 1 adet seri haberleşme birimi 2 adet harici kesme kaynağı Tasarımda 8051 in standartlarını belirleyen birkaç VDL sabiti vardır. Uygulamalardaki ihtiyaca yönelik olarak ilgili VDL sabitlerine uygun değerler atanmasıyla kullanıcıya çekirdeğin yapısını belirleme imkanı verilir. Böylece RAM ve ROM büyüklükleri, komut seti, kesme kaynaklarının sayısı, zamanlayıcı/sayıcı ve seri haberleşme birimlerinin sayısı isteğe göre belirlenebilir. 3. Timer/Counter nin Özellikleri Timer/Counter biriminde Timer 0 ve Timer 1 olarak adlandırılan 2 adet 16 bitlik sayıcı mevcuttur. Timer 0 ve Timer1 sayıcıları 4 tane sayma moduna sahiptir [5]. 13 bit Timer/Counter modu (Mod 0) 16 bit Timer/Counter modu (Mod 1) 8 bit otomatik yükleme modu (Mod 2) Ayrık mod (Mod 3) P3.4 T0 OSC/12 T0 ve TL0 Güncelleme Mod Seçimi Taşma sinyali TMOD GAT M 1 C/ T M 1 M 0 GAT C/ T M 0 P3.2 INT0 TCON TF0 TR0 Şekil 2. Timer 0 ın basitleştirilmiş blok diyagramı. Şekil 2 de Timer 0 ın basitleştirilmiş blok diyagramı görülmektedir. Timer 0 ve Timer 1 sayıcıları, 8051 mikrodenetleyicisinin SFR (Special Function Register) sinde bulunan TMOD ve TCON kaydedicileri tarafından kontrol edilmektedir. Timer 0 ve Timer 1 sayıcılarının timer olarak yada counter olarak çalışmasının belirlenmesi, sayma modlarının seçilmesi ve sayma işleminin bir kesmeye bağlı olarak başlayıp başlamaması TMOD kaydedicisindeki ilgili bitlere uygun değerler atanması ile belirlenebilir. Timer 0 ve Timer 1 sayıcılarının taşma ve çalış bayrakları TCON kaydedicisinde bulunmaktadır. 3

4. Timer/Counter nin Sadeleştirilmiş Akış Diyagramı Şekil 3 de Timer / Counter biriminin basitleştirilmiş akış diyagramı görülmektedir. Clock bölme prosesinde 12 Mhz sistem saat sinyalinden 1Mhz lik makine saykılı elde edilir. T0 (Timer 0) ve T1 (Timer 1) düşen kenar sezme proseslerinde, T0 ve T1 harici girişlerindeki düşen kenarlı sinyallerin sezilme işlemi gerçekleştirilir. Daha sonraki aşamada ise TMOD kaydedicisinin 1. ve 2. bitleri olan M 1 M 0 (T0 için mod seçme) pinlerinin ve 5. ve 6. bitleri olan M 1 M 0 (T1 için mod seçme) pinlerinin durumuna göre gerekli işlemler yapılır. Başla Clk Bölücü T0 düşen kenar sezme T1 düşen kenar sezme T0_mod=? 00 T0_mod=? 01 T0_mod=? 10 T0_mod=? 11 Timer 0 Mod0 Timer 0 Mod1 Timer 0 Mod2 Timer 0 Mod3 Null T1_mod=? 00 T1_mod=? 01 T1_mod=? 10 T1_mod=? 11 Timer1 Mod0 Timer1 Mod1 Timer1 Mod2 Timer1 Mod3 Null Şekil 3. Timer / Counter biriminin basitleştirilmiş akış diyagramı. 4

5. Simülasyon Sonuçları Şekil 4. de Timer / Counter biriminin simülasyon sonuçları görülmektedir. Tek bir ekranda tüm simülasyonun gözlenmesi mümkün olmadığından yalnızca simülasyonun bir kısmı alınmış ve sayma kaydedicilerine taşmalarına yakın değerler yüklenmiştir. Timer0_mod ve timer1_mod sinyalleri sayıcıların hangi moda çalıştığını göstermektedir. Şekil 4. Timer/Counter biriminin simülasyon sonuçları 6. SAU8051 Mikrodenetleyicisinin Gerçeklenmesi Gerçekleme aşaması için Xilinx firmasının ürünü olan Virtex ailesi XCV300 FPGA elemanı kullanılmıştır. 64 KB dahili ROM, 128 Bayt dahili RAM, bir adet seri haberleşme birimi, 2 adet Timer / Counter birimi ve diğer standart özelliklere sahip olan çekirdek, FPGA tümleşik devresinin % 61 luk bölümünü kullanmıştır. Tasarımı yapılan SAU8051 mikrodenetleyicisinin maksimum saat sinyal frekansı 40 Mhz olup pipeline komut işleme tekniğine göre çalıştığından bazı komutları işleme süresi standart 80C51 mikrodenetleyicisinden daha kısadır. Modellenen sistemin tüm birimlerinin benzetimlerinin yapılması, sentezlenmesi ve gerçekleştirilmesi aşamalarında Xilinx (IS 5.1i) ve Mentor Graphics (FPGA Advantage 5.4 Pro incorporating ModelSim 5.6f ve Leonardo Spectrum 2002e) programlarının sunduğu FPGA geliştirme araçları kullanılmıştır. 5

7. Sonuçlar Bu çalışmada, mikrodenetleyici piyasasında en yaygın kullanıma sahip olan 80C51 mikrodenetleyicisinin FPGA tümleşik devreleri üzerinde tasarımı gerçekleştirilmiştir. Platform olarak FPGA mimarilerinin kullanılma sebebi, prototip olarak tasarlanan bu çalışmanın daha esnek bir kullanıma sahip olması yani üzerinde istenilen değişikliklerin kolayca yapılabilmesi, tasarım sürecinin kısa olması ve çok farklı uygulamaların gerçekleştirilebilmesi sayılabilir. Kullanılacak FPGA elemanının kapasitesine bağlı olarak IP-core un çevre birimlerinin sayısı özellikle de endüstriyel uygulamalarda çok ihtiyaç duyulan Timer / Counter birimlerinin sayısı, tasarımın parametrelere bağlı olarak gerçekleştirilmesi sayesinde kolaylıkla değiştirilebilir. Gelecek çalışmalarda Gerçek zamanlı sayma biriminin tasarlanarak çekirdek mimari içine entegre edilmesi hedeflenmektedir. Teşekkür Bu çalışma, D.P.T tarafından desteklenen Mikroişlemci ve Mikrodenetleyici yapıların FPGA-CPLD yapılarda gerçekleştirimi isimli proje kapsamında gerçekleştirilmiştir. KAYNAKLAR [1]Borgatti, M., Lertora, F., Foret, B., Cali, L. : A Reconfigurable System Featuring Dynamically xtensible mbedded Microprocessor, FPGA and Customizable I/O, I Custom Integrated Circuits Conference, (2002) 13-16 [2]Bezarra,.A, Gough, M.P,: A Guide to Migrating from microprocessor to FPGA Coping with the Support Tool Limitations, LSVIR Microprocessor and Microsystems 23, (1999) 561-572 [3]Salcic Z.:PROTOS-A microcontroller/fpga-based prototyping system for embedded applications, LSVIR Microprocessor and Microsystems, pp. 249-256, 1997. [4]Feng S., Yuanging G., Runde Z.:The Design of a igh Performance and Low Power mbedded Microprocessor Core OM80C51, ASIC, I 4th International Conference on, pp. 765-768, 2001 [5]Philips Semiconductors, 80C51-Based 8 bit Microcontrollers Data andbooks, IC20, 1994. 6