Bir mikrodenetleyici seçerken titiz olmamız ve çeşitli faktörlere dikkat etmemiz gerektiği sağduyuya dayalı bir gerçektir. Eğer mikrodenetleyicinin sadece bir kısmına dikkat edersek, diğer kısımlar uyumsuz olabilir veya daha da kötüsü, tüm projeyle çelişebilir! Şeytan detaylarda gizlidir.
Dikkate alınması gereken birçok faktör var, ancak bugün sadece birine odaklanacağız: bellek! Daha spesifik olmak gerekirse, gömülü kalıcı mikrodenetleyici belleği. Anlayış genellikle uygundur, ancak sadece temel programlarla uğraşırken! Daha karmaşık bir uygulama geliştirmeye çalıştığımızda, örneğin TinyML gibi, belleği daha iyi anlamak, sevdiğimiz mikrodenetleyicilerin performansını maksimize etmek için çok faydalı olacaktır.
Bu makalede, yaygın gömülü kalıcı bellek türlerini tanıtacak ve açıklayacağız!
- Gömülü kalıcı bellek nedir?
- Farklı bellek türlerini neden bilmelisiniz?
- Gömülü bellek türleri nelerdir?
- Bellek seçerken nelere dikkat etmelisiniz?
- Güvenilir ve Çok Yönlü Mikrodenetleyici Önerileri
Gömülü kalıcı bellek nedir?
Detaylara ve eğlenceli şeylere girmeden önce, bugün tam olarak ne öğrendiğimizi bilmemiz gerekiyor. Gömülü kalıcı bellek, mikrodenetleyicilerde ve diğer donanımlarda bulunan, veri depolamak amacıyla kullanılan küçük boyutlu bir çiptir. Depolanan veriler, veri şifreleme, programlama, ayarlama, kimliklendirme, kodlama ve yedeklilik amaçları içindir.
Kaynak: Amazon
EMMC yongaları, kalıcı bellek yongası türüdür.
Gömülü bellek terimindeki “gömülü” kelimesi, mikrodenetleyici üzerine doğrudan lehimlenmiş bir bellek olduğunu ifade eder. Entegre edilmiştir ve genellikle gömülü olmayan belleğe kıyasla daha yüksek performans ve hız sunar. Bir Katı Hal Sürücüsü kadar hızlı değildir, ancak bir Sabit Disk Sürücüsünden daha hızlıdır!
“Kalıcı” kelimesi, bellek yongasının elektrik gücü olmadan verilerini koruyabileceği anlamına gelir. Örneğin, USB bellekler (thumb drive) elektrik gücü kesildikten sonra verilerini korudukları için kalıcı depolama cihazları olarak kabul edilir. Bilgisayarınızdaki RAM (rastgele erişim belleği) ise elektrik gücü olmadan verilerini kaybeder, bu nedenle geçici bellek olarak adlandırılır.
Kalıcı bellek verilerini nasıl korur?
Elektrik, depolama cihazlarının belleklerini korumak için gereken bileşenlerden biridir. Kalıcı bellek, içinde bir katman yalıtkanla çevrili küçük bir iletken malzeme parçası bulunan özel transistörler içerir. Mikrodenetleyici çalıştığında, bir miktar elektrik yalıtkanın içinden geçerek “floating gate” adı verilen yüzer kapıya ulaşır ve çevresindeki yalıtkan tarafından hapsolur. Elektrik yüksek voltaj nedeniyle girebilir, ancak düşük voltaj nedeniyle çıkamaz. İşte bu şekilde kalıcı bellek verilerini korur!
Farklı bellek türlerini neden bilmelisiniz?
Farklı bellek türlerini bilmenin ana nedeni, seçtiğiniz mikrodenetleyicinin proje gereksinimleriniz için en verimli şekilde çalışabilecek bellek türüne sahip olduğundan emin olmaktır!
Bir mikrodenetleyici satın aldığınızda, fiyatı dikkate almanız neredeyse kesin. Fiyat, bellek türünden de etkilenebilir! Daha ucuz belleklerin çoğu projeler için çok yönlü olmalarını sağlayan spesifikasyonlara sahip değildir. Gereksinimleriniz daha ucuz bir bellek türü ile karşılanamıyorsa, her zaman projeniz için en iyi çalışan mikrodenetleyici belleğini bilmelisiniz.
Bir bellek çipinin ana amacı veri depolamak olsa da, okuma ve yazma hızı gibi spesifikasyonlar, TinyML gibi daha karmaşık kavramlar kullanan karmaşık projelerde çalışırken önemlidir.
Gömülü kalıcı bellek türleri nelerdir?
Şu ana kadar, gömülü kalıcı belleğin, verileri depolayan ve güç kaybı sonrası bile verileri koruyan bir mikrodenetleyici üzerine lehimlenmiş bir çip olduğunu öğrendiniz.
Genellikle, mikrodenetleyiciler okuma ağırlıklı bellek (RMM) kullanır. Mikrodenetleyicilerde bulunan birkaç tür RMM vardır. Şimdi farklı bellek türlerinin detaylarına, örneklerine ve uygulamalarına gireceğiz.
Okuma Ağırlıklı Bellek (RMM)
Okuma ağırlıklı bellek (RMM), tüm mikrodenetleyicilerde bulunan bellek türüdür. RMM genellikle ROM (salt okunur bellek) gibi muamele görür. Bellek birimi üretildikten sonra, ROM’daki veriler elektronik olarak değiştirilemez.
RMM, içeriğinin devreden çıkarılmadan güncellenebilmesi açısından ROM’a göre benzersiz bir avantaja sahiptir. Ancak, RMM cihazları yalnızca özel koşullar altında yazılabilir.
Mikrodenetleyicilerde bulunan en yaygın RMM türü EEPROM’dur. Bu, gömülü uygulamalar için cihaz yapılandırma parametrelerini depolamak için kullanılan kalıcı bellek biçimidir.
EEPROM – Hızlı okur, yavaş yazar
EEPROM, mikrodenetleyiciye bağlıyken normalden daha yüksek elektrik voltajı uygulanarak silinebilir ve yeniden yazılabilir. Flash belleğin aksine, EEPROM yalnızca bir seferde bir bayt yazılabilir!
Kaynak: Digi-Key
EEPROM genellikle dosyalar yerine sistem yapılandırma parametrelerini depolamak için kullanılır, çünkü EEPROM’un silinmesi ve yeniden yazılması süreci, depolama cihazı olarak kullanılmak için ideal değildir. Ayrıca düşük veri boyutuna sahiptir.
EEPROM’un, gömülü cihaz geliştiricileri için popüler bir seçenek olmasını sağlayan birçok avantajı vardır:
- Fiziksel olarak küçük boyut
- Karşılaştırmalı olarak düşük maliyet
- Bit hızları genellikle 100 ile 1000 kilobit/saniye (Kbit/s) arasında değişir.
- Standartlaştırılmış elektrik arayüzü
- I2C ve SPI arayüzleri genellikle desteklenir.
Yaygın kullanımına rağmen, EEPROM’un bazı dezavantajları vardır:
- 1.000.000 silme/yazma döngüsü genellikle maksimumdur.
- 500 nanosecond yazma aralıkları (ns)
- Bir hücre yazmak zahmetli bir süreç olabilir
- 10 yıl veya daha fazla veri koruma (son zamanlarda 100 yıl veya daha fazlası daha yaygındır)
- Yüksek çalışma sıcaklıkları ve radyasyona duyarlılık
EEPROM’lar, akıllı kartlar, uzaktan anahtarsız sistemler ve diğer elektronik cihazlarda, bireysel baytların silinmesine ve yeniden programlanmasına izin vererek nispeten küçük veri miktarlarını depolamak için kullanılır.
Flash Bellek – Zaten bildiğiniz bellek türü!
Flash bellek, ayrıca flash depolama olarak da adlandırılan, verileri bloklar halinde silen ve bayt seviyesinde yeniden yazan kalıcı bir bellek türüdür. Teknik olarak bir EEPROM olan flash, işlenen veri hacminin yüksek olduğu ve sık yazılmadığı durumlarda yararlı hale getiren bazı benzersiz özelliklere sahiptir.
Kaynak: RS Components
Başlığın belirttiği gibi, flash bellek, muhtemelen “bellek” ile ilişkilendirdiğiniz en yaygın bellek türüdür! Örneğin, USB bellekler (thumb drive) ve SD kartlar, her ikisi de harici flash depolama cihazlarıdır!
Mikrodenetleyicilere gelince, kullanılan flash bellek türü genellikle eMMc’dir.
Kaynak: How-to-Geek
eMMC (Gömülü MultiMediaCard), mikrodenetleyiciler için en yaygın iç flash depolama türüdür. Küçük form faktörleri ve düşük fiyatları ile akıllı telefonlar, kameralar, dizüstü bilgisayarlar, tabletler ve mikrodenetleyicilerde popüler bir seçimdir!
Bir flash bellek olan eMMC, SD kartlar gibi yaygın harici flash bellek cihazlarıyla aynı özelliğe sahiptir! Bunun nedeni, her ikisinin de aynı kategori altında, MMC altında yer almasıdır. İşte az bilinen bir gerçek: SD kartlar, MultiMediaCard (MMC) kısaltması olan bellek kartı olarak da bilinir. SD kartların takılabileceği cihazlardaki yuvalar bu nedenle MMC yuvası olarak adlandırılır!
Bu, gömülü MMC (eMMC) yongalarının teknik olarak mikrodenetleyicilere doğrudan lehimlenmiş SD kartlar olduğu anlamına gelir!
eMMC ve SD Kartlar
Daha önce belirtildiği gibi, SD Kartlar harici flash bellekken eMMC iç flash bellek olarak kabul edilir. Eğer bunları karşılaştırırsak, iç ve dış flash bellekleri karşılaştırmış oluruz.
SD kartlar ve eMMC sistemlerinin elektrik arayüzleri aynıdır. Yani, cihazları mikrodenetleyiciye bağlamak için aynı ortak pinleri paylaşırlar, ancak farklı paketlenmişlerdir. Ayrıca benzer veri boyutlarına sahiptirler. eMMC ve SD kartlar arasındaki bazı farklılıklar şunlardır:
- eMMC çıkarılamaz, bu nedenle SD kartların aksine taşınabilir değildir
- eMMC daha sağlamdır ve fiziksel bozulma olasılığı daha düşüktür, bu da daha uzun bir ömür garanti eder.
- eMMC, mikrodenetleyiciye doğrudan lehimlendiği için MMC yuvalarının hızından etkilenmez, bu da eMMC için daha hızlı bir hız anlamına gelir.
- SD kartlar, eMMC’ye kıyasla daha ucuzdur.
Eğer belleği silmeniz gerekmiyorsa, eMMC daha iyi bir seçenektir, ancak bu son kullanıma bağlıdır.
Not: Aynı kategoriden olmalarına rağmen tüm bellekler eşit değildir. Bir bellek seçerken detaylara dikkat etmek akıllıca olacaktır.
Ferroelectric RAM (FRAM) – EEPROM’a daha az bilinen bir yükseltme
EEPROM’lar geniş bir uygulama yelpazesi için uygundur, ancak otomotiv, tıp veya uzay sistemleri gibi yüksek dayanıklılık gerektiren uygulamalar için geliştiricilerin daha sağlam bir bellek çözümü olan FRAM’ı tercih etmeleri gerekir.
Kaynak: Wikipedia
FRAM da volatıl olmayan bir bellek türüdür, ancak farklı bir tasarıma sahiptir. FRAM, DRAM’a benzer bir yapıya sahiptir ancak volatıl olmayan özelliğini elde etmek için ferroelectric bir katman kullanır, bu nedenle adı Ferroelectric RAM’dır. FRAM, volatıl olmayan bir doğaya sahip olmasına rağmen, rastgele erişim belleği (RAM) türü olarak kabul edilir. Veri boyutları EEPROM ile benzerdir.
FRAM’ın flash ve EEPROM’a göre birkaç avantajı vardır:
- Daha düşük güç tüketimi,
- Daha yüksek okuma/yazma dayanıklılığı,
- Daha hızlı yazma performansı.
FRAM, aşırı sıcaklıklarda 10 yıldan fazla veri saklama oranına sahip olduğu test edilmiştir.
FRAM, çok daha düşük depolama yoğunluklarına sahiptir ve daha yüksek depolama sınırlamaları vardır. Ayrıca, daha yüksek bir fiyat etiketi ile daha az bilinen bir teknoloji olduğundan, çoğu uygulama için daha az popülerdir. Daha iyi dayanıklılık talep edilmediği sürece, Flash ve EEPROM yeterli olmalıdır!
Bellek seçerken nelere dikkat etmelisiniz?
Gömülü volatıl olmayan bellek türlerini inceledik ve konuştuk. Peki, projeniz için ideal bellek türünü nasıl seçeceksiniz?
Her projenin kendine özgü koşulları vardır. Bellek türünü seçerken, projenizin gereksinimlerine göre aşağıdakileri dikkate alın:
- Microcontroller için alan gereksinimleri.
- Bellek cihazının ömrü.
- Microcontroller montaj yerinin çevresel koşulları.
Ayrıca, uygulamanın başarılı bir şekilde çalışması için gereken minimum, istenen ve maksimum bit hızlarının bir listesini oluşturmalısınız. Belirtilen bit hızına en iyi şekilde uyan bellek arayüzü türünü seçin.
Not: Mümkünse, seçilen bellek çipinin uyumluluğunu kontrol etmek için microcontroller geliştirme kiti ile bir break-out board entegre edin!
Microcontroller Önerileri
En kötü senaryoda, uygulamanız için ideal bir microcontroller bulamayabilirsiniz. Neyse ki, Seeed’in size yeterli güç ve bellek sağlayacak birçok microcontroller kartı bulunmaktadır!
Seeeduino XIAO
Seeeduino XIAO, Seeeduino Ailesi’nin en küçük Arduino kartıdır. Küçük boyutuna rağmen, Seeeduino XIAO güçlü SAMD21 mikroçipi ve geniş donanım arayüzleri ile donatılmıştır ve beş doların altında ultra uygun bir fiyatla sunulmaktadır.
Ürün Özellikleri:
- 256KB Flash, 32KB SRAM ile ARM Cortex-M0+ 32bit 48MHz mikrodenetleyici (SAMD21G18)
- Arduino IDE & MicroPython ile uyumlu
- Kolay Proje İşlemi: Breadboard dostu
- Küçük Boyut: Giyilebilir cihazlar ve küçük projeler için parmak büyüklüğünde (20×17.5mm)
- Birden fazla geliştirme arayüzü: 11 dijital/analog pin, 10 PWM Pin, 1 DAC çıkışı, 1 SWD Bağlantı noktası arayüzü, 1 I2C arayüzü, 1 UART arayüzü, 1 SPI arayüzü.
Seeeduino XIAO hakkında daha fazla bilgi edinmek ister misiniz? Şimdi ürün sayfasını ziyaret edin!
Wio Terminal
Wio Terminal, ATSAMD51 tabanlı tam bir Arduino geliştirme platformudur ve Realtek RTL8720DN ile güçlendirilmiş kablosuz bağlantıya sahiptir. Tümleşik bir mikrodenetleyici olan Wio Terminal, üzerinde 2.4” LCD Ekran, IMU, mikrofon, buzzer, microSD kart yuvası, ışık sensörü ve kızılötesi verici bulundurmaktadır. 4MB flash bellek ve 192KB RAM ile, TinyML gibi bellek yoğun kullanımlar için mükemmel bir adaydır!
Ürün Özellikleri:
- 120MHz’de çalışan ARM Cortex-M4F çekirdekli Microchip ATSAMD51P19 güçlü MCU
- Güvenilir Kablosuz Bağlantı: Realtek RTL8720DN ile donatılmış, çift bant 2.4GHz / 5GHz Wi-Fi (sadece Arduino tarafından desteklenmektedir)
- Yüksek Entegre Tasarım: 2.4” LCD Ekran, IMU ve yerleşik mıknatıslar & montaj delikleri ile kompakt kasa
- Raspberry Pi 40-pin Uyumlu GPIO
- IoT ile keşfetmek için 300’den fazla tak-çalıştır Grove modülü ile uyumlu
- USB OTG Desteği
- Arduino, CircuitPython, Micropython, ArduPy, AT Firmware, Visual Studio Code desteği
- TELEC Sertifikalı
Wio Terminal almakla ilgileniyorsanız, lütfen ürün sayfasını ziyaret edin!
Özet
Bu, gömülü volatıl olmayan mikrodenetleyici bellekleri hakkında bilmeniz gereken her şeyle ilgili bugünkü makalenin sonuna geldi! Bu, mevcut farklı bellek türlerine basit bir giriş olmuştur.
Dikkat edilmesi gereken en önemli şey, bellek türünüzü veya bir mikrodenetleyicinin herhangi bir bileşenini seçerken titiz olmaktır, böylece gereksinimlerinize en uygun olanı seçtiğinizden emin olabilirsiniz. Teşekkür ederiz!
