Stm32f407 discovery ve mikroc ile vga

Başlatan since1990, 04 Mayıs 2014, 17:27:57

Mucit23

#30
Valla hocam ister yazsın ister yazmasın ben yazıma @Ramiz diye başlayacağım.

Öncelikle forumda tartışmalara girmekten nefret ederim. Bu konularda mesaj yazdığım nadirdir.

Benim VGA ile herhangi bir çalışma yapmışlığım yok ama STM32 ler ile birazcık uğraştım, hızları ve neler yapabileceği konusunda birazcık bilgim var sanırım.

Ben konuya ilk mesaj yazdığımda asıl konu sahibinin yazdığını okumamıştım bile. Ama mcu olarak ne kullanıyorsa kullansın. VGA ile uğraşıyorsa Tek çıkar yol FPGA mış gibi FPGA yönlendirilmesini yanlış buluyorum. Ben böyle bir işe girsem ilk önce kendi ihtiyaçlarımı sorgular ona göre hareket ederim. Örneğin bir SCADA sisteminde kim HD görüntüye ihtiyaç duyuyor? Ben bir SCADA yapsam görüntü çıkışı HD değil diye satılmayacakmı?

Alıntı yapılan: Ramiz - 05 Mayıs 2014, 18:46:33
Yine boş konuşuyorsun. F429 donanımsal olarak LCD desekteliyor. Max çözünürlükte 800x600 a ulaşabiliyor. Fakat F407 de donanımsal LCD portu yok!! Yani vga işlemi yazılımsal olarak sağlanmaya çalışılıyor.

Dedim ya Arkadaş F407 kullanılmıyormuş. Ben STM32F429 önerisini senin aşağıdaki mesajına cevaben yazmıştım.

Alıntı yapılan: Ramiz - 05 Mayıs 2014, 18:46:33
Bu isler mcu ile olmaz.

Madem arkadaş ileriye dönük şeyler yapıp VGA konusunda kendini geliştirmek istiyor, Ticari veya öğrenci projesi olsun hiç farketmiyor. Kesinlikle ilk başta yazılımla VGA'da görüntü oluşturmaya çalışmalı. Hatta hızlı bir mcu ile değil daha yavaş mesela STM32F10X serisi bir mcu ile yapsınki VGA nedir neyin nesidir anlasın. İşin derinliklerine girsin. Arkadaş bu durumda VGA mantığı dışında programcılık adına kitaplarda yazmayan çok güzel bilgiler elde eder.

Zaten bu durumda kullandığı mcu ile neler yapabileceğinin farkına varır. Kendi ihtiyaçları dahilinde farklı donanımlara(FPGA felan neyse işte) geçiş yapar. Arkadaş VGA nın V sini bilmiyorken doğrudan FPGA'ya geç demek nekadar mantıklı?. FPGA Enerjiyi verince doğrudan HD videomu oynatıyor sanki?

Z hocamız ne güzel birşey söylemiş

Alıntı yapılan: z - 05 Mayıs 2014, 21:04:26
Harbi donanim isteyen isleri herkes islemcide yazilimla yapamaz. (Bilgisi yetmez,  beceremez)

Boyle bir isi yaptiginda sacmalamis olmazsin.

Kesinlikle katılıyorum. Yaratıcılık önemli. Bana birşeyler öğretecekse, ileride bana para kazandıracağını düşünüyorsam gerekirse 16F84'alıp oturup VGA ile birşeyler yapmaya çalışırım. Zaten yapan yapıyor.  8)

PIC16F84 VGA CLOCK
Ben bu tür adamlara saygı duyarım.

Benim programcılık anlayışım budur.






since1990

Benimde çıkış noktam vga yı anlamak ve basit bilgileri sıcaklık basınç dijital giriş çıkış gibi bilgileri göstermek. Belki grafik çizdirmek. yada sadece ekran kartı gibi kullanmak  uart veya spi iie başka bir işlemci ne yazacağını söyle o yazar.:D
Konuya dönersek;
Adam 16f84 5mhz ile nasıl yapmış. Ben 168 mhz de yapamıyorum :D Compilier ile alakası var mı sizce. Tavsiyeniz nedir. Daha forumda yer alan önce KEil ile yapılmış olan projeyi indirip çalıştırmıştım bu arada. Ama ben en temelinden kendim yazmak ve kütüphanesini oluşturmak isitiyorum. Aklımdaki hali her bir pikseli belirlemek için interruptu oluşturmak. Ama o kadar kısa bir interrupt oluşturamadım.
"Dinlenmemek üzere yola çıkanlar asla yorulmazlar. Türk gençliği, gayeye, idealizme durmadan ve yorulmadan yürüyecektir. Bütün ümidim gençliktedir." Mustafa Kemal Atatürk

LukeSkywalker

@since1990
Sizin derdiniz interrupt olusturaramak degil. Pin durumunu yeterince hizli guncelleyememek. Çözünürlügü düşürüp'bir deneme yapin. Daha sonra cozunurlugu arttirma girisimlerine baslarsiniz.

yamak

@Mucit23 hocam
O videoda bir bit yeniği olabilir.Adam 5 mhz'de çalışıyor ama 640*480 çözünürlüklü bir vga monitöre en az 25 mhz frekansında pixel basmak gerekir.
5 mhz'de bu hızda pixel nasıl basmış acaba?

