Video DAC und Analogteil von Ethernet

Ich experimentiere in letzter Zeit etwas mit dem Spartan 3 Starterkit von Xilinx, eine Audio-Ausgabe und testweise VGA habe ich bereits implementiert (

formatting link
), jetzt möchte ich direkt ein Y/C-Signal für die Ansteuerung des Fernsehers erzeugen. Es gibt zwar extra Wandler-ICs dafür, die man digital ansteuert, aber ich möchte das mit so wenig wie möglich speziellen Bausteinen aufbauen, und die ganze Arbeit den FPGA erledigen lassen.

Habe mir also gedacht, ein R/2R Netzwerk für die Video-Signale zu verwenden (je 8 Bit sollte reichen), da das PWM-Verfahren wegen der hohen Frequenzen nicht mehr funktioniert. Der Digital-Teil ist kein Problem, aber vielleicht hat jemand einen Tipp, wie die Schaltung zwischen dem Ausgang des Widerstandsnetzwerks zur Pufferung und Impedanzanpassung aussehen muß.

Danach fehlt dann noch ein 10 MBit Ethernet-Anschluss. Auf der digitalen Seite wird das wieder kein Problem sein, aber wie baut man die Schnittstelle zwischen Kabel und FPGA mit (möglichst wenigen) diskreten Bauteilen auf und kennt einer Bezugsquelle für eine Netzwerkbuchse und was man da sonst noch für Teile braucht, wie Keramikfilter o.ä. ?

--
Frank Buß, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss
Loading thread data ...

Frank Buss wrote: [Video-DAC]

Mit normal erhältlichen 1%-tolerierten Widerständen machen 6 bis 7 bit Auflösung Sinn, was für Videospielanwendungen auch noch gut brauchbar sein dürfte. Widerstandswerte z.B. 1k und 2k, damit dürfte man einen brauchbaren Kompromiss zwischen Ausgangswiderständen der treibenden Pufferstufen und Frequenzgang durch Tiefpasswirkung mit den unvermeidlichen parasitäten Kapazitäten hinbekommen.

Einen AD817 z.B. mit dem plus-Eingang am DAC-Ausgang, und den invertierenden Eingang über 1k zum Ausgang - das sollte reichen. In den Ausgang natürlich noch 75 Ohm oder sowas (seriell). Der DAC-Ausgang sollte außerdem noch mit einem Widerstand soweit belastet werden, dass der Pegel auf ca. 2Vss eingestellt ist.

Thomas.

Reply to
Thomas Rehm

*Ganz heißer Tipp*: Vergiß das R2R Netzwerk und nimmt einen geeigneten integrierten Wandler. Gerade bei einem Videosignal wird eine R2R Selbstbaulösung analog einen Haufen Frust bereiten.

So er nicht integriert ist (ist häufig nicht, weil andere Technologie) sollte man den Ausgang hinter dem D/A Wandler und dem nachgeschalteten "Strom-Spannungswandler" (Widerstand ;-) mit einem Current-Feedback OpAmp buffern.

Hintergrund: Auch die fertigen Flash Wandler IC's arbeiten zumeist intern *nicht* mit R2R, sondern mit einem Haufen gesteuerter Stromquellen (nicht pro Bit, sondern z.B. für die ersten 6 Bit pro Zustand eine). Ein Grund sind die unvermeidlichen C's in Deinem R2R und das Thema Impedanz - aber richtig, ein anderes Thema ist, dass Du beim Umschalten des MSB nette Glitches bekommst, wenn die ansteuernden Ausgänge nicht absolut synchron arbeiten. Außerdem treiben die Ausgänge low meist mit anderer Stärke als High, und bei einem Videowandler fließt schon Strom und das Thema wird relevant.

Du kannst es natürlich mit R2R versuchen, wirst IMHO aber dann auf die harte Tour lernen, warum die IC-Designer bei schnellen Wandlern zumindest für die höchstwertigsten Bits nicht mehr auf dieses Konzept setzen.

Farnell, RS & Co. haben die RJ45 Buchsen in verschiedenen Varianten und sie haben auch Video-D/A's ...

Gruß Oliver

--
Oliver Bartels + Erding, Germany + obartels@bartels.de
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10
Reply to
Oliver Bartels

hi! eine frage: hast du irgendwelche resourcen zur entwicklung einer ethernetsnittstelle mit dem spartan. mir schwebt nämlich das selbe vor und hab mir vor 3 wochen den selben starterkit gekauft. bin aber derzeit noch mit einem anderen projekt beschäftigt.

danke urban

Reply to
Urban Stadler

ich glaube dir, hatte nicht an die kapazitiven Einflüsse gedacht, die ja gerade bei so hohen Frequenzen Probleme bereiten könnten. Außerdem lohnt sich der Aufwand eigentlich nicht, denn der sowieso notwendige Verstärker kostet schon fast so viel, wie ein IC. Ich habe mir jetzt mal hiervon einen bestellt:

