www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32 übertakten


Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich spiele gerade mit meinem STM32 rum. Gerade habe ich die PLL derart 
umkonfiguriert, so dass dieser jetzt statt mit 24MHz jetzt auf 56MHz 
läuft. Weiter hoch ging es leider nicht. Der Controller hat sich dann 
aufgehängt. Hat jemand Erfahrung damit. Läuft der STM32 übertaktet 
stabil? Wie ist es mit  der Peripherie? Läuft diese dann auch schneller, 
z.B. AD-Wandler? Wäre für Infos dankbar. Achso, gibt es eigentlich einen 
PIN auf dem man den internen Takt nach aussen legen kann?

Danke und Gruß,
H

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll das ? Eine CPU muss zuverlaessig laufen, nicht unbedingt 
schnell. Ich wuerd ne andere CPU nehmen, die den passenden Dampf hat.

Autor: Eberhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was der Hersteller in seine Datenblätter schreibt, muss nicht die 
wirkliche Tatsache sein. Atmel-Mitarbeiter bestätigen beispielsweise 
privat eine 100%ige Stabilität bei 20 Mhz-Betrieb von Atmega32-16. Beim 
STM32 wird es ähnlich sein.

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A...aha Soooo. schrieb:
> Was soll das ? Eine CPU muss zuverlaessig laufen, nicht unbedingt
> schnell. Ich wuerd ne andere CPU nehmen, die den passenden Dampf hat.

Wann werden es die Leute endlich kapieren.


EIN MICROCONTROLLER IST KEIN CPU !

Herrgott man kann doch Huhn und Ei auch auseinanderhalten oder 
verwechselt ihr das auch permanent ???

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hört mal. Ich brauch hier keine Klugscheisserei. Bei solchen Kommentaren 
sag ich einfach auf wiedersehen.

Autor: Achim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du die Frequenz der PLL erhöhst muss beim STM32 nicht alles 
schneller laufen. Schau dir mal den Clock Tree im Datenblatt an, der 
beschreibt wie die verschiedenen Clock Signale zusammenhängen. Da siehst 
du auch den MCO Pin, an dem verschiedene Clocks ausgegeben werden 
können.

Warum willst du einen STM32 mit max. 24 MHz übertakten, wenn es auch 
Versionen bis 72 Mhz gibt? Zwar wird die 24 MHz Version auch ein wenig 
schneller noch laufen, aber wie zuverlässig das ist weiß man nicht.

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ja das mit dem MCO-Pin habe ich heraus gefunden. Ich habe den Controller 
übertaktet, damit ich mal ein Gefühl dafür bekomme, wieviel schnell sein 
Bruder mit dem 72MHz sein würde. Bisher bin ich ziemlich begeistert von 
diesem Controller. Für ein professionelle Anwendung würde ich das nicht 
machen, aber zum spielen schon. Ich habe hier einen ziemlich komplexen 
Algorithmus laufen und das Ding hat sich bisher noch nicht verschluckt. 
Außerdem sieht man dann auch mal mit was für Sicherheitsfaktoren die 
Core-Entwickler arbeiten. Außerdem kann es auch gut sein, dass die uCs 
bewüsst aus marktwirtschaftlichen Gründen runter getakten sind bzw. für 
einen niedrigen Takt spezifiziert wurden, damit sich ein höherer Preis 
bei den Schnelleren rechtfertigt.

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nebenbei: Ich habe gerade über die Suchmaschine einen Artikel gefunden, 
wo angeblich ein STM32 mit 72MHz auf 225 (!)MHz erfolgreich übertaktet 
wurde.

Autor: dummy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Außerdem kann es auch gut sein, dass die uCs
>bewüsst aus marktwirtschaftlichen Gründen runter getakten sind

Könnte, hätte, wollte, müsste...
Alles Spekulation. Wenn du willst dann übertakte ihn.
Und leb mit den Nebenwirkungen.

Autor: Herbert Freiauf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Harald schrieb:
> Hört mal. Ich brauch hier keine Klugscheisserei. Bei solchen Kommentaren
> sag ich einfach auf wiedersehen.

