Fırat DEVECİ

Kral Öldü Yaşasın Yeni Kral: Nuvoton İşlemciler

  • 9 ay önce, Fırat DEVECİ tarafından yazılmıştır.
  • 9 Yorum
  • 2.420 Kişi Okudu

1958’de Jack Kilby ilk entegre devreleri oluşturduğunda, kendisi bunu ön gördü mü bilinmez, kısa süre içerisinde küçük devre elemanlarından denetleyicilere ulaşan muazzam yolun kapısını açmış oldu. Bu kapının ardında oluşturulan işlemciler, uygulamalar çok büyük ya da çok küçük olsun elektronik tasarımın artık ayrılmaz parçaları haline geldiler. IoT gibi yeni trend teknolojilerle birlikte bilekliklerimizden kumandalara, enerji sistemi yönetiminden arabalarımıza kadar hemen hemen her elektronik araç ile bütünleşik halde bulunan işlemciler (daha doğru söylemek gerekirse mikrodenetleyiciler) kullanıcılara inanılmaz ufuklar açmaya başladı.

Elektronikle ilk tanıştığım 2000’li yıllarda Microchip PIC ailesi oldukça popülerdi. Yalnız işlemciler pahalı, kaynak bulması imkansız bunun ötesinde işlemcinin kendisine ve programlayıcısına ulaşmak özellikle bir öğrenci için inanılmaz zordu. Bunu gören STMicroelectronics (bundan sonra ST diye bahsedeceğim) firması gerçekleştirmiş olduğu atılım ile öncelikle STM8 ailesi ile ucuz 8-bit daha sonrasında ARM Cortex ürünleri ile de 32 bit denetleyici piyasasının genel geçer lideri oldu. Uyguladıkları fiyat politikası, öğrencilere olan destek ve deneme kitleri öyle başarılıydı ki işlemcilerinin öğrenmesi, kullanması, kaynak edinmesi zor olsa da bugün ARM deyince neden bir çok kişinin aklına önce STM32 geldiğinin yanıtı burada gizli. Bugün STM8 ailesinde (sitemde de sıkça kullandım) STM8S003, STM32 ailesinde ise STM32F103’ü bir çok cihazda görmek mümkün.

Yarı İletken Üretim Krizi Başlar…

Yukarıda bahsettiğim kısımlar ne kadar güzel görünse de tekelleşmenin sevmediğim bir çok yanı var. Bunlardan ilki şu an dünyada yaşanan yarı iletken krizi ile birlikte fiyatların yukarı doğru çekilmeye başlaması, ikincisi ve en önemlisi parasını verdiğiniz ürüne ulaşamamak. Elektrikli araçlar, yenilenebilir enerji, bellekler ve yükselen yarı iletken devre elemanı ihtiyacı 2010’lardan sonra yavaş yavaş silikon krizinin çıkmasına neden oldu ve bugünlerde basit bir devre elemanına bile ulaşmak rahatlıkla 6 ayları bulabiliyor. Bu durum 2020’lere girerken yaşadığımız dünyanın bir gerçeği ve nasıl her bir elemanın (direnç, opamp vb.) alternatif parça kodlarını yaratmaya çalışıyorsak, bundan sonra mikrodenetleyicilerimizin de bir şekilde aynı ürün içerisinde çeşitlendirmesini yapmak durumunda kalacağız/kalıyoruz. Yalnız mikrodenetleyiciler içerisine kod yazılıp işlem yaptırılan birimler olduğundan direnç, kapasitör gibi değiştirmek çok da mümkün değil.

Ve Uzakdoğu Devreye Girer…
Bir çok sarf elemanı uzak doğudan temin edip, kullanıp, memnun olduktan sonra sıra denetleyicilere geldiğinde maalesef başarısız bir çok girişim gördüm. Bunlar güven vermeyen, daha dokümanları ile problemli cihazlardı. Bunun ötesinde her bir denetleyici için halihazırda kullandığım cihazda PCB revizyonu yapmam gerekiyordu.

