• Anasayfa
  • Hakkımızda
  • Etkinlikler
  • Destek Verin
  • Site Haritası
  • Giriş Yap
  • Üye Ol
  • Facebook
  • Twitter
  • RSS
Yazılım Dilleri
  • Soru - Cevap
  • EĞİTİM SETİ
  • KATEGORİ
  • DUYURU
  • TEKNOLOJİ HABERLERİ

Son Sorular

  • 8/2/2020 11:38:31 PM'Basit' Yazılım Dili
  • 6/25/2020 3:18:13 PMderleme hatası
  • 12/11/2017 4:49:15 PMWindows Hizmeti Hk.
  • 4/23/2016 12:55:33 AMC programlama 2 oyun

Popüler Sorular

  • 5/27/2012 5:49:50 AMAsp.Net ile Date time alana veri ekleyemiiyorum ?
  • 4/2/2012 12:45:18 AM.exe uzantılı dosya için dijital imza nerde nasıl alınır.
  • 5/12/2012 8:44:49 AMAcil Yardım
  • 5/27/2012 1:46:51 PMveri tabanı bağlantısı
  • .Net Framework
  • 8085 Assembly
  • Active Directory
  • ADO.NET
  • Android
  • Apple IOS
  • Arduino
  • ASP.NET
  • ASP.NET MVC
  • Blackberry
  • C#.Net
  • C++
  • CCG Framework
  • CISCO
  • CSS
  • Diğer
  • Dreamweaver
  • Entity Framework
  • Exchange Server
  • Gömülü Sistemler
  • GSM Programlama
  • Güncel
  • Güvenlik
  • HTML5
  • Java
  • Javascript / JQuery
  • Jira
  • Kariyer ve İş Yaşamı
  • LibreOffice
  • LINQ
  • Linux
  • Matlab
  • Microsoft Dynamics CRM
  • Mobil Uygulama Geliştirme
  • MySQL
  • NoSQL
  • Oracle
  • OWIN
  • PFSense
  • PHP
  • Powershell
  • Python
  • Sanallastirma
  • SAP-ABAP
  • SCOM 2012
  • SEO
  • Sharepoint 2010
  • Sharepoint 2013
  • Silverlight
  • Sistem Analiz ve Tasarımı
  • SQL Server
  • Symantec
  • TFS
  • T-SQL
  • Ubuntu
  • VB.NET
  • Veritabanı Yönetim Sistemleri
  • Visual Studio
  • VMware
  • WCF
  • Web Hosting
  • Windows 8
  • Windows Azure
  • Windows Phone 7.1
  • Windows Phone 8
  • Windows Server
  • Wordpress
  • WPF
  • Xamarin
  • XNA
  • Yazılım Mühendisliği
  • Yöneylem Araştırması
  • ASP.NET MVC
  • Entity Framework
  • Javascript / JQuery
  • LINQ
  • PHP

Son Duyurular

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

Gömülü Sistemler II - PLATFORMLAR ve MİKRO DENETLEYİCİLER

Bu yazımızda ise kaldığımız yerden devam ederek Gömülü Sistemlerin platformları, karakteristik özelliklerini ele alacağız.

23.11.2012

Yazar: Muhammed ÖNAL (Google+)

Kategori: Gömülü Sistemler

7440

GÖMÜLÜ SİSTEMLER –II

PLATFORMLAR ve MİKRO DENETLEYİCİLER
 

Merhaba arkadaşlar,

Gömülü Sistemler kategorimizin ikinci yazı serimizle sizlerleyim. İlk makalemizde gömülü sistemlere giriş niteliğini taşıyan ve temel kavramları içeren bir yazıyı ele almıştık. Bu yazımızda ise kaldığımız yerden devam ederek Gömülü Sistemlerin platformları, karakteristik özelliklerini ele alacağız. Bu açıklamaları yaparak yavaş yavaş diğer yazı serilerimiz de RFID okuyucu ve yazıcı Modüllerini geliştirerek, diğer yandan kullanıcı ara yüzü tarafında iş sektörüne yönelik uygulamalar geliştirmeye çalışacağız.