der charakterlich schwach anmutende "Lehrmann" ist für derartige 
Kommentare bekannt, ist eine Person die gerne auch mal mit sinnlosen und 
völlig falschen Gesetzeszitaten umsichwirft, bemitleidensert.

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ST verkauft eine CPU mit einem Temperaturbereich von Minus xxx °C bis 
Plus xxx °C. Dabei muss die CPU garantiert mit 72MHz laufen.
Es ist also gut möglich dass bei Zimmertemperatur deutlich mehr drin 
ist, aber sicher nicht über den gesammten Temperaturbereich, bzw. man 
muss den erlaubten Temperaturbereich herabsetzen.

Übrigends lasse ich meinen STM32 meist mit nur 8MHz ohne PLL laufen, das 
reicht für meine Programme in der Regel und spart Strom.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Harald schrieb:

> Weiter hoch ging es leider nicht. Der Controller hat sich dann aufgehängt.

Hattest du dabei das Thema Flash-Waistates auf der Rechnung? Das Flash 
ist nämlich die wahrscheinlichste Bremse.

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man könnte das Programm aus dem Flash ins RAM kopieren, dann im RAM 
geht's weiter und übertaktet die CPU. Dann braucht der keinen Flash 
Zugriff mehr.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar, aber ich habe eher den Verdacht, dass er unfreiwillig ausprobiert 
hat, wie weit er ohne Flash-Waitstate kommt, weil er nicht daran gedacht 
hat.

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wie weit er ohne Flash-Waitstate kommt, weil er nicht daran gedacht
> hat.

stimmt. Daran hab ich wirklich nicht gedacht, obwohl ich erst vor kurzen 
eine Diskussion über den Flaschenhals verfolgt habe.

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@A. K.

Ich habe jetzt zwei Waitstates (mehr geht nicht) eingestellt. Leider ist 
trotzdem bei 56MHz Schluss.

Autor: STM32 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also mein STM32F103ZE6 läuft mit 120 MHz!
Benutzt wird einfach ein multiplier von 10 (bei einem 12 MHz Qurz).
Soweit ich das sagen kann läuft alles sabil und warm wird da nicht viel.
Da Produziert die Hintergrundbeleuchtung von einem 4.3" deutlich mehr 
Hitze!

Also für kritische sachen wüde ich es trotz allem nicht empfehlen, 
möchte jemand aber just for fun eine schnellere CPU, ist das eine recht 
einfache Methode!

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Harald schrieb:

> Ich habe jetzt zwei Waitstates (mehr geht nicht) eingestellt. Leider ist
> trotzdem bei 56MHz Schluss.

Prüf mal nach ob diese Einstellung überhaupt greift. Müsste sich 
beispielsweise bei der Laufzeit einer 2-Befehls-Schleife
1: subs rx,rx,#1
   bne 1b
spürbar auswirken.

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe inzwischen auch gelesen, dass das mit dem 103er problemlos 
geht. Ich vermute, das A.K. mit dem Flash recht hat. Möglicherweise ist 
bei denen ein schnellerer Flash drin. Aber zum spielen reicht mir das 
hier auch eigentlich. Gegen die STM32 und auch STM8 sehen die Mega AVRs 
erstmal alt aus. Aber der Vergleich ist auch nicht fair.

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin ziemlich sicher, dass die Dies alle vom selben Waver stammen. In 
der Fertigung werden sie dann geprüft, und entsprechend dem Ergebnis auf 
die eine oder andere maximale Frequenz eingestuft. Da kann der 
Hersteller dann noch ein bischen mischen, z. B. 72MHz-Typen als 
20MHz-Typen labeln etc. Damit er von allen Sorten ausreichend hat. Ich 
schätze, so wird es gemacht. Stephan.

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Prüf mal nach ob diese Einstellung überhaupt greift.
Meinst Du, dass ich möglicherweise die Einstellung an der falschen 
Stelle vornehme? Also compiliert wird die Einstellung. Ich habe extra 
einen Fehler eine Zeile später eingebaut um zu sehen, ob der Compiler es 
auch mit compiliert.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Harald schrieb:

>> Prüf mal nach ob diese Einstellung überhaupt greift.

