Sie sind auf Seite 1von 17

Das Videosignal mit Hilfe des

ATMega16
Seminar EinChipComputer

Sommersemester 2007
Andreas Brandt
206210448
Dr. Merten Joost

1 DieTheoriedesVideosignals
1.1 BilddarstellungbeiFernsehern
1.1.1 GrundlegendesPrinzip
In Farbmonitoren befindet sich ein Glaskolben, dessen sichtbare Frontseite im
Inneren mit einer Leuchtschicht versehen ist, sowie drei negativ geladene
Kathoden, eine positiv geladene Anode, eine Ablenkvorrichtung und eine
Lochmaske. Jedes Pixel der Leuchtschicht ist in drei Leuchtpunkte aufgeteilt, die
so genannten Tripel. Je ein Leuchtpunkt ist fr die Farben Rot, Grn und Blau
zustndig. Die Leuchtstoffe selbst werden oft Phosphore genannt. Es handelt
sich heute jedoch nicht mehr um das chemische Element Phosphor sondern um
Verbindungen, die Fluoreszenz zeigen und durch Elektronenbeschuss zum
Leuchten angeregt werden.
An die Kathoden und die Anode wird Hochspannung gelegt (bis zu 25.000 Volt).
Von der Kathode werden Elektronen mit hoher Geschwindigkeit in Richtung
Anode abgegeben - umso mehr, je heller der Bildpunkt werden soll. Auf dem
Weg von der Bildrhre zur Mattscheibe werden diese Elektronen durch ein
Magnetfeld so abgelenkt, dass sie jeweils genau den gewnschten Punkt am
Bildschirm treffen. Der Elektronenstrahl wandert hierbei von links nach rechts
und aktiviert dabei die gewnschten Bildpunkte. Am Ende einer Zeile springt der
Elektronenstrahl an den Anfang der folgenden Zeile zurck.1
Im Folgenden wird die Farbdarstellung auer Acht gelassen.

1 http://de.wikipedia.org/wiki/Kathodenstrahlr%C3%B6hrenbildschirm

1.1.2 Standards
Fr die Darstellung eines Fernsehbildes haben sich weltweit zwei Systeme
durchgesetzt. Zum einen das in Europa verwendete PAL-System und zum
anderen das in den USA gebruchliche NTSC-System. Des weiteren gibt es noch
das SECAM-System (s. Abb. 1).

Abbildung1:VideostandardsinderWelt
Unterschiede zwischen PAL und NTSC
PAL
576 Bildzeilen mit 720 Pixel Lnge
Bildwiederholrate: 50 Hz (50 Halbbilder pro Sekunde)
NTSC
480 Bildzeilen mit 720 Pixel Lnge
Bildwiederholrate: 60 Hz (genau: 59,94 Halbbilder pro Sekunde) 2
PAL hat die grundlegenden Konzepte der Signalbertragung vom amerikanischen
Farbbertragungssystem NTSC bernommen. Als Verbesserung treten die fr
NTSC typischen Farbtonschwankungen nicht mehr auf, allerdings wird dies mit
erheblichem Mehraufwand bei der Schaltung erkauft. Zustzlich verschlechtert
sich bei PAL im Vergleich zu NTSC die vertikale Farbauflsung.3
Alle weiteren Ausfhrungen beziehen sich auf das in Deutschland gebruchliche
PAL-System.

2 http://www.heise.de/ct/Redaktion/ghi/faq_dvd/basics/NTSCvsPAL.html
3 http://de.wikipedia.org/wiki/PAL

1.1.3 Zeilensprungverfahren
Die Bilddarstellung erfolgt zeilenweise und geht von links nach rechts. Dabei
wird ein Elektronenstrahl in der Bildrhre horizontal (Zeile) und vertikal (Bild)
abgelenkt. Damit das menschliche Auge eine kontinuierliche Bewegung erkennen
kann, musste fr die Festlegung der Bildwechselfrequenz mindestens ein Wert
von 18 Hz genommen werden. Um strende Interferenzen zwischen Fernsehund Netzfrequenz zu vermeiden, wurde mit Rcksicht auf eine Netzfrequenz von
50 Hz die Bildwechselfrequenz auf 25 Bildern pro Sekunde festgelegt. Wird das
Bild zeilenweise nacheinander abgetastet und bertragen, entsteht ein
progressiver Bildaufbau (progressive mode). Bei einer Bildwechselfrequenz von
25 Hz fhrt das aber zu Groflchenflimmern, so dass die Frequenz auf
mindestens 50 Hz verdoppelt werden muss. Da dies auch eine Verdopplung der
Bandbreite zur Folge hat, werden die Bilder im Zeilensprungverfahren (interlaced
mode) bertragen. Dabei wird das Gesamtbild (frame), bestehend aus 625
Zeilen, durch zwei ineinander verkmmte Halbbilder (fields) mit jeweils 312,5
Zeilen bertragen. Durch Nachleucht-Effekte der Bildrhre und der Trgheit des
Auges sind die ineinander verkmmten Halbbilder nicht mehr erkennbar, so dass
ein ruhiger, flimmerfreier Bildeindruck entsteht. Bei Bildteilen mit groer
Helligkeit kann dennoch ein Flchenflimmern auftreten. Um dies zu verhindern,
liegt die Vertikalfrequenz bei modernen Gerten zwischen 75 Hz und 100 Hz.
Dies setzt jedoch einen gengend groen Bildspeicher voraus. Somit wird
beispielsweise bei einem 100 Hz Fernseher das erste Halbbild gespeichert und
zusammen mit dem zweiten Halbbild bertragen. Whrend anschlieend das
nchste erste Halbbild empfangen wird, wird das zuvor angezeigte Vollbild
erneut dargestellt. 4

1.1.4 Zeilenfrequenz
Die Zeilenfrequenz ergibt sich durch folgende Rechnung:
Zeilenzahl (Zeilen pro Bild)=625 (s. Zeilensprungverfahren)
Halbbildwechselfrequenz=50 Hz (Halbbilder pro sec)
Vollbildwechselfrequenz = Halbbildwechselfrequenz / 2 = 25 Hz (Bilder pro sec)
Zeilenfrequenz = 625 (Zeilen/Bild) * 25 (Bilder/sec)
Dies ergibt 15.625 Zeilen pro Sekunde oder 15.625 Hz. Dies entspricht 64s pro
Zeile.
Fr den Rcksprung des Elektronenstrahls zum Zeilenanfang sind 12 s
vorgesehen.
Die effektive Zeilenzahl je Bild ist jedoch geringer als die o.a. 625 Zeilen, da der
Elektronenstrahl nicht sofort vom unteren Bildrand zum oberen Rand springen
kann. Er bentigt dazu eine gewisse Zeitdauer.
Nach Norm steht dafr eine Zeit von 25 Zeilen zur Verfgung. Dementsprechend
liegen lediglich 575 Zeilen im theoretisch darstellbaren Bereich und davon
werden je nach Einstellung des Fernsehers auch nicht alle dargestellt.5

4 http://user.cs.tuberlin.de/~markusbr/da/DA_Theorie.html
5 http://www.edvtip.de/dvd/004_aufloesung.htm

1.1.5 Synchronisation/Austastung
Fr den Rcksprung des Elektronenstrahls zum Zeilenanfang sind 12 s
vorgesehen. In dieser Zeit wird das Bildsignal unterbrochen, so dass man hier
von der horizontalen Austastlcke spricht. Eine aktive Fernsehbildzeile dauert
somit nicht 64s, sondern nur noch 52 s. Gleiches gilt auch fr den
Strahlenrcksprung nach Beendigung eines Halbbildes. Dafr sind im PALStandard 1,6 ms reserviert, wobei man in diesem Fall von der vertikalen
Austastlcke spricht. Damit mssen fr die Darstellung eines aktiven Halbbildes
25 Zeilen abgezogen werden. Bezogen auf die Zeilenzhlung eines
Videovollbildes entfallen die ersten 22,5 Zeilen in die vertikale Austastlcke. Das
aktiv genutzte Bild beginnt mit der halben Zeile 23 und endet mit Zeile 310.
Anschlieend erfolgt die vertikale Austastung von 25 Zeilen, so dass das aktive
zweite Halbbild mit der Zeile 336 beginnt und Mitte der Zeile 623,5 endet. 6

1.1.6 DasBASVideoSignal
Das Bild auf dem Bildschirm hat verschiedene Intensitten. Whrend der
Elektronenstrahl den Bildschirm abtastet, wird die Intensitt, die an der
momentanen Position des Elektronenstrahls anliegen soll als Spannungspegel im
Video Signal gesendet.
In diesem Spannungspegel ist keine Information ber die aktuelle Position des
Elektronenstrahls enthalten. Um dieses Problem zu lsen wird zu Beginn jeder
Zeile ein Synchronisationsimpuls gesendet, um dem Fernseher mitzuteilen, dass
die momentane Zeile zu Ende ist und der Elektronenstrahl an den Beginn der
nchsten Linie positioniert wird. Dieser Synchronisationsimpuls wird whrend der
Dauer der horizontalen Austastlcke (12s) gesendet.
Auerdem muss dem Ferneher mitgeteilt werden, dass ein neues Bild beginnt.
Dies wird durch den vertikalen Synchronisationsimpuls erreicht. Im vertikalen
Synchronisationsimpuls ist auch die Information enthalten, ob es sich um das
erste oder zweite Halbbild handelt, da die Position des Elektronenstrahls zu
Beginn des zweiten Halbbildes eine andere ist als zu Beginn des ersten
Halbbildes.
Das Videosignal hat Spannungspegel im Bereich von 0V bis 1V. 0,3V
reprsentiert die Farbe Schwarz auf dem Bildschirm, 1V wird als Wei
dargestellt. Graue Farbwerte knnen als Pegel zwischen 0,3V und 1V dargestellt
werden und Werte nahe 0V werden als Synchronisationsimpulse interpretiert.

6 http://user.cs.tuberlin.de/~markusbr/da/DA_Theorie.html

Abbildung2:SchwarzweiDarstellungmitdemBASSignal

1.1.7 ZeilendarstellungmitdemBASSignal
Um eine Zeile mit dem BAS-Signal darzustellen, stehen insgesamt 64s zur
Verfgung, von denen 52s genutzt werden, um tatschlich Bildinformationen zu
senden. Die restlichen 12s werden (unter anderem) zur horizontalen
Synchronisation genutzt. Dazu wird zuerst ein ca. 4s langes
Synchronisationssignal mit 0V gesendet, danach folgt eine 8s lange SchwarzPhase (stark vereinfacht).
Alte Fernseher bentigten diese Zeit, um den Elektronenstrahl fr die nchste
Zeile in Position zu bringen. Heutzutage werden in diesen 8s weitere
Informationen gesendet (z.B. fr die Farbdarstellung).

Abbildung3:BASSignalfreineZeile

1.1.8 DashorizontaleSynchronisationssignalimEinzelnen
Symbol
a
c
d

Characteristics
Line-blanking interval (s)
Front porch (s)
Synchronizing pulse (s)

PAL
120.3
1.50.3
4.70.2

Abbildung4:DetaillierteDarstellungdeshorizontalenSynchronisationssignals
Wenn man das horizontale Synchronisationssignal genauer betrachtet, beginnt
das horizontale Synchronisationssignal erst nach einer Dauer von 1,5s, der
sogenannten vorderen Schwarzschulter (front porch). Dann folgt das eigentliche
Synchronisationssignal von 4,7s Dauer, anschlieend die hintere
Schwarzschulter mit 5,8s. Whrend der Dauer der hinteren Schulter wird bei
der Farbdarstellung noch ein zustzlicher Impuls eingespielt, was aber bei der
schwarz-wei-Darstellung keine Rolle spielt.
Bei der praktischen Umsetzung mit einem Mikrocontroller ist es nicht ntig, die
Zeiten exakt einzuhalten. Man kann z.B. auch mit 4s Synchronisationssignal
und 8s auf Schwarzpegel Bilder erzeugen.

Abbildung5:VereinfachtesHSyncSignal Abbildung6:Darstellungauf
demBildschirm
aufdemOszilloskop

1.1.9 DasvertikaleSynchronisationssignal
Um dem Fernseher mitzuteilen, dass ein neues Bild beginnt, wird eine
bestimmte Folge von Synchronisationsimpulsen gesendet.
Da ein Bild aus zwei Halbbildern besteht, ist diese Abfolge fr die geraden und
ungeraden Halbbilder unterschiedlich.
Abbildung 7 veranschaulicht die Impulsfolge fr die vertikale Synchronisation.

Abbildung7:DasvertikaleSynchronisationssignal

2 RealisierungmitdemATMega16
2.1 ZustzlicheHardware
Um ein Videosignal mit dem ATMega16 ausgeben zu knnen, ist ein DigitalAnalog-Wandler notwendig. Mit diesem werden dann digitale Werte in
Spannungspegel zwischen 0V und 1V umgewandelt, um verschiedene Graupegel
im Videosignal darstellen zu knnen.
Es mssen mindesten 3 analoge Werte dargestellt werden knnen, um ein
sinnvolles Bild darstellen zu knnen:
Synchronisationssignal (0V), Schwarzpegel (0,3V) und Weipegel (1V; bzw.
einen Pegel, der von Schwarz unterscheidbar ist). Hierzu bentigt man einen DAWandler mit mindestens 2 Eingangsleitungen, wodurch 4 analoge Werte
darstellbar werden, d.h. man kann ohne zustzlichen Aufwand auch einen
Grauton verwenden.
Solch einen einfachen DA-Wandler kann man mit drei Widerstnden realisieren
(s. Abbildung 8). Man erhlt dann die folgenden vier Spannungspegel:
0V (Synch), 0,33V (Schwarz), 0,67V (Grau) und 1V (Wei).
Die Abweichung von der Norm fr den Schwarzpegel ist dabei fr die Praxis nicht
relevant.7

