www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Benötige hilfe bei erzeugung von video signal/AVR asm


Autor: Sebastian Heyn (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

quelltext im anhang..

es soll ein bild von 208*312 mit nem avr darstellen. der erste test 
sollte eigentlich 100 zeilen schwarz + 106 zeilen balken+100 schwarz 
erzeugen, vsync zählt bis zeile 6. Nicht lachen das programm ist rimitiv 
wie sau. meine asm kenntnisse halten sich in grenzen...

beschaltung des avr

portb 0 ->900ohm an video in
portb 1 ->450ohm an video in

läufte bei 16mhz


Vielleicht sieht ja jmd den fehler auf den ersten blick?

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe jetzt mal den vsync und die schwarzen zeilen auskommentiert, das 
bild steht, also die balken. klar. jetzt schau ich mal weiter wo das 
timing nicht hinhaut...

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähm...wo speicherst du diese ungefähr 8 kB Videodaten?

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
im flash des mega32? später evtl ein mega128

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

So wie dein Programm gschrieben ist, braucht es ja noch viel mehr 
Speicher. Ein Byte pro Bildpunkt, wenn ich es richtig sehe - ca 64 kB 
also. Naja, der Ansatz ist nicht grundschlecht - wer so eine hohe 
Auflösung (arbeite derzeit mit 128 * 84) erreichen will, muss wohl 
Kompromisse in anderen Bereichen eingehen. Aber mit bewegten Bildern ist 
dann wohl Schluss - im RAM hat es niemals Platz, und das Flash wäre wohl 
innerhalb weniger Minuten hinüber.

Gruss

Michael

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja es geht mir erstmal drum ein stehendes bild zu erzeugen. :-)

ich habe das gefühl das es an meinem vsync liegt. habe das ganze mal 
(weils da einfacher ist) mit bascom probiert, nur mit einem einfachen 
schwarz/weiss pattern. das Problem ist verzwickt. die erste zeile steht 
in der hälfte des bildes. ich versteh nur ned warum. hier mal der code
Wie gesagt ich steig so richtig nicht hinter diese ganze vsync 
prozedur...

$regfile = "m32def.dat"
$crystal = 16000000


Config Portb = Output

Const Sync = 0
Const Black = 01
Const Gray = 02
Const White = 03


Dim Line As Byte



Do
Line = 0

'hier fängt der vsync an

Portb = Sync
Waitus 2
Portb = Black
Waitus 29
Portb = Sync
Waitus 2
Portb = Black
Waitus 29
Portb = Sync
Waitus 2
Portb = Black
Waitus 29
Portb = Sync
Waitus 2
Portb = Black
Waitus 29
Portb = Sync
Waitus 2
Portb = Black
Waitus 29

Portb = Sync
Waitus 27
Portb = Black
Waitus 5
Portb = Sync
Waitus 27
Portb = Black
Waitus 5
Portb = Sync
Waitus 27
Portb = Black
Waitus 5
Portb = Sync
Waitus 27
Portb = Black
Waitus 5
Portb = Sync
Waitus 27
Portb = Black
Waitus 5


Portb = Sync
Waitus 2
Portb = Black
Waitus 29
Portb = Sync
Waitus 2
Portb = Black
Waitus 29
Portb = Sync
Waitus 2
Portb = Black
Waitus 29
Portb = Sync
Waitus 2
Portb = Black
Waitus 29
Portb = Sync
Waitus 2
Portb = Black
Waitus 29

'schwarze zeilen
Do
Gosub Hsync
Waitus 52
Loop Until Line = 17 'zeile 22

Line = 0
Do
Gosub Hsync
Portb = White
Waitus 21
Portb = Black
Waitus 30
Loop Until Line = 150


Line = 0
Do
Gosub Hsync
Portb = Black
Waitus 21
Portb = White
Waitus 31
Loop Until Line = 140 'zeile 312

Loop 'wieder zum vsync



Hsync:
Incr Line
Portb = Black
Waitus 1
'zwei takte bis sync

Portb = Sync
Waitus 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop

Portb = Black
Waitus 5
nop
nop
nop
nop
nop
nop
nop
nop
Return

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es kommt mir so vor als würde der tv nicht das vsync erkennen. an nem 
fernseher flimmerts wie verrückt...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.