Picproje Elektronik Sitesi

DERLEYİCİLER => Microchip XC Serisi => Microchip XC8 => Konuyu başlatan: PICaso - 12 Eylül 2019, 15:10:43

Başlık: SD Carda Dosya Oluşturamama Hatası
Gönderen: PICaso - 12 Eylül 2019, 15:10:43
Arkadaşlar merhaba,
PIC18F45K22 ile micro sd carda başlangıç olarak sadece text dosyası oluşturmaya çalışıyorum. İnternetten bulduğum örnek projeyle denedim fakat bir türlü çalıştıramadım. Hazır sd card modülü kullanıyorum. İşlemcinin RD0 pinine led bağlayıp flaş yaptırıyorum picin çalıştığını görmek için. Fakat sd card da herhangi bir dosya oluşmuyor. Daha önce tecrübe edenlerden yardımlarını bekliyorum. Proje dosyalarını linkten indirebilirsiniz.
https://wetransfer.com/downloads/7a58459ec27b37374ef67cb8d7671eb420190912090206/86ed6bec865403d00ea329500df4a2ab20190912090206/67ffa3 (https://wetransfer.com/downloads/7a58459ec27b37374ef67cb8d7671eb420190912090206/86ed6bec865403d00ea329500df4a2ab20190912090206/67ffa3)
İyi çalışmalar. 
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: RaMu - 12 Eylül 2019, 17:11:07
https://www.picproje.org/index.php?topic=54274.0 (https://www.picproje.org/index.php?topic=54274.0)
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: PICaso - 18 Eylül 2019, 14:49:03

