Forum: Mikrocontroller und Digitale Elektronik STM32F4 overclocken


von Thomas R. (Gast)


Angehängte Dateien:

Lesenswert?

Laut Datasheet ist der STM32F4xx bis 168 MHz spezifiziert.
Die PLL lädt aber geradezu zum Overclocken ein!
Bei PLL_M = 511 - entspricht SYSCLK = 250.5 MHz schmiert er bei mir nach 
ein paar Sekunden ab.
Bei PLL_M = 480 - entspricht SYSCLK = 240 MHz konnte ich noch keine 
Fehlfunktion feststellen - siehe Bilder.
Hat noch jemand Erfahrung im Overclocken des STM32F4?

: Verschoben durch Moderator
von Peter D. (peda)


Lesenswert?

Was hat das jetzt mit GCC zu tun?

Warum nimmst Du nicht einfach einen passenden MC, der für Deine 
gewünschte Taktrate spezifiziert ist?


Peter

von Thomas R. (Gast)


Lesenswert?

Es wurde mit GCC unter CoIDE compiliert und eine Rubrik "ARM-Cortex" 
gibt es hier noch nicht.
Wo gibt es eine genauso preiswerte und praktische Plattform wie das 
STM32F4-Discovery-Board (ca. 15€ bei RS-online) mit einer höher 
spezifizierten Clockfrequenz als 168 MHz?

von Willi (Gast)


Lesenswert?

Thomas R. schrieb:
> Bei PLL_M = 480 - entspricht SYSCLK = 240 MHz konnte ich noch keine
> Fehlfunktion feststellen - siehe Bilder.

Nur wem nutzt das?
Wenn Du so etwas in Serie produzierst, werden Deine Kunden die 
Fehlfunktionen feststellen. Wenn Du höhere Leistung brauchst, dann nimm 
einen schnelleren Prozessor oder programmiere in Assembler :-)

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Diskussion zum Übertakten von Controllern sind unabhängig vom Compiler 
=> nach µC+Dig.-Elektr. verschoben

von holger (Gast)


Lesenswert?

>Diskussion zum Übertakten von Controllern sind unabhängig vom Compiler
>=> nach µC+Dig.-Elektr. verschoben

Das war jetzt aber nicht konsequent!
Ich hätte das in Offtopic gepackt;)

von holger (Gast)


Lesenswert?

Eine Kleinigkeit könnte ich aber schon zu dem Thema beitragen;)
Ich hatte den APB1 mal auf 84MHz gestellt und dann ein
SPI Display am APB1 mit 42MHz angesteuert. Das funktionierte.
Hab dann aber gelesen das APB1 nur mit max. 42MHz betrieben
werden sollte und das Display dann an SPI am APB2 angeschlossen.

Auf einer japanischen Seite hat dann auch mal jemand SDIO übertaktet.
Die Seite müsste ich aber jetzt selber erst mal wieder suchen.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Wo ich gerade die Bilder betrachte, eine Frage an Thomas:

Wie bist Du mit dem Board und den Zusatzplatinchen von WaveShare 
zufrieden?

Bei ebay gibt es das komplette Set ja wirklich günstig (109 Euro) und 
die Vielfalt ist schon praktisch.

Deswegen würden mich Erfahrungen interessieren :-)

Chris D.

von Thomas R. (Gast)


Lesenswert?

Hallo Chris,
das Motherboard mit allen ca. 15 Peripherieplatinen habe ich bei ebay 
gekauft.
Die Lieferzeit betrug ca. 4 Wochen, das dürfte am deutschen Zoll liegen. 
Ich musste das Päckchen dort abholen und dort noch die MWSt bezahlen.
Eine Rechnung war nicht im Päckchen, so musste ich den Kaufpreis mit 
Hardcopies von ebay belegen.
Die Qualität der Platinen ist ok, von der mitgelieferten Software habe 
ich nichts - so wie sie war - zum Laufen gebracht.
Die IRQ-Leitung des Touchpanels ist mit PC5 verbunden - und meines 
Wissens ist PC5 nicht als IRQ zu gebrauchen (???), sodass ich PC5 mit 
PC0 verbinden musste und nun das Touchpanel IRQs auslösen kann.
Von den anderen Periherieplatinen habe ich bisher nur UART->USB in 
Betrieb genommen, das funktioniert.
Die anderen Platinen werde ich erst jetzt Schritt für Schritt in Betrieb 
nehmen.
Um möglichst schnell zu eigenen Applikationen zu kommen, ist das Set auf 
jeden Fall empfehlenswert.
Das Touch-Display gibt es auch einzeln, ich habe noch ein paar davon 
nachbestellt.
Beste Grüsse
Thomas

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


Lesenswert?

Funktioniert die CPU mit 240 MHz auch noch bei 85°C ?
Was für ein Flash Waitstate wurde eingestellt?

von Thomas R. (Gast)


Lesenswert?

Markus Müller schrieb:
> Funktioniert die CPU mit 240 MHz auch noch bei 85°C ?
nein, definitiv nicht!
> Was für ein Flash Waitstate wurde eingestellt?
0 waitstates

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Thomas R. schrieb:
> Hallo Chris,
> das Motherboard mit allen ca. 15 Peripherieplatinen habe ich bei ebay
> gekauft.
> Die Lieferzeit betrug ca. 4 Wochen, das dürfte am deutschen Zoll liegen.
> Ich musste das Päckchen dort abholen und dort noch die MWSt bezahlen.
> Eine Rechnung war nicht im Päckchen, so musste ich den Kaufpreis mit
> Hardcopies von ebay belegen.

Ja, so ist das bei den Chinesen - Du kannst ihnen tausend Mal schreiben 
oder am Telefon erklären, dass es Dir nichts ausmacht, wenn es teuer 
deklariert ist, weil Du die USt. eh wiederkriegst: es hilft nichts, 
immer wieder "Sample" oder "Gift" für $5. Klar zieht der Zoll das raus 
und ich oder mein MA müssen hin und vor Ort auslösen. Das nervt.

Nur mit unserer Seefracht (LCL) hat das bisher reibungslos funktioniert 
;-)

> Die Qualität der Platinen ist ok, von der mitgelieferten Software habe
> ich nichts - so wie sie war - zum Laufen gebracht.

Ah, da gibt's Software? :-)
Welche setzt Du denn jetzt ein?

> Die IRQ-Leitung des Touchpanels ist mit PC5 verbunden - und meines
> Wissens ist PC5 nicht als IRQ zu gebrauchen (???), sodass ich PC5 mit
> PC0 verbinden musste und nun das Touchpanel IRQs auslösen kann.
> Von den anderen Periherieplatinen habe ich bisher nur UART->USB in
> Betrieb genommen, das funktioniert.
> Die anderen Platinen werde ich erst jetzt Schritt für Schritt in Betrieb
> nehmen.
> Um möglichst schnell zu eigenen Applikationen zu kommen, ist das Set auf
> jeden Fall empfehlenswert.

Ja, ich denke, ich werde da auch mal zuschlagen - wirklich schön 
flexibel. Gefällt mir :-) Und für den Preis: geschenkt

> Das Touch-Display gibt es auch einzeln, ich habe noch ein paar davon
> nachbestellt.

Ich habe gerade mal in deren ebay-Shop geschaut - für das Geld ist das 
wirklich fair. Allerdings gibt es da zwei (fast?) identische Displays 
mit unterschiedlichen Fotos:

ebay 250906574590

ebay 261053931637

Ist das eine nur eine Revision oder sind die tatsächlich 
unterschiedlich?
Oder bin ich blind? :-)

> Beste Grüsse
> Thomas

Vielen Dank für die Rückmeldung. Es gibt bestimmt noch mehr, die das 
interessiert.

Chris D.

von Lukas H. (1uk3)


Lesenswert?

>Ist das eine nur eine Revision oder sind die tatsächlich
>unterschiedlich?

Die eine Version hat auf beiden Seiten Anschlüsse(alles doppelt), die 
andere nur auf einer.

Meine Displays sind gestern nach 2Wochen Lieferzeit gekommen.
Zoll hab ich für 3Stück nicht gezahlt (~50€, auf der Schachtel steht 30€ 
^^)

von Thomas R. (Gast)


Angehängte Dateien:

Lesenswert?

Chris D. schrieb:

> Ah, da gibt's Software? :-)
> Welche setzt Du denn jetzt ein?

