Forum: Mikrocontroller und Digitale Elektronik Kamera-Modul an STM32F4xx


von newbugstm (Gast)


Lesenswert?

Guten Abend,

ich habe noch keine Erfahrung im Bereich Micro-Controller und 
Hardware-Auswahl, daher ist diese erste Beschreibung etwas schwammig. 
Ich lese mich parallel zu diesem Thread ein.

Ich möchte ein einfaches, sehr schlichtes Kameramodul an einen STM32F4xx 
im LQFP-64 Gehäuse anschließen. Mit der Kamera sollen lediglich Bilder 
aufgenommen werden (Raw) und auf dem µC soll eben eine Verarbeitung 
stattfinden.

Meine Fragen und ersten Gedanken:

Der µC wird externen Speicher brauchen.

Habt ihr vielleicht günstige Empfehlungen für Kameramodule? Die 
Möglichkeit zur Raw-Aufnahme sollte da sein.

Nach erstem Blick durch das Datenblatt bietet der STM eine 
USB-Schnittstelle.
Daher eignet sich eben ein Kameramodul mit USB, vielleicht sogar eine 
Webcam?

Ich habe gesehen, dass bei sehr vielen Modulen eine 
MIPI-CSI-Schnittstelle angeboten werden.
Ist es ohne allzu viel Aufwand möglich, daraus auf USB zu gehen? Ist es 
notwendig, um die Daten auf dem µC zu verarbeiten.


Wenn man so oberflächig im Thema ist, ist es leider schwer konkrete 
Fragen zu stellen. Ich hoffe, dass ich bei Rückfragen konkreter werden 
kann.

Ich erwarte natürlich keine KOmplettlösung, aber vllt hat ja jemand 
Tipps, wo man sich die Grundlagen dazu erlesen kann oder oder

Freundliche Grüße

von holger (Gast)


Lesenswert?

>ich habe noch keine Erfahrung im Bereich Micro-Controller und
>Hardware-Auswahl

Dann fängt man ganz bestimmt nicht mit einer Kamera am Controller an.
Eher mit einer blinkenden LED.

von Nop (Gast)


Lesenswert?

USB auf STM32.. oh je.

von holger (Gast)


Lesenswert?

>>ich habe noch keine Erfahrung im Bereich Micro-Controller und
>>Hardware-Auswahl
>
>Dann fängt man ganz bestimmt nicht mit einer Kamera am Controller an.
>Eher mit einer blinkenden LED.

Noch vergessen: Mit einer Kamera an einem Raspberry Pi bestünde 
zumindest
die Möglichkeit einer Chance das du da was mit machen kannst;)

von newbugstm (Gast)


Lesenswert?

Nop schrieb:
> USB auf STM32.. oh je.

Hallo, könntest Du bitte kurz erläutern, was du damit meinst?

Das ist jetzt nur aus dem Deckblatt des Datenblatts:

 Advanced connectivity
– USB 2.0 full-speed device/host/OTG
controller with on-chip PHY
– USB 2.0 high-speed/full-speed
device/host/OTG controller with dedicated
DMA, on-chip full-speed PHY and ULPI

von Nop (Gast)


Lesenswert?

newbugstm schrieb:
> Hallo, könntest Du bitte kurz erläutern, was du damit meinst?

Die Hardware ist schon OK, das kann ST schon gut. Das Problem ist die 
Softwareseite. Der Stack von ST selber ist alles andere als überzeugend, 
und das selber zu machen ist für einen Anfänger IMO nicht umsetzbar.

von Armstar (Gast)


Lesenswert?

holger schrieb:
> Noch vergessen: Mit einer Kamera an einem Raspberry Pi bestünde
> zumindest
> die Möglichkeit einer Chance das du da was mit machen kannst;)

Denke Raspberry Pi ist da fast schon "trivial" mit Modell 3 und den 
gängigen Tutorials.
Da ginge ja echt eine x-beliebige Webcam

von newbugstm (Gast)


Lesenswert?

Erstmal danke für die Antworten.

Also Blinklichter und A/D-Wandlungen habe ich schon über Microcontroller 
laufen lassen. Mit dem Raspberry Pi habe ich auch schon mit einer Kamera 
gearbeitet, allerdings wird man hier ja schon geleitet.

Das wäre jetzt die erste Aufgabe, die nicht per Kurzlösung umsetzbar 
ist. Ich muss mir hier mehr zusammenbauen.

Allerdings hätte ich so auf Anhieb gedacht, dass es von erfahrenen 
Nutzer grundsätzlich ein Schema dazu gibt.

Was ist das wesentliche Problem bei der Verbindung 
Kamera/Microcontroller?
Was bedeutet der "schlechte" Stack für mich?

Gruß

von diodetobi (Gast)


Lesenswert?

Was spricht gegen DCMI der STM32F4x7?

von Sebastian (Gast)


Lesenswert?

