Guten Morgen, das Kameramodul OV2640 wird mit einem STM32F2 Mikrocontroller angesteuert. In einer Beispielapplikation von ST wird gezeigt, wie das aufgenommene Bild auf einem LCD-Display dargestellt wird. Dies funktioniert auch bei mir. Nun ist es so, dass ich die Daten nicht auf einem LCD-Display darstellen möchte, sondern im internen RAM Speichern möchte und im Anschluss per Ethernet zum PC übertragen möchte. Die Kamera liefert Bilder im JPEG 120x160 Format. Wie müsste ich dies auf dem STM32F2 realisieren? Pro Bild ist ein echt großer Speicherbedarf notwendig - 160x120 = 19200 Bytes. Der DMA vom STM32F2 kann der eine soe große Datenmenge aufnehmen?
Entwickler schrieb: > Der DMA vom STM32F2 kann der eine soe große > Datenmenge aufnehmen? Nein. Aber er kann sie transportieren.
Ok. Wie müsste ich da genau vorgehen? Welche DMA Puffergröße ist da sinnvoll? Wie erhalte ich dann ein Bild?
Wird der DMA Interrupthandler n-mal ausgeführt? Bildgröße in Bytes = 19200 DMA Puffergröße in Bytes = 512 --> 19200 / 512 = 37 Der DMA Interrupthandler müsste dann 37mal zuschlagen oder?
Du kannst das LCD als Speicher benutzen, das dort angezeigte Bild auslesen und dann an den PC übertragen.
Die Adresse wo das Bild liegt ist 0x68000002. Woher weiß ich genau, wann ein komplettes Bild im Speicher liegt?
Die Reduktion mit JPEG funktioniert bei mir nicht. Wahrscheinlich liegt es an den EInstellungen für die Kamera. Gibt es im Netz eine funktionsfähige Lib?
Entwickler schrieb: > Bildgröße in Bytes = 19200 > DMA Puffergröße in Bytes = 512 > > --> 19200 / 512 = 37 DMA-Transfer_Size muss ein Vielfaches der horizontalen Bildauflösung sein, da nur am Ende einer Bild-Zeile Zeit für Instruktionen besteht. >Woher weiß ich genau, wann ein komplettes Bild im Speicher liegt? Entweder href-Signale zählen oder vsync feststellen
Weiß jemand wie man den Sensor konfigurieren muss, damit im Speicher ein Bild im JPEG Format abgelegt wird? Hab sämtliche Änderungen ausprobiert leider ohne Erfolg.
Entwickler schrieb: > Weiß jemand wie man den Sensor konfigurieren muss, damit im > Speicher ein > Bild im JPEG Format abgelegt wird? Hab sämtliche Änderungen ausprobiert > leider ohne Erfolg. Wenn das Register 0xFF = 00, dann setzt du Register 0xDA = 0x18. Somit hast du RGB565 als JPEG komprimiert...nur falls das mal noch für jemanden interessant ist.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.