Bei dem Paket kommt eine DVD mit 2.8GB und knapp 50000 Dateien mit:
Datasheets aller verwendeten Komponenten, Beispielcodes etc...
Die Beispielprojekte habe ich nicht zum Laufen gebracht - ich bin vom 
Hundertsten ins Tausendste gekommen - und habe das dann erstmal 
aufgegeben und neu angefangen.
Also:
Compilieren, Linken und Flashen und alles funktioniert - geht nicht!
Die C-Sourcen sind teilweise schon etwas gewöhnungbedürftig - Chinesen 
ticken halt anders.
Inzwischen funktionieren bei mir:
GLCD, Touchpanel, RTC, ADC, Random-Generator und der 
MEM-accelleration-Sensor.
Dabei haben mir die Beispiele von STM am meisten geholfen.

Die beiden Bilder zeigen meine Wasserwaage unter Verwendung des 
STM32F4-Discovery-Beschleunigungssensors.
Die schafft ca 100 grafische Updates/sek, die danebenliegende 
Android-App ca 5 Updates/sek.
Ich habe auch mal ein Arme-Leute-Oszilloscop mit dem Board programmiert:
Messen-Grafikupdate-Messen-Grafikupdate-Messen-Grafikupdate....
Ein Sweep von links nach rechts mit 320 12-Bit-Wandlungen in 1 ms sind 
kein Problem (inkl. grafischem Update auf dem GLCD). Mit den ADCs sind 
natürlich Abtastraten von mehreren MHz möglich, bei meiner 
QuickAndDirty-Anwendung war natürlich das Display das Nadelöhrchen.

> Ist das eine nur eine Revision oder sind die tatsächlich
> unterschiedlich?
> Oder bin ich blind? :-)
>
Hier auf die grünen Pfeile klicken, da gibts Infos: 
http://www.wvshare.com/column/LCD_Module.htm

Beste Grüsse
Thomas

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Sehr schön :-)

Übrigens sind die wirklich flott:

Am 18.9. per ebay/PayPal geordert (das für 136 Dollar) - und heute 
eingetroffen.

Alle Platinen sind nach einer ersten Sichtprüfung sauber aufgebaut - vor 
allem sind überall die Signalnamen aufgedruckt - sehr angenehm!

Übrigens kam das Päckchen mit korrekter Warendeklaration und Rechnung - 
ich bin noch ganz geschockt (naja, USt. gibbet es ja für uns wieder)

Mein Mitarbeiter wirft schon begehrliche Blicke auf das Teil ;-)

Chris D.

von Wilhelm F. (Gast)


Lesenswert?

Thomas R. schrieb:

> Laut Datasheet ist der STM32F4xx bis 168 MHz spezifiziert.
> Die PLL lädt aber geradezu zum Overclocken ein!

Das kann man versuchen, so lange man Raumtemperatur hat. Geh mal mit dem 
Fön dran, etwas über 30 oder 40°C, wenn du etwas overclocked hast.

Mit einem SiLabs-Board, was normalerweise um die 80MHz macht, die PLL 
aber Einstellungen über 100MHz erlaubt, probierte ich das mal. Na ja, 
bei zunehmender Erwärmung blieb es irgendwann stehen.

Overclocken liegt halt außerhalb der sonstigen Randbedingungen.

von Wilhelm F. (Gast)


Lesenswert?

Standard-8051-er, die für 12MHz spezifiziert sind, kann man auch 
gelegentlich bis zu 32MHz takten. Der Hersteller garantiert aber für die 
12 MHz, daß dort in absehbarer Zeit nie ein Bitfehler intern auftritt.

Ein Auto kann man auch nur im Motor alleine auf 50% mehr Leistung tunen. 
Man darf sich aber dann nicht wundern, wenn das Getriebe nach 10.000km 
defekt ist. Oder Fahreigenschaften und Bremsverhalten der neuen Leistung 
nicht so ganz gerecht wird.

von Dirk B. (garag)


Lesenswert?

Moin moin,

ich wollte an das STM32F4 Discovery Board ein Display (SD1289) über FSMC 
anschliessen. Wie habt ihr denn das Timing eingestellt ?

Gruß
Dirk

von benwilliam (Gast)


Lesenswert?

hier ist ein Beispielprojekt mit chibiOS + STM32F4 und ssd1289 +ber FSMC

https://github.com/Tectu/ChibiOS-GFX/blob/master/drivers/gdisp/SSD1289/ssd1289_lld.c.h

von vampire (Gast)


