PCI VGA kartin pic ile birlikte kullanilmasi

Başlatan bunalmis, 20 Ocak 2006, 16:01:38

z

Bu proje senelerdir kafamin bir kosesinde duruyor. Bilgi eksikliginden dolayi da bir turlu basliyamiyorum.

PCler icin uretilen PCI VGA kartini siradan islemcilerle birlikte kullanmak istiyorum.

Gecmis yillarda 8051 ile ISA busa uygun Herkul grafik kartini kullanarak monitorde grafikler cizmistim. O projede kayda deger zorluklar yoktu zira zaten ISA'nin yapisi, klasik harici adres-veri ve kontrol yollarina sahip islemcilerin yapisina cok benziyordu. Tek sorun CRTC registerlerinin ilk degerlerinin yuklenmesi ve kullanilan islemci icin grafik rutinlerinin yazimiydi.

Su anki sorun PCI bus uyumlu kartin kulllanim zorlugu. (Bilgi eksikligim  PCI bus'i tanimamam)

Benzer konuda daha once calisma yapan arkadaslar varmi.

Bu konuyu pek cok sitede sordum ancak ise yarar bir sey cikmadi.

PCI icin al su dokumani oku demektense bu konuda bilgi sahibi arkadaslarin en azindan konuya giris yapmalarini bekliyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mp3dragon

PCI kartlar üzerinde hiç uygulama yapmadım. Ama ISA yuvaların kalktığı zamanlarda PCI tabanlı giriş çıkış kartı nasıl yapılır diye düşünmüştüm. Araştırmalarımda farkın kısaca aşağıdaki gibi olduğu aklımda kalmış;

1. Data yolu ISA larda 8-16 bit PCI da 32 bit
2. Voltaj ISA 5 volt, PCI 3.3 volt
3. Maxsimum hız ISA 8 mhz, PCI 33 mhz.

Birde galiba adres ve data yolu paylaşımlıydı
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

aYe

@bunalmis

Merhaba hocam,
Bu benimde yillardir el atmak istediğim bir husustu.

Alıntı yapılan: "bunalmis"PCler icin uretilen PCI VGA kartini siradan islemcilerle birlikte kullanmak istiyorum.

Benim bildiğim kabaca ekran kartı zinciri şu şekilde; ISA-PCI-AGP-PCIEX

Şu an AGP bulunabilir yalnız nesli tükenmek üzere olduğu için; biz işi çözdüğümüzde pahalı ve bulunamaz durumda olabilir. Dolayisiyla sicak bakmiyorum.

PCIEX yeni kullanılmaya başladı.
ör: ATI RADEON X550XT 256 MB DDR2 128 BIT PCIEX EKRAN K 81 $ (64bit olanlari da var)

Eğer bahsettiğiniz PCI piyasada şu an mevcut bulunabilen PCIEX'ise uğraşmaya değer. Ki bu kartlarin üzerinde DVI soketinin bulunduğunu da düşününce olay VGA ile kalmiyor, her türlü TFT LCD'yi sürebilmek manasına da geliyor.

İyi çalışmalar...
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

z

Aslini sorarsaniz benim iki derdim var.

Ilki PCI yapiyi fazla gec kalmadan anlamak digeride bir an once sistem gelistirme kartlarimda debug islemleri icin bol bol DAC kullanmak yerine bir tane VGA ekran karti kullanmak.

Boylece DAC cikislarini scopla izlemek yerine dogrudan sinyalleri monitorde grafik olarak gorebilecegim.

Ustelik 8-10 kanalli gozlem cok da isime yarayacak.

Bu nedenle VGA yolunun PCI yada AGP olmasi cok da onemli değil. Mecbur kalirsam eski yillardan kalma ISA VGA kartimi tekrar masaya yatiracagim. Tabi bu durumda gene PCI arastirmasi ertelenmis olacak. Ustelik ISA kartin basina bir sey gelirse temini kolay olurmu bilmiyorum.

(Her kart  degisiminde VGA cip icin yazacagim programlari tekrar tekrar elden gecirmek gerekecek)
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

aYe

@bunalmis
Alıntı yapılan: "bunalmis"gelistirme kartlarimda debug islemleri icin bol bol DAC kullanmak yerine bir tane VGA ekran karti kullanmak.
Hocam rica etsem konuyu biraz açarmısınız. Debug ve DAC arasındaki bağlantıyı kuramadım. Teşekkürler...
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

z

Bu yontem sayisal sinyal isleme konusunda cok ise yariyor.

Yuksek frekansli analog bir sinyalden 10Khz gibi bir hizda ornekler aldigini, bu ornekleri bir takim algoritmalardan gecirdigini ancak  program gelistirme asamasinda programlarda bazi yazim yada mantik hatalari yaptigini varsay.

Yaptigimiz digital devre ve uzerinde kosan program aslinda analog bir devrenin digital benzeri.

Tamamen analog devre ile ilgileniyor olsaydik scopla opamplarin cikislarina vs bakip sinyalleri gercek zamanda gozleyebilirdik. Analog devrenin digital benzerinde malesef bu sansimiz yok, bu durumda programlarin degisik noktalarindan akan verileri DAC'larla analog sinyallere cevirir ve bu sinyalleri scopla izlersek sanki analog devrenin degisik noktalarini scopla izliyormus gibi oluruz.

Bu yontem programlarin dogru calisip calismadigini gercek zamanda test etme imkani taniyor.

Eger kodlari satir satir debug etmeye kalkarsak cok zahmetli ve uzun bir zaman gerekir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

aYe

Sayin bunalmiş hocam halen net bir şekilde anlayabilmiş değilim. Fikir verebilmek yada yardimci olabilmek için önce anlamak şart gibi. Bir analog sinyalden örnek aliyoruz bunu mcu'içinde işliyoruz ve kod birşeyler yapiyor da bu yapilanin ne şekilde nasıl olupta neden dac'a aktarildigini kavrayamadım. Çok rica etsem bir örnek şema vs. bir şekilde izah etseniz. Yazinizi tekrar tekrar okuduğumm halde malesef konuya vakıf olamadım.  Kusura bakmayin sizi yoruyorum. Teşekkürler...
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

z

Mesela analog bir sinyalin turevini hesaplayip bu degerleri kullanan bir sayisal uygulama olsun.

Yazdigin turev  programinin duzgun calisip calismadigi konusunda supheye dusersek turev alicinin cikisindaki sayisal degerleri DAC'a yollayarak DAC cikisini scop ile gozleriz. Scop kanalarindan birisinide asil analog sinyal girisine bagladigimizda scopda hem giris sinyalini hem de bu sinyalin turevini goruruz. Bu sayede turev alicida hata olup olmadigini anlayabiliriz.

Sayisal algoritmalarda genelde hatalar sayisal verilerde tasma seklinde ortaya cikar, bu hata da scopta hemen farkedilir.

Elinde DAC olmasaydi ne yapacaktin, turev alicinin programini adim adim calistirip verileri gozleyecek daha sonra kagit kalemle ayni sonuclari elde edip edemeyecegine bakacaktin.

Yani DAC kullanarak yaptigimiz sey, digital devrenin degisik noktalarina prop atmak oldu.

Digital ile anlatilan  lojik devreler değil, sayisal algoritmalar.
Digital filitreler, turev alicilar, integratorler, amplifikatorler...

Bu tur sistemlerin cikislarindaki veriler analog verilerin sayisal karsiliklari oldugundan surekli degisim gosteren bu sayisal veriler rakam olarak bakana fazla bir sey ifade etmezler, ancak analog sinyallere donusturulurse scop ile cok kolay yorumlanabilir hale gelirler.

Mesela PID algoritmasinda hata sinyali ile bunun integralini gozlemek  guzel bir sey.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

aYe

@bunalmis

Bak şimdi oldu hocam, benim gibi cahillere böyle anlaticaksin:)

