VHF ATtiny85 NTSC zu PAL

Gast #4767065
Hallo,
ich habe diesen Code gefunden https://github.com/cnlohr/avr_vhf
Nun hab ich das mal ausprobiert. Auch ohne »Antenne« habe ich noch gut 
10cm Sendeweite, was für meinen Zweck ausreichend ist. Ein Signal ist 
eindeutig vorhanden (einschalten des ATtiny85 führt dazu, dass der 
Schnee sich in ein schwarzes Bild mit Zeilendurchlaufenden Strichen 
ändert und Ausschalten bzw. Entfernen vom TV wieder zu Schnee).

Mein Problem ist jetzt, der Code ist für NTSC und dadurch passt nichts. 
Da NTSC und PAL ja eigentlich für Farbübertragungen sind und der Code 
nur für S/W ist, liegt so wie ich das sehe, der Unterschied ja nur in 
der Bildwiederholrate. Bei NTSC 60Hz und bei PAL 50Hz. Was/Wie muss ich 
das anpassen, damit ich 50Hz im Ausgangssignal habe?
Gast
Grüße,
ein PAL (F)BAS Signal hat 625 Zeilen je 64µs. Ein NTSC (F)BAS Signal hat 
525 Zeilen je 63.55µs. Timing ist also nahezu identisch und vermutlich 
nicht das Problem. Der Bildaufbau und damit die Sync-Pulse sind aber 
anders.
Persönliche Seite
Tom schrieb:
> Timing ist also nahezu identisch und vermutlich nicht das Problem. Der
> Bildaufbau und damit die Sync-Pulse sind aber anders.

Was magst Du damit meinen? Das Timing ist unterschiedlich - 60 statt 
50 Hz Bildwechselfrequenz für Halbbilder, das fängt nicht jeder analoge 
Fernseher, da läuft das Bild durch.

Die geringfügige Abweichung bei der Zeilenfrequenz dürfte so eine 
Analogglotze noch potentiell wegstecken können.

Wo siehst Du jetzt Unterschiede im Bildaufbau?
Gast
Da das Timing innerhalb der Zeile fast gleich ist, die Zeilenzahl aber 
anders, sollte es ausreichend sein einfach an einem Limit der einzelnen 
for-Schleifen der Linien zu schrauben.

Er hat 6+6+6+39+2+128+92 = 279 Zeilen im Quellcode...

279 verstehe ich allerdings nicht ganz, ich hätte 262 erwartet?! Hab ich 
was übersehen?

Jedenfalls würde ich für PAL BAS einfach in einem der for-Loops 50 
Zeilen drauf legen. (bzw. 33 da er irgendwie schon 17 zuviel hat?)
Gast
Tom schrieb:
> Jedenfalls würde ich für PAL BAS einfach in einem der for-Loops 50
> Zeilen drauf legen.

Nun. So sind wir der Lösung ein Stück näher. Aus dem Beispiel-Video weiß 
ich ja, wie das Endergebnis aussehen soll und ich muss sagen, so kann 
man etwas mehr erkennen.

ich glaube aber ein Problem ist auch, dass die Zeilen zu kurz sind, also 
der TV mit dem Signal zu früh in die nächste Zeile springt.
Gast
Du solltest übrigens nicht auf die Antennen verzichten. Die zwei Drähte, 
von denen einer länger sein muss, sind nötig, um die drei 
unterschiedlichen Signalpegel zu erzeugen.
Sowohl PAL als auch NTSC sind nur Farbstandards und haben an sich nix 
mit dem Timing zu tun. Man kann die beliebig kombinieren (z.B. nutzt 
Brasilien PAL-M, also mit 525 Zeilen und 60 Hz).

Ältere Spielekonsolen haben oft nur einen zentralen Oszillator, von dem 
sowohl die CPU als auch die Ausgabe gesteuert wird und arbeiten gerne 
mit PAL-60.

Viele Analogglotzen (zumindest die moderneren) verstehen beide Timings, 
auch wenn sie das Farbsystem nicht können. Manchmal kann man das auch im 
Menü einstellen. Ansonsten musst du den Code anpassen, aber das wurde 
schon gesagt.
Gast
Tom schrieb:
> Du solltest übrigens nicht auf die Antennen verzichten.

Ja gut. Das wusste ich nicht. Wie kurz kann ich die denn ungefähr 
machen? Ich will möglichst platzsparend arbeiten.
Aber danke für den Tipp. Zusammen mit dem addieren von 33 in einer 
for-Schleife und dem drastischen erhöhen der LINETIME (von 11 auf 550), 
kann man schon schon recht deutliche Buchstaben erkennen, die in einer 
dezenten Wellenlinie von oben nach unten flattern.
Allerdings habe ich die längere Seite der Antenne mit GND und die 
kürzere mit 4 verbunden. Wenn ich beide mit 3 und 4 verbinde bekomme ich 
so ein flattern wie ohne Antenne.
Gast
Dass du das nicht selbst wusstest mag schon sein, aber es steht doch 
deutlich in seiner Anleitung. Mach doch die Kabel so wie er es 
vorschlägt und in etwa so lang wie in seinem Video. Wenn es mal 
funktioniert kannst du ja immernoch das Kürzen anfangen. Ausserdem 
spielt die Orientierung der Antenne schon auch eine Rolle - spiel mal 
damit. (sieht man ja auch im Video).

Das erhöhen der LINETIME auf auf 550 ist vermutlich Blödsinn wenn er 
schreibt dass 7..20 OK ist. Ausserdem ist Timer0 afaik ein 8 Bit 
Counter. 550 ist also eigentlich 38.
Gast
Ich habe noch ein bisschen mit den Werten rumgespielt, aber es scheint 
keine einfache Möglichkeit zu geben das Signal zu PAL umzuwandeln. Außer 
flimmernden Buchstaben geht wohl nichts.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.