STM32 übertakten

Gast #1936315
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
Gast
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.
Gast
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.
Gast
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.
Gast
>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.
Gast
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.
(Firma: EleLa - www.elela.de)
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.
Gast
> 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.
Gast
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!
Gast
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.
Gast
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.
Gast
> 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.
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.
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.
Gast
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.
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.
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

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.