ATMega32 16 MHz PAL mit Farbe ohne externen Chip

#2221904
Lesenswert?

Hier eine kleine Idee die ich letzte Woche hatte. Ein simpler 
Testmustergenerator der mit einem ATMega32 mit 16MHz ein echtes PAL Bild 
ausgibt.

Zum ausprobieren einfach einen simplen 5-Bit D/A-Wandler an Port A dran. 
Das ganze ist natürlich noch überhaupt nicht optimiert.

Fotos kommen so bald meine Kamera wieder Saft hat.
Angehängte Dateien:
#2221918
Lesenswert?

Hier ist ein Telefunken PALcolor Farbfernsehgerät mit dem Signal, sowie 
ein chinesischer Monitor mit Colorast Einstellung.

Zum Inhalt des Testmusters.
Das Gitter ist für Geometrie, braucht man heute nicht mehr wirklich oft.
Die Farbbalken sind nach EBU Norm mit 75% Helligkeit.
Die Grauflächen sind für die Linearität
Dann kommt die Bildmitte, immer wieder ein beliebter Hingucker.
Dann kommt ein Multiburst mit 1 MHz, 2MHz, 3MHz, 4 MHz, 4,43 MHz und 
4,89 MHz. Die letzten 3 Muster sind praktisch wenn man bestimmen will 
wie symmetrisch der Frequenzgang des Filters für die Farbe ist. 4 MHz 
und 4,89 MHz liegen gleich weit weg vom Träger und sollten somit 
ähnliche Cross Colour Störungen hervorrufen.

Das Signal ist natürlich noch keinesfalls normgerecht, aber gut genug 
dass zumindest meine beiden Geräte was damit anfangen können. Aber es 
ist schon erstaunlich was man mit so wenig machen kann.
Angehängte Dateien:
#2222757
Lesenswert?

Neue Version, jetzt mit 16 Zeichen Text.
Einfach über die serielle Schnittstelle mit 9600 bps schicken. Alle 
Zeichen <14 schicken den Cursor nach links. Geht man über den Rand 
hinaus, fängt er vorne wieder an.

Das dürfte grob jetzt am oberen Rand dessen liegen was der Controller 
diesbezüglich kann. Man kann vielleicht noch ein paar Kilobyte Speicher 
einsparen, aber für neue Zeilen in Farbe reicht das nicht wirklich.
Angehängte Dateien:
Gast #2224390
Lesenswert?

Hallo Christian,
ein durchaus interessantes Projekt. Vor 20 Jahren hätte ich das sofort 
nachgebaut. Zu der Zeit habe ich FFS repariert. Aber das ist Geschichte.

2 Bitten:

a) Welches Pascal hast Du für den AVR benutzt?

b) Würdest Du bitte wenigstens eine Handskizze des Schaltplans als PDF 
anfügen? Danke.

Viele Grüße Herbert
#2224904
Lesenswert?

Hier ist der Schaltplan. Die Werte sind hier gerechnet. Ich habe den R2R 
Wandler mit 120 und 240 Ohm aufgebaut. Dann stimmen aber die Pegel nicht 
was aber trotzdem funktioniert. R6 müsste ich noch bestimmen. Er müsste 
den Ausgangspegel um 0.7 V hochziehen.

R13 habe ich in der Praxis noch nicht ausprobiert. Ich habe aber noch 
das Problem, dass die Texteinblendung (SPI) nach dem Poweron Reset nicht 
funktioniert, nach einem normalen Reset aber schon.

Zur Software:
signalerzeugung/makesignals (Pascal) erzeugt die Daten für die Zeilen 
welche in samples.inc gespeichert werden.
makeimagecode (Pascal) erzeugt die Datei image.inc aus der Datei 
testimage.txt in der drin steht welche Zeilen man wo haben will. Das 
Programm kümmert sich, zur Zeit, auch darum, dass die richtigen Phasen 
ausgegeben werden.

generator.asm ist das eigentliche Assemblerprogramm.
seriell.inc sind die Routinen für die serielle Schnittstelle. Diese 
werden über ein Delay immer dann aufgerufen, wenn grad mal Zeit ist.

samples.inc enthält die von makesignals erzeugten Zeilen. Diese werden 
durch delays RLE-kodiert und belegen somit weniger Platz.

