STM32F4x Çalışmalarım

Başlatan Mucit23, 02 Aralık 2013, 00:01:25

Mucit23

#105
Hocam I2S meselesini anladım. Şimdi PLLI2S çarpanlarıyla oynayarak 10Mhz 10Mhz sinyal aldım fakat sinyal biraz dengesiz çıkıyor sanki.

Lojik anallyser ile incelediğimde değişken bir sinyal görüyorum.


resim upload

Genişliği dar olan saykıllar 41.7ns Burada 12Mhz gösteriyor frekansı. Geniş olanlar ise 83.3ns, burada ise 8Mhz gösteriyor. 

Anlam veremedim.

Birde osiloskop ile bakayım.

Edit

Lojik Analyserin Band genişliği yetmiyor anlaşılan. Osiloskop ile baktım problem göremedim. 24Mhz yi denedim. Ondada sıkıntısız bir şekilde 24Mhz sinyal aldım.

Mucit23

Arkadaşlar merhaba,

Kamera ile uğraşıyorum. Amacım kameradan aldığım görüntüyü işlemci de tanımladığım bir diziye atmak. Kamerayı snapshot moduna aldım. Yapabilirsem eğer cameraya start verdiğimde görüntüyü diziye atıp kesme oluşturacağım. İşte bu noktada bayağı bir sıkıntı yaşıyorum.

320x240 bir görüntü için dizinin boyutu 76800 olması gerekiyor. Benim en ilk başta böyle bir dizi tanımlamam gerekiyor ama STM32F407 de 64kb'dan daha büyük diziler tanımlayamıyorum.

Manual'de şöyle bir ifade var.
Up to 192+4 Kbytes of SRAM including 64-
Kbyte of CCM (core coupled memory) data
RAM


Bu tam olarak ne anlama geliyor?

Eğer İşlemcinin Ram'ini kullanamazsam STM32F407'ye harici flash ram takmayı düşünüyorum. Eğer bu yönde bir çalışma yapmam gerekirse FSMC kullanmam gerekir ama FSMC  ile zaten LCD sürüyorum. FSMC kullanılırsa eğer LCD ile flashı aynı anda kullanabilirmiyim. Yada Flashı başka nasıl kullanabilirim.

Amacım dediğim gibi görüntüyü diziye atmak. Bu konuda neler yapılabilir?

yamak

Hocam diziye atmayın direkt gelen veriyi LCD'nizin frame buffer ına yazın.LCD'nizde hangi sürücü mevcut?

Mucit23

Hocam şuanda öyle yapıyorum zaten. Ama benim amacım görüntüyü lcd ye hiç göndermemek. Lcd ye gönderdiğim zaman görüntü ekranda çıkıyor. Bunu istemiyorum. Bu arada lcd'nin çipi ssd1289.

yamak

Hocam o zaman harici RAM kullanmanız gerekiyo.Zaten 240*320 lik görüntü 150 kb yer kaplıyo.

Mucit23

Doğru söylüyorsunuz. Aslında LCD'nin ram alanını kullanabilseydik güzel olurdu. Yani LCD nin Ram'ine data yazacağım ama LCD de görünmeyecek. SSD1289'un böyle bir özelliği varmı?

Bu konuda öneriye ihtiyacım var.

Harici RAM bakıyorum ama daha önce hiç kullanmadım. Hangi Özelliklerde ne tür bir ram almalıyım. STM32F103 kartımda NAND512 diye Memory bulunuyor.  Fakat kullanılan ram 8 bitlik. Bana 16 bitlik lazım.

Özellikle şunu yapmayı isterdim.

LCD yi FSMC ile zaten sürüyorum. LCD'nin Chip Select(CS) pini var. Büyük ihtimal kullanacağım harici RAM'in de CS pini bulunacaktır. LCD ile Aynı Data hattını kullanarak data gönderip fakat CS pinleri ile istediğim zaman LCD ye istediğim zaman Harici RAM'e yazma yapabileceğim bir çip arıyorum.

LCD'nin RAM' indeki aynı özellikleri gösteren bir çip varmıdır. Ne diye araştırmalıyım?

ErsinErce

P5Q PCM diye spi dan kullandığım 128Mb lik bir ram vardı.

Büyük veriler için Usart tan dma ile spi a, spidan dma ile kullandığım buffer'a aktarım sağlıyordum.

