STM32 - FSMC

Başlatan fgokcegoz, 24 Nisan 2013, 16:43:28

fgokcegoz

Merhaba arkadaşlar...
STM32 lerdeki bu FSMC birimi tam olarak ne işe yarar, hangi modellerde bulunur ? Bu konuda net bir bilgisi olan var ise yardımcı olabilirseniz sevinirim.. Birde TFT - LCD sürerken illa bu FSMC birimine ihtiyacımız var mıdır ?
"Vicdanın ziyası, ulûm-u diniyedir. Aklın nuru, fünun-u medeniyedir. İkisinin imtizacıyla hakikat tecelli eder." (Bediüzzaman Said Nursi)

Burak B

FSMC ile hafızaya erişim yapar gibi TFT ye erişim yapabilirsiniz. Bu da haberleşmeyi çok hızlandırır. STM32F107'de var FSMC. ST Micro artık hemen her mcusuna koyuyor bunu. Pin sayısı önemli 100 pin ve üstü olmalı mcu.
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

pisayisi

Flexible Static Memory Controller, esnek statik hafıza kontrolcüsü ; özellikle lcd , ram tipi hafıza entegrelerini fazla baş ağrıtmadan hızlı birşekilde sürmek için geliştirilmiş bir modül...
Murat

fgokcegoz

Peki FSMC kullanmadan TFT LCD sürüldüğünden hız çokmu farkediyor... Birde donanımsal olarak ne gibi farklılıklar var... Bu konuyu güzelce izah eden bir döküman mevcutmudur acaba...
"Vicdanın ziyası, ulûm-u diniyedir. Aklın nuru, fünun-u medeniyedir. İkisinin imtizacıyla hakikat tecelli eder." (Bediüzzaman Said Nursi)

camby

Hocam aynı DMA gibi düşün , sen yap diyorsun detayını o hallediyor. Eğer işin içine DMA fln da sokarsanız ekranın tazelenmesi yazılımdan tamamen bağımsız olur. STM'de bu konu hakkında 2 tane güzel app note var. Örnekler de hem STM'de hem de forumda da olacaktı.

fgokcegoz

Alıntı yapılan: camby - 26 Nisan 2013, 10:38:00
Hocam aynı DMA gibi düşün , sen yap diyorsun detayını o hallediyor. Eğer işin içine DMA fln da sokarsanız ekranın tazelenmesi yazılımdan tamamen bağımsız olur. STM'de bu konu hakkında 2 tane güzel app note var. Örnekler de hem STM'de hem de forumda da olacaktı.

Teşekkürler @camby... Yani gerektiğinde TFT LCD için ayırdığımız hafıza bölgesindeki datayı değiştiriyoruz ve DMA, FSMC ile TFT LCD ye dataları gönderiyor... Birkaç application note buldum ST den, inceliyorum şu anda... Örnek kodlarıda inceleyeceğim..
"Vicdanın ziyası, ulûm-u diniyedir. Aklın nuru, fünun-u medeniyedir. İkisinin imtizacıyla hakikat tecelli eder." (Bediüzzaman Said Nursi)

camby

#6
Aynen öyle , adreslenebilir alanın içinde fiziksel ram/flash harici alanlar var ( toplamda 1-2GB birşeydi sanırım ) , memory map haritasında görmüşsünüzdür. FSMC modülünü işin içine dahil ettiğinizde , bu alanları sanki kendi ram yada flash alanınızmış gibi kullanabiliyorsunuz , siz bu alanlara bir şey yazdığında yada okudğunuzda FSMC arka planda fiziksel olarak harici data elemanı ile al ver iletişimini ( sizin belirlediğiniz timing kuralları ile ) yapıyor. Bu iş yaplırken FSMC'nin hem adres hem de data pinleri kullanıyor.

TFT için FSMC kullanırken durum biraz istisna , adres pinleri kullanılmadığı için hep aynı adrese data gönderiliyor. Yani STM'in bu modellerinde doğrudan TFT desteği yok ama FSMC modülü TFT sürmek için kullanılabiliyor. Bundan sonraki yeni modellerde TFT olayını FSMC'den ayırmışlar gibi gözüküyor , yani aynı mantıkta çalışan ayrı bir TFT bölümü var , NXP cortex'lerde de hali hazırda TFT modülü varmış ancak kullanmadım.

Tabi STM yeterli değil gibi anlaşılmasın , STM32F4 ile yaptığım deneme ile 320x240x24 bit resmi 8.3 ms'de TFT'ye sorunsuz gönderdim. Hıza vurunca 230Mbps gibi bir değer çıkıyor : ) , 16 bit veri yolunda x2.