Gömülü Sistem tasarımlarında sık kullanılan platformları irdeleyecek olursak, ilk olarak platform üzerinde kullanılabilecek işlemci mimarileri çeşitlerini incelememiz gerekecektir. Bu anlamda kullanılan işlemci mimarisine göre tasarımlarımı yapmak o teknolojiye ilişkin karakteristik özellikleri de ortaya koymuş oluruz. Peki, bu işlemci mimarileri hangileridir? Gömülü sistemlerde kullanılan başlıca işlemci mimarileri;

                                --> ATMEL AVR
                                --> MIPS (Microprocessor without Interlocked Pipeline Stages)
                                --> ARM (Acorn RISC Machine)
                                --> PowerPC
                                --> X86
                                --> PIC (Peripheral Interface Controller)
                                --> M32R
                                --> Renesas H8
                                --> 8051

Vb. işlemci mimarileridir. Sıraladığımız bu işlemci mimarilerine göz attığımızda bunlardan bazılarını eminim birçoğunuz daha önce duymuş veya en az bir kez uygulama geliştirmişsinizdir. (Örneğin; ATMEL AVR, PIC gibi).

Bunları kısaca açıklayacak olursak;

ATMEL AVR:
Atmel firması tarafından üretilen 8 ve 32 bit mikro denetleyicilerdir (Microcontrollers). Bu mikro denetleyiciler, eşsiz bir performans kombinasyonunun yanı sıra, güç verimliliği ve tasarım esnekliği sağlar. Donanım ve Gömülü Sistemler pazarında zaman açısından hızlandırılmasını optimize eden bu mikro denetleyiciler, Sektör içinde C ve Assembly dilleri tabanlı en verimli kod mimarisine sahip mikro denetleyicilerdir.

Atmel AVR 8 ve 32 bit mikro denetleyicilerin Cihazlarını şu şekilde kategorize edebiliriz:

Cihaz Ailesi

Faydaları

Uygulamaları

Teknolojileri

    Anahtar Parametreleri

32-bit AVR UC3

Dünyanın en verimli 32-bit Mikroişlemcisi

Genel Amaçlı

picoPower

SleepWalking

FlashVault

DMA

Event System

Self Programlama

16-512KB Flash
48-144 pins
Dakika da 66 MHz
1.5 MIPS/MHz

8/16-bit AVR XMEGA

Xtreme performans

8-bit

Genel Amaçlı

picoPower

SleepWalking

FlashVault

DMA

Event System

Self Programlama

16-384KB Flash
44-100 pins
Dakika da 32 MHz
1.0 MIPS/MHz

8-bit megaAVR

Daha fazla Çevre Birimleri (Peripherals) ve Seçenekleri

Genel Amaçlı

Işıklandırma

LCD

QTouch
picoPower
SleepWalking
EEPROM
Self Programlama

4-256KB Flash
28-100-pins
Dakika da 20 MHz
1.0 MIPS/MHz

Batarya(Pil) Yönetimi

Li-Ion Batarya Yönetimi

Gaz ölçüm

Hücre Dengeleme

 

Kimlik Doğrulama

Kısa Devre koruması

Isı koruma

1 – 4 hücreler

Yüksek taraflı NMOS


Coulomb Counter/(Sayıcısı)


Sıcaklık

 

Sensör

 

Self Programlama

1.8 – 25V işlem
8 – 40KB Flash
28 – 48 pins
Dakika da 8 MHz
1.0 MIPS/MHz

 

