Hallo zusammen! Ich schau mir gerade ein C-Projekt an, dass auf einem Cortex M3 läuft. Bei der Initialisierung der GPIOs fällt mir auf, dass diese einen Takt zugewiesen bekommen. 400KHz bis 40MHz kann man da angeben. Für was benötigen GPIOs bitte einen Takt? Was macht das bei einem Output und vor allem Input für einen Sinn? Danke für Eure aufklärenden worte! Viele Grüße Franz
Franz Müller schrieb: > Für was benötigen GPIOs bitte einen Takt? Überhaupt nicht. Es gibt aber eine einstellbare Charakteristik der Port-Treiber, aka Flankensteilheit.
Flankensteilheit!? Das bringt ja nur was bei Datensignalen. Wenn ich damit eine LED ansteuere oder ein CS-Pin, ... Also statische Signale. Wie sieht es dann mit einer PWM aus? Bedeutet langsamere Output (auch bei LED & CO) automatisch niedrigerer Energieverbrauch? Viele Grüße Franz
Wirf mal einen Blick ins Datasheet, bei der elektrischen Charakteristik. Da gibts auch was zu GPIO, in Abhängigkeit von der Einstellung. PS: Ich gehe davon aus, dass es sich beim sorgfältig geheim gehaltenen Controller um einen STM32 handelt.
:
Bearbeitet durch User
A. K. schrieb: > PS: Ich gehe davon aus, dass es sich beim sorgfältig geheim gehaltenen > Controller um einen STM32 handelt. Vielleicht solltest du ihn auch einfach aufklären, dass es keinen Cortex GPIO gibt, sondern nur spezifische GPIOs der Hersteller?
Hallo und guten Morgen! Ja, es ist ein STM32. Hab gedacht das sowas Cortex-spezifisch ist und von daher Herstellerunabhängig. Die Funktionen greifen ja auf auf die "StdPeriph_Lib" zu ... Die scheint dann aber wohl auch nicht Cortex, sonder ST-spezifisch zu sein?!?! Viele Grüße Franz
Der Zustand des Port-Registers wird dann halt nur mit dem Takt auf den Ausgang gelegt. Macht ja keinen Sinn wenn sich ein Zustand nur mit 1kHz ändern soll diesen 40 Millionen mal in der Sekunde aus dem Register auf den Port zu schieben.
Franz Müller schrieb: > Die Funktionen greifen ja auf auf die > "StdPeriph_Lib" zu ... Die scheint dann aber wohl auch nicht Cortex, > sonder ST-spezifisch zu sein?!?! genau. Nur der CMSIS-Teil ist von ARM standardisiert, die Peripheral Treiber sind herstellerabhängig (der Core mit NVIC und SysTick kommt von ARM), und somit gibt es auch von jedem Hersteller eine eigene Library.
Franz Müller schrieb: > Ja, es ist ein STM32. Du bist aber wirklich ein Geheimniskrämer erster Güte. Selbst jetzt wissen wir immer noch nicht, welche Familie der STM32 es ist, vom konkreten Typ ganz zu schweigen. Das GPIO-Modul ist nicht bei allen STM32 gleich.
Steel schrieb: > Der Zustand des Port-Registers wird dann halt nur mit dem Takt auf den > Ausgang gelegt. Es existiert kein Takt, der irgendwas aus dem Output-Data-Register auf den Ausgang legen würde. Das ist statisch.
Das stellt nur die Portcharakteristik ein - am einfachsten kann man sich das als Tiefpass denken. Das dient der Vereinfachung beim EMV-Design. Die Wirkung kann man übrigens schön mit einem Oszilloskop sehen, wenn man bspw. ein Rechtecksignal erzeugt und dann die Charakteristik umschaltet: je geringer die eingestellte "Filter"frequenz, desto weicher werden die Flanken.
Auch sollte immer der Threadtitel mit "STM32" beginnen, dann erhält man deutlich besser Antworten. Da auch schon gleich eher die Leute die sich mit STM32 auskennen darin lesen.
A. K. schrieb: > Franz Müller schrieb: >> Ja, es ist ein STM32. > > Du bist aber wirklich ein Geheimniskrämer erster Güte. Selbst jetzt > wissen wir immer noch nicht, welche Familie der STM32 es ist, vom > konkreten Typ ganz zu schweigen. Das GPIO-Modul ist nicht bei allen > STM32 gleich. Markus Müller schrieb: > Auch sollte immer der Threadtitel mit "STM32" beginnen, dann > erhält man > deutlich besser Antworten. > Da auch schon gleich eher die Leute die sich mit STM32 auskennen darin > lesen. Es sind genau genommen sogar zwei STM32L100 und STM32F207. Bei beiden habe ich gleichen Code gefunden, von daher ging ich aus, dass es Cortex-spezifisch ist. Aus diesem Grund steht auch im Titel "Cortex" und nicht "STM32" Viele Grüße Franz
Franz Müller schrieb: > STM32L100 Guckst du ins Datasheet auf Seite 74. Aufgrund der solcherart eingestellten Flankensteilheit sind die MHz jene Frequenz, die auf dem Portpin maximal auftreten dürfen um vom Signal noch genug abzukriegen. http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00078075.pdf
:
Bearbeitet durch User
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.