formatting link

Bei 10 Bit müsste auch direkt ein FBAS-Signal möglich sein und noch ausreichend in der Qualität sein, da brauche ich dann nur einen Wandler von.

Und da ich gerade dabei war, habe ich auch gleich einen Stereo-Audio-DAC mitbestellt:

formatting link

Kostet kaum was, hat einen intergrierten Ausgangspuffer und da gibt es dann auch keine Fragen wegen der Klangqualität.

ich glaube ich werde da auch ein IC für nehmen. Der 91C111 von SMC (

formatting link
) sieht gut aus, gab auf deren Webseite aber kein Online-Shop, mal sehen, ob die mir ein Muster zuschicken. Den Übertrager und die Netzwerkbuchse werde ich wohl aus einer Netzwerkkarte auslöten, damit ist dann meine alte ISA-Karte aus der Bastelkiste doch noch zu etwas nützlichem zu gebrauchen :-)

Dann muß ich allerdings eine Platine dafür layouten und von einem Bestücker löten lassen, da ich das bei einem 128 Pin QFP Gehäuse nicht selber kann. Ich melde mich aber vorher nochmal hier mit dem Schaltplan und Layout und werde es erstmal als Erweiterungskarte für das Spartan Starterkit entwerfen, der drei 2x20-polige gewinkelte Buchsenleisten hat, vielleicht ist so ein Sound/Video/Ethernet-IO-Interface ja auch für andere noch nützlich.

--
Frank Buß, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Lob: Du hast Qualität gewählt :-)

FBAS stellt für diesen Wandler gar kein Problem dar und geht auch im FPGA digital zu erzeugen. Du solltest Dir nur *genau* den PAL Standard ansehen, Stichworte sind die PAL 8er Sequenz und die zwischen zwei Zeilen wechselnde Burstphasenlage sowie die *exakt* einzuhaltende Farbträgerfrequenz. Mit einem selbstgebauten DDS im FPGA ist das kein Problem, man muss nur dran denken, sonst wundert man sich, warum der TV rumzickt und der Videorekorder garnicht mag.

Beim FPGA sind Hardware-Multiplizierer für die Quadraturmodulation nützlich, bei Xilinx Spartan 3 oder Virtex II oder Altera gibt es genügend von der Sorte. Für das sin(x) braucht es für die oberen Bits eine Tabelle oder den Trick mit dem Priority Encoder und Multiplexer oder, wenn man genügend Multiplier hat, auch über die. Für eine hohe Taktrate wählt man Pipelining, geht auch beim DDS Phasenakku sehr schön.

Eben.

Solche Konzepte gefallen viel besser als irgendwelche krampfhaften Geiz-Bastelaktionen, bei denen eigentlich von vorneherein klar ist, dass es nie wirklich gut funktionieren kann.

Sollte gehen, der Distri kennt den Typ offenbar, wenngleich keine Kataloggware. Aber das gilt wohl für alle Non-PCI 10/100 MAC/PHY's.

Der RJ45 ist definitiv Katalogware, auch mit bunten LED's. Von den Übertragern haben wir seinerzeit auch ein paar mehr nehmen müssen, ein Muster könnte ich abgeben.

Dann viel Spass beim Design :-)

Gruß Oliver

--
Oliver Bartels + Erding, Germany + obartels@bartels.de
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10
Reply to
Oliver Bartels

danke, werde daran denken.

Der Typ auf dem Starterkit-Board hat 18 Multiplier mit je 18 Bit Breite, sollte also überhaupt kein Problem sein. Aber wie kann man mit einem Priority-Encoder einen Sinus berechnen? Du meinst doch sowas hier:

formatting link

Zur Zeit habe ich einfach eine Tabelle genommen, um beliebige Frequenzen per Hz-Angabe direkt erzeugen zu können. Das ist allerdings zu ungenau, die FFT-Anzeige meines Scopes zeigt da einiges an Oberwellen. In einem DSP wurde der Vektordreh-Algorithmus erfolgreich eingesetzt:

formatting link

Dort waren allerdings auch nur wenige vorausberechnete Frequenzen notwendig. Zumindest für die Audio-Ausgabe würde daher vielleicht der CORDIC-Algorithmus besser sein und sogar noch für jedes Sample einzeln verwendet werden können, was den Vorteil hätte, dann auch relativ leicht einen Sinus-Generator für die Frequenzmodulation eines anderen verwenden zu können und andere Effekte.

Werde da Ressourcen schonend wohl einen kleinen Microcode-Interpreter implementieren, damit ich die Multiplier wiederverwenden kann, schließlich brauche ich davon noch einiges für die FBAS-Signalgenerierung und später das eigentliche Spiel (mal sehen, ob ich da 3D-Grafik in den FPGA untergebracht bekomme).

--
Frank Buß, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