Angehängte Dateien:

Lesenswert?

Nur mal zur Erbauung für Open407V-D Besitzer.
Benötigt LCD. Mit STM32 ST-Link Utility flashen.
Wenn ich die Sourcen fehlerfrei anbieten kann, stelle ich sie (bei 
Bedarf) hier ein.
Ich bin dabei, die Programme sinnvoller zu belegen!

von Thomas R. (Gast)


Angehängte Dateien:

Lesenswert?

Aus Spass an der Freude und weil es so schön ist, habe ich ein 
Progrämmlein gemacht, welches die relative Chiptemperatur des ST32F4 bei 
verschiedenen SysClocks darstellt:
0.5 MHz
168 MHz
255 MHz
Gemessen wird über den integrierten ADC_Channel_TempSensor.
Entsprechend der thermischen Zeitkonstante des Chips dauert ein Scan 50 
Sekunden.

von stm (Gast)


Lesenswert?

Interessant!

auf der y-Achse fehlen noch die Temperaturen. Kannst du die noch 
anfügen?

von Thomas R. (Gast)


Lesenswert?

Jetzt wollte ich die absoluten Chiptemperaturen aus den ADC-Werten 
berechnen.
Dies geht aber nicht!
STM schreibt:
Interne Referenz VREFINT = 1.21 V
ADC-Spannung des Temperatursensors bei 25°C = 0.76 V
Slope: 2.5 mV/°C

Danach müsste der ADC-Wert bei 25°C bei 2573 liegen.

Meine im obigen Experiment gemessenen ADC-Werte liegen aber zwischen 
938...945.
Der ADC steht auf 12-Bit-Auflösung, Vrefint ist eingeschaltet.
Nach dem probeweisen Umschaltung auf 10-Bit-Auflösung liegen die 
ADC-Werte zwischen 234 und 237.
Wird Vrefint abgeschaltet, so liegen die ADC-Werte immer bei 0.
ADC_DataAlign = ADC_DataAlign_Right
Mit ADC_DataAlign = ADC_DataAlign_Left liegen die ADC-Werte bei ca 
6800...7000.
Das ist logisch.
Was mache ich falsch oder muss ich den Chip umtauschen?????
Bei einem anderen Chip liegen die ADC-Werte etwa um +10 höher, also bei 
948..955.

Beste Grüsse
Thomas

von Artjomka (Gast)


Lesenswert?

Thomas, ich habe zwar gerade erst mit dem STM angefangen, habe aber auch 
das STM32 discovery board. Dort ist der VREF Eingang mit VDD (3,3V) 
verbunden.

Soweit ich weiss, gibt es keine Möglichkeit die interne Referenzspannung 
zu nutzen, oder?

Mit 3,3V als Referenzspannung kommt dann auch 943 als ADC-Wert raus, was 
besser passen sollte.

von Thomas R. (Gast)


Lesenswert?

Artjomka schrieb:
> Soweit ich weiss, gibt es keine Möglichkeit die interne Referenzspannung
> zu nutzen, oder?

Das liest sich plausibel.
Offensichtlich hatte ich als Referenz 3.3 V und nicht, wie angenommen 
1.21 V.
Damit würden auch meine ADC-Werte wieder passen.
Ich muss das mal bei Gelegenheit abklären - z.Zt. bin ich aber 
anderweitig beschäftigt ;-)
Danke für den Hinweis!

von Marius S. (lupin) Benutzerseite


Lesenswert?

VREF ist beim STM32 mit 3V verbunden. Über U3 werden zwar 3V3 erzeugt, 
aber über D3 werden daraus 3V. Welchen Sinn die Diode hat (außer die 
Spannung ungenau zu machen...) erschließt sich mir noch nicht?!

Eventuell reicht es R23 zu entfernen um die 1.21V Referenz zu nutzen.

von wusel (Gast)


Lesenswert?

> VREF ist beim STM32 mit 3V verbunden. Über U3 werden zwar 3V3 erzeugt,
> aber über D3 werden daraus 3V. Welchen Sinn die Diode hat (außer die
> Spannung ungenau zu machen...) erschließt sich mir noch nicht?!

Ich denke mal, dass es sich um eine Schutzdiode handelt, wenn das dingen 
gleichzeitig an USB und an einer externen Stromversorgung betrieben wird 
gäbs sonst nen Kurzen.

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.