Elektronik Devreler Projeler Elektronik ve biraz daha fazlası İletişim - Araçlar - Dikkat - Topluluk
Elektronik / Mikrodenetleyici Projeleri/

MSP430 Launchpad kit (MSP430G2452) ile SD MMC kart kullanımı

Sponsorlu Bağlantılar

SD/MMC kartlar bilindiği gibi çeşitli boyutlarda üretilen ve bilgisayarlarla uyumlu çalışabilen veri depolama elemanlarıdır. SD/MMC kartların bilgisayar ile haberleşmesi çok basittir. SD/MMC kart okuyucuyu ile kart bilgisayara takılarak herhangi bi sürücü yüklemeden bir kaç saniye içinde kullanıma hazır hale gelir.

Fakat gömülü sistemlerde yani mikrodenetleyici ve Fpga gibi yapılarda işlem daha karışıktır. Bu yazıda bu işlemin nasıl yapıldığı konusunda sizleri bilgilendirmeye çalışacağım.

sd-mmc-sdcard-vss-data-clock-cs

SD/MMC kartlar yukarıda ki şekilde görüldüğü gibi pin dizilimine sahiptir. Şekil`deki SD kart standart boyutlara sahip bir Sd karttır. Bunun dışında mini SD, Mikro SD gibi çeşitli boyutta SD kartlar bulunmaktadır. Hepsi de aynı işlemi yaparlar. Birbirlerinin yerine kullanabilmek için piyasada SD kart dönüştürücüler bulunmaktadır. SD kartlar SPI ve SD olmak üzere iki şekilde haberleşirler.

Bizim uygulamamızda haberleşme SPI protokolü ile gerçekleştirilmiştir. SD kart ile haberleşmek için SPI üzerinden Haberleşerek SPI kartı hazır hale getirilir sonrasında iletişme geçilir. SPI kartlara veri yazma/okuma işlemi 512 byte bloklar halinde gerçekleştirilir. Verilerinizi 512bytelık paketler halinde SD karta kayıt edebilirsiniz. Fakat bu kayıt edilen veri ham veri olacağından karttaki veri bilgisayar tarafından tanınmaz.

Muhtemelen diskin biçimlendirilmesi şeklinde uyarı verir. Bunun için SPI karta veri yazmak okumak için. Bilgisayar işletim sistemlerini kullandığı FAT/FAT16/FAT32 gibi dosyalama sistemleri kullanarak dosya kayıt işlemi yapılmalıdır. Bu sayede SDI kart üzerindeki verimiz bilgisayar tarafından anlamlı bir veri olarak kabul edilir.

Sonuçta SD kartı kullanabilmek için öncelikle Sd kartı hazırlayıp veri yazma/okumaya hazır hale getirmek sonrasında ise uygun dosya sistemini kullanarak dosyalarımız yazmamız/okumamız gerekiyor. Bu işlemlerin bilgisayar tarafından kısa sürede yapıldığından bahsetmiştim. Fakat mikrodenetleyici kısmında ise bu aşamaları kullanıcının kendi yazması gerekmektedir. Yani önce SD kartı sürmek için kütüphane dosyası yazılmalı sonrasında ise FAT dosya sisteminde haberleşme yapan bir kütüphane yazılımı yapılmalı.

Bu işlemleri yapmak çok zahmetli olduğundan dolayı üretici firmalar kendi ürünlerine bu desteği sağlayıp sizi büyük bir zahmetten kurtarmaktadır. Bizde uygulamamızda böyle bir hazır kütüphane kullanacağız. Kütüphanenin yazarı Elm-Chan‘dır. Elm-Chan tarafından geliştirilen bu kütüphane tamamen ücretsizdir ve çoğu mikrodenetleyiciler için uygulanabilir. Ayrıca kütüphane açık kodludur. İstediğiniz mikrodenetleyiciye kütüphane üzerinde bir kaç değişiklik yaparak adapte edebilirsiniz. Elm-Chan tarfından geliştirilen iki tane kütüphane mevcuttur.

Birisi PFF (Petit FAT modül) diğeride FF (Fat modül) iki kütüphanenin farkı PFF düşük hafızalı mikrodenetleyiciler için kullanılmaktadır ve özellikleri sınırlıdır. Yeni dosya oluşturmaya izin vermemektedir. Kart üzerinde var olan dosyalar üzerinde değişikliğe izin vermektedir. FF kütüphanesinde ise böyle bi sorun yoktur. Dosya oluşturma klasör oluşturma v.s. gibi tüm işlemlere izin vermektedir. Biz uygulamamızda hafıza yetersizliği nedeniyle PFF kütüphanesi kullanacağız.

MSP430 Launchpad SD MMC Uygulamasının çalışması

SD kart içinde bulunan “deneme.txt” açıp içindeki ilk 64 karakteri küçük harfle yazılmışlarsa büyük harfe çevirmektedir. Çevirilen karakterler sonradan tekrardan dosya içindeki diğer karakterler ile yer değiştirilerek okuma işlemi tamamlanır. SD kart ile MSP430un haberleşmesi için kütüphane dosyaları içinde gerekli değişikliği yaparak istediğinzi I/O bacağı ile SD kartı haberleştirebilirsiniz.

msp430-launchpad-msp430g2452-sd-mmc-sdcard

Launchpad kit uygulama resmin′de görüldüğü gibi SD kartın besleme gerilimi de launchpad kiti tarafından sağlanmıştır. Uygulamada denetleyici olarak 8KB hafızalı MSP430G2452 kullanılmıştır. PFF kütüphanesi yaklaşık olarak 5KB yer kaplamaktadır. FF kütüphanesi ise yaklaşık 10.5 KB yer kaplamaktadır. Ben uygulamada hafıza yetersizliğinden PFF kütüphanesini kullandım. İleride daha yüksek hafızalı bir MSP ile FF kütüphanesini kullanmayı düşünüyorum. Derleme işlemi IAR 30 günlük deneme sürümü ile gerçekleştirilmiştir.

erhan-yilmaz-sd-mmc-kart-denemesi-bilgisayar-pc-program

SD kartın içine aktarılan “deneme.txt” dosyası içindeki küçük harfli karakterler büyük harfe dönüştürülüp tekrar yazılmıştır. Türkçe karakterler ASCII karakter olmadığından dönüştürme işlemi yapılmamıştır.

msp430 SD MMC kart uygulamasına ait dosyalar: msp430-launchpad-kit-msp430g2452-ile-sd-mmc-erhan.ZIP

  • tekiruni

    Paylaşım için çok teşekkürler Erhan bey

  • Erhan

    Rica ederim yeter ki birinin işine yarasın.

  • ahmet

    teşekkürler açık ve anlaşılır bir dil kullanmışsınız. sd kart okuma ve yazmanın genel mantığını anlamamı sağladı

  • Sırrı

    Elinize sağlık. Benim bildiğim kadarıyla msp launchpad ler 3.3V gerilimle çalışmaktalar. Bu durum yukarıda bağlantı şeması verilen ve 5V olarak gösterilen SD kart bağlantılarında sorun yaratıyor mu acaba?
    Teşekkürler.