-
-
Moderator
Robotik Visionär
Hallo Dirk
Nein, mit der Kamera sind wir noch lange nicht am Ende der Fahnenstange :)
Das Kettenproblem wird durch einen Zeigerüberlauf verursacht:
https://www.roboternetz.de/phpBB2/vi...=456037#456037
Es gibt im Dauerlauf nur diese 16 Werte. Es ist dabei völlig egal, wann wir diese Werte aus dem ADC auslesen.
Mit der Verzögerung am Zeilenanfang warten wir auf das auszulesende Pixel. Da wir aber nicht wissen, wie "alt" der zuletzt gelesene ADC-Wert ist, lesen wir mehrere nebeneinander liegende Pixel aus dem selben Sample des ADC! Die Sequenz
*pixelzeiger=ADCH; // letzten ADC-Wert auslesen und wegwerfen
*pixelzeiger++=ADCH; // aktuellsten ADC-Werte speichern
ist eigentlich schon der Hinweis auf das Problem.
Was wurde am Ende der Verzögerung zuletzt gesamplet? In ADCH steht immer der Wert der letzten Digitalisierung, also einer der 16 Werte. Das ändert sich nicht, solange der ADC nicht gestoppt und wieder gestartet wurde. Denn dann kann man den ADC mit dem Kamerasignal für diese eine Zeile genauer als in 16 Schritten syncronisieren. Ohne diese Synchrionisation läuft der ADC-Takt quasi neben dem Videotakt mit einer anderen Schrittgröße (blöder Vergleich?).
Der "Dauerlauf" des ADC ist die schnellste Methode die Werte einzulesen. Das war nötig um die Syncs zu erkennen. Mit der Phase3 ist das nicht mehr nötig. Nun könnte man den ADC entschärfen und generell nur noch einmalige Samples einlesen: Bildstart, Zeilenstart, Pixelverzögerung, ADC starten und Wert, nach Fertigmeldung des ADC, einlesen, warten auf nächstes Sync. Dann könnten wir uns auch von den 4MHz verabschieden, allerdings würde vermutlich die Einlesezeit im Gesamten deutlich steigen
Hier scheiden sich wohl letzlich auch die Wege:
Auf das Projekt zugeschnittene Auswertung oder universelle Anwendung?
Gruß
mic
[Edit]
Zufällig drübergestolpert: Das Edit in diesem Beitrag schreit quasi nach einem jumperbaren 75Ohm-Widerstand:
https://www.roboternetz.de/phpBB2/vi...=456159#456159
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen