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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Sven K. (kmario)


Bewertung
0 lesenswert
nicht 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. (stefanus)


Bewertung
1 lesenswert
nicht 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.

: Bearbeitet durch User

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]
  • [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.