ich habe eben einen Distributor für den LAN91C111 gefunden, der mir auch

2 einzelne Stück verkauft hat. Als Basis für das Modul werde ich die 2.02 Version von Ethernut verwenden:

formatting link

Der Schaltplan darf auch für kommerzielle Zwecke in eigenen Projekte verwendet werden. Ich entwerfe dann die Erweiterungsplatine erstmal nur mit dem Ethernet-Controller und baue meinen Audio/Video-Ausgang auf einer weiteren Erweiterungplatine (man kann ja 3 Stück an den Spartan anstecken), dann kannst du, und andere Starterkit Besitzer, die auch verwenden ohne unnötige Teile und ich kann die vielleicht sogar mal über meine Firma verkaufen. Ganz in der Philosophie von Ethernut wird der Schaltplan natürlich auch dann frei bleiben.

Für die Programmierung des Chips gibt es das Datenblatt und die Beispielsourcen von SMSC. Ein TCP/IP-Stack wird das aufwändigste werden. Da wird man zunächst einen Prozessor oder geeigneten Microcode implementieren müssen, könnte dann aber auf Projekte wie dieses zurückgreifen:

formatting link

Für den Microcode würde ich gerne einen Befehlssatz entwerfen, mit dem man Lisp performant umsetzen kann, ist einfach eine schönere Sprache als die üblichen wie Java oder C/C++.

--
Frank Buß, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Hier wird ein 5-Bit-R2R-Netzwerk verwendet

formatting link
und das Ergebnis sieht durchaus brauchbar aus. Vermutlich will man mit dieser Aufl=F6sung keine Fotos anschauen, aber f=FCr ein Videospiel scheint es locker zu reichen.

Markus

Reply to
Markus Kaufmann

sieht schon beeindruckend aus, wenn man den wenigen Aufwand bedenkt. Die schwarz/weiß-Version hatte sogar nur 2 Widerstände an zwei Digitalausgägnen, die direkt auf den Video-Eingang gingen. Hätten sich die Entwickler früher sehr gefreut, solche Microcontroller zu haben (

formatting link

Verglichen mit anderen Systemen ist es dann aber doch etwas matschig und mit sichtbaren Schattenwurf an den Kanten rechts, wohl wegen Reflexionen o.ä. Ich möchte mein Interface vielleicht auch mal verkaufen können, daher komme ich um die IC-Lösung nicht drumherum.

--
Frank Buß, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

d=20

n=20

en, daher=20

Reflexionen kommen doch von falscher/fehlender Leitungsanpassung? Das sollte dann doch kein Problem des R2R-Netzwerkes sein?

Und die Matschigkeit ist doch wohl nur fehlender Kontrast? Das sollte sich doch auch mit R2R machen lassen? (Ohne da=DF ich jetzt R2R verteidigen wollte.)

Markus

Reply to
Markus Kaufmann

Nebenbei ist das NTSC, was eine kleinere Bandbreite als PAL hat. So scharf wie RGB kann es also auch mit dem besten DAC nicht sein.

Gerrit

Reply to
Gerrit Heitsch

wahrscheinlich nicht, aber bei solchen Schaltungen hier:

formatting link

ist das auch nicht verwunderlich :-) Dennoch: Respekt, mit welchen Minimalaufwand man ein Telespiel bauen kann und wie er die Signalgenerierung in den 16F84 heineinbekommen hat.

ich denke nicht, denn, ohne jetzt genau das PAL- oder NTSC-Format zu kennen, das Bild wird meiner Meinung nach unscharf, weil bei hohen Frequenzen im Zusammenhang mit den Wiederständen die parasitären Kapazitäten zu ungewollten Filtern werden, die das Signal verfälschen. Niedrigere Widerstandswerte könnten dem entgegenwirken, was dann aber auch wieder mehr Stromverbrauch bedeutet und teuere, weil schnelle, Digital-Treiber erfordert, mal abgesehen von dem zusätzlich erforderlichen Ausgangstreiber.

--
Frank Buß, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

ahh hast du den LAN91C111 bei ethernut bestellt oder woanders?

danke urban

Reply to
Urban Stadler

nein, bei

formatting link
. Die wurden als Distributor von der SMSC-Seite angegeben. Da ich aber zwei bestellt habe und wir beide ein Board für das Spartan 3 Starterkit bauen wollen, wäre es wohl sinnvoll, wenn ich nach dem Board-Entwurf auch gleich zwei bei PCB-Pool herstellen lasse.

Bestücken wollte ich die dann hier lassen:

formatting link

Die sind nicht ganz billig, aber läuft da problemlos und die bestücken auch einzelne Platinen. Falls sich das natürlich einer hier in der Newsgroup preiswert zutraut, dann vergebe ich auch gerne den Auftrag an diesen. Es handelt sich beim LAN91C111 um ein 128 poliges QFP IC.

--
Frank Buß, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.