Bunu gören Tayvan menşeili, bellekleriyle ünlü, Çin’de zaten tanınan bir firma, Nuvoton, ST yani rakibinin geçmişte yaptığını bugün ona karşı kullanıp başarılı bir girişimle Avrupa ve Türkiye piyasasına girmeye hazırlanıyor. Türkiye’den çalıştığım firmanın grubunda bulunan Özdisan’ın 2019 ve sonrası için distribütörlüğünü aldığı Nuvoton’un denemele kitleriyle ST’yi can evinden vurmayı hedeflediği kitini deneme fırsatı edindim.

Nuvoton İşlemciler
Türkiye’nin en büyük malzeme tedarikçisi Özdisan’ın devreye girmesinden sonra Nuvoton kitlerine ve entegrelerine ulaşma şansı edindim. Nuvoton iki serisi ile ST’nin iki adet işlemci ailesini hedef almış görünüyor; bunlardan ilki 8-bit’te STM8S003, 32-bit tarafında ise Cortex M0-M4 dolayısı ile STM32F0 ve STM32F4 serileri.

Nuvoton’un 3 adet deneme kitinden (N76E003, NUC029L, NUC240V) STM8S003’e pin yapısı ile bire bir uyumlu olan Nuvoton N76E003 işlemcisini deneme ve uygulama geliştirme şansı edindim. Hiç bir işlemcinin fanı olmasam da uzak doğulu bir firmanın işlemcisi olduğu için ön yargılı yaklaştığım işlemcinin performansı beni gerçekten memnun etti. Yıllardır kullandığım STM8’den fiyat ve özellikl olarak daha iyi olan bu işlemcinin özellikleri neler diye soracak olursanız aşağıyı dikkatlice incelemenizi öneririm.

Yukarıyı ilk incelediğinizde N76E003, STM8003’ün uzak doğu kopyası gibi görünebilir fakat bu tam olarak doğru değil. Bilindiği üzere bir çok işlemcinin benzer birimleri zaten var, işlemciyi kopya ya da benzer kılması için işlemcinin öncelikle core yapısının aynı olması gerekir. Bu kısımda baktığımızda Nuvoton akıllı bir seçim ile kendini bir çok alanda kanıtlamış 8051 core mimarisini seçiyor ki öğrencilik zamanlarında hatırlayanlar varsa şimdiden “spoiler” vereyim: register isimleri aynı. Aşağıda Nuvoton N76E003 ile STM8S003 karşılaştırma tablosunu görebilirsiniz.

Yukarıdaki tabloyu incelediğinizde N76E003’ün iyi yönleri; bellek boyutunun 2 kattan fazla artması, EEPROM boyutunun değiştirilebilir olması, ADC kanal sayısının fazlalığı ve 12bit olması, giriş çıkış sayılarının daha fazla olması, 2 UART biriminin bulunması, çalışma gerilim aralığının artması ve sıcaklık aralıklarında daha iyi performans göstermesi olarak belirtilebilir. N76E003’ün tek sıkıntısı 2 pin ile programlanıyor oluşu, yalnız Nuvoton burada akılcı bir yöntem belirlemiş: STM8S003’ün CPU çalışmak için VCAP ucuna bağlı bir kapasiteye ihtiyaç duyar. N76E003 ise böyle bir ihtiyacı olmadığı için diğer programlama pinini bu uçtan çıkmış. Dolayısı ile PCB’de değişiklik yapmadan, küçük bir hamle ile N76E003’ü aynı PCB’de kullanmak gayet olası. Asıl can alıcı nokta ise aşağıda görülebilir.

Her iki işlemcinin de çok tutulan TSSOP20 pakedinde geliyor oluşu ve daha önce de belirttiğim gibi pinlerinin uyumluluğu STM8 için bir tehlike.

N76E003’ü ilk incelediğimde, güç elektroniği tasarımcısı olarak dikkatimi çeken ilk şey 6 kanal complementary çalışabilen PWM bloğu oldu. ADC’yi de tetikleyebilen ve dead time verilebilen bu blok sayesinde su motoru, fan vb. gibi BLDC, asenkron motor kullanan uygulamalar yapmak mümkün hale gelmektedir. Bu özellik fiyatın dip noktalarda olduğu davlumbaz gibi beyaz eşya uygulamalarında can kurtarıcı nitelikte olabilecektir. İçerisinde barındırdığı 2 UART birimi sayesinde, olası başka bir birimle haberleşilirken, diğer UART ile Bluetooth vb. modüller kullanılarak IoT uygulamaları konusunda farklı bakış açıları oluşturulabilir. STM8’de 128byte olan depolama birimi bazen yetersiz kalıp dış EEPROM birimine yönelmek gerekirken, artan hafızası ve ayarlanabilir EEPROM birimi ile N76E003 bir adım önde olacaktır.

Uygulama Zamanı
Nuvoton N76E003, STM8’e benzer aşağıda görülebilecek basit bir kitle kullanıcılara sunuluyor. Kit programlayıcıdan ve tüm pinleri dışarı çıkılmış şekilde TSSOP20 pakette N76E003’ten oluşuyor. Kiti belirlenen noktadan kolayca kırıp, sadece programlama kısmını da başka projeler için kullanmanız olası.N76E003 kitini bilgisayarınıza taktığınızda karşınıza komik sayılabilecek bir isimle sizi karşılıyor; NuLink. Driver konusunda problem çıkarmadan tanınan programlayıcısının ismi nedense bana bir yerlerden tanıdık geliyor; evet, ST firmasının programlayıcısından StLink. Ayrıca programlayıcı yukarıda sağ üstte görülen dip-switch’ler ile oynanarak çok kolay bir şekilde USB/UART çevirici haline geliyor ve UART uygulamalarınız için de uygulama kiti haline geliyor.

Nuvoton 8051 core yapısını kullandığından N76E003 Keil ya da IAR ile kolayca derlenebiliyor. Demo olarak kullanırsanız Keil’ın kod sınırı 2kB. Bu biraz sorun çıkarabilse de proje geliştirmek istediğinizde Özdisan’a ulaşırsanız konu hakkında size yardımcı oluyorlar. İşlemciyi Keil ile programlamak ise oldukça basit, debug inanılmaz hızlı ve bir işlemciyi Keil ile programlayınca nedense insanın içinde güven hissi oluşuyor. N76E003, 8051 yapısını kullandığından, 8051’e aşina olan birisi kolaylıkla program yazabilir hale geliyor çünkü tüm register isimleri aynı. Datasheet’i ise STM8’in yanında inanılmaz derecede basit ve anlaşılır. STM8 gibi bir library sunmayan Nuvoton (ki böyle basit bir işlemci için hiç gerek yok) N76E003 ile ilgili onlarca örneğin bulunduğu dosyayı sitesinden paylaşıyor.İşlemci programlayanların ilk adımı led yakıp söndürmektir, benimse uzun zamandır ilk yaptığım şey Modbus kütüphanemi kullanacağım işlemciye adapte etmek oluyor. Bu yüzden N76E003’ü kullanırken daha önce sitemde paylaştığım açık kaynak kodlu modbus kütüphanem, PetitModbus‘ı kit üzerinde çalışır hale getirdim. Sıfırdan öğrendiğim N76E003’ü bu şekilde programlamam ise sadece dakikalarımı aldı. Bu uygulama ile ilgili kodları buradan indirebilirsiniz (dosyayı indirdikten sonra uzantıyı .rar yapmalısınız).

Bitirirken…
Bugüne dek Microchip, Atmel, NEC, Renesas, Freescale, Motorola, ST, NXP, MSP430, Texas DSP ve adını hatırlayamadığım bir çok işlemciyi deneyimleyen biri olarak Nuvoton kullanımına kolayca adapte olduğum sayılı işlemciler arasına girdi. “Fanboy” denen bir işlemcinin fanı olmaktan uzak olsam da özellikle uzakdoğuda da iyi işlemciler olabileceğini gösteren Nuvoton’u fiyat/performans bazlı projelerinizde değerlendirmenizi öneririm.

Zamanım olduğunda N76E003’ün ADC ve PWM bloğunu çalıştırmayı ve özellikle Nuvoton’un Cortex M0 ve M4 serileri ile CAN haberleşmesi üzerine uygulamalar yapmayı planlıyorum.

Herkese çalışmalarında başarılar!

  1. Engerex dedi ki:

    Merhaba,
    Nuvoton markasını masaüstü ve sunucu anakartlarında ve mikroişlemci tarafında görmek ilginç gelmişti. Asus, MSI, Supermicro vb… CPU-Z ile anakarttaki yongayara baktığınızda bu markayı da Intel’in yanında görebilirsiniz.
    Örnek olarak aşağıdaki 4 işlemci soketli anakartta 3 Nuvoton yonga mevcut: https://www.supermicro.com/products/motherboard/Xeon/C600/X9QR7-TF-JBOD.cfm

    Buda markaya karşı güven sağlıyor.

  2. Emre dedi ki:

    Bu güzel yazı için teşekkürler, elinize sağlık. Oldukça ilgi çekici ve güzel bir makale olmuş.

    Bu arada sizin yazınızı okuduktan sonra Aliexpress’de bahsettiğiniz MCU için 1.5$ civarlarında geliştirme kartları mevcut olduğunu fark ettim. Alıp kurcalama isteği geldi birden bire 🙂

  3. İbrahim Ekmekçi dedi ki:

    Merhaba Fırat,
    Gerçekten çok detaylı ve açıklayıcı bir yazı olmuş. Eline emeğine sağlık. Bu konuda Nuvoton mikroişlemcileri denemek isteyenlerin her zaman yanındayız.

  4. Gökhan İNCE dedi ki:

    Mikroişlemciler ve Mikrodenetleyiciler derslerinde sürekli olarak 8051 mimarisi anlattığı için sürekli olarak eleştirdiğim hocama şuan en içten duygularımla teşekkür ediyorum. 🙂

  5. Mustafa dedi ki:

    Merhaba Fırat Bey,
    Piyasaya hızlı bir giriş yapan nuvotonun ARM çekirdekli işlemcileri iyi güzel hoş da donanım açısından TI ve ST kadar bonkör olmadı sanki. Muadili iki ST ve Nuvotonu karşılaştırdığımda bu donanım yönünden eksikleri vardı. Bu yüzden fiyat performans oranı iyi olabilir sanırım.

    Ancak 8 bit için güzel bir alternatif olabilir.

  6. Ergun dedi ki:

    Bilgilendirici yazı için çok teşekkür ederim. Keyifle takip ediyorum Fırat Hocam.

  7. Muzaffer dedi ki:

    Verdiğiniz değerli bilgileri bizlerle paylaştığınız için teşekkürler…

  8. Ali Bingöl dedi ki:

    Merhabalar

    Öncelikle sanırım nuvoton Tayvan menşei gibi görünmesine rağmen İsrail malı, donanım tasarımları İsrail’de yapılıyor diye biliyorum.

    Nuvoton Türkiye’ye, Türkiye’nin güçlü komponent dağıtıcılarının biri ile girdi ve bu dağıtıcı ile ellerinden gelen her şeyi firmalara girebilmek adına yapıyorlar. Çalıştığım firmada da bu çipe geçme durumu söz konusu oldu. Firma olarak elektrik analizi yapan cihazlar üretiyoruz. Bu nedenle ADC okumak çok önemli. ADC özelliklerinde 12bit şeklinde yazıyor, lakin anca 10 bit ile Analog veri okuduğunuzda doğru bir değer görüyorsunuz, 12 bit ile neredeyse imkansız, 8051 mimarisi kullanılmış. 1T deniliyor lakin ben performans noktasında pek memnun kalmadım. 12T olan PIC işlemcileri bile RMS okutmada performans olarak daha iyi çıktı. SPI, I2C gib diğer özellikleri denemedim bile.

    • Fırat DEVECİ dedi ki:

      Öncelikle ister İsrail malı olsun ister Yeni Gine malı olsun, kendimiz bir şey üretemiyorsak bunu tartışmanın anlamı yok. Zeki olan uluslar her zaman kazanır, kabul edin ya da etmeyin, eğer bu ürün İsrail malı ise, onların kafası bizden daha iyi çalışıyor demektir. Köken araştırmasına dahi girmiyorum.

      Geri kalan kısımlar yazılımcının becerisine kalmış, bazı tabuları kırmak zordur. Firmanız buna geçiyorsa, boşa değildir.
      Elektrik analizinde neleri yapıyorsunuz bilmiyorum ama detaylı ölçümler var ise bu entegrenin seçimi bir kere yanlış bence.

Yorum Yazınız

error: Kopyalama KARDEŞ!