Forum: Mikrocontroller und Digitale Elektronik VHF ATtiny85 NTSC zu PAL


von Lukas J. (Gast)


Lesenswert?

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?

von Jim M. (turboj)


Lesenswert?

Da sind jede Menge hart gecodete Werte im Source Code. Davon dürften ca. 
50% nicht für PAL passen, da IIRC alle Zeiten (Horizontal, Vertikal etc) 
nicht passen.

: Bearbeitet durch User
von Tom (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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?

von Tom (Gast)


Lesenswert?

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?)

von Lukas J. (Gast)


Lesenswert?

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.

von Tom (Gast)


Lesenswert?

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.

von S. R. (svenska)


Lesenswert?

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.

von Lukas J. (Gast)


Lesenswert?

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.

von Tom (Gast)


Lesenswert?

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.

von Lukas J. (Gast)


Lesenswert?

Tom schrieb:
> 550 ist also eigentlich 38.

Interessant, dennoch ist es bisher die einzige Zahl mit der es 
funktioniert. Auch wenn ich bei LINETIME 38 einsetzte hab ich das 
Ergebnis nicht.

von Lukas J. (Gast)


Lesenswert?

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.

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
Noch kein Account? Hier anmelden.