Son zamanlarda mikrodenetleyici firmaları hızlarını oldukça arttırdı. 8 bit cephesinden 32 bit cephesine kadar neredeyse tüm işlemciler 100MHz’leri zorluyorlar. Bu, biz kullanıcıları işlemlerimizde oldukça rahatlatsa da, piyasanın rekabetçi yapısı dikkate alındığında özellikle mikrodenetleyici üreticilerini oldukça fazla zorlar duruma gelmiştir. Bunun nedeni ise yükselen frekansların getirdiği en önemli sorun: ısınma.
İşlemcilerin çalışma gerilimleri günümüzde standart haldedir; 5V, 3.3V, 1.2V. Bu koşullar altında işlemcinin çektiği akım dikkat edilmesi gereken en önemli birimdir. Bunu, güç tüketiminin az olması istenen, taşınabilir cihaz gibi uygulamalar yapan kişiler çok iyi bilirler, çünkü bir cihazın aynı enerji ile uzun süre çalışabilmesi oldukça önemlidir. Ben ise bu konuya farklı bir açıdan bakmak istiyorum.
Genellikle yaptığım uygulamalarda işlemcinin çektiği güç, asıl yapılan işin yanında yok denecek kadar azdır. Bunun için özellikle 10A ve üstü işlemler yaparken işlemcinin çektiği akım ihmal edilebilir.
Yine böyle bir uygulamada Microchip’in dsPIC serisinden bir işlemci kullanmam gerekti. Yaklaşık 10MIPS’te çalıştırdığım işlemci hafif denebilecek bir ısıya sahipti. Bu beni rahatsız etmiyordu. İşlemlerimin karmaşıklığı arttıkça işlem hızına ihtiyaç duydum ve hızı iki kat arttırarak 20MIPS’e çıkardım. Tam bu anda işlemcinin aşırı denebilecek, elimi üzerinde tutamayacağım kadar ısındığını gördüm. İlk şüphelendiğim şey bir kısa devre olduğuydu. Elbette ne yaptıysam sorunu gideremedim. İşlemciyi değiştirdim, sorun yine aynıydı. Derken çoğumuzun bakmadığı bir alan olan datasheet’in “Electrical Characteristics” bölümünü incelemek istedim.
Yukarıda işlemcinin güç tüketim tabloları görülebilir. Yukarıdaki tabloda kırmızı ve yeşil ile işaretli alana bakarsak hız farkından sonra oluşan ısınmanın neden kaynaklandığı çok rahat görülebilir. Sadece 2 kat hız artışından sonra oluşan 0.3W’lık kayıp (işlemcinin toplam kaybı 0.7W oluyor) işlemciye dokunulamaz bir düzeye getirmeye yetiyor. Bu konuda Microchip gibi bir firmanın bu hata ya da kalitesizliği yapması açıkçası ilginç olmuş. Üstelik bu değerlerin tüm çevre birimleri kapalıyken, en iyi koşul için geçerli olduğunu da vurgulamak gerek. dsPIC gibi Microchip’in övündüğü işlemci serisinde bunu yapması açıkçası negatif bir özellik.
Bu söylemimin elbette dayandığı iyi bir dayanak var. Aşağıda, bulunduğumuz dönemde adından oldukça fazla söz ettiren 168MHz hızıyla STM32F407’nin frekansa göre çektiği akım tablosu görülebilir.
Yukarıdaki tablodan da görüldüğü üzere 168MHz gibi bir hızda, özellikle tüm çevre birimleri açıkken çektiği akım 86.8mA olarak verilmiş. Bu da 3.3V ile çalışan bir işlemci için 0.28W kayıp yapar ve bu, özellikle yukarıda bahsettiğimiz dsPIC ve buna benzer işlemciler karşısında ARM’ı bir adım öner çıkarır.
Sonuç olarak bu ve bunun gibi bir çok örnek gösteriyor ki ARM’lar, hem güç tüketimlerinin azlığı hem de hızlarıyla geleceğin mikrodenetleyici mimarisini olacaklarını şimdiden garantilediler.
Herkese çalışmalarında başarılar dilerim.
Yayım tarihi: 2012/01/10 Etiketler: arm power, microchip power
Hocam hergün sitenizi yokluyorum, gözüm yollarda kalmıştı. Tebrik ederim yine orjinal temiz bilgiler vermişşiniz. PIC mi yoksa Atmel mi sorusuna uzun zamandır süre gelen bir tartışma var zaten, eminim o tartışmayada ışık tutacaktır yazdıklarınız. Hocam bu arada ARM Atmel mi oluyor yoksa benmi karıştırıyorum.
ARM aslında mikrodenetleyicinin içerisinde bulunan işlemcinin adı. ARM firması bu işlemciyi başka firmalara lisanslı olarak satıyor. Atmel, Texas Ins. STM, NXP ve daha bir çok firma da bu çekirdeği kullanıp mikrodenetleyici üretiyorlar.
Yıllar boyunca dsPic kullandım, halende kullanıyorum. Endüstride kullanılan ürünlerim var. Bir çok dsPic modeli ilede çalıştım. Tam güçte, el değemiyecek kadar ısınan dsPic görmedim. Öncelikle şemanı ve işlemcinin sağlamlığını kontrol et.
Veli
Bu konuyla ilgili bir çok yazı var ama ARM için bir kit tavsiyesi var mıdır? Marka önemli midir?
@Veli Kanık: Hak verirsiniz ki bu kısma gelinceye kadar devreyi kontrol etmemiş olmam sizce de garip olmaz mı? Amacım dsPic işlemcileri karalamak değil. Üreticinin verdiği datalar bunlar ve aynısının tuttuğunu doğruladım. Söylediğim modeli bu hızlarda denemenizi öneririm.
@Gürkan: Yapacağınız işe göre kullanacağınız işlemciler değişir. Başlangıç için NXP ürünlerini öneririm, DIP kılıfı da mevcut. Marka yapacağınız iş ve duruma göre değişiklik gösterir.
Max. değerden düşünüsek bile 185 mA ile bir işlemci parmakla dokunulamıyacak kadar ısınmaz, ısınamaz. İşlemcine Ampermetreni bağla, bu rakamlardan çok daha fazla akım çektiğini göreceksin.
Ortada karalamalık birşey yok. Şuan arm m3 cortex in bir modeli ile de çalışmaktayım. Bu işlemcide tam gazda 400 mA civarı akım çekiyor. Çekiyor ama el ile de dokunulabiliyor.. Her firmanın kendine göre birkaç eksiği var. Bunları konuşmak saçma olur. Kısacası herşey tecrübe…
Sevgili Fırat,
Üzgünüm ama karşılaştırma adil değil. Öncelikle karşılaştırdığın işlemciler denk değil. Biri çocukluğumuzdan kalma dsPIC30F (5V operation’dan anladım), diğeri Cortex M4.
dsPIC30F’e uzun zamandır yeni bir üye üretilmedi, üretilenler ise 30Fxxxx’A’ gibi güncellemeler oldu.Microchip artık DSP portföyünden mikrodenetleyici almak isteyenlere 3V gerilimle çalışan dsPIC33 serisini önermektedir.
Yeni çıkan,bol yetenekli ancak 16 bit olan dsPIC33EP64MC504′yi ele alalım. Datasheet’te DC26a’yı aratın ve karşılığına bakın:
3.3V gerilimde, 70MIPS’te 41mA. 30F’ye göre çok başarılı bir değer.
Cortex M4 işlemcili STM32F4′ün, Microchip’te muadili yok. Çünkü bu mikrodenetleyici 32 bit ve DSP engine’e sahip. Microchip 16-bitlik DSP’lere sahiptir. Karşılaştırma yapılacaksa Cortex M3 – PIC32 karşılaştırması yapılabilir. PIC32, işlemci olarak MIPS firmasının M4K işlemcisini kullanmaktadır.
Cortex M3-M4K karşılaştırmalı anlatımı için buyrun:
http://www.bdti.com/MyBDTI/pubs/m4k.pdf
Konu gittikçe başka bir yöne kayıyor. Polemiğe girmek istemiyorum. Verdiğim değerler datasheet’ten alınma, firmanın vermiş olduğu değerler. Devrede çevre birimleri kapalıyken 185mA çeker diyor. Yaklaşık 1W’lık bir ısınma söz konusu. Bu ısıyı entegre üzerinden atamıyorsa bu da bir tasarım sorunudur. Rekabet ortamında, kimse kusura bakmasın, bu ısı oranı rakipleri karşısında Microchip’i geride bırakır.
@Brujah: Karşılaştırmanın adil olmadığını ben de biliyorum sadece elimin altında bulunan iki işlemcinin karşılaştırması bunlar.
@FxDev: Son paragrafım konuyu biraz saptırdı galiba. Fakat gerçekten çok farklı işlemciler oldukları için müdahale etmek istedim. Yazıyı yazma amacının, insanları, kullandıkları mikrodenetleyicinin çektiği güce dikkat etmeleri olduğunu düşünüyorum. Tecrübelerini paylaşıyorsun yani, elbette bu saygı duyduğum bir şey. Ancak yazıdaki Microchip’e yönelik eleştirin sert olmuş. Çünkü sonraki yıllarda belli bir oranda bu problemi aşmışlar. Bunun üzerine cevap yazmak istedim.
STM32F4′e gelince gerçekten mükemmel bir mikrodenetleyici.Fakat compiler sıkıntısı gördüm.Hangi compiler’ı kullanıyorsun? Keil MDK, 32kB’ye kadar ücretsiz; peki, kod boyutu sınırsız ve stabil bir compiler var mı? Bu soruyla da iyice saptırdım konuyu 🙂
@Brujah: Anlatmak istediğimi yansıtabildiğime sevindim: yeni bir projede mikrodenetleyici ve güç oranlarına dikkat etme.
ARM’ların genelinde bir compiler sıkıntısı olduğu açık. Buna bir de kullanılan IDE’yi eklersek içinden çıkılmaz bir hal alıyor. Çoğu kullanıcı dostu değil.Bunların içinde Keil ve IAR standartlaşmış, çok kullanılan derleyiciler olarak gözüküyor. Ben Keil’i tercih ediyorum. Konuyu daha da açarsak bedava compiler destek ve bunun gibi ek özelliklerde sanırım ATMEL’in önüne geçebilecek firma gözükmüyor. Özellikle yeni çıkardıkları derleyici oldukça güzel. Microchip’te yeni çıkardığı IDE ile, eksikleri olmasına rağmen benden iyi bir not aldı. Ben projelerimde Beta3′ten beri MPLAB X’i tercih ediyorum ve bir sıkıntısını görmedim, herhangi bir olumsuz geri dönüş almadım.
Yalnız şunu isterdim, tek bir IDE kullanayım, bu IDE oldukça kullanıcı dostu olsun ve olabildiğince çok denetleyici firmasını desteklesin ve mümkün mertebe ücretsiz olsun. Bu bir hayal mi yoksa ileride bir gerçek mi olur bunu bilemiyorum.
@FxDev:Anladım. Teşekkür ederim. Bu arada Microchip de compiler’larını değiştiriyor, bakalım kullanım kolaylığı ve birbirlerine benzerliği nasıl olacak:
http://microchiptechnology.wordpress.com/2012/01/11/mplab-x-and-compiler-licensing/
Kolay gelsin.
Ben de benzer bir sorun yaşadım, pinlerden source ya da sink edilen akımları kontrol etmek sorunu çözebilir, benim bir pin çıkışına buffer koymam sorunumu çözmüştü.
Karşılaştırmanın adilliği bir yana mikrodenetleyicilerin çektiği akımlara ve ürettiği ısılara değinmek açısından güzel bir paylaşım olmuş.
Daha düne kadar ne kazandıysak PIC’lerden kazandık. Elbette her firmanın inişleri çıkışlerı olur, bu dönemde ST iyi gidiyor ayrıca fiyatları da çok iyi.
FxDev çok samimi bir şekilde tecrübelerini paylaşmış.
Kendisine, makalesini okuyan herkes adına teşekkür ediyorum.
Bu alandaki bilgi paylaşım sitelerini koşulsuz şartsız hatalarına rağmen destekliyorum, yaygınlaşmasını diliyorum.