In meiner lokalen Version ist jetzt auch ein Zeilenpaar mit Abwechselnd 
U+- und V+- drin um Pal-Decoder zu testen. Ich hoffe durch Optimierungen 
jetzt im Urlaub auch noch ein zweites Zeilenpaar zu schaffen, dann sieht 
das noch mehr nach FuBK aus.
Angehängte Dateien:
#2228028
Lesenswert?

Hier ist die aktuelle Version. Einiges hat sich geändert. Es gibt jetzt 
eine Tabelle namens "image" welche ein Byte pro Bildzeile enthält. Diese 
Tabelle wird mit Hilfe des Programms "makeimagecode" erstellt. Der 
Inhalt $ff bedeutet dass wieder am Anfang angefangen wird.

Der Zähler linecounter zählt von 0-3 durch. Je nach Zählerstellung wird 
die entsprechende Zeilenroutine aufgerufen. Das ist wichtig für die 
Bursts.
Angehängte Dateien:
#2305516
Lesenswert?

Ich nehme da den Freepascal Compiler für die Programme, die die Signale 
berechnen. Den gibts unter Freepascal.org
ggf. musst Du die Datei "macheinfach.sh" für Dein Betriebssystem 
abändern.

Der Rest ist ganz einfach AVR Assembler, kompiliert mit dem AVRA.

Ich sollte vielleicht wirklich mal einen Artikel darüber schreiben.
#2314339
Lesenswert?

Kreise sind im Fernsehen immer schwierig zu machen. Dadurch dass ich ja 
die Zeilen abspeichere könnte ich keine Zeilen neu verwenden.

Ich könnte aber hypothetisch die Zeilen in mehrere Teile unterteilen, so 
dass ich links und rechts jeweils einen unbunten Anteil habe in dem sich 
auch der Kreis befindet. Der sollte dann nicht so viel Platz im Flash 
brauchen.

Vielleicht wenn ich das mal neu implementiere. Muss ich mir mal 
überlegen.
#2377005
Lesenswert?

Hallo,
ich habe das Projekt auch nachgebaut, jedoch keine passende Widerstände.
Deshalb bin ich hingegangen und habe z.B. für die 375 Ohm Widerstände 2 
Widerstände in Reihe geschaltet. In meinem Fall wären das 360 Ohm und 15 
Ohm, ergibt zusammen 375 Ohm.
Das habe ich mit allen so gemacht, bis außer R13 mit 10 kOhm.
Den Atmega32 hab ich mit der "gerator.hex" beschrieben und die 
entsprechende Fuse-Bits für das 16Mhz Quarz eingestellt. Das Quarz 
schwingt auch, da ich im Betrieb an XTAL1 ungefähr die Hälfte von den 5v 
Vcc habe.
Aber ich bekomme einfach kein Fernsehbild hin. Man kann lediglich ein 
Flimmern erkennen (im Anhang zu sehen).
Das seltsame ist, dass ich das nur an der TV-Karte sehe. Am Fernseher 
war das Bild Schwarz.
Weiß vllt jemand von euch woran das liegt?
Angehängte Dateien:
#2377191
Lesenswert?

Also an den Widerständen liegt es höchst wahrscheinlich nicht. So weit 
wie ich Dich verstanden habe hast Du kein Oszilloskop zur Verfügung.

Miss vielleicht mal an PA0-PA4, da solle überall so grob die halbe 
Versorgungsspannung herauskommen. Auf PB5 fast die volle 
Versorgungsspannung.

Ich vermute ja, dass Dein Quarz trotzdem nicht richtig schwingt.

Das das Bild unterschiedlich aussieht ist normal, da Du ja 
wahrscheinlich korrektes Videosignal hast.
#2377579
Lesenswert?

Wie du schon vermutet hast, besitze ich kein Oszilloskop. Könnte man 
damit nachmessen ob der µC schwingt?
Ich habe jetzt mal die Messungen durchgeführt und die stimmen gar nicht 
mit den von dir vorgegebenen Werten überein:

No  DC/AC  Value  Unit
PB.5  DC  0.8620  V
PA.0  DC  0.0430  V
PA.1  DC  0.0746  V
PA.2  DC  4.872  V
PA.3  DC  4.878  V
PA.4  DC  4.822  V
PA.5  DC  4.990  V
PA.6  DC  0.7600  V
PA.7  DC  4.995  V
AREF  DC  0.7344  V
GND  DC  0.0000  V
AVCC  DC  5.025  V
XTAL2  DC  2.559  V
XTAL1  DC  2.393  V

Ich habe auch hier im Board gelesen, dass der Quarz vllt mit einem 
Widerstand von OC2 nach +5V schwingt. Das hat bei mir jedoch auch keinen 
Erfolg gebracht. Ich habe einen 18 kOhm Widerstand verwendet. Es hieß 
man sollte einen Widerstand von 15 bis 22 kOhm verwenden.
#2377930
Lesenswert?

Hmm, die Spannungen schauen alle sehr merkwürdig aus.


Leg mal /Reset mit einem Widerstand auf die positive 
Versorgungsspannung. Vielleicht ist er nur einfach ständig ge-resetet.

Hast Du eigentlich PB.5 getrennt als Du das Teil programmiert hast? Wenn 
das noch angeschlossen ist, kann der IC in der Regel nicht programmiert 
werden.
Gast #2378185
Lesenswert?

Hallo,

@Christian Berger:
"R6 müsste ich noch bestimmen." steht an einer Stelle.
Ich habe aber - sofern ich keine Stelle übersehen habe - weder hier im 
Thread, noch im Artikel gelesen, welchen Wert R6 nun haben soll.
Wie groß soll R6 denn sein?

@Bastian Urschel:
PB5 = MOSI und ist sowohl zum Programmieren, als auch für die Funktion 
der Schaltung.
Wie groß ist bei Dir R6?

@Christian Berger:
Gibt es einen sinnvollen Grund, MOSI/PB5 zu verwenden
(ich habe den Soucecode jetzt nicht komplett durchgesehen)?
Wenn man genügend Pins hat, die eine bestimmte Funktion erfüllen können, 
sollten die Pins MOSI, MISO, SCK nicht gerade verwendet werden.
Manche Programmieradapter haben nicht genügend Leistung, um dann noch in 
der Schaltung zu programmieren.

@Bastian Urschel:
Was sagt denn die Programmer Software beim Verify?
#2378200
Lesenswert?

OK R6 hat bei mir glaube ich 185 Ohm oder so, der Wert ist unkritisch.

Der Widerstand hängt an MOSI, damit der SPI die Bits raus schieben kann. 
Das ist nur für die Texteinblendung notwendig. Wenn man keinen Text 
haben will, dann kann man den Widerstand auch raus lassen.

Ohne SPI würden die Zeichen breiter werden, da man dann manuell schieben 
müsste. Da man vor und nach dem Text nur bedingt Zeit hat, wird das 
relativ aufwändig.

Das Problem ließe sich übrigens sauber lösen, in dem man ein Logikgatter 
als Buffer verwendet.
#2378735
Lesenswert?

@Christian Berger:
Die Idee mit dem Reset hat nicht funktioniert. Ich habe einen 10 kOhm 
Widerstand verwendet. Beim Programmieren, nehme ich den µC aus der 
Schaltung heraus und setze ihn auf das oben genannte Programmier-Board. 
Ist dieser Vorgang richtig, oder muss ich in der Schaltung den µC 
Programmieren?

@Koi:
Den R6 habe ich nicht eingebaut. Wie Christian Berger meinte, ist dieser 
Widerstand nicht zwingend notwendig.
Als Software habe ich die ganze Zeit "Basecom-AVR" Software von MCS 
Electronics verwendet. Dort kann man auf "Manuell Programmieren" gehen 
und dann die hex datei in den Buffer laden gefolgt vom Beschreiben des 
µC.
Dann habe ich die Software "myAVR Workpad Plus" Demo verwendet. Dort 
wird nach dem Brennen angezeigt, dass alles Ok war.
#2378749
Lesenswert?

Ja, den extern zu programmieren passt schon. Setzt doch mal die Fuses 
auf den internen RC-Oszillator. Dann läuft er zwar nur mit 8 MHz, das 
sollte aber mal zum probieren reichen. Auf dem Fernsehgerät solltest Du 
damit zumindest ein Geflimmer bekommen, vielleicht sogar schon ein 
kaputtes Bild.

Hast Du vielleicht ein Radio welches Du auf 16 MHz SSB einstellen 
kannst? Da solltest Du dann das Pfeifen des Oszillators hören, wenn Du 
ein Stück Draht an den Quarz machst.
#2378826
Lesenswert?

kein Flimmern zu sehen. Ich erkenne ledeglich schräge schmale Balken 
welche sich in unabhängigen Zeitabständen an die Linke 
Bildschirmoberkante bewegen, dann kurz stehenbleiben und sich dann 
schnell nach unten an die rechte Bildschirmunterkante bewegen. Dabei 
bleiben sie manchmal stehen. Manchmal werden sie so schnell, dass sie 
verschwinden und nach einer Zeit wieder auftauchen.
Wenn ich den Kopfhörer an die Anschlussklemmen halte, hört man beim 
anlegen ein lautes Klopfen und ganz leise ein leichtes Brummen.
#2378836
Lesenswert?

Jo so lange dauert es bei mir auch.
Da sind ja 2 hex Dateien. Nämlich "generator.eep.hex" und die 
"generator.hex".
Ich verwende die "generator.hex". Das ist doch die richtige oder?
Ansonsten würde ich sagen, ist vllt der µC defekt.
Noch ne Frage:
Die eingezeichnete Widerstände, wo gibts die zu kaufen, da diese ja 
nicht unter die E-12 Reihe fallen? Ich habe mich im I-net schon dumm und 
dämlich gesucht.
#2378843
Lesenswert?

Ja, die ohne eep ist richtig, die andere braucht man nicht.

Die genauen Werte der Widerstände sind egal, das ist halt ein R-2R 
D/A-Wandler. Da könnte man auch einen fertigen IC verwenden. Das Design 
ist eine simple Skizze.

Wenn die Werte ungenau wird, hat man halt mehr oder weniger 
Quantisierungsrauschen.

Es kann auch sein, dass der Mikrocontroller kaputt ist.
#2378869
Lesenswert?

Wenn der kaputt wäre, wäre das ziemlich blöd, da ich das Teil extra für 
dieses Projekt (neu!) gekauft habe.
Wie kann man so ein Teil auf defekte überprüfen?
Ansonsten kaufe ich demnächst mal einen neuen und werde mal schauen, ob 
der funktioniert und werde mich dann noch mal melden.
Vielen Dank für eure superschnelle Mithilfe!
Gast #2736189
Lesenswert?

Hallo,

versuche mich auch grad mit der Schaltung...
das einzige was mir fehlt sind die richtigen Fuses für den Atmega.
Wär es möglich, die mal hier zu posten bzw. in den Artikel mit 
reinzunehmen?

Vielen Dank
Chris
#2736252
Lesenswert?

So weit wie ich weiß ganz einfach auf externen Quarz 16 MHz, der Rest 
dürfte ziemlich egal sein. Natürlich sollte man den ISP nicht 
abschalten, sonst kann man das Teil nicht mehr neu flashen.

Da ist übrigens noch ein Fehler im Signal. Ich habe aber eh vor das mal 
neu zu machen. Vermutlich dann mit einem ATMega64 mit 20 MHz.
Gast #2736484
Lesenswert?

Hallo,

danke für die prompte Antwort.
Ich kann berichten, die Schaltung funktionier einwandfrei.
Testbild sind sowhl auf auf dem Fernseher als auch auf dem Oszi sauber 
zu erkennen. An den Pegeln für werde ich noch etwas arbeiten. Die sind 
mir noch ein klein wenig zu niedrig. Sollte aber nicht das Problem sein.

Das einzige was ich noch nicht verstanden habe, wie soll das mit der 
seriellen Texteingabe funktionieren? Irgendwie verstehe ich es noch 
nicht ganz.

Viele Grüße
Chris
Gast #2736505
Lesenswert?

Hallo,

nochmal ich...
zugegeben bin im programmieren kein Held!

Hab versucht, die asm-Dateien nochmal zu assemblen.
Da bekomme ich dann folgende Fehlermeldung:

C:\Dokumente und Einstellungen\Home\Eigene Dateien\AVR-Projekte\PAL 
Testbild\m32def.inc(364): error: Attempt to redefine keyword 'or'

Könnte mir da jemand helfen?

Grüße
Chris
Gast #2736937
Lesenswert?

Hallo,

keine Ahnung ob es einfach Glück ist oder Fehlerbeseitigung der 
ahnungslosen Art...

Ich habe einfach die benannte Zeile:

> m32def.inc(364): error: Attempt to redefine keyword 'or'

als Textkomponente mittels ";" markiert und schon lief der Assembler 
ohne Fehler durch und fertig :)

Wahrscheinlich schlagen die Profi-Programmierer jetzt die Hände überm 
Kopf zusammen...aber egal, es läuft trotzdem noch.

Grüße
Christian
Gast #2805140
Lesenswert?

Hallo,

habe ja nun erfolgreich diese Schaltung nachgebaut und sie läuft bis 
einwandfrei bis auf eine Kleinigkeit! Deshalb muss ich doch nochmal um 
Rat fragen.

Immer beim Einschalten des Schaltung tritt das Problem auf, daß der Text 
nicht angezeigt wird. Bei einem erneuten aus und wieder einschalten wird 
der Text dann dargestellt. In einigen Fällen wird der Text aber nicht 
korrekt dargestellt, sondern durch Maschinencodezeichen ersetzt.
Bei einem Atmega (hab die Schaltung mehrfach konstruiert) wird der Text 
garnicht mehr dargestellt. Alle aufgebauten Schaltungen und Programme 
sind absolut identisch.

Hat jemand eine Idee, woran das liegen könnte?

Vielen Dank
Chris
Moderator Persönliche Seite #2805169
Lesenswert?

Doc schrieb:
> Immer beim Einschalten des Schaltung tritt das Problem auf, daß der Text
> nicht angezeigt wird. Bei einem erneuten aus und wieder einschalten wird
> der Text dann dargestellt. In einigen Fällen wird der Text aber nicht
> korrekt dargestellt, sondern durch Maschinencodezeichen ersetzt.

Im Schaltbild fehlen die Abblockkondensatoren und die RESET-Beschaltung. 
Das solltest Du nachrüsten.
Gast #2805214
Lesenswert?

Hallo Frank,

danke für die Antwort, aber an diese grundlegenden Dinge der Schaltung 
habe ich gedacht. 100nF Kondensatoren, da wo sie hingehören und die 10k 
für den Reset sind auch vorhanden.
Das Testbild wird ja nach dem Einschalten auch ohne Probleme 
dargestellt, nur halt ohne Text. Ich denke eher, daß das Problem beim 
auslesen des Registers für den Text liegt, kann mir aber nicht erklären 
wo.

Chris
Gast #2806784
Lesenswert?

Ok,

dann setz ich gleich einen nach.
Ich habe nur den Standarttext im Programm und auch nur der soll 
angezeigt werden. Wenn der Pin5 jetzt nach Masse gelegt wird ist der 
Standarttext weg und der Atmega wartet dann wohl auf eine Eingabe.

Frage, wie kann man dem SPI beibringen sich ruhig zu verhalten?

Chris
Gast #2807049
Lesenswert?

Hab da noch was probiert...

Im Manual steht, wenn der SS auf High gesetzt wird, dann sind alle Pin's 
ausser MISO Inputs. Auch ein einmaliges auf HIGH setzen des Pin5 führt 
einen Reset der SPI Logik aus.

Schlußfolgernd habe ich den Pin5 (SS) über 10k an +5V gelegt und siehe 
da, der gespeicherte Text wird nun bei jedem Einschalte sofort 
angezeigt.

Hat jemand noch eine bessere Idee?

Grüße
Chris
Gast #2807061
Lesenswert?

Hallo,
und habe eben die letzten Posts mal gelesen ...
Was steht im 7. Posting im Schaltplan dazu? PIN5 über 10K an +5Volt.
Wird wohl seinen Grund haben, auch wenn ich mich nicht mit der Software 
auseinandergesetzt habe.
Viele Grüße und ein schönes Wochenende
Gast #2877826
Lesenswert?

So die Schaltung wurde erfolgreich nachgebaut.
Jetzt muss noch ein MAX232 aufgebaut werden um die Texteingabe zu 
realisieren.
Was für einen Logic Baustein kann man als DA verwenden, der die Video 
Pegel stabil hält?
Korrekt wären 0,7 Vpp
Aktuell kommen bei mir nur 0,45 Volt raus und das Bild rauscht etwas.

Grüsse
Gast #2878691
Lesenswert?

Kleiner Tip:
Der Grund für die manchmal fehlende Farbe ist vermutlich folgender:
Bei PAL muss die Farbträgerfrequenz sehr genau sein. Erlaubt sind +/-300 
Hz.
In der Praxis schaffen Fernseher etwa +/- 1kHz. Mit einem 
Grundwellenquarz
muss man schon die Beschaltung optimieren, sonst wird das nichts.
Gast #2878783
Lesenswert?

Seit heute Abend zeigt der gleiche Monitor nur noch ein S/W Bild an, 
komisch.
Jemand eine Idee?
Hab eigentlich nur den MAX232 dazu gebaut.
Das Serielle eingeben der Textzeile geht leider nicht. Mein PuTTY wird 
voll geschrieben und am Monitor kommen in der Zeile alles mögliche an 
Buchstaben...
#2976402
Lesenswert?

Hallo,
ich bin endlich nochmal dazu gekommen die Schaltung nachzubauen.
Das Resultat: sie funktioniert. Im Grunde habe ich nichts geändert. 
Später ist mir jedoch aufgefallen, dass ich statt der ersten Schaltung 
einen von der Bauform höheren Quarz und 2 Keramikkondensatoren von einer 
anderen Bestellung verwendet habe.

Es muss also an dem Quarz oder an den 22pf Kondensatoren gelegen haben.
Danke für die nette Hilfe und das tolle Projekt.

Ich liebe es wenn ein Plan funktioniert ;)

Gruß
Bastian Urschel
Gast #3260224
Lesenswert?

Hallo Christian, ich hätte ja nicht gedacht das die Antwort so schnell 
kommt. Kann sein das ich mich falsch ausgedrückt habe, ich möchte alte 
analoge Videocameras mit einem Fernseher syncronisieren und hierfür mit 
dem Mega8 die H-Sycn, V-sync und C-sync erzeugen.
Da bin ich auf der Suche nach einem einfachen Programm(teil) dass das 
macht und von dem ich mir Tips zur Lösung bei meinem Problem verspreche 
bei dem ich nicht recht weiter komme.
Ich habe es mit den Timern versucht, aber das Signal ist nicht wie es 
sein sollte. Das Timing mit den Trabanten haut wohl nicht hin und der 
V-Sync zittert.
ASM verstehe ich nicht und somit mit klapt es nicht so ganz mit dem 
Verständnis des Programms.
Ich möchte es mit Bascom versuchen, da ich damit schon etwas für die 
Modelbahn programmiert habe und der MC auch noch für Tastenabfragen 
benutzt werden soll.
Leider kann ich nicht so gut englisch um das DB ganz zu verstehen und 
programmiere die Timer wohl falsch.
Ich brauche keine Zeichenausgabe oder Farbe, nur die einfachen Syncs 
damit die PLL in den Geräten gleich läuft.
Gast #3261533
Lesenswert?

Ich brauche eigentlich nur die H-Sync und V-Sync, bzw beide als C-Sync 
damit alle Pll auf den gleichen Takt sind.
Kann sogar sein, das es reicht wenn der H-Sync für/beim V-Sync auf low 
getastet wird.
Einen Bildinhalt benötige ich nicht, wenn es aber geht das Bild nach der 
halben Zeile von Schwarz auf Weis umzuschalten wäre es auch nicht 
schlecht, dann kann ich den Monitor mit testen.
Der Bildinhalt sollte aber abschaltbar sein (aus einen eigenen Pin 
kommen) Diese Funktion ist aber nicht wichtig, die Syncfunktion die ich 
dann in mein Bascom Restprogramm einbauen kann ist das was ich brauche 
und an dem ich hängen bleibe.
Ich habe noch die Analoge Fernsehtechnik gelernt, digital kam erst als 
ich nicht mehr in dem Beruf gearbeitet habe und die MC in den Kisten 
noch später.
Da die meiste Literatur hierzu auf "Neu Deutsch" ist, habe ich da so 
meine Probleme.
Basicprogramme habe ich schon öffter mal geschrieben, als die PC noch 
unter Dos liefen.
Da ich mich mal geärgert habe weil ich eine Videokassette nicht 
überspielen konnte wegen Nagra, habe ich mich mal mit dieser Technik 
beschäftig und mir ein kleines Gerät gebaut dass das Störsignal aus dem 
Videosignal entfernt (das war als es noch erlaubt war...)
Das war mit TTL und C-Mosschaltern, wenn es dem Mega8 schon gegeben 
hätte wäre es sicher einfacher gewesen.
Heute machen die Brüder den Schutz ja im digitalen Datenstrom, ist 
komplizierter und ja auch nicht mehr erlaubt (ausser für Testzwecke?)
Wenn Du mir bei dem Syncproblem auf die Sprünge helfen könntest, wäre 
das Super.
Gast #3262360
Lesenswert?

