Forum: Mikrocontroller und Digitale Elektronik PAL Fernseher Bildspeicher


von Markus S. (kimberley10a)


Lesenswert?

Hallo,

ich bin auf der Suche nach einer Schaltung, mit deren Hilfe ein Bild in 
schwarz / weiß abgespeichert werden kann und bei Bedarf wieder gegeben 
werden kann.


Über jeden Hinweis bin ich sehr dankbar.




PS: Vielleciht kann man das über einen Atmega8 realisieren.???

von Christian B. (casandro)


Lesenswert?

a) Die "Schwarz-Weiß"-Version von PAL heißt CCIR oder "Gerber-Norm".
b) Was Du suchst ist ein Framebuffer. Bedenke Du brauchst dafür sehr 
viel Arbeitsspeicher. Grob ein halbes Megabyte. Dann reicht es 
eigentlich 20ms des Signales aufzuzeichnen und als Schleife 
wiederzugeben.

von Peter S. (psavr)


Lesenswert?

>Bedenke Du brauchst dafür sehr viel Arbeitsspeicher.
>Grob ein halbes Megabyte.
Das war viel vor 25 Jahren, heutzutage rechnet doch doch jeder 
Tastaturbuffer in Megabyte ;o)

von STK500-Besitzer (Gast)


Lesenswert?

Time Base Corrector ist ein Bildspeicher.
Bei manchen konnte man auch die Freeze-Taste drücken, um dann ein 
Standbild zu erzeugen.

Markus Salden schrieb:
> mit deren Hilfe ein Bild in schwarz / weiß

Das konnte sogra schon der Apple ][ - allerdings nur bei Stilleben...

von Christian B. (casandro)


Lesenswert?

Nein, bei weitem nicht jeder TBC war ein Vollbild TBC. Die in LaserDisk 
Playern konnten zum Beispiel nur 3 Zeilen speichern. Die in Quadruplex 
Videorekordern häufig sogar nur einen Bruchteil einer Zeile.

Du kannst auch nicht jeden Bildspeicher als TBC verwenden, da ein TBC an 
einer anderen Stelle lesen können muss als schreiben.

Hier übrigens die Schaltung die die BBC mal aufgebaut hat:
http://www.bbc.co.uk/rd/publications/rdreport_1977_09.shtml
Das war damals noch mit dynamischen Schieberegistern.



Aber grob gesagt musst Du, wenn Du nur ein Bild speichern willst, einen 
Zähler mit x*25Hz laufen lassen, ihn als Index für den Speicherzugriff 
verwenden, und dann von dieser Speicherstelle Lesen und schreiben.

von gerd (Gast)


Lesenswert?

Hallo Markus,

hab sowas mal gemacht. Ich glaube aber, dass ich den Schaltplan nicht 
mehr habe (Werd heute Abend nochmals schauen).

So war es gebaut:
Video ADC: TDA8703 digitalisiert die Videodaten.
Ein 13MHz Oszillator und 3x 74HC590 Zähler, die dann die Adresse 
hochzählten. Als Speicher ein SRAM - zum Beispiel 4MBit: 628512-70
Anschließend ein Video DAC TDA8702.
Einfach WR aktivieren und zum Einfrieren dann auf RD umschalten.

Hier ein Nachfolgeprojekt, dass zwar etwas anders funktioniert, aber die 
ADCs und DACs sind übernommen:
http://www.sebulli.com/smartcam/index.php?lang=de

Für SW reichen 2 Halbbilder, für Farbe müssen es 4 sein.
Ein Stoppbild aus 4 Halbbildern ist halt schon sehr unruhig, da 4 Frames 
zyklisch abgespielt werden.

gerd

von Reinhard Kern (Gast)


Lesenswert?

Markus Salden schrieb:
> PS: Vielleciht kann man das über einen Atmega8 realisieren.???

Du musst mit 10 MHz oder mehr digitalisieren und wieder über DAC 
ausgeben, das wird nicht klappen.

Es hört sich auch nicht so an, als ob du zu den Enthusiasten gehörst, 
die tagelang um jeden einzelnen Taktzyklus kämpfen.

Gruss Reinhard

von Strubi (Gast)


Lesenswert?

Nahmd,

> Du musst mit 10 MHz oder mehr digitalisieren und wieder über DAC
> ausgeben, das wird nicht klappen.
>

Es gab mal einen Framegrabber am Atari ST, der konnte 320x200 PAL 
grabben, jeweils eine Bittiefe pro Frame. Also 4 Frames -> 16 
Graustufen.
Gab also lustige Effekte bei Nicht-Standbildern..
Der Atari lief auf 8 MHz, und der Grabber war eigentlich nur ein 
schneller, handgestrickter ADC auf Basis eines DAC und Komparator.
Das Grabben ginge also im Prinzip, nur bei der Ausgabe wird's dann 
haarig.

> Es hört sich auch nicht so an, als ob du zu den Enthusiasten gehörst,
> die tagelang um jeden einzelnen Taktzyklus kämpfen.

Hehe, und genau da liegt die Crux. Auf dem 16MHz-STE musste man wieder 
zyklengenau die NOPs reinprügeln damit's lief..

Grüsse,

- Strubi

von Strubi (Gast)


Lesenswert?

Was ich eigentlich vergass:

Auf dem BF533-EZKIT geht sowas standalone. Habe damit mal einen 
PAL->NTSC-Konverter gebastelt. Manchmal kriegt man die Dinger noch 
nachgeworfen.
Trotzdem ist es ein ganz schöner Aufwand.

Grüsse,
- Strubi

von Christian B. (casandro)


Lesenswert?

Naja, für Schwarz-Weiß Video reichen auch 5 MHz aus. Das macht dann grob 
150 Linien (300 Pixel in der Breite) was etwas schlechter als VHS ist.

Aber nehmen wir mal an, man wollte das jetzt auf Gedei und Verderb mit 
einem ATMega machen. Das erste Problem ist der Speicher. So ein normales 
720x576 Videobild hat 414720 Pixel. Das passt nicht in einen AtMega8. 
Aber es gibt in DIP noch einen ATMega128 mit 16Kilobyte an Speicher.
Um zu sparen nehmen wir mal 4 Bit pro Pixel. 16 Graustufen sind ganz 
brauchbar. Macht 32768 mögliche Pixel, oder genug für ein 128x256 Bild.
Nehmen wir mal 20MHz Takt an, (Ich glaube der läuft noch damit) so haben 
wir 1280 Taktzyklen pro Zeile, bzw. 1040 Taktzyklen im sichtbaren 
Bereich. Zum Einlesen der Pixel kann man folgenden Code verwenden:
...
IN r16,PORTx   ;1TZ
ST X+,r17      ;2TZ
IN r17,Portx   ;1TZ
SWAP r17       ;1TZ
OR r17,r16     ;1TZ
...

Nacht also 6 Taktzyklen für 2 Pixel, oder 3 Taktzyklen pro Pixel. 1040/3 
sind 346.666... Wenn wir jetzt an den Rändern was abschneiden, oder 
zusätzliche NOPs einführen können wir da 256 Pixel locker unterbringen. 
Die würden grob 74% der horizontalen Bildbereiches ausfüllen.
Ein Gerber Halbbild hat 288 sichtbare Zeilen, wenn wir jede 2. Zeile 
beim aufnehmen auslassen kommen wir auf 144. Wenn wir oben und unten 
einen Rand freilassen kommen wir auf die 128 Zeilen. Das sind grob 89% 
der Bildbreite.
Bei der Wiedergabe des Bildes müssen wir natürlich in jeder Zeile das 
Bild wiedergeben. Bei der Aufnahme können wir die Rechenzeit jedoch für 
andere Zwecke verwenden.

Sprich es ist durchaus realistisch ein 256x144 Bild mit einem AtMega zu 
speichern. Das Bild hätte dann ein Seitenverhältnis von ungefähr 3:2.6

Geschickt gemacht braucht das nur ein Viertel der CPU-Zeit bei der 
Aufnahme, bzw. die Hälfte der Zeit bei der Wiedergabe.

Die Hardware dazu bestünde aus einen LM1881 welcher Interrupts auslöst, 
und dessen Auslösezeitpunkt per Timer gespeichert wird, (um danach über 
ein NOP-Feld die Interruptlatenz auszugleichen) einer Klemmschaltung, 
sowie einem Flash AD Wandler. Zusätzlich kann man noch einen PLL 
verwenden, damit der Controller mit genau 1280 mal der Zeilenfrequenz 
läuft. Dadurch wird da Bild stabiler.

von Christian B. (casandro)


Lesenswert?

Ach Tippfehler ich meinte natürlich 256x128 nicht 256x144.

von Markus S. (kimberley10a)


Lesenswert?

Hallo

und besten Dank für die zahlreichen Antworten.

Ich benötige eine Schaltung die mit einigen wenigen Bauteilen auskommt.

Wenn es diesbezüglich eine Schaltung gibt, das wäre wirklich toll.



PS; Schade das es mit dem Atmega8 nicht machbar ist.

von Christian B. (casandro)


Lesenswert?

Markus Salden schrieb:
> PS; Schade das es mit dem Atmega8 nicht machbar ist.

Naja, wenn Du etwas mehr Aufwand betreibst, und externen RAM dranhängst, 
dann ginge es auch mit dem ATMega8.
Aber egal was Du machst, es ist nicht trivial, das muss Dir klar sein.

Die Kombination primitive Hardware und primitiver Controller geht halt 
nicht so richtig.

von Georg G. (df2au)


Lesenswert?

Christian Berger schrieb:
> Naja, für Schwarz-Weiß Video reichen auch 5 MHz aus. Das macht dann grob
> 150 Linien (300 Pixel in der Breite) was etwas schlechter als VHS ist.

Naja... die Gerber Norm hatte nominell 5MHz Bandbreite und VHS einiges 
weniger (weil man den Farbträger bei 4.33MHz billig abschneiden wollte). 
Aber unabhängig davon kann man bei _Stand_bildern auch anders vorgehen.

Man tastet das erste Pixel der ersten Zeile ab. Dann das erste Pixel der 
zweiten Zeile usw. Wenn alle Zeilen durch sind, geht es mit dem zweiten 
Pixel der ersten Zeile weiter, dann das zweite Pixel der zweiten Zeile 
usw. Ein komplettes Bild dauert dann Bildlänge * Zeilenlänge, also etwa 
10 bis 15 Sekunden je nach gewünschter Auflösung.

Zur Verbesserung der Bildqualität empfiehlt es sich, den Prozessortakt 
phasenstarr an die Zeilenfrequenz zu binden - was aber auch kein großes 
Problem ist.

von Reinhard Kern (Gast)


Lesenswert?

Markus Salden schrieb:
> Ich benötige eine Schaltung die mit einigen wenigen Bauteilen auskommt.

Hallo,

Was immer wenig heissen soll, du brauchst mindestens einen Speicher, 
einen ADC, einen DAC und für die Logik ein FPGA. Das ist allerdings 
schwierig zu entwickeln, wenn man weder von Fernsehen noch von 
Bildspeichern noch von Logikschaltungen eine Ahnung hat, und würde sich 
für ein Einzelstück sowieso nicht rechnen.

Gruss Reinhard

von Christian B. (casandro)


Lesenswert?

Natürlich kann man auch unterabtasten. Dann geht evtl. sogar der 
eingebaute Wandler. Die BBC hat übrigens mal einen solche Framegrabber 
gebaut, der das Bild dann auf Lochstreifen gestanzt hat. :)

