Fórum témák
» Több friss téma |
Sziasztok!
Szeretnék képet megjeleníteni VGA monitoron PIC-el és egy ISA-ás Trident TVGA9000C kártyával. Ha tudtok segíteni és küldeni ISA slot lábkiosztást valamint a VGA programozásáról anyagot vagy oldalt ami ezzel foglalkozik, azt nagyon megköszönném.
Jól meggondoltad? Nekem nem tűnik egyszerűnek, már a lábkiosztás felsorolása is elég durva méretű. Jobban járnál,ha C64-en, vagy valami régi konzolon próbálnál meg programozni, azon több sikered lenne.Nem érdemes az isa kártyákkal foglalkozni ilyen szinten, és gyanítom a pic is kevés lenne hozzá, ez a trident kari kenterbe vágja teljesítményben.
De azért hajrá.
A vga programozáshoz enyit tudok talán jo Link
Nem kell ISA kártya, ahhoz hogy a monitoron képet tudj megjeleníteni. Elég ha a videó jelet szoftveresen állítod elő. Pl, itt egy topic ami ezzel foglalkozik Crt vezérlése PIC-el
Kompozit videójellel már TV-re is "varázsolhatsz" képet.
Ismerem is ezt a topikot és már "varázsoltam" is képet a TV-mre, de azért is döntöttem a ISA VGA mellet mert a PIC túl elfoglalt volt a megjelenítéssel, és gondoltam hogy ez egyszerűbb és gyorsabb lesz. Korábban láttam egy oldalt amely egy ilyen project-et valósított meg, de sajnos a linket elvesztettem.
Akkor talán erősebb proci kellene (dsPIC? ha nem ARM), vagy ha mindenképp ragaszkodsz a PIC-hez, akkor több vezérlőre szétosztani a feladatokat.
Az elképzelés nem rossz.
A videókártya magában elvan, a memóriájában lévő adatokat rakja a képernyőre, akár karakteres, vagy grafikus üzemmódban van. Az ISA busz vezérlése nem túl bonyolult és nagy sebességet sem kíván. Könnyen megoldható a vezérlés akár PIC-el is. Ellenben a kártya vezérlése már gondot okozhat. Régesrégen még gépikódban piszkáltam a grafikus kártyát és úgy rémlik nem volt túl egyszerű. Neked van leírásod, protokolod a kártyához? Bár nagyrésze szabvány.
Parallax Propeller mikrovezérlők nagyon viszik akár videó szinten is. Kb. 2 éve láttam egy bemutatón.
Nem a regisztereken keresztül történő piszkálgatás a bonyolult, ha már a kártya fel van inicializálva. A legnagyobb gondot pont az init jelenti, mivel ez kártyánként máshogy megy, sehol nincs dokumentálva.
Valamikor az ezredforduló környékén az egyik csoporttársam pont egy ilyen kütyüről készítette a diplomamunkáját. A hardvert én terveztem és építettem meg, ő írta rá a szoftvert, igaz, a vezérlő nem PIC volt rajta, hanem a Dallas valamelyik MCS51-es kompatibilis darabja. Ez a mikrokontroller tudott külső memóriát használni, aminek segítségével (meg egy GAL megfelelő felprogramozásával) memóriába ágyazott I/O-val és a külső memóriaterületben megjelenő VGA RAM-mal lehetett a kártyát megszólítani. Mint írtam, a VGA inittel kínlódtunk rengeteget, gyakorlatilag a VGA BIOS-t kellett visszafejteni. Rengeteg sehol sem dokumentált, és jópár kártyaspecifikus I/O is képbe került az inicializáláskor, amiket később aztán sehol nem kellett használni. Mi Trident 8900-asok és 9000-esek, egy egyszerűbb Cirrus Logic, és az akkori, 386-os laptopom alaplapjára szerelt, szintén Cirrus Logic chipes VGA hosszas tanulmányozásával, disassemblálással (Sourcer használata - ha emlékszik még valaki erre a remek progira) jutottunk eredményre. Az elkészült kütyüben Trident-et használtunk, pont azért, mert mindenhol hozzá lehetett jutni, így igény esetén könnyen reprodukálható lett volna az áramkör. Emlékeim szerint a Tridentek BIOS-ai rettenet gányul néztek ki, nagyon nehezen voltak követhetők, nyilván valamilyen magasabb szintű nyelven (valószínűleg C-ben) írták őket. A Cirrus Logicok BIOS-ai tiszták, átláthatók voltak (ezek több mint valószínű, hogy eleve assemblyben íródtak), pont ezért is nem dobtuk el őket. A Trident-ekből inkább csak a kártyaspecifikusakat szedtük ki, miután a Cirrus Logic-ot már tudtuk kezelni. Szóval arra mindenképpen fel kell készülni, hogy a beüzemelés sokkal nagyobb kihívás, mint a hardver megépítése. Arra nem esküszöm meg, hogy nekem megvannak az akkori kódjaim, bár azért van rá komoly esély, mert elvileg mindent elmentettem akkoriban, kérdés, olvashatók-e az akkori mentések, és megtalálom-e őket Viszont a volt csoporttársamat is jó eséllyel elő tudom keríteni, neki pedig ez volt a diplomamunkája, valószínűleg még nála is, de talán még a suliban is van belőle példány. Tehát ha érdekel valakit, akkor jelezze, megpróbálom előtúrni.
Naná hogy érdekel, ez egy igen érdekes téma!
Kösz az nagyon jó volna és ha sikerülne megtalálnod a doksikat akkor jövök neked egy sörrel és milliónyi köszönettel.
"Nem a regisztereken keresztül történő piszkálgatás a bonyolult, ha már a kártya fel van inicializálva. A legnagyobb gondot pont az init jelenti, mivel ez kártyánként máshogy megy, sehol nincs dokumentálva"
Pont ezt írtam én is A kártya vezérlése a szűk keresztmetszet, mert nincs dokumentálva.
Szisztok!
Szabad ajánlamon egy ide vonatkozó könyvet: Richard F. Ferraro: Programmer's guide to the ega and vga cards, Second Edition, Addison-Wesley, 1993. ISBN 0-201-57025-4 A 19. fejezete a Trident 8800, 8900 kártyák rejtelmeit taglalja.... Fejezetek a könyvből: 15: ATI, 16: Chip & Technology, 17: Genoa, 18: Paradise, 19: Trident, 20: Tseng, 21: Video7 Anno a Műegyetemi könyvesboltban rendeltem meg. Sziasztok
Sziasztok!
Már átnéztem László József: A PC hardver programozása könyvében az ide vonatkozó fejezeteket, de csak a VGA regiszterekről volt szó benne. Ha lenné olyan szíves és be tudnád szkennelni a Tridentről szóló fejezetet, azt nagyon megköszönném.
Szia!
Ezek is jól jöhetnek még:
Hali !
Hátha segit, igaz nem pic hanem AVR. AVR-ISA-VGA Az oldal alján van forrás, meg rajz is. Üdv. Zoli
Nem tudom, hogy volt-e már: mono SVGA (800x600) PIC24H mikrovezérlővel.
Sziasztok!
PIC-cel vezérelt VGA van most tervezés alatt, és olyan kérdésem lenne, ha sikerül kirajzolni egy ábrát PICcel a monitorra, utána azt folyamatosan frissíteni kell, vagy statikusan megmarad a monitoron az ábra, amíg újra nem kezdek el rá írni.
Szerintem biztosan frissíteni kell, mivel mondjuk a CRT monitor ebből a szemszögből csak egy passzív eszköz, nem úgy mint az intelligens LCD-k.
Sziasztok!
PIC mikrokovezérlővel szeretnék valami képet megjeleníteni monitoron, vagy TV-n. Gondolkoztam a kompozit, komponens átvitelen, de előnyben részesíteném a HDMI, DVI protokollokat. Végülis majdnem mindegy, a lényeg, hogy ki tudjak rajzolni dolgokat a kijelzőre. Létezik valamilyen céláramkör, amit csak be kell kössek, rá egy memóriát és kiküldi a memória tartalmát a kijelzőre (esetleg még be is szerezhető Magyarországon)? VGA-hoz találtam párat (Trident TVGA9000i és társai), de normális adatlapot sem találtam hozzá. Gondolkoztam azon is, hogy közvetlenül a mikrovezérlő kimenetével meg lehetne hajtani a VGA-t, komponenst, de még azok is túl gyorsak egy egyszerű PIC-hez, nem is beszélve a HDMI-ről. Minden építő jellegű hozzászólást örömmel veszek. Köszönöm előre is a segítséget
Itt még forrás is van 48MHz -es 18F2550 -re.
Sziasztok!
Egy olyan problémában szeretném a segítségeteket kérni, hogy a Tascam DM-24-es sorozatú digitális keverőpultok gyári hibája, hogy meghibásodik benne a grafikus LCD kijelző (320x240). Létezik erre egy olyan megoldás, hogy az LCD kijelző jelét "megcsapolják" és egy VGA konverteren keresztül kiteszik a képet egy monitorra. Én egy ilyen konvertert szeretnék reprodukálni! Itt a link az eredeti konverterről: Bővebben: Link. Sajnos böngészni kell, mert nem tudom konkrétan megmutatni, de az INSTALL menüpontban képekkel illusztrálják a kütyüt. Próbáltam utána nézni a VGA protokoll részeinek több-kevesebb sikerrel. A protokollt értem csak a mikrokontroller megválasztásával akadtak problémáim. Én jobban szeretem a PIC kontrollert, ezért ebből próbálok kiindulni! A baj csak az, hogy milyen órajellel kellene gondolkoznom! dsPIC30F1010-et nézegettem pl. 10MHz x32PLL, de ez még szerintem édes kevés a probléma megoldásához! Aki dolgozott már valami hasonló problémán és van ilyen jellegű tapasztalat szívesen venném, ha megosztaná velem, vagy ha van valami MCU-hoz illeszthető IC, ami megkönnyíti a programozást! Azt, hogy végigolvastad és a segítséget előre is köszönöm!
A VGA nem igazán protokoll, analóg jelek. Vízszintes, függőleges szinkronjel és RGB. Ahogy nézem, itt csak fekete-fehér képről van szó, azt nem olyan bonyolult közvetlenül egy 8bites mikrokontrollerrel sem generálni. (színeset is szoktak csinálni pl. színenként 2-3 bit ellenállásos DAC-vel)
Itt a "megcsapolás" a nehezebb kérdés, ha már tudod mit akarsz megjeleníteni akkor megoldható. De miért nem pótolod az LCD-t? Azt nem tudod, hogy miként hajtják meg? Van esély rá, hogy valami elterjedtebb vezérlő ic van benne pl. HD61830. Vagy közvetlenül hajtják meg a sor-oszlop vezérlő ic-ket, szerintem ha jól megnézed, lehetne lőni hozzá cseredarabot.
Igen van cseredarab, ebben teljesen igazad van! A tapasztalat azt mutatja viszont, hogy erre nagyobb igény lenne!
Ha kifejtenéd bővebben ezt: Idézet: „azt nem olyan bonyolult közvetlenül egy 8bites mikrokontrollerrel sem generálni.” Én is gondolkodtam, de valahogy a MHz-ek csapdájába kerültem mindig! Persze a 2-3 bit DAC teljesen rendben lenne, ha a kirajzolás sikerülne!
Konkrét, általam is kipróbált dolgot nem tudok linkelni, de ha beírod google-ba hogy PIC VGA vagy AVR VGA akkor találhatsz pár napnyi olvasnivalót.
Vannak 640x480@256 megoldások is 20MHz-es 8 bites kontrollerrel, persze ilyenkor másra nem nagyon marad ideje a procinak. Egy fekete-fehér kép azért lényegesen egyszerűbb.
Szerintem ez a része inkább a kevésbé nehézkes része a dolognak...
A jelek "megcsapolása" az izgalmasabb. Először ki kéne deríteni, hogy milyen jelek mennek ott, azt van-e egyáltalán esélye egy mikrokontrollernek "elkapni", vagy nem is érdemes ilyesmiben gondolkodni. Egy kisebb FPGA-nak mondjuk biztosan meg se kottyanna...
Sziasztok, kutakodtam googlin, itt he-n, és még jópár helyen, de sehol sem találtam értelmes információt.
Szeretnék meghajtani egy VGA monitort egy PIC kontrollerrel. vagy 640x480-as vagy 800x600-as formátumban szeretném megcsinálni. A VGA szabványt már egy ideje tanulmányozom. Ha jól tudom a Horizontális és a Vertikális szinkronjel 5V-on megy, míg a RGB rész az 0-0,7V -ig. Az eggyetlen problémám, hogy nem tudom, hogy kéne nekiállni a programnak. Teljesen hardwermentesen szeretném megcsinálni. A neten csak assembly nyelven találtam teljes programot, de nekem az szinte kínai. Én C nyelven szereném megcsinálni, és azon belül is CCS fordítóval. Itt He-n egy topikot találtam , de ott külön hardwerrel szeretnék megoldani a folyamatot, ezért gondoltam nyitok egy topikot, főleg hogy a neten szinte csak! angol illetve más idegennyelven írt cikk/leírás van, de sajnos azok is hiányosak, ezért szeretném itt összeszedni a fórumtársak álltal ismert tudást. Álltalam talált linkek; Ez volt számomra a legérthetőbb de még sajna ebből sem értettem meg. Bővebben: Link Bővebben: Link Bővebben: Link |
Bejelentkezés
Hirdetés |