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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.