sizde benzer bir yapı kullanabilirsiniz.

Mucit23

Aslında SPI ram olsa süper olur. İşlemcimdeki SPI kanalları boşta duruyor zaten.

Ben hız konusunda endişeliyim. Örneğin 15FPS de görüntü alıp Ram'e atarsam eğer yaklaşık 66ms de bir 153600 byte veri alacağım kameradan. Bu değeri saniyeye vurunca 15*153600=2304000Byte yani saniyede 2,19 Megabyte veri elimde olur. Gerçekte kamera ile Snapshot modunda çalışacağım için bu hıza yaklaşmam zor ama yinede kullanacağım harici ram bu hızlarda çalışmabilmesi gerekir. Boyutta önemli değil. 256kb'dan aşağı olmasın yeter. Seçeceğim SPI Ram'in bu dediğim şartları sağlamam lazım.

Ersin Hocam sizin kullandığınız çip 66Mhz'e kadar çalışabiliyor. Yani yukarıda bahsettiğim hızlarda rahatlıkla çalışır ama piyasa bulunan birşey değil. Microchip'in ürünleri var ama hızları düşük. Başka önererebileceğiniz spi sram varmı?

Birtek SPI bakmıyorum. Paralel olsada olur. 8 bit bile olur. SRAM'i illa donanımsal kullanacağım diye birşey yok.  Nasıl olsa DMA kullanıyorum. DMA kesmesini aktif eder kesme ile yazarım.




Mucit23

Ersin hocam teşekkürler..
SPI olan süpermiş. Hemen alıp denemelere başlayacağım. Hızı çok iyi.

Beni bir süreliğine oyalar bu çip.


ErsinErce

ram olsa çok daha iyi olurdu, 100,000 yazma ömrü sıkıntı çıkarmazdı
ama idare eder soketli yaptın mı en azından değişirirken kolaylık sağlar
şu an için üretime geçerken kullandığım ürün p5q spi ram e en uygun seçenek gibi gözüküyor.
oda ram değil ama 10 kat daha fazla yazma ömrü var ve hafıza alanı çok daha geniş
bozulma olan alanları bad sector misali kenara ayırma imkanı mevcut en azından

Mucit23

100 000 yazma ömrü açıkçası ilk etapda gözüme çarpmadı. Microchip'in de SPI SRAM lerine baktım. Hızda problem yok ama yazma ömrü yine 100 000. Eeprom olsa tamam ama ram için çok düşük değilmi bu değerler. Adı üstünde ram bu. sürekli yazma okuma yapılacak buna. Ben yinede SPI ramlerde ışık görüyorum. Belki daha gelişmişi vardır. Biraz araştırayım.

Seri olanların dışında Paralel haberleşen ürünlerede baksam iyi olacak. Sizin gönderdiğiniz 32Mb sd ram iyi de hocam bunlarda çok fazla pin kullanıyor. Discoveryde zaten LCD kamera felan derken epeyce pin harcadım. Diğer Pinlerde zaten sıralı değiller. (Örneğin D portunun x kadar pini başka birşey için kullanılıyor. ) Kullanırsam FSMC ile kullanmam gerek. Bunun içinde LCD yi sökmem lazım.

LCD ile aynı hat üzerinde kullanılabilecek paralel ram tipleri varmıdır piyasada. Hem adresi hemde datayı aynı hat üzerinde alacak. Böyle birşey bulsam çok sevinirim.

camby

Ram de okuma yazma siniri olmaz , emin misiniz


Mucit23

Ersin Hocam RAM'in LCD ile beraber nasıl çalışacaklarını anlayamadım. LCD' de adres bacakları(A0- A15) yok. Yazma okuma, Data, Komut gibi işlemleri belirleyen pinler var. Datalar neysede Adres için yeniden bağlantı çekmem lazım. Diğer bir yandan yazılımsal olarak nasıl bir işlem yapacam. Her LCD kullanırsam FSMC yi LCD ye göre, RAM kullanırsam FSMC'yi Ram'e göremi ayarlamam gerekiyor?

Birde Normal RAM ile ile SRAM arasında ne gibi farklar var. Yani demek istediğim SPI Ram'lerin neden ömürleri kısa. Normal ram ile aynı performansta kullanılabilecek SPI memory ürünleri varmıdır?