STM32F4 FatFS Bitmap Resim Basmada hız sorunu

Başlatan Mucit23, 22 Şubat 2018, 23:49:55

RaMu

SD card normalde 200mA e kadar akım çekebilir,
duruma göre 500mA de çektirilebilir,
tablodanda görülüyor,
1,8W ın üstü wireless sd kartlar vs. için düşünülmüş bir şey,
asıl olan 500mA diye düşünerek tasarım yapmak lazım.



veya SDIO mod datasheet inden:
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

OptimusPrime

St de linux destegi yokmu? Varsa cak gitsin. Istedigin yerden istedigin kadar oku ekrana bas.  ;D
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

Mucit23

Dün Birkaç test daha yaptım. Donanımsal iyileştirmelerden sonra f_read ile yüksek boyutlu okuma yapabildim. Şuanda f_read ile sıralı 960byte veri okuyabiliyorum. Bazen yine fr_disk_error veriyor ama bu sanırım donanımsal sorun belliki. Bu işe özgün bir PCB yapmam lazım. Fakat Hız konusunda pek bir gelişme göremedim. Hemen hemen aynı.

Kurduğum döngü budur.
               for (i = 0; i < 240; i++)
               {							 
		  f_result=f_read(&fil, &rgb, 960, &bytesread);
		  if(f_result!=0)FR_print_error(f_result,i);								  
                  for (j = 0; j < 320; j++)
                  {
		     *(__IO uint16_t *) (Bank1_LCD_D) = ASSEMBLE_RGB(rgb[j*3],rgb[j*3+1],rgb[j*3+2]);
                  }
               }


Arada hiçbir delay gecikme yok. Satır satır okuyup ekrana basıyorum. Akşam olmadı bir video eklerim ama bir resim yüklenmesini gözle takip edebiliyorsunuz. İşin ilginci SDIO Clock frekansını yükseltip düşürmemde gözle görülebilir bir fark yaratmıyor. Demekki arka planda işleri kısıtlayan başka faktörler var.

Osiloskopta beslemeyi incelediğim bir düşüş görmüyorum ama yinede harici beslemeyi deneyeceğim.

İşin ilginci İncelediğim BMP örneklerinde Bu iş çok hızlı bir şekilde yapılıyor. Beni kısıtlayan ne anlamıyorum.
https://www.youtube.com/watch?v=SmhgxcpU92M

atomx

Bu tür uygulamalar olsun işletim sistemleri olsun arka tampon kullaniliyor. Ekran hafiza adresi farkli arka tampon hafiza adresi farkli. Ekrana basilacak datayi back buffer a doldudurup memcpy sayesinde ekranin hafiza adresine tasinir. PC islemcilerinde ekstra SSE SSE2 gibi eklentiler getirildi arm cortexinde benzeri fonksiyonlar bulunur mu bilemiyorum. Isin espirisi bu aslinda.
Hüseyin TECER

Mucit23

Haklısınız. Bir buffee olması ve arka planda sürekli buffera veri çekilmesi işleri hızlandırır. Fakat benim durumda fatfs oldukça yavaş çalışıyor. Bunu iyileştirmek gerekiyor. Arka plandada okusakda sorun çözülmeyecek gibi

OptimusPrime

https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

tekosis

#36
@Mucit23 eğer çok fazla sayıda resim kullanılmayacaksa sd kart yerine aşağıdaki gibi bir flash memory kullansan acaba hız nasıl etkilenir? Bu günlerde bende bu konuda çalışma içinde olacağım aklımda bu fikir var ama tabi her resmi .h dosyasına çevirip o şekilde memory içine yüklemek sıkıntısı var. eğer toplu halde bmp resimlerini .h şekline çevirme işin kolayını bulabilirsem sd kart yerine bu entegreyi kullanmayı düşünüyorum.


düşündüğüm entegre (128Mbyte);
https://www.mouser.com.tr/ds/2/198/37-38SML01G1-1146770.pdf
İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.