Forum: Mikrocontroller und Digitale Elektronik FBAS Digitalisierung mit ARM und S65 Display


von Omega G. (omega) Benutzerseite


Angehängte Dateien:

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.

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

Lesenswert?

Foto: Vertikale Linien

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

Lesenswert?

Foto: Horizontale Linien

von Omega G. (omega) Benutzerseite


Lesenswert?

Eine Frage an die Experten: Ist es irgendwie möglich, die AD-Wandlung zu 
beschleunigen? Meine Routinen zu optimieren, odre eine andere 
Möglichkeit?

Oder gibt es einen Mikrocontroller von NXP aus der LPC2100 Familie, der 
einen schnelleren Analog-Digital-Wandler hat und mehr RAM?

von Omega G. (omega) Benutzerseite


Angehängte Dateien:

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.

von jl (Gast)


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

von Omega G. (omega) Benutzerseite


Lesenswert?

Der Burst Mode würde tatsächlich eine deutlich höhre Auflösung bringen, 
aber ich habe leider nicht genug RAM zur Verfügung. Schade.

Frage: Welcher LPC2100 hat mehr als 4 kb RAM, am besten 64 kb, und ist 
gut zu bekommen? Gibt's möglicherweise von NXP ein Exemplar als Sample, 
von einem Typ den ich nicht kaufen kann?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Frage: Welcher LPC2100 hat mehr als 4 kb RAM, am besten 64 kb, und ist
> gut zu bekommen?

LPC2106. Hat 64 kByte.

von Omega G. (omega) Benutzerseite


Lesenswert?

Stimmt, der würde genau das erfüllen, zudem scheint der sogar Pin 
kompatibel zum LPC2103 zu sein. Sehr schön, danke Rufus!

Ich vermute, ich kann den auch über UART0 programmieren.
Woher nehme ich diesen Mikrocontroller, wenn nicht für 17€ bei Conrad? 
Kennt jemand eine billigere Quelle?

von Cr0oK (Gast)


Lesenswert?

Hi erstmal cooles Projekt
zu denn lpc z.B. Reichelt, Segor, CSD, usw.

mfg Cr0oK

von Omega G. (omega) Benutzerseite


Lesenswert?

Reichelt hat den leider nicht, ich hätte den bevorzugt da bestellt.
CSD: Momentan nicht
Segor: hat den, aber bevor ich da über 22€ ausgebe, fahre ich lieber bis 
zum nächsten Conrad und kaufe da einen.
Farnell hätte den auch für 15,x€, weiß einer von euch wie teuer mich das 
kommt, wenn ich da als Student bestelle?

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.