·         Bunlardan XMEGA Ailesi, Tasarımcıya gerçek zamanlı performans, uyum ve güç verimliliği kombinasyonlarını sunar. Bu da tasarım uygulamalarında malzeme açısından oldukça maliyetimizi en aza indirir. Ve aynı zamanda, XMEGA Ailesi; AES ve DES şifreleme, yüksek Hızlı Analog (High Speed Analog )modülleri, Esnek Timer(Zamanlayıcı) /Counter( Sayıcılar), Çoklu Haberleşme modülleri ve çeşitleri, verimli güç yönetimi gibi özellikleri içeren bir yapıya sahiptir. En önemli özelliklerinden biride sürekli gelişmeyi hızlı bir şekilde gerçekleştirmek adına KOD uyumlu bir yapısı vardır. Yani daha açık bir şekilde ifade etmek gerekirse, iyi bir Kod bakımı, birden fazla projede kullanılabilme özelliğine sahiptir.

Atmel ATmega

Atmel firmasının ATmega mikro denetleyici (microcontrollers) serüveni Atmega 16 ile başlamış ve Atmega 128 ile gelişimini sürdürmeye devam etmektedir.

Şimdiye kadar olan bölümlerimizde hep mikro denetleyicilerden bahsettik. Hemen aklınıza böyle bir soru gelmiş olabilir. Peki, nedir bu Mikro denetleyiciler? Ve ne gibi faydaları vardır? Mikroişlemcilerden farkı nedir? Bu sorulara yanıt arayarak konumuzu biraz daha açalım;

Mikro denetleyici, Bir bilgisayar sistemi içinde bulunması gerekli olan en temel bileşenlerden RAM,I/O birimlerinin tek bir Çip içerisinde üretilmiş şekline Mikro denetleyici yani Microcontroller denir.Mikro denetleycileri mikro işlemcilerden ayıran en temel özellik, mikroişlemcilerden farklı olarak, RAM, ROM,EPROM,EEPROM,Flash bellek ,I/O yani Giriş/Çıkış ara birimleri,Analog-Sayısal Çeviriciler ( Analog  to Digital Converters – ADC ve Digital to Analog Converters-DAC),Timer ve counter birimleri, Pulse Width Modulation (PWM) çıkış modülleri , Seri İletişim portları (Serial Communication ports) gibi birimleri barındırırlar. Mikro işlemcilere göre basit bir yapıya sahipken diğer yandan çok daha ucuzlardır.

Mikro denetleyiciler günümüzde birçok alanda kullanılmaktadırlar. Örneğin; Otomotiv sektöründe, kameralarda,cep telefonlarında ,modemlerde , fotokopi cihazlarında, radyolardan TV’lere,oyuncaklardan hayatımızın her alanına yayılmış olan bir teknolojidir.

Microchip firması ürettiği mikro denetleyicilere ve chiplere PIC adını verirken,Intel firması ilk olarak 8051’le başladığı bu yola bazen MCS-51 adını vermektedir.

Microdenetleyici sisteminin temel bileşenleri aşağıdaki gibidir.

Çevresel Birimler; Lamba, Motor, Isı, Işık sensörü,role vb.

Mikro Denetleyici ; I/O , RAM vb.

Yukarıdaki sorulara cevap ararken şunu da gözden kaçırmadan belirtmek isterim.Biz Mikroişlemciler yerine neden Mikro denetleyicileri kullanmayı tercih ediyoruz? Aslına bakılırsa mikro denetleyiciye ait bilgileri ifade etmeye çalışırken vermiş olduğumuz bilgiler ışığında kendimiz cevabını bulabiliriz. Ama en kaba tabir ile söyleyecek olursak, Mikroişlemci kullandığımız sistemi kontrol etmek için CPU,RAM ve Giriş/Çıkış üniteleri gibi temel bileşenler bulunmak zorundadır. Ve Bu birimler arasında bir veri alışverişi olmak zorundadır. Bu veri alışverişini sağlamak için sisteme bir Veri Yolu yani Data Bus gereklidir. Peki, bu işlemleri gerçekleşmesi için bu düzeneği kurmamız gereken bir baskı devre kartına ihtiyaç duymaz mıyız? Elbette duyarız. Çünkü saydığımız bu birimlerin eksiksiz veri alışverişini ve iletişimi sağlamaları amacıyla üzerine yerleştirilebilecek bir PCB yani baskı devre kartı lazımdır.Bu işlemleri mikroişlemci ile gerçekleştirirken, biraz kalabalık bir yapı oluştuğunun farkına varırız. Oysa mikroişlemci yerine mikro denetleyici kullandığımızda kontrolünü sağlayacağımız sistem için yukarıda belirttiğimiz birimlerin yerine bir Çip ve bir baskı devre kartı(PCB) yeterlidir.

 

