mikrocontroller.net

Forum: FPGA, VHDL & Co. CMOS Bildsensor - Synchronisationssignale?


Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

beim Duchlesen des weiter unten stehenden Beitrages zum Thema 
CMOS-Bildsensoren kam in in mir wieder eine Frage auf, die mich schon 
seit einiger Zeit beschäftigt (ich habe noch nie mit einem solchen 
Bildsensor praktisch gearbeitet; habe dies aber bald vor.)

Diese Bildsensoren liefern ja immer ein vsync- und hsync-Signal mit. 
Dienen diese Werte nur zum initialien Feststellen der Bildgröße?

Oder kommt es tatsächlich häufig vor, dass z. B. eine Bildzeile "out of 
sync" ist, also die erwaretete Bildlänge nicht mit dem hsync-Signal 
übereinstimmt?

Danke,
Mike

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Mike,

nein die Bildsensoren mit digitalem Interface arbeiten anders.

Man hat eine Konfigurationsschnittstelle (SPI / I2C) über die man die 
Bildgröße, Belichtungszeit, Offsetkorrektur, etc. einstellt. Damit Weiß 
der Sensor wie groß das auszulesende Bild ist und an welcher Stelle vom 
Sensor es liegt.

Zum Auslesen wird der Pixelclk Pin getoggelt. An die 8-10 Datenausgänge 
wird dann der Helligkeitswert des jeweiligen Pixel angelegt. Toggelt man 
die Pixelclk ein weiteres mal, so wird der Helligkeitswert des nächsten 
Pixels angelegt. Kommt man am ende der Zeile an, so wird zusätzlich 
HSync auf High gesetzt. Am Ende vom gesamten Bild VSync.

Ich glaube man könnte auch ohne die beiden Signale auskommen, wenn man 
weiß wie groß das Bild ist. Nur verzählen darf man sich dann nicht.

Viele uC haben ein CameraSensorInterface über welches sie die beiden 
Signale einlesen. Dadurch kann dann der Controller den Sensor auslesen 
und die Daten gleich passend im Bildspeicher ablegen. Häufig erspart das 
viel Arbeit, weil man sich um die Generierung der Clock und die 
Speicherverwaltung nicht weiter kümmern muss.

Gruß Christian

Autor: Arndt Bußmann (Firma: Helion GmbH) (bussmann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Mike,

die heutigen Bildsensoren haben oft eine einstellbare 
Pixelausgangsclock, die sogar deutlich anders sein darf als der 
eigentliche Matrixausleseclock. Je nach Sensor wird diese Diskrepanz 
dann über ein internes FIFO ausgeglichen (ist bei fast allen Aptina 
Sensoren mit >1MP Auflösung). Je nach Architektur des Sensors ist es 
nicht möglich einen kontinuierlichen Pixeldatenstrom zu liefern, da je 
nach verwendeten ADC (Spalten- oder globale ADC) zur Kalibration und zur 
Vorbereitung der Auslese eine gewisse Wartezeit nicht unterschritten 
werden darf.

Damit der Nutzer nun weiss, wann wirklich Bilddaten kommen, gibt es die 
Framevalid (ähnlich wie VSYNC) und Linevalid (ähnlich wie HSYNC) 
Signale. Framevalid ist solange auf High, wie prinzipiell das Bild 
ausgegeben wird. Linevalid kennzeichnet dann die gültigen Pixelwerte:

FV: ____-------------------------------______________------
LV: ______-----__-----__-----__-----___________________----

Im obigen Beispiel würde ein Bild mit 4 Zeilen zu je 5 Pixel ausgegeben.
Die Pausen zwischen diesen Signalen bezeichnet man als Blanking.

Viele Grüße
Arndt

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke euch beiden für den kleinen Exkurs in Sachen Bildsensoren. Hat mir 
echt was gebracht!

Grüße,
Mike

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.