von Markus S. (kimberley10a)


Lesenswert?

Hallo,

leider konntet Ihr mir nicht so richtig helfen, bei der Suche nach einer 
entsprechenden Schaltung.



Trotzdem vielen Dank

von Reinhard Kern (Gast)


Lesenswert?

Markus Salden schrieb:
> leider konntet Ihr mir nicht so richtig helfen, bei der Suche nach einer
> entsprechenden Schaltung.

Den Stein der Weisen und das Perpetuum Mobile hat man auch nicht 
gefunden - könnte das vielleicht an der Fragestellung liegen? Ich denke, 
was möglich ist habe ich beschrieben (4 Chips), aber natürlich gibt es 
für fast alles eine Ein-Chip-Lösung - wenn du eine Million oder so für 
die Entwicklung des Chips gerade übrig hast.

Gruss Reinhard

von STK500-Besitzer (Gast)


Lesenswert?

Christian Berger schrieb:
> Nein, bei weitem nicht jeder TBC war ein Vollbild TBC.

Die, die ich bei uns im Sender verbaut habe, schon...
Frag mich aber bitte nicht nach der genauen Bezeichnung.
Sie waren von Panasonic, hatten 1HE und einen hässlich lauten kleinen 
Lüfter. Es könnte sogar sein, dass davon noch einer rumfliegt, der auf 
seine Entsorgung wartet.

von Daniel (Gast)


Lesenswert?

Versuch doch, einen fertigen Video-Effektmischer zu kriegen und den mit 
Deinem ATMega8 anzusteuern, wenn es "wenig Bauteile" sein sollen. Ist 
halt nicht so billig.

http://www.ebay.de/itm/Panasonic-WJ-AVE5-Videomischer-mit-Titelgenerator-WJ-TTL5-fur-analog-Video-/281033569631?pt=DE_TV_Video_Audio_Sonstige&hash=item416ee7f55f

von Markus S. (kimberley10a)


Lesenswert?

Hallo,

ich muss mich doch sehr wundern, was für ein Quatsch hier zusammen 
geschrieben wird.

Die Frage war einfach und sehr leicht zu verstehen.


Ich werde das Projekt schon alleine stämmen.


Vielen Dank.



Kimberley10a



PS: Was für ein Unsinn.

von Eumel (Gast)


Lesenswert?

Markus Salden schrieb:
> Ich werde das Projekt schon alleine stämmen.

Nö.

von Uff (Gast)


Lesenswert?

Hi,
nehme zur SyncSep einen LM1881. VSYNC als Trigger und einen AL440 als 
Framebuffer http://www.averlogic.com/AL440B.asp.

von Uff (Gast)


Lesenswert?

..und weiter. Einen 8 Bit Wandler. Einen ca. 13.5 MHz Quarz als 
Taktgenerator. Alternativ einen 74hc4046 als PLL. Dann musst Du aber aus 
den CSYNC das HSYNC separieren, was nicht trivial ohne Grundtakt ist. 
Zumindest steht nun Dein Bild im Fifo, und das kann über ein enfaches 
Interface ausgelesen werde. Alternativ erzeugst Du mit dem 13.5 MHz 
Signal wiederum HSYNC und VSYNC und speisst zusammen mit den Fifodaten 
einen VideoDAC.

von Uff (Gast)


Lesenswert?

Einen guter Weg aus dem CSYNC das HSYNC zu separiren, findest Du im 
Datenblatt des guten alten Brooktree BT261.

von Markus S. (kimberley10a)


Lesenswert?

Hallo,

besten Dank für die Antworten. Die Vorschläge werde ich in meinem 
Projekt einfließen lassen.







KImberley10a

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.