(https://i.ibb.co/kHmdVfN/16-DC4-FDE-7350-46-DA-9-E48-7-C0-FEC436-E1-D.jpg) (https://ibb.co/kHmdVfN)
Devre resimde görüldüğü kadar basit de olsa bir türlü çalıştıramadım.
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: PICaso - 19 Eylül 2019, 16:57:54
Mplab xc8 derleyicisi kullanan arkadaşların yardımlarını bekliyorum.
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: PICaso - 20 Eylül 2019, 19:49:08
Kullandığım sd cardı şekildeki gibi biçimlendirdim.
(https://i.ibb.co/r5Q0Zjw/Ekran-Al-nt-s.png) (https://ibb.co/r5Q0Zjw)
Pogramda ki ffconf.h dosyasında ki
#define   _MIN_SS      512
#define   _MAX_SS      512

değerlerini
#define   _MIN_SS      4096
#define   _MAX_SS      4096

şeklinde yeniden düzenlediğimde
main.c de ki bu satırdan hata alıyorum.
 FATFS FatFs;   /* FatFs work area needed for each volume */
Başka nerede değişiklik yapmam gereklidir.
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: RaMu - 20 Eylül 2019, 20:22:43
FAT16 dene birde.

...SS Sector Size diye hatırlıyorum,
oda kolay kolay 512 den farklı olmaz.
Fiziksel olarak kullanılan belleğin okuma yapısı ile ilgili bir durum.
Yani şurayı okumak istiyorum nasıl diyebiliyoruz,
istediğimiz byte adresi söyleyip direk okuyabiliyor muyuz,
illaki 512 byte ın katları şeklinde mi adres söyleyip okumak zorundayız,
yani eeprom lardaki page adres ile okuma gibi düşünülebilir.
Byte addressable, sector addressable.
Byte adresi ile erişilebilir,
sektör adresi ile erişilebilir,
diye sd kartta bu bilgi bulunuyor.

Ayırma birimi boyutu ise Cluster Size
bu bilgi zaten mcu daki Fat kütüphanesi tarafından
Sd kart tan (Fat sisteminde boot sector denen sector0 dan okunuyor)
okunup bulunan bir değer,
program yazarken girilmesi gereken bir değer değil.
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: PICaso - 23 Eylül 2019, 16:58:28
(https://i.ibb.co/vkV5Sr9/Ads-z.png) (https://ibb.co/vkV5Sr9)

Hocam sd cartım da FAT16 seçeneği yok. Önerebileceğiniz farklı bir yol var mı?
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: yas - 23 Eylül 2019, 17:16:00
commmand prompt u yönetici olarak açıp,
format x: /fs:FAT yada
format x: /fs:FAT16şeklinde denediniz mi? "x" sd kartınızın birim adı.
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: RaMu - 23 Eylül 2019, 22:22:03
4gb dan büyük kartlar Fat16 ile (doğal yollardan) formatlanamaz.

Mcu ile sd kart işi biraz sıkıntılı.
Problem çıkabilecek çok yer var.
4gb 3-5 farklı kartla programı denemekte yarar var.
Program zaten bir dert öyle çok düzgün çalışan bir kütüphane yok.
Lojik analizör ile spi iletişimini adım adım takip edip kontrol etmek lazım.
Tabi bunun için sd kart nasıl çalışıyor bilmek lazım.
Bu konuda yazılar var,
@z hocanında sitesinde böyle bir yazı vardı,
forumdada paylaştıkları vardı.

Sd kart ile konuşunca Fat sistemi belası var dah.
Varda var.

Bulabildiğin bütün örnekleri tek tek denemek daha kolay bir yöntem,
biri olmazsa diğeri çalışacaktır.
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: yas - 23 Eylül 2019, 22:46:27
@RaMu hocam fat16 nın sınırı 4gb değil 2gb cluster sınırıda 65535, fat32 2tb kadar cluster ise 32kb tek bir parça dosya boyutu maksimum 32gb sınırı diye biliyorum yanlışım varsa düzeltin.
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: PICaso - 24 Eylül 2019, 13:44:50
Bugün 512mb sd card buldum Fat16 ya biçimlendirdim ve sonuç başarılı oldu. Kullandığım 16gb sd card Fat16 ya formatlanmadı. Hatayı ekran görüntüsü olarak paylaşıyorum.
(https://i.ibb.co/XbBvdWB/Ads-z.png) (https://ibb.co/XbBvdWB)
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: yas - 24 Eylül 2019, 14:14:36
@PICaso Disk yönetiminden sd kartı bölümlere ayırıp bölümün birisini 2 gb altı oluşturup ayırma birim boyutunu 512 bayt yapıp formatlamayı dener misin. Şu an yanımda taşınabilir hafıza olmadığı için deneme imkanım yok. Sonucu bende merak ettim şimdi  ::ok
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: PICaso - 24 Eylül 2019, 15:29:16
Alıntı yapılan: yas - 24 Eylül 2019, 14:14:36@PICaso Disk yönetiminden sd kartı bölümlere ayırıp bölümün birisini 2 gb altı oluşturup ayırma birim boyutunu 512 bayt yapıp formatlamayı dener misin. Şu an yanımda taşınabilir hafıza olmadığı için deneme imkanım yok. Sonucu bende merak ettim şimdi  ::ok
Tamamdır hocam deneyip dönüş sağlayacağım.
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: PICaso - 24 Eylül 2019, 17:59:17
Alıntı yapılan: yas - 24 Eylül 2019, 14:14:36@PICaso Disk yönetiminden sd kartı bölümlere ayırıp bölümün birisini 2 gb altı oluşturup ayırma birim boyutunu 512 bayt yapıp formatlamayı dener misin. Şu an yanımda taşınabilir hafıza olmadığı için deneme imkanım yok. Sonucu bende merak ettim şimdi  ::ok
Hocam 2 gb altı bir çok değerde denedim ama ayırma birim boyutu 1024 baytın altına düşmedi. Denediğim değerlerde de olumlu bir sonuç alamadım. Çalışan sd card 512 mb ayırma birim boyutu ise 8192 bayt. Bu değerler için uyguladım 16 gb lik kartı yine de çalışmadı.
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: yas - 24 Eylül 2019, 18:31:24
belki sendeki kart sdxc olabilir.
Konuyla ilgisi yok ama şuraya yazalım birine lazım olur belki; Fat dosya sistemlerinde ayırma birimi kaç ise minimum dosya boyutu o kadar olmakta. Örneğin; ayırma birimi 512 bayt ise 1 bayt lık dosya bile olasa hafızada 512 bayt işgal edilir. (büyük israf  :D )
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: PICaso - 24 Eylül 2019, 19:20:24
Alıntı yapılan: yas - 24 Eylül 2019, 18:31:24belki sendeki kart sdxc olabilir.
Konuyla ilgisi yok ama şuraya yazalım birine lazım olur belki; Fat dosya sistemlerinde ayırma birimi kaç ise minimum dosya boyutu o kadar olmakta. Örneğin; ayırma birimi 512 bayt ise 1 bayt lık dosya bile olasa hafızada 512 bayt işgal edilir. (büyük israf  :D )
Benim kartım 16gb olduğu için HC sınıfına giriyor. Detaylı bilgi için :https://kb-tr.sandisk.com/app/answers/detail/a_id/15157/~/sd%2Fsdhc%2Fsdxc-%C3%96zellikleri-ve-uyumlulu%C4%9Fu (https://kb-tr.sandisk.com/app/answers/detail/a_id/15157/~/sd%2Fsdhc%2Fsdxc-%C3%96zellikleri-ve-uyumlulu%C4%9Fu)
Başlık: Ynt: SD Carda Dosya Oluşturamama Hatası
Gönderen: RaMu - 24 Eylül 2019, 21:51:18
16 gb olan kart en soldaki sutundaki gibi davranmalı,
en altta sd ver2+ Block Addreds ile sonlanmalı.
Lojik analizör ile bakıp burada paylaş.
(http://elm-chan.org/docs/mmc/i/sdinit.png)
Ayrıca linkten
Initializing high-capacity cards
kısmınada bakabilirsin.
http://elm-chan.org/docs/mmc/mmc_e.html

Buraya kadar tamamsa @yas ın anlattığı gibi
16gb olan kartı disk bölümleme ile bölümleyip
bu bölümü Fat16 formatlayıp elindeki kütüphane ile kullanma ihtimalin olabilir.
En iyisi 4gb kart bul onunla çalış
yada daha iyisi Fat32 destekleyen bir kütüphane bulacaksın.

@yas
Fat16 ilk çıktığında 2gb a kadar kartları destekliyor
ardından 4gb a kadar kartları desteklemesi sağlanıyor.