Hallo, ich habe die OV2640 Kamera an meinen STM32f407 angeschlossen. Nachdem ich diverse Probleme hatt, (Es funktionierte immer nur die Auflösung 320x240). Nun habe ich das ganze auf JPEG umgestellt. Nun bekomme ich aus der Kamera einen für mich nicht zu identifizierenden Binärblob. Wenn ich die auflösung ändere, verändert sich die Größe wie zu erwarten. Anscheinend wird an den Beginn der Datei ein fixer Header geschrieben. Da wo bei einer jpeg JFIF steht steht in dieser angeblichen JPEG datei BFAF. Sagt jemandem von euch das was? Ist das vielleicht gar kein JPEG sondern was anderes? wenn dann was? Habe mal eine solche Datei angehängt. Gruß EDIT: Bitte die .dat datei nehmen, das jpeg kann man nicht öffnen
So habe nun rausgefunden, das das 4. bit von 16 Bit immer 0 ist. Dachte zuerst an einen HW defekt und habe ein weiteres Board von ST ausprobiert. Hier kam ich zum gleichen Ergebnis. Hat jemand ne Idee woran das liegen könnte?
Hi, manche Sensoren spucken ja einen rohen JPEG-Stream aus, aber ich glaube mich zu erinnern, dass dem beim OV2640 nicht so war, sondern im Header einige Stream-Infos standen, dann die Quantisierungstabellen und der rohe JPEG-Stream nachgeliefert wurden. Erstere sieht man im Hexdump immer schnell an aufsteigenden Zeichenfolgen. Steht im Datenblatt nix zu? Grüsse, - Strubi
hm das Problem ist ja, dass der Header bereits fehlerhaft ist. Wie gesagt, immer das 4. Bit von 16 Bit ist 0. Dadurch steht im Header dann nicht wie normalerweise JFIF sondern BFAF. Ich denke eher, dass hier ein generelles Übertragungsproblem vorliegt. Kann man so was irgendwo einstellen? Mein Problem ist, dass im Datenblatt was ich habe nur sehr wenige Register beschrieben sind. Die vorgefertigten Blöcke, die ich in die Kamera schiebe enthalten jedoch Register, die im Datenblatt als Reserved markiert sind. Wenn ich jetzt diese aus dem Datenblop lösche, funktioniert garnix mehr, sie sind also notwendig. Das macht es für mich schwehr das zu durchsteigen.
Rohe Daten mit 320x240 scheinen ja zu funktionieren. Kannst du mal kontrollieren, ob das Verhalten (4. Bit immer Null) da auch auftritt? Dann lässt das ja schonmal auf ein generelles ÜBertragungsproblem schließen.
Ja das tritt da auch auf in den Rohdaten. Ich dachte zuerst auch, dass es dann ein HW Problem sein muss. Habe jetzt das Board getauscht. Gleiches verhalten. Dnn habe ich die Datebusleitungen mit dem Oszi angeguckt. das sieht soweit auch ok aus. Komisch ist, dass der Datenbus 8 Bit breit ist, das Phänomen aber nur alle 16 Bit auftritt. Ich nutze zum Auslesen einen DMA Stream. (DMA2_Stream1) und speichere alles in ein externes RAM.
So habe die Lösung, Der DMA2_Stream1 hat en Problem mit dem externen RAM. Das ist auch so im Errata dokumentiert. Speicher ich das Bild im internen Ram dann geht es. Gruß
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.