USB-Kamera am STM32 ist ziemlich sicher der falsche Weg. Bestimmte Typen 
haben ein paralleles Kamerainterface (+ I2C zur Konfiguration des 
Kameramoduls), damit läßt sich einiges machen. Als Anfänger braucht man 
allerdings eine solide Frustrationstoleranz, um sich mit solchen Themen 
auseinanderzusetzen.

von Stefan K. (stefan64)


Lesenswert?

Schau Dir mal OpenMV an, das benutzt eine Kamera am STM32Fxx.

Das Problem, das Du immer hast:
Das interne RAM des STM32F4xx ist für hohe Auflösungen zu gering. Ein 
320*240 Pixel Image hat bei 8+8+8Bit Pixelauflösung schon knapp 240kByte 
Speicherverbrauch, das passt in die größten STM32F4xx gerade so rein.

Gruß, Stefan

von newbugstm (Gast)


Lesenswert?

Hallo, vielen Dank für eure Antworten.


Sebastian schrieb:
> USB-Kamera am STM32 ist ziemlich sicher der falsche Weg. Bestimmte
> Typen
> haben ein paralleles Kamerainterface (+ I2C zur Konfiguration des
> Kameramoduls), damit läßt sich einiges machen. Als Anfänger braucht man
> allerdings eine solide Frustrationstoleranz, um sich mit solchen Themen
> auseinanderzusetzen.


Ich habe die Anforderung, dass ich einen relativ langen Weg (ca.2-3m) 
überbrücken muss und habe daher eine parallele Schnittstelle erstmal 
ausgeschlossen.

Außerdem habe ich durch USB auf eine einfache Webcam gehofft.

An und für sich hätte ich dafür aber was hier im Forum gefunden.

diodetobi schrieb:
> Was spricht gegen DCMI der STM32F4x7?

hm, das wäre ja auch parallel. Ich sehe, dass sehr viele Leute was 
darüber machen, aber ich habe das noch nicht ganz durchschaut - werde 
mich da einlesen. Brauche eben eine lange Leitung

Stefan K. schrieb:

>
> Das Problem, das Du immer hast:
> Das interne RAM des STM32F4xx ist für hohe Auflösungen zu gering.

Gut, das ist klar. Hatte ich im Eingangspost kurz erwähnt


Vielleicht mal eine andere Herangehensweise:

Sagen wir mal ich möchte eine USB-KAMERA an einen MICRO-CONTROLLER 
anschließen: welchen würdet ihr empfehlen?

von Patrick B. (p51d)


Lesenswert?

diodetobi schrieb:
> Was spricht gegen DCMI der STM32F4x7?

Ich hatte einmal den Versuch mit DCMI des STM32F4 Discovery und einem 
OV9655 Kameramodul gemacht. Da das RAM zu klein war, wollte ich die 
Daten per USB and den PC senden. Leider hat ST aber einen riesen BUG was 
der DMA anbelangt (ich finde gerade den Eintrag im Errata nicht mehr): 
Sobald eine hohe Datenmenge von mehreren DMA Kanälen übertragen werden 
muss, schmiert das ganze ab. Ich habe da sicher 3 Monate mit diesem 
saudoofen HW Fehler verbracht (wer sucht schon den Fehler beim 
Controller).

@ newbugstm
Für ein Schulprojekt habe ich dann das selbe Kameramodul an ein 
STM32F429 Discovery angeschlossen (hat schon externes RAM verbaut). 
Leider war hier eine riesige Bastelaktion nötig, da die Pins ohne 
Konzept belegt wurden. Das I2C zum Steuern der Kamera musste ich selber 
nachbilden. Ebenso musste ich die Kamera selber initialisieren (das 
Datenblatt ist komplett unbrauchbar), da die Beispiele für die komplette 
Auflösung fehlten.
Auch mussten diverse Funktionen in Assembler geschrieben werden, damit 
der Controller das verkleinerte Bild auf dem Display darstellen konnte.

Wegen der langen Leitung... Ist doch kein Problem: Der uC sitzt beim 
Kameramodul (also 2-3cm Leiterbahnen bei >50MHz). Die Daten werden dann 
über ein USB oder Ethernet versendet.

Unterm Strich: Wenn du wenig Anhung von uC, Datenblättern und Löten 
hast, dann nimm ein Raspberry und ein Kameramodul. Da musst du weder 
basteln noch mühsam in den Datenblättern herumsuchen (was sehr 
Zeitaufwendig ist, wenn sie nichtmal stimmen). Ausserdem werden dir 
durch das OS gleich Filesystem, USB- und Ethernet-Stack mitgegeben.

Nochwas: Wieso kaufst du dir nicht gleich eine Web-Cam? Die kosten doch 
heute fast gleich viel wie du für die Hardware eines Eigenbau-Projektes 
ausgeben würdest.

: Bearbeitet durch User
von Josef S. (josef2)


Lesenswert?

@Patrick B.:
Hast Du Dein Projekt bzw. beide Projekte irgendwo dokumentiert?
Ich hätte großes Interesse daran.

Viele Grüße
Igel1

von stm32cam (Gast)


Lesenswert?


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.