Abbildung8:ErzeugungeinesSyncImpulsesmiteinfachemDAWandler

7 http://www.rickard.gunee.com/projects/video/pic/howto.php

2.2 Grenzen
2.2.1 VertikaleAuflsung
Bei einer Bandbreite von 5MHz (gem PAL-Norm) und 52s im sichtbaren
Bereich einer Bildzeile ergeben sich etwa 260 SW-Wechsel pro Zeile, also wren
theoretisch 520 Bildpunkte darstellbar.
Ein Mega16 mit 8MHz knnte maximal 400 Bildpunkte pro Zeile anzeigen, wenn
er keine andere Funktion haben soll.
Wenn der Bildspeicher im internen RAM gelesen und ausgegeben wird, werden
200 Bildpunkte pro Zeile erreicht, wenn er nichts anderes macht. Realistisch
drfte maximal die Hlfte sein, das wren dann ca. 100 Bildpunkte.
Mit 16MHz kann man die Werte entsprechend verdoppeln, da die vertikale
Auflsung von der Frequenz des Mikrorozessors abhngt.
In der Praxis wurden bereits 168 Bildpunkte erreicht.
2.2.2

Speicher

Allein fr das Speichern einer ASCII-Tabelle zur Darstellung von sinvollem Text
auf dem Bildschirm wird ca. ein Viertel des Speichers gebraucht. Dies schrnkt
den Spielraum fr zustzliche Anwendungen ein.

3 Projekte
3.1 MesswerteaufeinemFernseherdarstellen
Verwendeter Mikrocontroller: ATMega8, 16MHz
Ziel dieses Projektes war es, einfache Messwerte auf einem Fernseher
darzustellen.
Nhere Informationen finden sich hier:
http://www.mikrocontroller.net/topic/53139

3.2

Oszilloskop I

Verwendeter Mikrocontroller: ATMega32, 16MHz


Ziel dieses Projektes war es, ein Oszilloskop nachzuempfinden.
Nhere Informationen finden sich hier:
http://www.nbb.cornell.edu/neurobio/land/PROJECTS/VideoScope/

3.3 PongundTetris
Verwendeter Mikrocontroller: Unbekannter PIC-Prozessor
Ziel dieses Projektes: Pong und Tetris spielen.
Nhere Informationen finden sich hier:
http://www.rickard.gunee.com/projects/video/pic/howto.php

3.4 OszilloskopII
Verwendeter Mikrocontroller: 12f675 PIC Prozessor
Ziel dieses Projektes war es, ein Oszilloskop nachzuempfinden.
Nhere Informationen finden sich hier:
http://members.chello.nl/r.dekker49/uscope/uscope_e.html

3.5 AdventureSpiel
Verwendeter Mikrocontroller: ATMEga32, 16MHz
Ziel dieses Projektes: Ein grafisches Dungeon-Spiel.
Nhere Informationen finden sich hier:
http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2005/gts7/index.ht
ml

3.6 Knockout
Verwendeter Mikrocontroller: ATMEga32, 16MHz
Ziel dieses Projektes: Knockout-Spiel.
Nhere Informationen finden sich hier:
http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2005/jc365/ECE47
6%20Final%20Project%20Website/results.htm

3.7 MissileCommand
Verwendeter Mikrocontroller: ATMEga32, 16MHz
Ziel dieses Projektes: Missile Command-Spiel.
Nhere Informationen finden sich hier:
http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2005/co37/website
/home.htm

Speicherverbrauch bei diesem Projekt:


Fast die gesamten 2048 Byte SRAM
Ungefhr 50% des 32 Kbytes Flash-Speicher.

3.8 Textdarstellung
Verwendeter Mikrocontroller: ATMEga8, 16MHz
Ziel dieses Projektes war es, eine mglichst gute Textdarstellung zu erreichen.
Nhere Informationen finden sich hier:
http://www.roboternetz.de/phpBB2/viewtopic.php?t=5880&postdays=0&postord
er=asc&start=0