Kompozit video jel előállítása korlátozott TTL alkatrészekből

Elő kellene állítanom egy 192x256 pixeles kompozit videó jelet TTL IC-kkel, 4Mhz órajelből. Nehezítésként csak a következő IC-ket lehet használni:
2*74393, 1*7493, 2*74138, 1*74165, valamint 2*7400, 7403, 7404, 7408, 74132 (nem kell mindet felhasználni).
Az adattartalom generálásához szükségem van 5+8 bitre a videó RAM címzéséhez, valamint 3 bitre aminek az értéke modulo 6 inkrementálódik.
Emiatt a 4MHz-et először 6-tal el kell osztanom, hogy ezt a 3 bitet megkapjam. Ez megy a 74138-ba, ami a 74165 LOAD lábát vezérli, valamint 6-nál reseteli ezt a számlálómat. Úgy tűnik, ez szükségszerű és kihagyhatatlan.
Azonban a többi sehogyan sem jön ki. A 666666Hz-es jelet, ha leosztom a 2x5 bit számlálóval, akkor a végén kapok egy 651Hz-es jelet, ami 13-mal leosztva pont az 50Hz VSync jelet adhatná. De ez esetben nincs 15.6kHz-es jelem HSync-re, csak 10kHz és 20kHz.
Ha a 20kHz-re megpróbálok egy számlálót illeszteni, ami 16us-ig várakozik, akkor meglenne a HSync, de elfogynak a bitjeim a VSync-hez és az 50Hz is elúszik ...
Tehát nem tudom, hogyan lehetne a fenti IC-kből egy olyan konstrukciót összerakni, amivel képes lennék működő kompozit jelet összeállítani.

Első változatban sikerült egy 24x34 karakteres stabil kompozit képet kialakítanom, de ott 8 bit széles karakterek voltak.
6 bit széles karakterekből 32 karakteres sorok kialakítása azonban sehogyan sem sikerül.
Tud valaki tanácsot, útmutatást, ötletet adni?
(Kérem ne másoljatok be AI válaszokat, azokon már túlvagyok.)

 

Hozzászólások

Tehát úgy néz ki, a trükk a 74132-es IC-nél van. Számláló helyett ezzel kellene a HSync jelet generálni. Az impulzusnak a lefutó élre kellene indulnia, és 16us-ig tartania.

A lefutó élre nem tudok jó impulzust generálni. Az AI szerint azért, mert ennél az IC-nél a 0 nem igazán 0. De ha a felfutó jelet vezetem rá, azzal már megy. Ezért a jelet egy NOT kapun vezetem át előtte. Ezzel azonban megszűnik működni. Innentől nem tudom hosszabbítani a jelet, csak a kitöltési tényezőt változtatni. Fura.

A lényeg, hogy ha sikerülne stabilan előállítanom a 74132-vel egy lefutó élre induló 16us-os jelet, ami működik akkor is, ha a bemeneten hosszan 5V van, akkor megoldódna a probléma.

74132-re nem találtam mintákat, de 4093-as IC-re igen. Jelenleg ezzel próbálkozom. (Fig. 2.)

Érdemben nem tudok segíteni, mert 20+ éve az ilyen bonyolultságú feladatokat CPLD-vel és/vagy mikrokontroller oldom meg és emiatt megkopott a TTL tudásom. Viszont érdekelne, hogy milyen apropóból jön ez a feladat, ha nem titok?

„Az összeomlás elkerülhetetlen, a katasztrófa valószínű, a kihalás lehetséges.” (Jem Bendell)

Egy olyan régi gépet szeretnék újraépíteni, aminek nem elérhető a kapcsolási rajza sehol. A MAME emulátorának forráskódjában elég szépen le van írva az eredeti hardver alkatrészlistája, ASCII rajz is van az alaplapról. Sőt, még egy nem túl jó minőségű fotóm is van a NYÁK-ról. Sajnos a pontos IC nevek és a kapcsolási vonalak nem azonosíthatók be rajta, de az elhelyezkedés igen, és stimmel is a MAME forrásban található leírással.

Mivel viszonylag egyszerű konstrukció, tanulásnak is szánom a magam részére. Egyrészt elektronikai alapismereteket, másrészt KiCAD használatot próbálok tanulni közben. Most éppen azt, hogy hogy lehet Schmitt-triggeres NAND kapukból jó monostabil multivibrátort építeni.

Szerkesztve: 2025. 02. 26., sze – 20:22

Jelenleg ott tartok, hogy sikerült a 32x32 karaktert megjeleníteni a TV-n, de nem tűnik elég stabilnak az alkotás.
Két teszt TV-ből az egyik már elfogadható, stabil képet mutat, de a másikon ugyanez a jel még folyamatosan futó, vibráló képet ad.
(A HSync jelem nem állítható finoman, az logikai kapcsolatokból jön ki, a VSync jelet tudom állítani egy potméterrel.)
Mivel jelenleg a két szinkronjel egyszerű OR logikával kapcsolódik, ezért a VSync alatt nincsenek külön HSync jelek.
Több leírás is azt ajánlotta, hogy XOR kapcsolattal egyesítsük a szinkronjeleket, ezért - bár az alkatrészlistában nincs XOR
kapu, kipróbáltam a XOR kapcsolatot, hogy javul-e a kép stabilitása.
Sajnos ez sem segített - igaz, nem is rontott.
Van ötletetek, min lehetne még finomítani ahhoz, hogy stabilabb képet kapjak? Melyik része lehet még fontos a kompozít jelnek, ami segíthet?

 

Mivel játszottam/futottam pár kört ebben a témában, pár apróbb ötletet tudok adni:
Az 50Hz és a 15.6kHz nincs kőbe vésve, de a kettőnek szinkronban kell lennie. A legtöbb TV elég jól tudja kompenzálni az eltéréseket, minél öregebb a TV annál jobban.

Vedd figyelembe a sor és a képvisszafutási időket, ha fut a kép, ezekkel tudsz játszani.

Esetleg ha megadod a gépnek a típusát, akkor lehet, hogy többet tudok segíteni.

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Köszönöm, én is arra tippeltem, hogy van tűrése a frekvenciaértékeknek. A sorszinkront csak pár érték közül tudom kiválasztani, de a képszinkront finoman tudom hangolni. Ezzel sikerült az egyik monitoron stabil képet beállítani.

Amitől tartok, hogy a szinkronjelek lefutása után a kompozit formátum előírna még valamennyi várakozási időt is. Ezt a sorszinkron esetében nem tudom biztosítani. Képszinkron esetén a szinkronjel elé be tudok szúrni még egy eltolást, de a végére nem tudok még várakozást illeszteni.

Egyébként a gép pontos típusa ESSELTE 100. Nagyon kevés információt találtam róla, ezért is kell magamnak varázsolni. Szerencsére az alkatrészlista megvan. De ez nem az eredeti kapcsolás, csak azokból az alkatrészekből próbálom felépíteni.

Nagy Attilát kérdezd meg szerintem. Ő elég sok régi gépet javít és készít replikákat.
nattila.hu