> Meinst Du, dass ich möglicherweise die Einstellung an der falschen
> Stelle vornehme?

Wäre immerhin denkbar, dass ST beim Ein"brennen" des exakten Modells 
eine Sperre eingebaut hat. So dass das Register zwar existiert, aber 
nicht greift.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stephan schrieb:

> Ich bin ziemlich sicher, dass die Dies alle vom selben Waver stammen. In
> der Fertigung werden sie dann geprüft, und entsprechend dem Ergebnis auf
> die eine oder andere maximale Frequenz eingestuft.

Das sind keine PC-Prozessoren. Da die Fertigungstechnik solcher 
Bausteine schon etwas älter und dementsprechend eingefahren ist, tippe 
ich eher darauf, dass entsprechend dem nach aktuellem Bedarf 
eingestellten Fertigungsprofil getestet wird und der Ausschuss im Müll 
landet. Die reine Fertigung des Dies ist anteilig nicht so arg teuer und 
das dürfte logistisch einfacher sein und eine einfachere Testprozedur 
erfordern als ein Rebinning der wenigen Dies, die dadurch geretten 
würden.

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm. Tatsächlich. Im Debugger kann ich das Register FLASH_ACR_LATENCY 
beobachten. Egal was ich einstelle es bleibt auf null. Ich hatte auch 
vermutet, dass die PLL vielleicht nicht mehr einrastet. Dann ist dieses 
Register irgendwie nur Read-Only.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um welchen Typ geht es eigentlich? Die F101 Typen aufwärts gibt es m.W. 
nur ab 36MHz, ein offizielles 24MHz Limit spricht also für die F100 
Reihe und da sind diese Bits als "reserved" dokumentiert.

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na dann ist alles klar. Es ist ein STM32F100RB.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stephan schrieb:

> Ich bin ziemlich sicher, dass die Dies alle vom selben Waver stammen.

Für die Typen 101-103 dürfte das zutreffen, die 101 und 102 sind 
niedriger getaktete Subsets der 103er und wohl intern die gleichen 
Chips, lediglich unterschieden in 4 Varianten von Speicherkapazität 
(32/128/512/1024) und Pincount (64/100/144/144).

Die 100er, die es nur als 24MHz Typen gibt, sind jedoch kein Subset 
(CEC/HDMI-Schnittstelle), d.h. die sind technisch verschieden.

Autor: Robert Teufel (robertteufel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein paar Kommentare zu diesem Thread.
1. Uebertakten geht meistens und auch irgendwann schief.
2. Bitte gleich zu Beginn den genauen Typen angeben, also F101, F103... 
erspart viele unnuetze Beitraege.
3. Fuer "reserved" bits gibts zwei generelle Moeglichkeiten.
3a. Im Abschlusstest beim Hersteller werden die fix auf einen Wert 
geschrieben ohne Aenderungsmoeglichkeit
3b. Die sind tatsaechlich nicht implementiert
Version 3a ist viel wahrscheinlicher
4. Beim Uebertakten wird meist nur die CPU mit Speicherzugriff auf 
Zuverlaessigkeit getestet. Die Peripherie kann genausogut bei hoeherem 
Takt ploetzlich merkwuerdige Dinge machen.
5. Das Argument mit Spezifikation bei hoher Temperatur ist sicher 
richtig, allerdings lassen sich damit nur ein paar Prozent 
Leistungssteigerung herauskitzeln. Also ein 125C Typ der mit 72 MHz 
spezifiziert ist und dort "gerade noch" zuverlaessig laeuft, laesst sich 
locker bei 25C mit 75 MHz betrieben, wahrscheinlich auch bei 80 MHz aber 
sicher nicht bei 100 MHz.

A.K. hat auch recht mit dem binning (Datum: 14.11.2010 10:10). Bei MCUs 
wird in aller regel kein binning gemacht, d.h. was bei 72 MHz 
durchfaellt, fliegt in den Muell, nicht in den 24 MHz Korb. Testzeit und 
logistischer Aufwand sind ein signifikanter Bestandteil des 
Endkundenpreises.

Gruss, Robert

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.