Habe ich mir eben angeschaut..schön lang sicher wegen dem Terminalteil. 
Problem...ASM, welcher Teil ist für die Syns ? in der Beschreibung schon 
gefunden, aber da wird ja auch das Terminalprg. bedient und wie "trenne" 
ich den Syncteil so vom Rest das ich ihn in Bascom reinbekomme.
Es werden ja viel Varialen gesetzt und im Programm hin und her 
gesprungen, da blicke ich nicht durch was ich rauswerfen kann um nur die 
für die Syncs nötigen Befehle drinn zu lassen. Ich brauch doch nur die 
Syncs, kannst Du nicht den Teil deines Prg. der die Syncs erzeugt mal 
hier reinstellen?
#3294616
Lesenswert?

Das Problem ist, dass Du Dein Problem nicht verständlich formuliert 
hast. Du scheinst, wie so viele hier, Dein Problem nicht verstanden zu 
haben.

Wenn Du analoge Fernsehtechnik kennst, dann brauchst Du doch nur einen 
Synchrongenerator schreiben. Das geht mit den Timern im PWM-Modus ganz 
gut. Oder Du nimmst einen Zähler und ein paar Gatter.
Gast #3294683
Lesenswert?

Christian Berger schrieb:
> Wenn Du analoge Fernsehtechnik kennst, dann brauchst Du doch nur einen
> Synchrongenerator schreiben. Das geht mit den Timern im PWM-Modus ganz
> gut. Oder Du nimmst einen Zähler und ein paar Gatter.

Genau da liegt das Problem, ich brauche nur einen Synchrongenerator, in 
Bascom geschrieben weil der Rest des Programms auch in Bascom ist, aber 
den bekomme ich nicht sauber programmiert.
Ich habe das Problem das ich den V-Sync. nicht stabil zum H-Sync. 
hinbekomme. Da ist immer ein Jitter und da durch kommt der Rest nicht 
zum Synchronisieren...
Die neue Schaltung soll nur mit dem MC arbeiten, ohne zus. Gatter. In 
der alten Schaltung bei der der Sync-Teil nicht mehr will ist das alles 
noch in TTL/CMOS gemacht, eben schon recht alt... Da es nur der 
Sync-Teil zu sein scheint der nicht mehr will, die anderen Signale 
werden sauber verarbeitet, möchte ich die alte Hardware wieder zum Leben 
erwecken. Der MC soll dann noch den Part einer Schalter und 
Spannungsüberwachung erledigen was jetz noch mit TTL und Komperator 
erfolgt.
Das Ganze soll halt auch kleiner werden, der Analogteil ist auf einer 
eigenen Platine die von dem Digitalteil gesteuert wird.

Diesen Teil des Prg habe ich schon einzeln getestet und das geht, nur 
der verflixte Sync will nicht gehen.
Für einen der sich mit dem MC gut auskennt ist es sicher einfach so was 
zu programmieren, für mich als "alter" Anfänger eben nicht, das zum 
"einfach nur".
#3294802
Lesenswert?

Du hast das vermutlich mit Schleifen in Bascom gemacht. So funktioniert 
das nicht. Du müsstest das mit Timern machen. Wie schon gesagt der 
PWM-Modus eignet sich dafür. Zum Beispiel kannst Du zum Anfang jeder 
Zeile eine ISR aufrufen lassen, die dann den PWM für diese Zeile setzt, 
meistens muss der da nichts machen, nur bei der vertikalen 
Synchronisation muss sich die ISR um die Trabanten kümmern.

Aber ich glaube Du bist da besser aufgehoben in dem Du 2 Mikrocontroller 
nimmst.

Wenn Du aber ohne eigene Arbeit eine fertige Lösung haben willst, die 
genau Deinen Anforderungen entspricht, gibts hier bestimmt viele die so 
was machen. Das kostet halt dann Geld.
Gast #3296469
Lesenswert?

Ich mach das schon mit den PWM, ISR und Timer. Die Zeiten hauen auch 
hin, nur die vertikalen Syncs bekomme ich nicht ohne Versatzt zu den 
H-Sync hin. Da ist immer ein, sagen wir mal "Springen" in der vertikalen 
Austastlücke. Die Trabanten sind nicht so wichtig, das habe ich schon 
mit einem alten Sinclair getestet der auch nur einfache Syncs erzeugt.
Ich habe hier auch schon Lösungen gefunden die laufen und über die RS232 
Zeichen auf dem Schirm darstellen.
Wenn ich da mal durchblicke werde ich schon den Syncteil verstehen und 
in Bascom hinbekommen.
Danke für Deine Tips.
#3832222
Lesenswert?