Mucit23

#34
Bilmiyorum hocam belki adamın farklı bir yöntemi vardır.

Video açıklamasında Yuri Lysenkov diye birisinden bahsediyor. Biraz araştırınca kodlara ulaşmayı başardım.

http://yl2.narod.ru/epic-prj.htm#vid-pic
http://www.sonic.net/~schlae/video.asm

Edit; Kodlar videodaki programın kodları değil yanlız.

yamak

Yani olabilir hocam ama 16f84 ile o böyle bir uygulama bana biraz zor geldi.

ErsinErce

Alıntı yapılan: yamak - 06 Mayıs 2014, 12:02:22
@Mucit23 hocam
O videoda bir bit yeniği olabilir.Adam 5 mhz'de çalışıyor ama 640*480 çözünürlüklü bir vga monitöre en az 25 mhz frekansında pixel basmak gerekir.
5 mhz'de bu hızda pixel nasıl basmış acaba?

videodaki çözünürlük 640*480 değil yalnız dikkat ederseniz 19*19

yamak

Hocam videonun tamamını izlemedim.Siz dedikten sonra baktım evet 19*19 muş

since1990

@LukeSkywalker
Hocam sizin demenize göre ben eğer pinin konumunu değiştirtmeden interrupta işlem yaptırırsam çalıştığım hızda sonuç alırım fakat pinin konumunu değiştiremem?

Bu siteye göre :
http://lslwww.epfl.ch/pages/teaching/cours_lsl/ca_es/VGA.pdf
25Mhz de 640*480 lik bir görüntü için 800*525 lik bir matris olması gerekir.
herbir satırdaki

ilk 660 piksel için low
sonraki 96 piksel için high
son 44 piksel için tekrar low.

bu koşullarda 660, 44, 96 için bir ebob alsam 4

interruptu 40ns yerine 160ns olarak ayarlayıp hysnci öyle oluştursam nasıl olur?
"Dinlenmemek üzere yola çıkanlar asla yorulmazlar. Türk gençliği, gayeye, idealizme durmadan ve yorulmadan yürüyecektir. Bütün ümidim gençliktedir." Mustafa Kemal Atatürk

speak48

#39
bi stm ile 1 bit minimum çözünürlükte vga süreriz
her işimizi halldemez yanına bi stm daha koyarız
hakı zaten framebufferli mikro kontrol ler fiyatını geçer.

z hocamın kendi kendisine şaçmalıcam demesini yakıştıramadım.
bir vga monitörün fiyatı nekadar 2*16 lcd nin fiyatı nekadar.
2 stm fiyatına zaten kaliteli bir frame bufferli mcu alabiliyorsunuz.
ucuza ve stm ile yapcam diye her tüketiciye bi denede monitör hediye edersiniz gari.

z

#40
Adamlar STM32F103 ile 1 bitlik monochrome CRTC yapmışlar.  2 bit yada 8 bir denseydi tartışma farklı olabilirdi.

İşlemcilerle bir başka MCUnun emülasyonunu yapabiliyoruz. Pek çok donanımın hatta elektronik devrenin de emülasyonunu yapabilyoruz.

MCU ile CRTC emülasyonu yapmanın neyi sizi rahatsız ediyor anlamıyorum.

VGA kartını FPGA yada Frame Bufferlı MCU ile tasarlarsak monitör bedeva mı oluyor?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

LukeSkywalker

Alıntı yapılan: since1990 - 06 Mayıs 2014, 14:11:49
@LukeSkywalker
Hocam sizin demenize göre ben eğer pinin konumunu değiştirtmeden interrupta işlem yaptırırsam çalıştığım hızda sonuç alırım fakat pinin konumunu değiştiremem?

Bu siteye göre :
http://lslwww.epfl.ch/pages/teaching/cours_lsl/ca_es/VGA.pdf
25Mhz de 640*480 lik bir görüntü için 800*525 lik bir matris olması gerekir.
herbir satırdaki

ilk 660 piksel için low
sonraki 96 piksel için high
son 44 piksel için tekrar low.

bu koşullarda 660, 44, 96 için bir ebob alsam 4

interruptu 40ns yerine 160ns olarak ayarlayıp hysnci öyle oluştursam nasıl olur?
Bir deneme yapın bakalım sonuç ne olacak. Bence pin hızı daha yüksek olmalı. 160ns uzun bir değer. Şu hali ile 10MHz bile çıkış alamıyoruz.

speak48

#42
vga monitörü 2*16 lcd nin yapacağı işin yerine koymuşsun
anlam kaydırması yapmayalım

bi dene 429 kullanmak yerine 2 tane 407 kullanmanın anlamsızlığını anlatmaya çalışıyorum.
kimseyle bir derdim yada rahatsızlığım yok

z

32x20 LCD vardıda vatandaş mı almadı. 

Bu tartışma uzar gider. MCU ile emülasyon mübahtır beceren yapar.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

since1990

320*240 için Biraz çalıştım hsync ve vsyncler aşağıdaki resimdeki gibi olduğunda out of range verdi monitor.
"Dinlenmemek üzere yola çıkanlar asla yorulmazlar. Türk gençliği, gayeye, idealizme durmadan ve yorulmadan yürüyecektir. Bütün ümidim gençliktedir." Mustafa Kemal Atatürk