FBAS Digitalisierung mit ARM und S65 Display

Persönliche Seite #989550
Lesenswert?

Hallo,
angeregt durch das 4" TFT habe ich einen Versuch gewagt, den ich eher 
für aussichtslos ansah. Ein analoges FBAS Signal mit einem LPC2103 zu 
digitalisieren und auf einem Display vom S65 Handy anzuzeigen.

Die Synchronisationssignale werden über einen externen Interrupt 
erkannt, damit die Spannungspegel des Videosignals groß genug sind muss 
das Signal, dass zum Interrupt geht mit einem OpAmp verstärkt werden. 
Softwareseitig wird dann die Zeit gemessen wie lange dieses Signal low 
ist.

Nach einem Hsync werden über den internen AD-Wandler die Bildinfos 
ausgelesen und in ein zwei dimensionales Array gespeichert.

Ein Vsync veranlasst einen Rücksprung auf die erste Zeile.

Jede 100ms wird das Bild dargestellt.

Was gibts sonst noch zu sagen:
- Momentan nur Schwarz/Weiß
- Quelltextchaos
- Bild wird Horizontal falsch angezeigt
- 58,986400 MHz µC Takt

Insgesamt geht es besser als ich dachte!
Quelltext im Anhang, Verbesserungsvorschläge erwünscht.
Fotos in den nächsten Beiträgen, Schaltplan noch nicht vorhanden.
Angehängte Dateien:
Persönliche Seite #990271
Lesenswert?

Da ich meine Beiträge nicht mehr editieren kann, und keiner mit mir über 
das Problem redet, werde ich meine Verbesserungen einfach posten.

Ich habe jetzt das horizontal doppelte Bild nach links geschoben und mit 
dem rechten Bild überlagert, jetzt wird statt jedem zweiten Pixel jedes 
Pixel angesteuert, jeweils abwechselnd mit rechtem Bild und linkem Bild.
Zudem zeige ich jetzt nicht mehr auf jeder zweiten Zeile das Bild an, 
sondern auf jeder.

die Veränderung des Codes liegt nur bei der Ausgabefunktion.
1
for (xp=0; xp<60; xp++){  //Bild anzeigen
2
    for (yp=0; yp<60; yp++){
3
      if (xp<27){
4
        pset(xp*2,yp,colorSW(bild[xp][yp]));
5
      }else{
6
        pset(((xp-29)*2)-1,yp,colorSW(bild[xp][yp]));
7
      }
8
    }
9
  }

Bilder im Anhang.
Einmal vertikale Linien, horizontale Linien und ein grau Verlauf.
Angehängte Dateien:
Gast #990309
Lesenswert?

Das was du beim sampeln machst ist:
  starte AD Wandlung (x µs)
  verarbeite Daten
  starte AD neu


hab gerade die AD funktionalität des NXP Arm nicht im Kopf.
Aber es sollte die Möglichkeit mehrere Kanäle nacheinander zu sampeln 
gfeben und wenn der uC fertig ist den gesamten AD-Buffer auszulesen. Das 
ergibt mehr Auflösung, da auch in der "verarbeite Daten" Zeit gesamplet 
werden kann. Ich kann jetzt aber nicht sagen ob es ein continious für 
1Kanal gibt, oder ob du alle AD Eingänge parallel schalten musst, und 
diese (4 oder 8)Kanäle nacheinander (automatisch) wandeln lässt.

Ebenso kannst du mal versuchen den AD Wandler zu "übertakten". Beim S12 
von Motorola hab ich das mal aus versehen gemacht und es gab keine 
Genauigkeitsprobleme.


JL

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