Christian, ein tolles Projekt, Respekt !

Hab mal die Schaltung aufgebaut, sie lief sofort.

Daraufhin untersuchte ich das PAL / FBAS Signal per Oszi und verglich es 
mit dem Ausgangssignal einer kleinen CMOS-CAM.

Der BURST sieht bei Dir etwas verwurschtelt aus, dennoch kommt mein
billig-Monitor gut damit zurecht.

Ich dachte immer, der BURST muss sehr sauber generiert werden, damit die 
TV-Geräte den Farbdecoder vernünftig synchronisieren können.

Kann es sein, dass die Qualtät des Burstes nicht von großer Bedeutung 
ist?

Bernhard


Anmerkung:


Das R2R Netzwerk bestückte ich mit 1k/2k Widerständen, desshalb stimmt 
der Pegel nicht ganz.
Angehängte Dateien:
#3836286
Lesenswert?

Christian, ich bin untröstlich !

Dein BURST sieht doch relativ vernünftig aus (für einen 5-BIT 
DA-Wandler), Wie konnte mir dieser Fauxpas nur passieren?

Ganz einfach, ich hatte das FBAS Signal nicht am richtigen Punkt des R2R 
Netzwerkes abgegriffen.

Der R2R-Tester (s.oben) brachte die Wahrheit ans Licht, bzw. auf den 
Monitor.

Muss mich an dieser Stelle ganz offiziell und in aller Form bei Dir 
entschuldigen.


Bernhard

PS: Die beiden Bilder zeigen deutliche Farbunterschiede, es gibt eben 
billige und auch preiswerte Monitore.

Den weißabgleich habe ich versucht so optimal wie möglich an der CAM 
einzustellen.
Angehängte Dateien:
Gast #4699457
Lesenswert?

Hi,

Ich bin ein Noob in Pascal und habe es gerade geschafft den Code zu 
compilen und habe mich dann gefragt, ob man das Bild auch einfach 
abspeichern kann. Ist es möglich und wenn ja, was muss ich tun?
Danke im voraus

PS: Mein System läuft auf Ubuntu Linux!
#4749381
Lesenswert?

Hallo,

habe meine ersten Gehversuche in Atmel programmieren mit Christians 
Anleitung hinbekommen. Es funktioniert. Ich wollte nun den Text mal 
ändern im Testbild, nur das bekomme ich nicht hin. Ich habe das Hexfile 
in Bascom geöffnet und es in den AVR programmiert.
Um den Text zu ändern wollte ich die .asm laden..Text ändern und das 
erzeugte hex File wieder zurückspielen. Leider bringt Bascom 33 
Fehlermeldungen im Error Fenster unten.
Geht das überhaupt auf diesem Weg? Wie gesagt ich habe heute die ersten 
11 Stunden in der Materie verbracht und freue mich das überhaupt das 
Testbild schon da ist.

Evt kann  mir jemand paar Tips geben.

Danke Ronny
#4751612
Lesenswert?

Hallo Christian,

danke für deine schnelle Antwort. Also das mit Text ändern über die 
serielle Schnittstelle funktioniert. Aber ich möchte das Testbild nach 
Ausfall eines Videosignals (z.B. einer Überwachungskamera) automatisch 
(durch sync Dedector) einblenden lassen. Da der Atmega erst dann 
Spannung bekommt ist natürlich der alte Text wieder da.

Du benutzt feepascal, das Programm habe ich mal geladen, und werde heute 
Abend mal versuchen ob ich dort die .asm ändern kann.

MfG

Ronny
#4751653
Lesenswert?

Hallo Ronny,

du kannst in der Hexfile mit einem Hex-Editor die Stelle suchen, an der 
die Zeichenkette "FuBK-Testbild" oder so ähnlich auftaucht.
Ich meine, dass das relativ am Anfang des Files war.
An dieser Stelle kannst du einen beliebigen Text eingeben (Zeichenanzahl 
beachten).

Ich hatte das damals auch so auf die Schnelle gemacht.

Viele Grüße
Basti
Gast #5370322
Lesenswert?

Hi
Wenn ich noch was dazu fragen dürfte, ist das hier eine Schaltung für 
die S-Video Buchse? Also die gelbe Chinch?

Hab da so ein Problem von ner Punktmatrix auf S-Video wandeln zu wollen, 
kam durch Goolge hierher.

mfg ck

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren