Çift Çekirdekli Mikrodenetleyiciler: dsPIC33CH
Güç elektroniği tarihine kısaca göz gezdirirsek, mikroişlemcilerin gelişmeye başladığı yıllara kadar analog kontroller üzerine tasarımlar yapıldığı görülür, hatta çok eski cihazlar incelendiğinde onlarca ayar potunu görmek mümkündür. 1990’ların başlarından itibaren ise mikrodenetleyicilerin yavaş yavaş gelişmesinden sonra önce analog devrelerde, göstergeler ya da küçük ayarlar için yönetici konumuna yükselen mikrodenetleyiciler daha sonrasında DSP tabanlı, gelişmiş ADC ve PWM bloklarına sahip denetleyicilerin geliştirilmesi ile birlikte ana kontrolcü olarak sistemlerde yer almış ve dijital kontrol sistemleri çok daha önemli hale gelmiştir.
Güç Elektroniğinde Mikrodenetleyiciler…
Daha önceki bölümde güç elektroniğinde PWM ve ADC’nin ne kadar önemli olduğundan bahsetmiştik. Denetleyicilerimizin hepsinde işlemler seri yani sıralı şekilde yapıldığından programlarımız işlenirken önemli işlemlerin yerine gelmesi için kesmeler kullanırız. Güç elektroniği tasarımcısı için en önemli kesmeler ise PWM ve ADC kesmeleridir. Günümüzde tasarlanan güç elektroniği sistemlerinin en önemli özelliklerinden bir tanesi haberleşme ya da gösterge birimleridir ve az önce bahsettiğimiz önemli kesme kaynaklarının yanlarına haberleşme (UART/SPI/CAN vb.) ya da timer gibi kesmeler de eklenir.Yukarıdaki şekil incelendiğinde genel mikrodenetleyici çalışmalarımızın mantığı görülebilir; ana döngülerimiz düşük ve yüksek seviyedeki kesmelerle, düşük seviyedeki kesmeler ise önceliği yüksek kesmelerle kesilir ve işlemlerimiz bu şekilde devam eder. Güç elektroniği uygulamaları yaparken işlemlerin iki anahtarlama sinyali arasında bitmesi gerektiği (idealde) aşikardır. Dolayısı ile kesmelerimiz içerisinde sürelerimiz az olmalıdır ki ana döngüde ya da düşük öncelikli kesmelerimizdeki işlemlerimiz sorunsuzca devam edebilsin. Günümüzde denetleyicilerdeki işlem yükleri ve proje yapılma süreleri o kadar azalmıştır ki projeleri paylaşmak ve bundan önemlisi kontrol algoritmalarının işlendiği kesmelerin ana döngüdeki işlemleren bağımsızlaştırılması önem kazanmıştır. İşte tam da bu sorunu aşabilmek için gündeme ana döngüyü bölmeden, sadece güç dönüşüm işlemlerini yapabilen ayrı bir denetleyici bölümü fikri ortaya atılmıştır.
Çift Çekirdekli İşlemciler!
Yukarıdaki problemleri çözmek için mikrodenetleyici tasarımcıları öncelikle kontrol işlemlerinin ana döngülerden bağımsız yürümesi için Texas DSP‘de olduğu gibi CLA (Programmable Control Law Accelerators) yani “programlanabilir kontrolcü hızlandırıcısı” birimini kullanıcılarına sunmuştur. Bu birime yazılan kontrol algoritmaları (PID-Fuzzy vb.) ana döngülerden bağımsız çalıştığı ve özellikle PWM ve ADC birimlerinin kontrolünü hızlandırdığı için yıllar içerisinde güç elektroniğinin vazgeçilmez denetleyicileri olmuşlardır. Sonrasında diğer firmaların motor kontrol PWM birimlerini geliştirmeleri yavaş yavaş normal işlemcileri Texas DSP işlemcilere yaklaştırmış hatta fiyat bazında çok daha avantajlı duruma geçtikleri için Texas DSP kullanımı bir çok güç elektroniği uygulamasında terk edilmiştir.
Texas, DSP serisinde çift çekirdek çift CLA’lı işlemcilerini kullanıcılara sunulduğu günlerde Microchip uzun süredir yenilemediği dsPIC33 serilerini yeniledi ve dsPIC33CH adıyla çift çekirdekli işlemcilerini duyurdu. Yukarıda şekli görülebilecek yapıya sahip olan işlemciler 2018’in Haziran ayı civarında duyuruldu ve büyük beğeni topladı. Güç elektroniği içerisinde bu işlemciler ile birlikte çalışan biri olarak üzerinde dsPIC33CH128MP508 denetleyicisi olan Curiosity kitini edinerek ilk çalışmalarımı tamamlama şansı edindim.
dsPIC33CH128MP508 Curiosity Kiti
Curiosity yani merak giderme olarak adlandırılabilecek ve üzerinde dsPIC33CH128MP508 bulunduran kitin görünümü aşağıda görülebilir. Üzerinde buck ve boost dönüştürücü, izolasyonlu USB/UART çevirici gibi özellikleri barındıran kartın fiyatı Eylül 2018 itibari ile 35$ civarında. Üzerinde Pickit 3 sınıfı programlayıcı barındırdığı düşünüldüğünde bu fiyat öğrenciler için de oldukça makul görülebilir.
Uygulama Zamanı!
Elimizdeki kit içerisinde iki ayrı işlemci barındırdığından (ki bu işlemciler dış bağlantı olmadan birbirleri ile haberleşebilmektedirler) yapacağımız uygulamada Master işlemci genel “timer” kesmesi ile saniyede bir kez led yakıp söndürürken, Slave işlemcide ise yine aynı isimli “timer” kullanılarak kendisine ait ledi yarım saniyede bir yakıp sönecektir. Bunun yanında Master kısım bilgisayar ile Modbus protokolü ile haberleşirken, yine aynı işlemci ile algılanacak butonlar ile slave bölüm RGB ledleri butonlara göre ayrı renklerde yakacaktır. Microchip’in dsPIC33CH serisi işlemci tanıtım videosu ile beraber örnek uygulama kısmını aşağıdaki videoda bulabilirsiniz.
Sonuç Olarak
Çift çekirdekli işlemciler, gelişen yarı iletken teknolojisi ile daha hızlı anahtarlama yapan sistemler için güç elektroniğinde çok önemli bir yere sahip olacağı şimdiden görülebilmektedir. Fiyat/performans anlamında da iyileşen denetleyiciler analog dünya ile dijital dünya arasında iyi birer köprü vazifesi görmeye aday olmanın yanında tasarımlarda çok büyük esneklik ve zaman kazancı sağlayacaklardır.
Konuyla ilgili tüm sorularınızı yorum bölümünden bana iletebilirsiniz.
Herkese çalışmalarında başarılar dilerim.
Merhaba Fırat Bey, Yazılarınızı okurken büyük bir keyif alıyorum. Bunun nedeni sizin mesleğinizi ve içinde bulunduğunuz sektörü gerçekten sevmenizden kaynaklı olabileceğini düşünüyorum. Başarılarınız devamını diliyorum.
Teşekkürler, oldukça bilgilendirici olmuş. Şahsen bu işlemciyi kullanacaktım ama tek sorun 128KB tan fazla olmaması ki şu an 256KB’a ihtiyacım var. Bu arada Microchip oldukça geliştirdi kendini. Dediğiniz gibi debug çok iyi değil. Real ICE fena değil ve epey özelliği var ve geliştirmeye devam ediyorlar ama şahsen REAL ICE 2’nin çıkarılıp bu sorunun tamamen aşılmasını umut ediyorum.