Peki dac'da görmek istediğin derinlik kaç bit? Mesela ekranda 8 bit sonuç görmek yeterli olur mu? Hani uygunsa hiç uğraşmayalım 320*240 lcd yi dik kullanarak 8 bit çift girişi olan, osiloscope gibi ekranda görebileceğimiz bir kod yazalım. Hatta kayit fonksiyonu bile ekleyebiliriz.  320-256 = 64 bit de alt kisima menu koymak için alanımız kalır. Tabi benimki fikir sadece, siz yapalim derseniz yapalım. Arkadaşlarla da paylaşalım herkeze bir faydası olsun...
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

z

Dikeyde 256 pixel cozunurluk bence baslangic icin iyi.
Yatayda 1024 pixel süper olur.

CRTC mi yapmayi dusunuyorsun.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

aYe

Yatay konusunda haklisin  :D O halde bir mcu ile datayı alip pc'ye göndersek? Pc kismini ben yazabilirim. Yoksa illede ekran karti mi?
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

z

Istersen PC tarafini ben halledeyim. Donanim kismini sen hallet. :D

Bu is icin PC yi hic devreye sokmak istemiyorum. (Mevcut bilgilerimle PC kasasinin disindaki bir karttan PC ye aktaracagim veri hizini cok yuksek yapamiyorum)

Bu nedenle VGA karti dogrudan kendi gelistirme kartima eklemek istiyorum.
Su anda en pratik cozum ISA kartlari kullanmak gibi goruluyor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

aYe

Günaydin,

Alıntı yapılan: "bunalmis"Istersen PC tarafini ben halledeyim. Donanim kismini sen hallet. :D
Delikli pertinaks olur mu yoksa kompanentleri hemen bakirli yüzeye lehimleyip aralara maket bıçağıylamı gireyim? En azindan montajda uzay teknolojisini yakaladım :D

Hocam sen PCI'ı çözücen emek boşuna gidicek, hurdacilarda bile kalmadı o kart. Bari PCIEX ile uğraşsan bi tane de ben alir çalışmalarını takip ederdim.

Aslinda alternatif teklifim varda henüz 2410arm'lari kullanabilicek duruma gelemedik. 14mm*14mm kılıfın altına dizmişler 272 tane top (BGA)bacaği, ben onlara bakiyorum onlar bana bakiyor :D Lehimlemeyi kafamda garantiledim de nasil bir pcb çizmem gerektiği konusunda halen tereddütlerim var. Yoksa lcd yada crt monitörü direkt bağlıyosun mcu'ya driver'i içinde. 200mhz civari da bir hiz...

İyi çalışmalar.
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

aYe

Daha yeni farkettim;
Alıntı yapılan: "bunalmis"Gecmis yillarda 8051 ile ISA busa uygun Herkul grafik kartini kullanarak monitorde grafikler cizmistim.
Alıntı yapılan: "bunalmis"Su anda en pratik cozum ISA kartlari kullanmak gibi goruluyor.
Biz nolucaz hocam? PID'li örneğinizle izah ettiğinizde anladim ki benimde böyle birşeye ihtiyacım var. İş başa mı kaldı yani :cry:
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

z

ISA bus projesine baslayalim o zaman, ihtiyacin olan malzeme listesi

1 adet ISA Bus'a uygun VGA kart
1 adet ISA kart yuvasi (Disi konnektor)
1 adet harici Bus'i olan islemci yada bolca I/O (Ben ext mem interface'i olan islemci kullanacagim)
LS TTL serisinden bir kac tane Inv, Nand vs

Is yogunlugundan dolayi ne zaman baslariz Allah bilir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com