PROJELERDE UYGUN MİKRO DENETLEYİCİNİN SEÇİLMESİ

Bir projeye başlamadan önce, uygulama geliştiren geliştirici ve tasarımcılar öncelikle ilk iş olarak hangi firmaya ait mikro denetleyiciyi kullanacaklarına dair seçim yaparlar. Seçim yapıldıktan sonra, O firmaya ait mikro denetleyicinin hangi numaralı serisini kullanacağına karar verirler.Bunun için bir uygulama geliştirirken , geliştirilen uygulama için hangi numaralı mikro denetleyici serisinin kullanılacağı açısından önceden bilgi sahibi olunması gereklidir.

Örneğin; PIC bir Mikro denetleyicidir. PIC mikro denetleyisine ait seriler bulunmaktadır. Mesela; PIC 16F84 gibi.

Proje uygulamalarında kullanılması gereken tipik bir mikro denetleyicide olması gereken en temel özellikler aşağıdaki gibidir denilebilir:

è   Programlanabilir Analog Giriş/Çıkış ( Analog I/O)

è   Programlanabilir Dijital Giriş/Çıkış (Analog I/O)

è   Seri Giriş ve Çıkış ( Serial Input & Output- Sekron ve Asenkron , Cihaz denetimi vb)

è   Motor veya Servo Motor Kontrolü için Pals Modülasyon Sinyali Çıkışu (PWM)

è   Interrupt dediğimiz harici giriş vasıtasıyla kesmeler

è   Zamanlayıcı aracılığıyla kesmeler

è   PC -ISA (Harici Bus arabirimi)

è   ROM, EPROM, PROM ve EEPROM, RAM gibi dâhili hafızalar

è   Kayan nokta hesaplaması ( Floating Point Calculations)

 

Gibi en temel bileşenleri saymak mümkündür. Elbette bu sıraladığımız özelliklere ek yapabiliriz. Ama en temel olarak bunları göz önünde bulundurmak yeterlidir.

 

Aşağıdaki Mikro denetleyici örneklerine göz atalım ve yapılarını inceleyelim.

 

                                      

           PIC 16F628A                                                                                    ATmega 16

 

 

Şimdi Atmel firmasının ATmega serisinden ATmega 16 mikro denetleyicisine göz atalım.

Atmel firmasına ait ATmega 16 ‘nın PİN yapısı şekildeki gibidir.

 

ATmel AVR tabanlı uygulamalarımızda bize yardımcı olması açısından Atmega mikro denetleyicileri için PIN giriş,çıkış vb. bilgilerin üzerinde yazılı olduğu bir etiketi sizlerle paylaşmayı uygun gördüm. En azından hangi giriş ve çıkışın, hangi birimin hangi pin portunda olduğunu rahatlıkla görebilirsiniz. Bu sayede oluşabilecek bağlantı hatalarını minimize etmiş oluruz. Atmega 16 ve Atmega 32 için örneğimiz:

ATmega 16’ya ait bazı özellikler aşağıdaki gibidir:

·                          --->  Yüksek Performans ve düşük güce sahip 8 bit Mikro denetleyici’ye sahiptir

·                          --->  Gelişmiş RISC (Reduced Instruction Set Computer )Mimarisine sahiptir.

– 32 x 8 Genel Amaçlı Çalışan Register’lar
– Tamamıyla Statik (sabit) İşleyiş
– 16 MHz de 16 MIPS’e Kadar Çıkabilme özelliğine sahip
– Çip üzerinde 2 çevrimli çarpım

 

NOT:

RISC Mimarisine, değinecek olursak; Bildiğiniz gibi, Merkezi işlem Birimi’nin(CPU) çalıştırabildiği en ufak program komutu Instruction’dır. Bundan dolayı RISC mimarisine göre İşlemcinin komut sayısı azaltılmıştır. Hemen aklınıza şöyle bir soru gelmiş olabilir. Neden, CPU komut sayısını azaltmaya ihtiyaç duysun?CPU içinde çalıştırılan onlarca kodun karmaşıklığını azaltarak işlemci hızını artırmak için RISC Mimarisine göre komut sayısı azaltılır.Bu sayede mikro Çip içinde boşalmış yere register tanımlanır. Bu şekilde maliyet azalarak, diğer yandan performansı arttırmış olur. Maliyet azaltılmasının sebebi ise kullandığı basit komutlar için daha az transistör ve daha basit devrelere ihtiyaç duymasından dolayıdır. Ama Yeniden tasarımı çok zordur.

 

RISC Mimarisinde komutların uzunluğu sabittir.

 

RISC Mimarisini kullanan bir örnek verecek olursam: IBM 9113-550 üretimi RISC için örnek teşkil eder.

 

ÖNEMLİ NOT:

Bu kadar performans ve maliyet bakımından bize mükemmellikler arz eden BU mimariyi neden kullanmadığımızın (yerine CISC - Complex Instruction Set Computer dediğimiz Geleneksel Bilgisayar Mimarisi olan tam tersi bir karmaşık mimariyi kullanıyoruz) sebebi ise, CISC mimarisinin yüksek seviyeli programlama dilleriyle kolaylıkların sağlanmasıdır.

 

CISC mimarisinin dezavantajlarından biride Karmaşık devre tasarımına ihtiyaç duyan bir özelliğe sahip olmasıdır. Bu nedenle CISC mimarisi değişken uzunlukta ve yapıda komutları bünyesinde barındırır. Bundan dolayı hafıza tasarrufu sağlamış olur.

 

·                    --->  Yüksek dayanıklı geçici olmayan bellek bölümleri

·                    --> Özel Mikro denetleyici özellikleri

·                    --->  Giriş/Çıkış Modülleri

·                    --> JTAG Modülünü içerir.

Gibi arttırabileceğimiz birçok özelliğe sahiptir bu ATmega 16. Şimdi de bu  PIN üzerindeki portları açıklayacak olursam;

PORT A (PA0 … PA7) - A portları 8 bitlik portlardır. Genel kullanımın yanı sıra ADC(Analog to Digital Converter – yani Analog sinyalleri Sayısal sinyallere çeviren) sinyallerinin de giriş çıkış arabirimi olarak kullanılırlar.

PORT B (PB0…PB7)-  B portları da tıpkı A portları gibi 8 bitlik portlardır.B portları SPI, Analog karşılaştırı, Timer1, Timer0 ve USART gibi özel fonksiyonları yapılandırmak içindir.

PORT C (PC0…PC7) -  C Portları da 8 Bitliktir. C portları JTAG Modülü bulundururlar. JTAG aktive edilirse Port C3, Port C4 ve Port C5 pinleri aktif olur. Yani, Reset durumunda bile aktive edilmiş olunur. Timer,Osilatör girişleride bu pin portları üzerinde bulunmaktadırlar.

PORT D (PD0…PD7)- D portları da diğer portlar gibi 8 bitliktir. D portunda karşılaştırma, ele geçirme ve bazı kesme Modülleri de bulunmaktadır. Ayrıca USART giriş çıkış pinleri de bu port üzerinde bulunmaktadır.

XTAL1 – Osilatör girişi

XTAL2 – Osilatör çıkışı

AVCC – PORT A için veya Analog/Digital çevirici için feedback girişidir. ADC (Analog to Digital Converter) kullanılmıyorsa Vcc’ye bağlanabilir.

AREF – Bu pin de analog dijital çevirici (ADC) için referans girişidir.

 

NOT:  Bir sonraki bölümde ATmega 128 serisini detaylarıyla göreceğiz. Ve yavaş yavaş uygulamalarımızı ve programlarımızı geliştirmeye çalışacağız. Biz bunları yaparken aynı zamanda bir RFID okuyucusunun ve Yazıcısının Sistemini tasarlayıp programlamasını inceleyeceğiz. Gömülü Sistemlerimizde ATmega mikro denetleyicisini kullanacağız.

 

Bugünlükte bizden bu kadar diyor ve makalemizin sonuna gelmiş bulunuyoruz. Kafanıza takılan soru işaretleri var ise mail yoluyla sorularınızı iletebilirsiniz. BOL GÜVENLİ YAZILIMLI HAYAT DİLİYORUM J

Yazılım ve Programlama aşkı ile tutuştuğumuz bir sonraki yazımızda görüşmek dileğiyle.

Saygılarımla;

Muhammed ÖNAL
Bilgisayar Mühendisi
RFID Sistemleri Uzmanı
BT Yönetişimcisi

Blog:  http://www.muhammedonal.com
Web : http://www.yazilimdilleri.net


Copyright © Muhammed ÖNAL , 2012

 

 

 

 

 

Yazar Hakkında

Muhammed ÖNAL

Muhammed ÖNAL

www.muhammedonal.com

Bilgisayar Mühendisi | RFID Sistemleri Uzmanı | BT Yönetişimcisi | Strateji Planlama ve İş Geliştirme 2015 itibariyle sağlık sektöründe Bilgi Sistemleri Yöneticisi ve Üst yönetim Stratejik Planlama ve İş Geliştirme Koordinatörü pozisyonunda çalışmaktadır.

Sosyal Medya

ORANLAR

  • 7440izleme

Arkadaşlarınla Paylaş

  • Tweet

0 Yorum

Yorum Yaz / Soru Sor

Lütfen yorum yazmak veya soru sormak için üye girişi yapınız.

Son Yorumlar

  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Merhaba, ellerinize sağlık çok yardımcı ol...
  • Merhaba Bu uygulama örneğinden ASP.net ...
  • Hocam Link başka sayfaya yönlendiriyor.

En Güncel Sorular

  • Bilgilendirme maili (C#.Net)
  • Power Pivot (Sharepoint 2010)
  • BigInteger, BigDecimal (Asp.Net ve Asp.Net MVC)
  • visual C# ile asp nette veritabanı islemleri (Asp.Net ve Asp.Net MVC)
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ? (Sharepoint 2010)

En Son Cevap Verilen Sorular

  • Bilgilendirme maili
  • BigInteger, BigDecimal
  • visual C# ile asp nette veritabanı islemleri
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ?
  • txt dosyasına veri yazma

Twitter

Takip et: @yazilim_dilleri

En Çok Okunanlar

Elif BAYRAKDAR

C# ile SQL Server Bağlantısı, Insert, Update ve Delete Sorguları

23.05.2013

  • 124032
  • 0
Hakan Keskin

C# ile Windows Service Projesi Oluşturma, Debug Etme ve Setup Hazırlama

17.12.2013

  • 71194
  • 0
batuhan avlayan

Php - Mail Gönderme (İletişim Formu)

02.09.2013

  • 51803
  • 0

Sponsorlar

KODLAB
Pluralsight
Exchange server is
Office 365
YAZILIM DİLLERİ
Yukarı Çık
  • Hakkımızda
  • Facebook
  • Twitter
  • RSS

© Yazılım Dillerinin Buluşma Noktası | Kaynak belirtildiği sürece makaleler kopyalanabilir.
YazilimDilleri.Net sitesinde yer alan kullanıcıların oluşturduğu tüm içeriklerin yayınlanması ile ilgili yasal yükümlülükler içeriği oluşturan kullanıcıya aittir, YazilimDilleri.Net hiçbir şekilde sorumlu değildir.

Kapat

Giriş Yap

Kullanıcı Adı

Şifre

Şifremi Unuttum

KULLANICI GİRİŞİ