pic ile istenilen sinyallerin üretilmesi

Başlatan pioneer5900, 01 Mart 2008, 10:58:42

pioneer5900

öncelikle merhabalarr arkadaşlar.pic ile monitör sürücüsü yapmaya çalışıyorum fakat çok hızlı çalışan bir pic olması gerekiyor anladığım kadarıyla
herbir komut harici osilatörün 1/4 oranı ile ifade ediliyor anladığım kadarıyla
bir komut süresi için 25mhz lik bir osilatöre ihtiyacım var yani bu picin komut süresi için dışarıdan 100 mhz gibi büyük bir değer gerekiyor hesaplamalarıma göre.25.42 usn de tam olarak 640 adet 8 bitlik bilgiyi bir yerlerden alıp göndermem gerekiyor dışarıdan almasamda bu kadar zamanda bu işi yapacak olması gerekiyor.programı asm ile yazıyorum fakat hız konusunda sorun yaşıyorum daha hızlı çalışan yada daha az sürede işlem yapan bir pic türü seçmeliyim.oluşturacağım sinyaller horizontal ve vertical tarama sinyalleri ve verilen nitelikte olmalı aşağıda sinyallerin durumu belirtiliyor.


(vga 640x480)modunu kullanacağım ilgilenen yada fikir verebilecek arkadaşlara şimdiden teşekkürler..
http://www.epanorama.net/documents/pc/vga_timing.html
Zorsa yaparız imkansız ise zaman alır....

pioneer5900

internetten bulduğum bütün programları yazıp denedim ama hiçbirşey göremedim.zaten sinyaller istenilen şekilde olmadığında monitör kendini beklemeye alıyor..çalışan bir monitör test devresi görmedim hepsini uyguladım
Zorsa yaparız imkansız ise zaman alır....

Ambassador

Monitorun yatay frekansinin 15625Hz oldugunu varsayalim.

Bu durumda yatay tarama sureniz 64 mikrosaniye olacaktir.
Bosluk pulslarini falan vazgectik bu sureye 640 nokta sigdiracaksak her bir noktayi 10 Mhz ile kaydiracagiz demektir.

Bu suredeki en kucuk duzensizlik ekranda lokal titremelere yada netlik problemlerine neden olacaktir.

Bir islemcinin iceride bir ton kod kosturup ustune ustluk her 100ns de bir int a cevap verebilmesi icin islemcinin yuzlerce MHz de kod kosturabilmesi ve bit uzunlugunun da yuksek olmasi gerekir.

Eger 640x480 cozunurlukten fedakarlik ederseniz belki bu durumda ARM yada DSP ler kullanilabilir ancak bu cok luks bir cozum olur.

Sizin yapmaniz gereken bu isi MCU ile değil CPLD ile yada FPGA ile yapmaniz yada en pratigi islemcinizin harici busina MC6845 tarzi CRTC cevre birimi takmaniz.

Bu konuda engin deneyimlerim var her turlu soruyu sorabilirsiniz.

pioneer5900

konuyu anladığına eminim ve ilgin için teşekkür ederim.
yatay tarama frekansı 31.46khz dikey ise 60 hz üzerinden verdiğim linkte birde negatif senkronizasyondan bahsediyor buda herhalde 0-(-5) arasında olduğunu çıkarabildim.
fpga kısmına geldiğimizde sadece pic ile bunu yapmam gerekiyor ama verilen sinyalleri ürettiğimde video nun gönderildiği kısım yavaş çalışırsa bir pixel değilde 10'dan fazla pixelde taranmış olur sorun değilbaşlangıç olarak birkaç 8 bitlik değer göndersem yeterli buda 25.42 usn aralığında gerçekleşebilir.sonrasını çok daha hızlı bir pic ile yapabilirim diye düşünüyorum.
hesaplamalarıma göre pic içeride frekansı 4 e bölüyor yani 100mhz lik bir pic sadece durumu kurtarabilir fakat bir cycle da 8 biti akümlatöre koymadan nasıl gönderrebilirim bunu bilmiyorum..ilgi için çok teşekkür ederim
Zorsa yaparız imkansız ise zaman alır....

Ambassador

640X480 in alti da isimi gorur dersen o zaman internette bir yerlerde (hatta linki bu sitede de vardi gormustum) oyun makinesi projesi vardi.

CRTC kismi, Sound kismi ve ALU kismi yanlis hatirlamiyorsam ayri ayri PIC islemcilerle yapilmisti.

O proje sana kesin yol gosterecektir ama link nasil bulunur bilmiyorum.

picusta

Hemserim, bence sen bu is icin pic serisini seçme, Arkadasin dedigi gibi bu is için uygun baska seçenekler. internette AVR ile güzel seyler yapiyorlar, o dedigin 4'e bölme olayi olmadigi için tercih ediliyor. Yine islemcilerden gidersek, söyle bir uygulama görmüstüm, islemcinin SPI'sinden veriler gönderiliyor, böylece SPI 25Mhz'de çalisiyor,çözünürlük güzel, ama islemciyi yormuyor (Spi'nin bufferini ve interrupt kullanarak).

pioneer5900

arkadaşlar bu benim bitirme ödevim basit uygulamalar yapabiliim ama işin en başından bir resim görüntüleme üzerine yoğunlaşıyorumbu iş gerçekten pic ile çok zor olacak gibi ama ne yapalım..birde ben pici çok sevdim fazla karmaşık değil yüksek seviyeli bir dil gibi fakat böyle yüksek hız gerektiren konularda aciz kalmasını istemiyorum.ders olarak fpga öğreniyoruz ve fpga de bunu yapmak o kadarda zor değil.hocanın benden istediği pic ile yapmam elimden geldiği kadar uğraştım .sanırım komut süresi sabit olmayan yani komutları daha hızlı işleyip çıkış sinyallerini komut süresince gerçekleştirebilen bir pic pic serisi var dspic'ler ve ilginiz için çok teşekkürler bu proje pic için güzel bir adım olacak düşüncesindeyim.
Zorsa yaparız imkansız ise zaman alır....