embedded systems... - intercomponents.com
Transkript
embedded systems... - intercomponents.com
EMBEDDED SYSTEMS... 1. GİRİŞ: Gömülü bir sistemin çekirdeğini, belirli bir sayıda görevi yerine getirmek için programlanan mikroişlemciler, mikrodenetleyiciler veya sayısal sinyal işlemciler (DSP: Digital Signal Processor) oluşturur. Gömülü sistem; herhangi bir sistemin içinde yer alan ve o sisteme “akıllılık” özelliğini veren elektronik donanım ve yazılımdan oluşan bütünü ifade etmektedir. Burada sözü edilen yazılımlar, bilgisayarımızdaki genel amaçlı yazılımlardan farklı olarak, kullanıcıyla direk değil dolaylı etkileşimde bulunan ve genellikle tek bir görevi yerine getiren yazılımlardır. Genel olarak ise gömülü sistemler: belirli bir fonksiyonu yerine getirmek için tasarlanmış yazılım ve donanım kombinasyonu şeklinde tanımlanabilir. 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. Sistem belirli bir amaca yönelik olduğu için tasarım mühendisleri ürünün boyutunu ve maliyetini azaltarak sistemi uygunlaştırabilirler. Gömülü sistemler genellikle büyük miktarlarda üretildiği için maliyetin düşürülmesinden elde edilecek kazanç, milyonlarca ürünün katları olarak elde edilebilir. Kullanıcıların üzerinde istediği yazılımları çalıştırabildiği genel maksatlı bilgisayarlardan farklı olarak, gömülü sistemlerdeki yazılımlar yarı kalıcıdırlar ve firmware ismiyle anılırlar. Yani bir disk sürücüsü olmayan gömülü sistemler için yapılan yazılıma firmware adı verilir. Öte yandan genel olarak her gömülü sistem şekildeki birimlere sahiptir: Şekil.1. Genel gömülü sistem yapısı. 2. TARİHÇE: Kayda değer ilk gömülü sistem MIT (Massachusetts Institute of Technology) Instrumentation Laboratory‘da Charles Stark Draper tarafından geliştirilen Apollo Guidance Computer olmuştur. Aya yapılan yolculuklarda iki tane kullanılırdı ve komuta modülü ve LEM aracının eylemsiz rehber sistemlerini çalıştırıyordu. 1|Sayfa Projenin başlangıcında Apollo rehber bilgisayarı, Apollo projesinin en riskli parçası olarak kabul ediliyordu. O zamanki tek parça tümleşik devrelerin kullanılması boyut ve ağırlığı azaltıyor ama riski artırıyordu. İlk kitlesel gömülü sistem üretimi 1961 yılında Minuteman füzesi için yapılan Autonetics D-17 rehber bilgisayarı oldu. Ayrık tranzistör lojiğinden yapıldı ve ana bellek için bir harddiski vardı. 1966 yılında Minuteman II üretime girdiğinde, D-17 ilk defa yüksek hacimli tümleşik devrelerin kullanıldığı yeni bir bilgisayara yerini bıraktı. Bu yazılım dörtlü NAND kapılı IC’lerin (Integrated Circuit) birim fiyatını 1000$’dan 3$’a çekti ve ticari kullanımlarının yolunu açtı. Minuteman bilgisayarının önemli tasarım özellikleri; füzenin hedefi daha hassas bulabilmesi için rehber algoritmasının yeniden programlanabilir olması, bilgisayarın kablo ve konnektörden tasarruf sağlayarak füzeyi test edebilmesiydi. Maliyetin dikkate alınmadığı 1960’lardaki bu ilk uygulamalardan itbaren gömülü sistemlerin fiyatları düşmeye başladı. Bunlarla birlikte işlem gücü ve işlevsellikte de yükseliş oldu. İlk mikroişlemci hesap makineleri ve diğer ufak sistemlerde kullanılan Intel 4004 oldu. Çalışabilmesi için harici bellek yongaları ve harici destek lojiklerine ihtiyaç duyuyordu. Intel 8080 gibi daha güçlü mikroişlemciler askeri projelerde geliştirildi, ama diğer kullanıcılara da satıldı. 1970’lerin sonunda 8-bit mikroişlemciler standart olmakla birlikte çözümleme ve giriş/çıkış işlemleri için genellikle harici bellek yongaları ve lojiklere ihtiyaç duyuyorlardı. Öte taraftan, fiyatlar hızla düşüyor ve uygulamalar küçük gömülü sistemleri lojik tasarımların içine sokuyordu. Görünebilir uygulamaların bir kısmı enstrümantasyon ve pahalı aygıtlardı. 1980’lerin ortalarında harici olarak kullanılan sistem parçaları, işlemci ile beraber aynı yonganın içine girmeye başladı. Bunun sonucu olarak boyutta ve gömülü sistemlerin maliyetinde çok büyük düşüşler oldu. Bu tip tümleşik devrelere mikroişlemci yerine mikrokontrolör dendi ve gömülü sistemlerin yaygın bir şekilde kullanımı mümkün oldu. Mikrokontrolör maliyeti bir mühendisin 1 saatlik maaşının altına indi ve bu gömülü sistemlerin sayısını ve gömülü sistemlerde kullanılmak üzere farklı şirketler tarafından üretilen parçaların sayısının patlamasına neden oldu. Örneğin, pek çok yeni özelliğe sahip IC’ler, geleneksel paralel programlama arayüzleri yerine mikrokontrolörlere daha az sayıda arabağlantı sağlayan seri programlama arayüzleri ile beraber gelmeye başladı. I2C‘nin (Integrated InterConnect) çıkış zamanı da bu döneme rastlamaktadır. Mikrokontrolörler 1$’ın altına düştüğünde, voltmetre ve değişken kapasitör gibi pahalı analog elemanların yerlerini küçük bir mikrokontrolör ile kontrol edilen dijital elektronik elemanlara bırakması mümkün oldu. 80’lerin sonundan itibaren, tüm elektronik cihazlar için gömülü sistemler bir istisna değil bir standart haline geldi ve bu akım halen devam etmektedir. Tasarımlardaki kriterlere göre bu gereksinimlerinden bazıları arasında tercih yapmak gerekebilir. Örneğin karmaşık hesaplamaların gerekli olabileceği sistemlerde yüksek işlem gücü ihtiyacı ön planda olurken, çok büyük miktarlarda üretilecek sistemlerde düşük maliyet daha önemli olabilir. Gömülü sistemler kullanım alanlarına göre zaman zaman oldukça kritik görevleri yerine getirebilirler.Burada oluşabilecek hatalar büyük mal ve can kayıplarıyla sonuçlanabilir. Bu açıdan bakıldığında bu sistemlerin “güvenilir” ve “hataları tolere edebilir” özellikte olmaları çok önemlidir.Bir mikrodalga fırının ya da bir oyuncağın içindeki sistemin zaman zaman hatalı 2|Sayfa çalışması çok büyük sorun oluşturmaz,ancak bir uçağın otomatik pilot sistemindeki hata birçok insanın hayatını tehlikeye atabilir. Bugün dünyada üretilen mikroişlemcilerin/mikrodenetleyicilerin büyük çoğunluğu gömülü sistemlerde kullanılmaktadır. Genellikle 8 bit mikrodenetleyiciler yoğun olmakla beraber, 32 bitlik mikrodenetleyiciler de düşen maliyetleri sonucu artık geniş kullanım alanı bulmaktadır. 3. YAPILAN İŞLER: Bugün ortalama bir aile otomobilinde 20-25 adet mikrodenetleyici kullanıldığı söyleniyor. Arabanıza girmeden önce uzaktan kumandayla kapıları açıyorsunuz, içeri girip kontağı çeviriyorsunuz, CD çalarınızdan bir parça seçiyorsunuz, emniyet kemerinizi takmadığınız takdirde bir uyarı sesiyle karşılaşıyorsunuz… bütün bu sayılan adımların arka planında çalışan minik bilgisayarlar sözkonusu. Arabınızın güvenliğini sağlayan ve uzaktan kumandayla kontrol ettiğiniz alarmda, arabanızın ateşlemesini kontrol eden sistemde, CD çalarınızda ve aracınızdaki diğer sistemlerin merkezinde bir “mikroişlemci” görev yapmaktadır. Bu işlemciler de çoğu zaman birbirleriyle iletişim içindedirler. Peki gömülü sistem yapılanmasını çevremizde hangi formlarda görebiliriz sorusunun listesel cevabı ne olacaktır? Network Ekipmanları Motor Denetleyicileri ABS (Air-Break Switch) Fren Sistemleri Ev Otomasyon Ürünleri Hava Savunma Sistemleri Tıbbi Ekipmanlar Ölçüm Sistemleri Banka ATM’leri (Automatic Teller Machine) Eylemsiz Rehber Sistemleri Uçuş Kontrol Donanım/Yazılımı Uçak ve Füzelerdeki Tümleşik Sistemlerden Oluşan Havacılık Elektroniği Parçaları Cep Telefonları Yönlendirici (Router) Bilgisayar Yazıcıları Fotokopi Makineleri Disket Sürücüler (Floppy Disket Sürücüler ve Sabit Disk Sürücüler) Hesap Makineleri Çok İşlevli Kol Saatleri İnternet Radyo Alıcıları, TV Set Top Box ve Dijital Uydu Alıcılar gibi Çokluortam Uygulamaları PDA’lar (Personal Digital Assistant) gibi Küçük Avuç İçi Bilgisayarlar Endüstriyel Otomasyon ve İzleme İçin PLC'ler (Programmable Logic Controller) Video Oyun Konsolları Taşınabilir Bilgisayarlar kısacası dijital olan hemen herşeyde kullanılmaktadır. Gömülü sistemler adlarından da anlaşılabileceği gibi genellikle daha büyük bir sistemin içinde “gömülü” olarak çalışırlar. Örneğin bir çamaşır makinesinde birçok mekanik kısım bulunmakla birlikte, bütün bunları kontrol eden bir veya birden fazla mikrodenetleyici tabanlı sistem bulunur. 3|Sayfa 4. ARM 7, 9, 11: ARM (The Architecture For The Digital World) firmasının üretmiş olduğu ARM mimarisine ait işlemci çekirdekleri ve bu çekirdeklere sahip mikrodenetleyiciler/mikroişlemciler mevcuttur. Ayrıca ARM tabanlı mikrodenetleyici/mikroişlemci programlama varlığını göstermektedir. Bu da birçok üreticinin üretmiş olduğu çeşitli mikroişlemci/mikrodenetleyici ailelerini içeriyor. ARM klasik işlemci kümesi; ARM11™, ARM9™ ve ARM7™ işlemci ailelerini içermektedir. Bu işlemciler düşük maliyetli çözümler sunabilmeleri nedeni ile günümüzde dahi dünyada geniş bir kullanım alanına sahiptirler. Günümüzde araştırmacılar tarafından 20 yıllık bir süreç içerisinde olgunluğuna ulaştırılmış 20 milyarın üzerinde mikroişlemci içerikli sistemin son kullanıcıya sunumu söz konusudur. Şimdi bu işlemci ailelerine ilşikin kısa tanımlamaları sunalım. Tablo.1. ARM klasik işlemci ailesi. Aile İşlemci ARM11MPCore Tanım Bu işlemci çok çekirdekli teknolojinin ilk Cortex-A9 ortaya koyulmasını oluşturmaktadır. El aygıtı ve navigasyon cihazlarına kadar geniş Cortex-A5 bir kullanım alanına sahiptir. Tek çekirdekli işlemcilerin en üst performans seviyesine sahip seri güvenlik bölgesini sunarak güvenlikli çalışmayı ARM1176JZ(F)-S sağlamaktadır. Dijital televizyon sistemlerine kadar geniş bir kullanım alanına sahip işlemci yapısıdır. Yüksek performanslı belirleyici control sistemleri olan otomotiv ve robot control ARM11 sistemleri için Thumb®-2 komut mimarisi ARM1156T2(F)-S ile üst seviye gerçek zamanlı uygulama performansı sunan işlemci yapısı kullanışlı olmaktadır. ARM1136J(F)-S 4|Sayfa Cortex Alternatifi Pek çok yönden ARM926EJ-S ile benzer özelliklere sahip olan işlemci uzatılmış ardışık düzenleme yapısı ve frekans değerleri ile performansı artırmaktadır. İşlemci yapı olarak; SIMD (Single Instruction Multiple Data) komutları ile performans artımı ve opsiyonel floatingpoint desteği sunmaktadır. Cortex-A9 Cortex-A8 Cortex-A5 Cortex-R4 Cortex-A5 ARM9 ARM7 ARM968E-S En küçük boyutlu ve en düşük güç değerlerine sahip ARM9 yapısı pek çok gerçek uygulama için uygundur. İşlmeci sıkıca bağlı hafıza birimleri ile standart arayüzler üzerinden etkin bir şekilde çalışabilmektedir. ARM946E-S Opsiyonel önbellek arayüzleri ve tam bellek koruma yapısı ile işlemci geröek zaman yönelik bir yapıdır. Ana hafızada kodun oluşturulup ön belleğe yüklendiği ve Tightly Cortex-R4 Couple Memory’den verinin devam ettirilebildiği uygulamalar için uygun işlemci yapısıdır. ARM926EJ-S ARM926EJ-S Linux, WindowsCE ve Symbian gibi tam işletim sistemlerini destekleme özelliği açısından giriş noktasında yer almaktadır. Tam GUI (Graphical User Interface) destekli uygulamalar için yeterli bir işlemci olacaktır. Cortex-A5 ARM7TDMI-S Harika çalışan yapısı ile işlemci çok geniş bir kullanım alanına sahiptir. Genellikle mobil elsetlerinde kullanılmakla birlikte, günümüzde mobil olmayan sistemlerde de kullanılmaktadır. Cortex-M3 Cortex-M0 Cortex-R4 5. ARM: a. ARM TARİHÇE: "En çok kullanılan işlemci türü ne?" diye sorsam eminim ki birçoğunuz Intel dersiniz. İyi tahmin, ama sanılanın aksine yanlış. "AMD o kadar popüler oldu mu ya?" dediğinizi duyar gibiyim. Yok daha olmadı. İşlemci dünyasının kralı ne AMD ne de Intel. Bu iki dev, buz dağının sadece görünen kısmı. Buzdağının görünmeyen kısmını ARM oluşturuyor. Cep telefonunuz bir ARM işlemcisi kullanıyor. Birçok mp3 çalar da ARM işlemci kullanıyor. Evet iPhone, iPad, Galaxy S II hepsi ARM işlemcileri kullanıyor. Nokia 6120c de 384 MHz bir ARM işlemcisi kullanıyordu. Game Boy'unuz var mı bilmiyorum ama o da ARM. Nintendo 3DS bile... ARM'ler her yerdeler, sadece gigahertzleriyle ve fan gürültüleriyle dikkatinizi çekmiyorlar. Bir de fazla ısınmıyorlar. İlk ARM işlemci 1985’te çıkarıldı, Acorn RISC Machines tarafından efsanevi BBC Micro için bir ek işlemci olarak. O zamanlar İngiltere'de masaüstünün kralı belli değildi, büyük çekişmeler vardı (ARM bir İngiliz firması.). Acorn RISC Machines küçük bir şirket olması nedeniyle küçük 5|Sayfa bir araştırma bütçesine sahipti. Dolayısıyla ürettikleri işlemci de küçüktü ve üretmesi basit bir işlemciydi. İlk ARM işlemcide 25000’den az transistör kullanıldı. 1985’te küçük bir şirketin içinde bulunduğu zor şartların günümüzü nasıl değiştirdiğini görüyoruz. Firmaya ait işlemcilerin frekans-kabiliyet eksenel yapısındaki pozisyonları ise şekilde verildiği gibidir. Şekil.2. ARM işlemci kümesi. Her ne kadar ilk ARM işlemci 1985’de üretildiyse de, ARM bazlı ilk bilgisayar 1987’de piyasaya sunulmuştur. 8 MHz’de çalışan Archimedes performans açısından rakiplerinin (Intel ve Motorola) gerisindeydi. Sonrasında ARM, işlemcilerini geliştirmeye devam etti. 1990’da şu an bildiğimiz haliyle ARM kuruldu. Ortaklar Acorn, VLSI Technology ve Apple'dı. ARM bir süre daha işlemci üretmeye devam etti. 1992’de, bir şirket ARM ile lisans anlaşması imzalayarak ARM işlemcilerin klonlarını üretmeye başladı. ARM bir süre sonra kendisi işlemci üretmeyi bıraktı. Şu anda ARM işlemciler, "ARM Partnerleri" (Tablo.2) tarafından bir lisans karşılığı üretilmekte. ARM ise sadece işlemci teknolojisini lisanslamakta. 6|Sayfa Tablo.2. ARM Partnerleri ve imal ettikleri işlemci örnekleri. Package Unit Price / Case (USD) Manufacturer Part Number Description AM1806BZWTA3 IC ARM9 CORTEX MCU 361NFBGA 375MHz 1.14 V ~ 1.32 V AM1707CZKBA3 IC ARM9 MCU 128KB 256BGA 375MHz 1.14 V ~ 256-BGA 13.22756 1.32 V AM1707CZKBT3 IC ARM9 MCU 128KB 256BGA 375MHz 1.14 V ~ 256-BGA 13.22756 1.32 V AM1806BZWTD4 IC ARM9 CORTEX MCU 361NFBGA 456MHz 1.25 V ~ 1.35 V AM1707CZKBD4 IC ARM9 MCU 128KB 256BGA 456MHz 1.25 V ~ 256-BGA 13.59743 1.35 V AM1707BZKBD4 IC ARM9 MCU 128KB 256BGA 456MHz 1.25 V ~ 256-BGA 13.59756 1.35 V AM1808BZCEA3 IC ARM9 CORTEX MCU 361NFBGA 375MHz 1.14 V ~ 1.32 V 36114.19500 LFBGA AM1808BZCED4 IC ARM9 CORTEX MCU 361NFBGA 456MHz 1.25 V ~ 1.35 V 36114.45000 LFBGA AM1808BZWTA3 IC ARM9 CORTEX MCU 361NFBGA 375MHz 1.14 V ~ 1.32 V 36115.44767 LFBGA AM1808BZWTD4 IC ARM9 CORTEX MCU 361NFBGA 456MHz 1.25 V ~ 1.35 V 36115.72500 LFBGA AM1808BZCE4 IC ARM9 MPU 361NFBGA 456MHz 1.25 V ~ 1.35 V 36116.39000 LFBGA 7|Sayfa Texas Instruments ARM9 Series Manufacturer Speed Voltage 36113.22756 LFBGA 36113.59743 LFBGA 36MHz STR711FR1T6 IC MCU ARM7 TDMI 128K 64LQFP 66MHz 3V~ 3.6 V 64-LQFP STR710FZ2T6 IC MCU ARM7 TDMI 256K 144TQFP 66MHz 3V~ 3.6 V 144-LQFP 18.60000 STR710FZ1T6 IC MCU ARM7 TDMI 128K 144TQFP 66MHz 3V~ 3.6 V 144-LQFP 16.75000 STR735FZ1T7 IC MCU ARM7 128K FLASH 144TQFP 36MHz 4.5 V ~ 144-LQFP 5.5 V STR731FV0T6 MCU 32BIT 64K FLASH 100-TQFP 36MHz 4.5 V ~ 100-LQFP 9.18141 5.5 V STR730FZ2H7 MCU 32BIT 256K FLASH 144-LFBGA 36MHz 4.5 V ~ 5.5 V STR731FV1T7 IC MCU ARM7 128K FLASH 100TQFP 36MHz 4.5 V ~ 100-LQFP Calculate 5.5 V STR731FV2T7 IC MCU ARM7 256K FLASH 100TQFP 36MHz 4.5 V ~ 100-LQFP Calculate 5.5 V STR735FZ1T7 IC MCU ARM7 128K FLASH 144TQFP 36MHz 4.5 V ~ 144-LQFP Calculate 5.5 V STR735FZ2T7 IC MCU ARM7 256K FLASH 144TQFP 36MHz 4.5 V ~ 144-LQFP Calculate 5.5 V STR736FV1T7 IC MCU ARM7 128K FLASH 100TQFP 36MHz 4.5 V ~ 100-LQFP Calculate 5.5 V 8|Sayfa ST Microelectronics MCU 32BIT 64K FLASH 100-TQFP ARM7 STR731FV0T7 4.5 V ~ 100-LQFP 11.47965 5.5 V 144LFBGA 8.33244 Call Call STR736FV2T7 IC MCU ARM7 256K FLASH 100TQFP 36MHz STR710FZ2H6 MCU 32BIT 256KB FLASH 144LFBGA 66MHz 3V~ 3.6 V 144LFBGA 18.60000 STR711FR2H6 MCU 32BIT 256KB FLASH 64LFBGA 66MHz 3V~ 3.6 V 64LFBGA 7.44960 STR730FZ2H6 MCU 32BIT 256KB FLASH 144LFBGA 36MHz 4.5 V ~ 5.5 V 144LFBGA Call STR735FZ2H7 MCU 32BIT 128K FLASH 144-LFBGA 36MHz 4.5 V ~ 5.5 V 144LFBGA Call STR735FZ2H6 MCU 32BIT 256K FLASH 144-LFBGA 36MHz 4.5 V ~ 5.5 V 144LFBGA Call STR735FZ1T6 MCU 32BIT 128K FLASH 144-TQFP 36MHz 4.5 V ~ 144-LQFP 9.35889 5.5 V STR735FZ1H7 MCU 32BIT 128K FLASH 144-LFBGA 36MHz 4.5 V ~ 5.5 V 144LFBGA 9.56270 STR735FZ1H6 MCU 32BIT 128K FLASH 144-LFBGA 36MHz 4.5 V ~ 5.5 V 144LFBGA Call STR731FV2T6 MCU 32BIT 256KB FLASH 100TQFP 36MHz 4.5 V ~ 100-LQFP 11.38830 5.5 V STR735FZ2T6 MCU 32BIT 256KB FLASH 144LQFP 36MHz 4.5 V ~ 144-LQFP 5.5 V STR736FV2T6 MCU 32BIT 256KB FLASH 100TQFP 36MHz 4.5 V ~ 100-LQFP 14.39000 5.5 V 9|Sayfa 4.5 V ~ 100-LQFP Calculate 5.5 V Call STR750FV2H6 MCU 32BIT 256KB FLASH 100LFBGA 60MHz 3V~ 5.5 V 100LFBGA Call Ürünsel bazda verilen bu değerlendirmenin akabinde işlemci çekirdeklerinin kullanımı bazında verilecek olan partner tablosu yerinde olacaktır. Tablo.3. ARM Firması entegre imalat Partnerleri. ARM7 10 | S a y f a Accent Altera Corporation AMI Semiconductor Analog Devices Inc. Atmel Corporation Avalink Incorporated Beken Corporation Broadcom Corporation GLOBALFOUNDRI ES Chengdu Javee Microelectronics Co. Cirrus Logic Conexant Systems Inc. Dialog Semiconductor DSPG eSilicon Corporation Freescale Fujitsu Gainspan Corporation Global Unichip Corporation Sanyo Indilinx Infineon Technologies AG Intel Corporation Intellon Corporation Intrinsix Corporation Kawasaki Microelectronics LSI Logic Mamurian Design Inc Mediatek Micronas NEC Electronics Neo Magic Corporation Nuvoton Technology Corporation NVIDIA NXP OKI Panasonic Pixim PLX Technology Inc Qualcomm RDA International Inc Rohm Samsung Electronics Seiko Epson Hong Kong Science and Technology Parks Shanghai Fudan Sharp Shenzhen State Microelectronics (SMIT) SiRF Technology Skyworks Socle Technology Corp Sony Spreadtrum Communications Inc. STMicroelectronics Telegent Systems Inc Texas Instruments Toshiba U-Blox AG Verisilicon Via Telecom/Via Technology Xi'an Huaxun Yamaha Corporation Zarlink Semiconductor Zoran Corporation Ironkey Incorporated Kawasaki Microelectronics Key ASIC Leadcore Technology Co Ltd LSI Logic Marvell Semiconductor Mediatek Inc Micrel Alchip All Winner Technology (Holding) Ltd Altera Analog Devices Inc. ARCA Atheros Communications Atmel Corporation Austriamicrosystems Avago Technologies Avalink Incorporated Beken Corporation Broadcom Corporation Cambridge Silicon Radio Capital Semiconductor Ltd ARM9 Accent Alcatel 11 | S a y f a Chongqing Chongyou IT Mindspeed Technologies Inc. NEC Electronics Neo Magic Corporation NXP Nuvoton Technology Corporation NVidia Corporation OKI Panasonic Parrot Pixim Freescale Fujitsu Datang Microelectronics Technology eSilicon Corporation Faraday TechFocus Enhancements Global Unichip Corporation Samsung Electronics Sandisk Technologies Sharp Corporation NationZ Technologies Inc Cirrus Logic Conexant Systems Inc. RF Micro Devices Rohm Quanta Computer Inc Renesas Technology Sanyo Electric Co Ltd Shanghai Jade Moschip Semiconductor Mtekvision PulseLink Qualcomm Sierra Wireless SA Skyworks Solutions Inc. Socle Technology Corp Sony STMicroelectronics Standard Microsystems Telechips Texas Instruments Toshiba TSMC Verisilicon Wisair Zoran Corporation Huawei Technologies ICP Infineon Technologies AG GCT Semiconductor ARM11 MPCore ARM117 6JZ(F)-S ARM115 6T2(F)-S ARM113 6J(F)-S Intel Corporation, NEC Electronics, Netronome, NVIDIA, PMC Sierra, Renesas, Sarnoff Broadcom Corporation, Infineon Technologies AG, Matsushita, NEC Electronics, NXP,Renesas, Sunplus, Texas Instruments , Toshiba Comsys, LSI Logic, NEC Electronics Accent, Broadcom Corporation, Ceroma, eSilicon Corporation, Freescale, LSI Logic, Matsushita, Mindspeed, NEC Electronics, Qualcomm, Renesas, STMicroelectronics, Texas Instruments , Toshiba Neden ARM? ARM işlemcilerin Intel işlemcilere ve diğer işlemcilere göre bazı avantajları vardır; RISC Mimari: Bu özellik işlemci tasarlamayı, üretmeyi, işlemcide çalışacak kodu üretmeyi acayip kolaylaştırıyor, Güç Tüketimi: ARM işlemciler güç tüketimi konusunda çok iyiler. Nedeni ise işlemcinin transistör sayısını düşük tutacak şekilde tasarlanmış olması. Bu özellik mobil aygıtlarda ARM kullanılmasının nedenlerinden biri, RAM'e Erişim: ARM komut seti, yani makine dili, rakiplerinin çok daha ötesinde. Mesela Intel birçok komutunun hem yazmaçlar (register) üzerinde çalışan, hem de RAM üzerinde çalışan versiyonlarını hazırlar. Fakat ARM işlemcilerde RAM'e LOAD/STORE ile erişip bütün işlemlerinizi yazmaçlar üzerinde yaparsınız. Dolayısıyla elinizdeki komut seti daha temizdir. Bu, işlemci tasarımınızı da temiz tutmanızı sağlar İşletim Modeli: İntel işlemcilerde bir karar vermek için önce bir karşılaştırma yaparsınız, sonra da bu karşılaştırmanın sonucuna göre programın başka bir kısmına atlarsınız. Bu atlama işlemcinin kafasını karıştırır. Intel işlemcilerde sırf bunu engellemek için "branch predictor" vardır. ARM işlemcilerde ise her komutun hangi durumda çalıştırılacağı komutun bir parçasıdır. İşlemci o anda bulunulan komuta uymayan komutları atlar. Bu ise bazı algoritmaların çok daha temiz ve performanslı yazılabilmesini sağlar, Lisans Modeli-Model Çeşitliliği: İsteyen bir şirket, ARM lisansı alıp kendi ARM işlemcilerini üretebilir. Bunun sonucu olarak da, piyasada tasarım olarak birbirinden farklı ama aynı şekilde çalışan, fiyatları, performansları, özelikleri farklı birçok ARM işlemci bulunur. Eğer bir mobil aygıt üretecekseniz, sadece Intel'in veya AMD'nin size sunduklarıyla kısıtlı değilsinizdir. Bunun en güzel örneği, Apple'ın iPad için A4 çipini üretmesidir, 12 | S a y f a 32-Bit: 32-bit olmak, tek seferde daha fazla işlem yapabilmek demektir. ARM ilk işlemciden beri 32-bit. Intel ise önce 4, sonra 8, 16, 32 ve 64 ile gitti (Intel şu an 64, ARM hala 32-bit). ARM rakipleri (Microchip PIC serisi mesela) ise ancak 2000 sonrasında 32bit işlemcilerini çıkarabildiler. ARM Kullanan Ürünler: ARM işlemci kullanan birkaç ürünü; Bütün "i" ile başlayan Apple ürünleri, Bütün Android telefonlar, Birçok mp3 çalar olarak verebiliriz. ARM'nin Geleceği: Windows 8'in geliştiriciler için tanıtımı yapılmıştır. Orada, Windows 8'in ARM işlemcilerde çalışacağı müjdelendi. Apple zaten uzun süredir ARM destekliyor (iOS ile). Linux 1.0'da bile destekliyordu ARM platformunu. Şu anki araç çılgınlığına bakıldığında rahatça öngörülecektir ki, ARM önümüzdeki 10 yıl daha mobil ürünlerin vazgeçilmez işlemcisi olacaktır. b. ARM OFİSLER: ARM ile bağlantıya geçebilmek için tabloda verilmiş olan firma ofislerinden birisine ulaşmak yeterli olacaktır. Tablo.4. ARM Firmasına ait ülkesel bazda ofisler. Bölge Avrupa, Ortadoğu ve Afrika Ülke Ofis İngiltere Cambridge - Global HQ, Blackburn, Maidenhead ve Sheffield Almanya Grasbrunn Fransa Grenoble, Paris ve Sophia Antipolis İsrail Kfar Saba İsveç Lund Norveç Trondheim Slovenya Sentjernej Kuzey Amerika Amerika Birleşik Devletleri San Jose - Main Regional Office Austin, Plano - Keil, Boston, Irvine, Olympia, San Diego, and Seattle Uzakdoğu Asya Çin Halk Cumhuriyeti Shanghai - Main Regional Office Beijing and Shenzhen 13 | S a y f a Bölge Ülke Ofis Güney Kore Seoul Japonya Yokohama Tayvan Taipei ve Hsinchu Hindistan Bangalore c. ARM TÜRKİYE: ARM Türkiye Satış Noktası: Adres: Selçuk Üniversitesi Teknoloji Geliştirme Bölgesi Elmas Blok No:207 42003 Selçuklu / KONYA / TÜRKİYE Satış: Destek: satis@armturkiye.com destek@armturkiye.com Tel: Faks: +90 332 241 76 77 (Pbx) +90 332 223 34 41 d. ARM FİYATLAR: ARM partnerleri tarafından üretilen ve çekirdek yapısının tasarımcısı olarak ARM’nin lisans sahibi olduğu klasik mikroişlemci serilerine ait ekonomik bazlı değerleri Tablo.2 ve Tablo.5’te görebilirisiniz. Tablo.5. ARM11 serisine ait ekonomik değerler. Family Processor Fiyat ARM11 ARM11MPCore 14 | S a y f a ARM1176JZ(F)-S (ARM1176 533MHz 8 GPS 512Byte) (511-STA2065N) 1: 10: 100: 250: 24,05 € 22,25 € 19,00 € 17,44 ARM1176JZ(F)-S (ARM1176 533MHz 8 GPS 512Byte) (511-STA2064N) 1: 10: 100: 250: 19,76 € 18,27 € 15,61 € 14,32 € e. ARM PROGRAMLAMA: ARM araçları, tasarımcıların ARM teknolojik ürünlerinden son derece başarılı olarak yararlanmalarını sağlar. Bir ARM çekirdekli MCU içerikli sistemin en üst düzeyde performans ve en düşük enerji ihtiyaçlı çalışma yapısı için bu araçlar gerekli çözümü sağlayacaklardır. Belirtilen kombinasyonel ortama ait görsel diyagram şekilde verilmiştir. Şekil.3. ARM tasarımcı araçları-1. Şekil.4. ARM tasarımcı araçları-2. ARM tasarım araçlarının son 20 yıldan daha uzun bir zaman üzerindeki gelişimi aralıksız devam etmektedir. 2005 yılında ARM firması Keil araçlarını yeni MCU araçları olarak, kendi tasarım portfolyosunu tamamlamak için elde etmiştir. 15 | S a y f a Benzersiz Yararlar: Gelişim araçları araştırmanın her bir adımında en üst düzey çözümü sunacak yapıda elde edilmiştir. Üçüncü parti gelişim modülü sağlayıcıları ile karşılaştırıldığında gelişim araçları ayrıcalıklı farklar ortaya koymaktadır; yüksek performans, güvenilirlilik, çok amaçlılık, gelişim yolu. Yazılım Araçları: Yazılım geliştirme adımlarının herbir aşamasında gerekli yardımı sağlayacak iki farklı yazılım geliştirme ailesi tasarımcılara sağlanmıştır sağlanmıştır; ARM Development Studio 5 (DS-5™), işlemciler ve çok çekirdekli SoCs uygulamaları için sınıfında en iyi yapılanmayı sunmaktadır (Şekil.5), Keil MDK-ARM™ , ARM işlemci tabanlı mikrodenetleyiciler için tam tamamlanmış amlanmış yazılım aracıdır. ARM Cortex™ Cortex™-M serisi, ARM7™, ARM9™ ve Cortex-R4 R4 işlemcilere ait uygulamalar için en uygun çözümdür (Şekil.6) (Şekil.6). Şekil.5. ARM® Development Studio 5 (DS™ (DS™-5) bütün ARM işlemcileri için profösyonel yazılım aracıdır. Şekil.6. Keil MDK-ARM™, 1200 1200’den fazla ARM Cortex™-M serisi,, ARM7™, ARM9™ ve Cortex-R4 işlemcileri tabanlı sistem sistemleri desteklemektedir. 16 | S a y f a Geliştirme çalışmalarına gerekli yardımı sağlamak ve IDE bağlantılarını kolaylıkla kullanabilmek için tam özelliklerle donatılmış debugger seti dijital dünyaya sunulmuştur. Bu sayede çalışmalara daha hızlı başlamanın ve projelerin üzerine olan konsantrasyon artışının yolu açılmıştır. Firmaya Firm ait debugger adapter (hata ayıklayıcı) ögsel olarak şekilde verilmiş olup, özellikleri ise listesel olarak sunulmuştur. Şekil.7. ARM Firmasına ait hata ayıklayıcı adaptöre ait görsel form. ARM gelişim araçları hedef sisteme bağlantı için hata ayıklayıcının kullanımını önermektedi; DSTREAM (hata ayıklayıcı) debugger adaptör JTAG, SWD ve işaret bağlantılarını DS-5, RVD ve üçüncü parti hata ayıklayıcılarını ARM tabanlı cihazlar için mümkün kılmaktadır. RVI: DS-5 ve RVD için sadece hata tamirini ve işaret bağlantısını mümkün kılmaktadır. RVT2: RVI’ın ’ın mirasçısı formunda olup, RVD kullanıcıları için işaret bağlantısında önerilmektedir. VSTREAM hızlı ve esnek yapıda güçlü bir arayüz olup, yazılımsal hata ayıklayıcıları donanımsal yardımlı doğrulama ssistemlerine (Mentor Veloce ve Cadence Palladium) Palladium bağlamaktadır. Keil ULINK, hata ayıklama adaptörlerinin ARM işlemci tabanlı mikrodenetleyiciler için tam bir kümesidir. Geliştirme Panoları: ARM geliştirme panoları (Şekil.8) geliştirmeleri hızlandırmada ve yeni SoC (System on a Chip) tasarımlarında riskleri azaltmada ideal formdadır. ARM panolarında elde edilen ASIC ve FPGA teknolojik knolojik kombinasyonu hız, doğruluk, esneklik ve de maliyette optimum çözümleri çö sunmaktadır. Şekil.8. ARM geliştirme panaoları genel görünüm. 17 | S a y f a ARM geliştirme panolarının genel olarak kullanım nedenleri ise listesel olarak; En son ARM işlemcilerde yazılıma başlamak ve değerlendirmek için, SoC IP blokları (modem ve video motorları gibi) olarak prototip, onaylama ve sürücü yazılımları geliştirmek için, Bilindik lojik blokların testi veya FPGA (Field-Programmable Gate Array) içindeki IP (Internet Protocol) sisteminin testi şeklinde sıralanabilir. Kilit Özellikler: ARM işlemcilerinin geniş bir bandını gömülü system uygulamalarından multimedya uygulamalarına kadar desteklemektedirler, Geniş bir sistem hafızası ve zengin özellikli arayüz bağlantıları (ethernet, USB, LCD, UART vs…), Tam çekirdek görünümü ve hatalar, İlk sürücü ve uygulama yazılımlarında Linux yayılımı, Kullanıcı dökümantasyonu, FPGA örnek kodlaması, örnek firmware ve uzman teknik desteği olarak sıralanabilecektir. ARM araçları hızlandırılmış yazılım geliştirmeleri için kuvvetli bir platform oluşturmaktadır. Basit bir platform ait alt eleman kümesi; DS-5 içerisindeki RTSM simülatör Linux uygulama geliştirmelerini mümkün kılar, Hızlı modeller fonksiyonel doğruluk için ARM tarafından onaylanmaktadır, µVision IDE mikrodenetleyiciler için hata ayıklama ve benzetim ortamı sağlamaktadır şeklinde sıralanabilir. NOT: Artış içerisindeki mikrodenetleyici sistemlerinde artan daha fazla performans, daha fazla algoritmik kompleks yapı, çoklu entegrasyon, kablosuz/kablolu mikrodenetleyici sistemleri ihtiyacı karşısında ARM mikroişlemci çekirdeklerinin pozisyonu da artmaktadır. ARM sistem maliyetini azaltma yönüne yoğunlaşmış olup, 8-bit MCU’lar maliyet düşümü ve 32-bit MCU’lar performans artışı yönünde piyasaya sunulmaktadır. 32-bit kontrolörlerin pazarı gittikçe artmaktadır. Cortex-M ailesinin (Tablo.6) kullanımı standartlaştırılmış ayrıntılı ARM yazılım kütüphanesine daha hızlı ulaşım ve yeni MCU geliştiricilerinin daha hızlı öğreniminin yolunun açılması ile artmaktadır. Tablo.6. Cortex-M çekirdek değerleri. ARM Cortex-M0 ARM Cortex-M0+ ARM Cortex-M3 ARM Cortex-M4 "8/16-bit" uygulamalar "8/16-bit" uygulamalar "16/32-bit" uygulamalar "32-bit/DSC" uygulamalar Düşük maliyet ve baist yapılanma Düşük maliyet ve mükemmel enerji etkinliği Performans, genel Etkin dijital sinyal amaçlılık kontrolü 18 | S a y f a KAYNAKLAR: [1] [2] [3] [4] [5] [6] [7] [8] http://coskuntasdemir.net/neden-gomulu-sistemler [9] http://www.ot1.com/arm/armchap1.html [10] http://in.mouser.com/ [11] http://www.digikey.com/ 19 | S a y f a http://tr.wikipedia.org/wiki/G%C3%B6m%C3%BCl%C3%BC_sistem#Tarih.C3.A7e http://blog.biometrics.com.tr/?p=5 http://ikiliksistemler.wordpress.com/2010/08/01/gomulu-sistem-embedded-system-nedir/ http://coskuntasdemir.net/gomulu-sistemler/onlar-her-yerde-gomulu-sistemler-ii.html http://www.arm.com/products/processors/classic/index.php http://e-bergi.com/2011/Ekim/arm-islemciler http://en.wikipedia.org/wiki/ARM_architecture