Forum: Mikrocontroller und Digitale Elektronik Vorstellung eines STM-Boards in einer Studentenarbeit


von Sven K. (kmario)


Lesenswert?

Hallo, ich habe in einer Studentenarbeit in Messtechnik einen Drehgeber 
mit einem STM32F407-Discovery-Board ausgwertet. Dabei habe ich mich zum 
ersten Mal mit Mikrocontrollern beschäftigt.
Nun bin ich an der Ausarbeitung und möchte zum Beginn des 
Konfigurations/Programmierteils eine kleine Vorstellung des 
Mikrocontrollers machen (vorher habe ich die wichtigsten Daten zum 
Drehgeber erwähnt), nun habe ich aber im Datenblatt eine Überflutung an 
Informationen und weiß nicht, was ich erwähnen soll^^

Verwendet habe ich GPIO-Ein-und-Ausgänge, einen Timer, der den Drehger 
im speziell für diese Anwendung vorgesehenen Encoder-Modus ausliest und 
einen Interrupt beim Überlauf auslöst, sowie einen weiteren Timer, der 
eine Pulsweitenmodulation des Ausgangssignals durchführt. (Die externe 
Clock wurde für beide Timer aktiviert) Das sind soweit die Funktionen, 
die ich verwendet habe...

Von Interesse wäre vielleicht auch die Angabe einer Abtastfrequenz, aber 
kann man die bei einem Interrupt überhaupt genau bestimmen? Zumindest 
auf dem Oszilloskop ist im Mikrosekundenbereich zwischen dem 
Interrupt-auslösenden Signal und dem resultierenden Ausgabesignal kein 
Delay festzustellen^^

Welche Daten könnte ich alle angeben?

von Stefan F. (Gast)


Lesenswert?

Sven K. schrieb:
> STM32F407-Discovery-Board
> Dabei habe ich mich zum ersten Mal mit Mikrocontrollern beschäftigt.

Harter Tobak, gleich zu beginn so einen Boliden zu benutzen.

Ich würde nur die Funktionen detailliert beschreiben, die für deine 
Anwendung relevant sind. Und vielleicht noch kleines bisschen drumherum, 
was du hättest benutzen können.

Du könntest erwähnen, welche anderen Funktionen der Timer hat, worin 
sich die zahlreichen Timer unterscheiden und warum du dich für die eine 
genutzte Funktion entschieden hast. Wobei für mich "einfacher" ein 
durchaus valider Grund wäre. Ich weiß nur nicht, wie dein Prof das 
sieht. Kann ja sein, dass er Wert darauf legt, den schwierigsten Weg zu 
gehen.

Sven K. schrieb:
> Von Interesse wäre vielleicht auch die Angabe einer Abtastfrequenz, aber
> kann man die bei einem Interrupt überhaupt genau bestimmen?

Ich kenne weder deinen Schaltplan noch das Programm. Taktest du denn die 
Eingänge in regelmäßigen Intervallen ab oder zählst du Flanken?

> Zumindest auf dem Oszilloskop ist im Mikrosekundenbereich zwischen
> dem Interrupt-auslösenden Signal und dem resultierenden
> Ausgabesignal kein Delay festzustellen

Da sind wir wohl eher bei der Interrupt-Latenz. Die Frage: Wie viele 
Takte braucht der Mikrocontroller, um die ISR anzuspringen und wie lange 
braucht der Code in der ISR? Ja, das solltest du dokumentieren.

Einige Infos dazu findest du im STM32F4 Referenzhandbuch, ich würde aber 
auch einen Blick in das Buch von Joseph Yiu 
(https://www.amazon.de/dp/0124080820/) werfen.

Hier ist eine ältere Version von dem Buch: 
https://www.eecs.umich.edu/courses/eecs373/labs/refs/M3%20Guide.pdf

Das meiste passt auch auf den Cortext M4. Für mich als C Programmierer 
ist der wesentliche Unterschied zum M3 die FPU. Der erweiterte 
Befehlssatz macht ihn vielleicht etwas schneller, aber ich glaube kaum, 
dass du davon etwas merkst.

Ich würde auf jeden Fall auch beschreiben, welche Features zum 
standardisierten ARM Kern gehören, und was ST drumherum gebaut hat. Und 
ich würde die Möglichkeiten der SWD Schnittstelle incl. SWO Ausgang 
beschreiben, denn die ist ja bei allen ARM basierten Controllern 
identisch und dennoch ein Abgrenzungsmerkmal zu anderen (nicht ARM) 
Mikrocontrollern.

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.