Hallo, mein Videosignal (BAS) zieht unschöne Wellen und ich find den Fehler einfach nicht. Problem ist, am Bildanfang und beim Übergang Schwarz - Weiß zieht das Bild extreme Wellen (die Wellen sind umso schwächer je dunkler das Weis), in den ersten Zeilen ist das Bild auch schmaler und nimmt erst "allmählich" die richtige Breite an. Außerdem brummt der Fernseher laut (??) Ich vermute es liegt irgendwie am VSync. Habe mich aber genau an die Spezifikationen für V - und HSync gehalten (http://www.2cool4u.ch/tv_signal_measurement/tv_signale_grundlagen/tv_signale_grundlagen.htm) und alles mehr als nur einmal durchgerechnet, es stimmt alles auf den Takt genau. Trotzdem diese Verzerrungen. Das Signal wird folgendermaßen generiert: 1. Halbbild: 5 Hauptimpulse (je 27.3µs = 491 Takte Sync = LO, 4.7µs = 85 Takte Sync = HI) 5 Nachtrabanten (je 2.35µs = 42 Takte Sync LO, 29.65µs = 534 Takte Sync HI) 33 schwarze Zeilen: (12µs HSync, 50µs Schwarz) 256 Zeilen mit Videodaten (12µs HSync, 2.5µs Schwarz, 45µs Videodaten, 2.5µs Schwarz) 16 schwarze Zeilen (wie oben) 5 Vortrabanten (je 2.35µs = 42 Takte Sync LO, 29.65µs = 534 Takte Sync HI) 2. Halbbild: 5 Hauptimpulse (je 27.3µs = 491 Takte Sync = LO, 4.7µs = 85 Takte Sync = HI) 5 Nachtrabanten (je 2.35µs = 42 Takte Sync LO, 29.65µs = 534 Takte Sync HI) 0.5 Zeilen (32µs Schwarz, kein HSync) 33 schwarze Zeilen: (12µs HSync, 50µs Schwarz) 256 Zeilen mit Videodaten (12µs HSync, 2.5µs Schwarz, 45µs Videodaten, 2.5µs Schwarz) 15 schwarze Zeilen (wie oben) 0.5 Zeilen (12µs HSync, 20µs Schwarz) 5 Vortrabanten (je 2.35µs = 42 Takte Sync LO, 29.65µs = 534 Takte Sync HI) HSync wie folgt: 1.5µs Sync HI 4.7µs = Sync LO, 5.8µs Sync HI Ja, ich habe auch die Takte von Prozeduraufrufen et.c. mit berücksichtigt und Sync ist bei Schwarz immer HI. Ich weiß wie gesagt nicht worans hängt und versuche schon seit Tagen das zu beheben. Könnte es vielleicht auch sein dass der 18MHz Quarz zu ungenau ist und ein Oszi benötigt wird?
Poste mal dein Programm. Die Genauigkeit des Oszillators ist nur bei FBAS notwendig. Selbst mit internem RC Oszillator läuft die FBAS Ausgabe.
hab jetzt meine Unterlagen nicht bei der Hand aber aus dem Bauch raus stimmen folgende Werte nicht: *) Bei den Haupttrabanten sind die H nur 2,7us *) Beim Hsync gehören die 1.5us high am Anfang ans Ende der vorhergehenden Zeile. (Die fallenden Syncflanken müssen immer 64 bzw. 32us Abstand haben) Sonst schauts perfekt aus. Kannst du mal ein Bild posten? (vom Fehler) Ein möglicher Fehler wäre noch die Anstiegszeit des Video-Signals, du schaltest schließlich in "Nullzeit" von 0 auf 0,7V. Grüße leo9
@Benedikt: Das meinst du jetzt wohl hoffentlich nicht ernst, FBAS ist aufgrund des Farbträgers mit avr-Frequenzen unrealisierbar. Selbst bei BAS siehst du "Programmierfehler" im nop Bereich, sprich 62.5 ns bei 16MHz. Und ob ein Bildschirm mit 63.8us langen Zeilen zurecht kommt oder nicht ist purer Zufall. Grüße leo9
klingt eher nach einer AC-Kopplung ohne anschließende Klemmdiode oder andere DC-Restaurationsmaßnahme. Fernsehgeräte sind vom Timing sehr anspruchslos, da darf die Frequenz auch etwas danebenliegen ( außer dem Farbträger natürlich), das rastet trotzdem. Die Quantisierung mit einem festen Prozessortakt bewirkt höchstens ein Zappeln um einen Bildpunkt in horizontaler Richtung. Die Einschwingvorgänge nach dem Bildimpuls - ja der Zeilenimpuls sollte natürlich im Bildimpuls weiterlaufen, normalerweise werden die beiden mit EXOR verknüpft, sonst gibts die beschriebenen Einschwinger -das passiert gern, wenn der DC-Pegel des Vixdeosignals dem TV-Videoeingang nicht passt. Ein paar hundert Mikrofarad Koppel-C und danach eine Klemmdiode nach Masse helfen oft.
@leo9 Doch das meine ich ernst. Und das wurde auch schon ein paarmal gemacht. Ich habe zwar die Links nicht mehr, aber es gibt einige Schaltungen mit AVRs die mit 17,7MHz laufen und ein Farbbild erzeugen. Da merkt man dann erst dass ein Quarz ohne die Kondensatoren recht instabil schwingt. Ich hab auch schon Ansteuerschaltungen für VGA und BAS programmiert. Mit etwas überlegten Routinen funktioniert das auch wunderbar.
Hier mal der Quellcode. Auf dem kleinen tragbaren LCD Fernseher hab ich außerdem das Problem, dass er (abhängig von den Bilddaten) das Bild manchmal gar nicht erkennt bzw. mitten im Bild dann plötzlich für 1, 2 Sekunden der Bluescreen kommt. Scheint also wohl doch was schwerwiegenderes zu sein? @Christoph: wo soll der Kondensator hin? Von Video nach Masse?
Poste mal noch die Schaltung. Die Kurvenform der Sync Signale sieht gut aus, aber das Timing ist etwas krumm: HSync: 13,8kHz VSync: ca. 44,5Hz Das sind -11,5% Abweichung. Die Horizontalfrequenz muss (laut Spezifikation) auf <1% (oder waren es 0,1% ?) stimmen. Wenn man mit 312 Zeilen rechnet, passt das Verhältnis zwischen H und V. So musst also die Zeilen etwas kürzer machen.
Vergiss das, ich habe gerade eben gelesen, dass du einen 18MHz Quarz hast. Dann passt das Timing.
@Benedikt danke fürs testen. Ja, verwende 18MHz. Andere Theorie: könnte es sein dass die Verzerrungen auftreten weil ich ein Breadboard benutze und wegen der im Streifenraster enthaltenen Kapazitäten die Flanken der Rechtecksignale zu Lade / Entladekurven verzerrt werden? So hoch sind die Kapazitäten im Breadboard doch aber nicht, oder? Z.B. sind die einzelnen (rund 0.167µs langen) Pixel einwandfrei und scharf zu erkennen, was dafür spricht dass der Flankenanstieg zumindest << 0.08µs dauert. Hat jemand Erfahrung damit?
Also am Breadbord liegt es nicht, wenn es da keine Unterbrechungen o.ä. gibt. Die Flanken sind eigentlich zu steil, denn bei BAS darf das Signal nur etwa 4MHz Bandbreite haben, ansonsten werden die Signale bei 4,43MHz als Farbträger erkannt... Wie hast du den uC mit dem TV verbunden ? Lass mich raten: Video und Sync über Widerstände zusammengeführt, und dann über einen Elko an den TV ?
Ohne Elko an den TV. Hatte ursprünglich 4Bit Graustufen + Sync über Widerstände, wegen der Verzerrungen verwende ich jetzt zu Testzwecken aber erstmal Minimalkonfiguration (also Sync + Weiß). Bin von 75Ohm Videoeingang ausgegangen und Sync = 0.3V, Sinc + Weiß = 1V. Für die Widerstände folgende berechnete Werte: Rweiß = 428Ohm und Rsync = 1kOhm, für Rweiß verwende ich 470Ohm (wirkt sich ja nur dahingehend aus, dass weiß etwas dunkler wird). Überhaupt verlangt der Videoeingang aber die Werte nicht so genau, hab auch schon andre Widerstände eingesetzt die von den berechneten ziemlich abwichen. Das hat nur die Bildhelligkeit verändert. Sollte ein Elko von Video nach Masse und wenn ja wie groß sollte er sein?
Ich habe genau dieselben Werte bei mir verwendet. 470Ohm und 1kOhm ergeben genau die richtigen Spannungen. Meine Vermutung war, dass du einen Elko verwendet hast, denn das verursacht genau den Fehler so wie du ihn beschrieben hast. Da aber keine drin ist, habe ich auch keine Idee, an was es noch liegen könnte. Kannst du ein Foto von dem TV Bild machen ?
Hier mal ein Foto, es stammt von dem LCD TV. Deutlich ist beim 2. Rechteck mit den abwechselnden Pixeln (Weiß - Schwarz - Weiß usw.) zu erkennen wie die Zeilenanfänge sich immer weiter nach vorn verschieben und sich schließlich auf das richtige Niveau "einpegeln" (auch gut zu erkennen am Pixelmuster dass in den ersten Zeilen gar nicht wie abwechselnde Pixel sondern wie ein Streifenmuster aussieht). Die Kante vorn sollte aber glatt sein und ein richtig schönes Rechteck erscheinen wie die anderen beiden. Das Bild selbst ist auf dem LCD dabei aber superscharf, nur das Foto ist etwas unscharf geraten. Der 2. Effekt (dass das oberste weiße Rechteck erst schmaler ist und dann immer breiter wird bis es schließlich die "richtige" Breite erreicht hat) tritt beim LCD Fernseher dagegen nicht auf sondern ist nur auf dem Röhren TV zu sehen (werde davon noch ein Bild machen). Dafür bricht beim LCD TV aber zeitweise das Bild weg und der Bluescreen erscheint. Beide Fernseher brummen (der LCD Fernseher richtig laut, der Röhrenfernseher viel leiser)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.