Forum: Mikrocontroller und Digitale Elektronik Cortex: GPIO Clock


von Franz Müller (Gast)


Lesenswert?

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

von (prx) A. K. (prx)


Lesenswert?

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.

von Franz Müller (Gast)


Lesenswert?

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

von (prx) A. K. (prx)


Lesenswert?

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
von Arne Maximilian R. (arnemaximilian_r)


Lesenswert?

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?

von Franz Müller (Gast)


Lesenswert?

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

von Steel (Gast)


Lesenswert?

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.

von Random .. (thorstendb) Benutzerseite


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

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.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

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.

von Franz Müller (Gast)


Lesenswert?

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

von (prx) A. K. (prx)


Lesenswert?

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