Forum: Mikrocontroller und Digitale Elektronik STM32F103C8T6 Blue Pill übertakten


von 00Z (Gast)


Lesenswert?

Hallo.

Kann man eigentlich den STM32F103C8T6 auch ohne den externen Oszi des
Blue Pill übertakten? Und ja ich weiß dass Übertakten technisch keinen
Sinn ergibt, aber ich wills aus reinem Spaß an der Sache trotzdem 
versuchen.
Wie man den STM über den externen Oszi übertaktet steht im Internet, nur
interessiert mich, ob das auch mit dem Internen geht, oder ob mit dem 
bei 72 Mhz schluss ist?

von m.n. (Gast)


Lesenswert?

00Z schrieb:
> Wie man den STM über den externen Oszi übertaktet steht im Internet,

Da ist es gut aufgehoben.
Du solltest Dir schon die Mühe machen, es selber zu verstehen. Dann 
erübrigt sich auch Deine Frage.

von 00Z (Gast)


Lesenswert?

Ich will lediglich wissen ob es eine Möglichketi gibt dieses Übertakten 
auch
mit dem internalen (HSI) Oszillator hinzu kriegen, habe auch etliches 
schon versucht an der PLL zu drehen z.B. den PLL Multi über 16 zu 
erhöhen, nur das funktioniert schon beim Compillieren nicht.

von Nop (Gast)


Lesenswert?

00Z schrieb:
> Ich will lediglich wissen ob es eine Möglichketi gibt dieses
> Übertakten auch mit dem internalen (HSI) Oszillator hinzu kriegen

Sicher geht das. Einfach die PLL entsprechend einstellen. Dazu liest Du 
Dir mal das Refman durch und kalkulierst, welche der Register Du wie 
einstellen mußt.

Ich würde empfehlen, direkt danach irgendeine Testroutine zu haben, die 
einige Laufzeit hat und ein bekanntes Ergebnis berechnen soll.

von pegel (Gast)


Lesenswert?

HSI gibt es nur über Teiler 2 = 4MHz als PLL Quelle.

PLL Multiplikator hat nur 4 Bit, also maximal 16 x 4MHz = 64MHz.

von Road Runner (Gast)


Lesenswert?

Versuchsweise würde ich die PLL auf maximalen Wert stellen und dann 
mittels eines extern angeschlossenem Funktiongenerator oder vergleichbar 
die Frequenz solange erhöhen bis sich eine Änderung ergibt. Z.B 4MHz x16 
= 64MHz. 6Mhz x16 = 96MHz, insofern der PLL Oszillator sich noch 
einrasten läßt.

Allerdings kann so eine Vorgehensweise unerwartete Konsequenzen haben. 
Generell sollte man die Datenblattgrenzwerte niemals aus trivialen 
Gründen übersteigen und dabei genau wissen man tut und hat deswegen eher 
akademisches Interesse. Da der Hersteller bekanntlich seine Angaben 
sorgfältig und mit genug Margen angibt, dürften da höchstwahrscheinlich 
noch gewisse Reserven drinn sein. Bekanntlich erhöht Abkühlung übrigens 
die obere Frequenzgrenze von CMOS. Wenn Z.B bei Zimmertemperatur noch 
96MHz möglich sind, ist das bei 85 oder 105 Grad Die-Temperatur 
höchstwahrscheinlich nicht mehr der Fall.

Es fragt sich aber ob das wirklich viel praktischen Wert hat. Wenn die 
Leistung nicht ausreicht, könnte man durch efizientere Algorithmen oder 
Wahl einer schnelleren Prozessorversion möglicherweise mehr erreichen.

You are on your own, Buddy!

Versuch macht kluuch;-)

von pegel (Gast)


Lesenswert?

Hier ging es ja um HSI.
Mit HSE 8MHz Quarz habe ich schon mal eine Testreihe gemacht.

96MHZ - kein Problem
104MHz - auch noch in Ordnung, keine Ahnung ob intern noch alles läuft, 
Blinky hat jedenfalls korrekt funktioniert

Erst bei 112MHz bekam die PLL das flattern.

von Stefan F. (Gast)


Lesenswert?

Ich hatte das mal ausprobiert. Bei etwa 100 MHz war Schuss, das stürzte 
er alle paar Sekunden ab.

Also wenn 72 MHz regulär gehen und 100 Mhz schon zu viel sind, dann sehe 
ich im Übertakten keinen praktischen Nutzen. Ganz im Gegenteil, nach 
dieser Erfahrung nutze ich sie immer mit 48 oder 64 MHz.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Was passiert wenn man die Flash Waitstates noch höher setzt? (Wenns bem 
F103 überhaupt geht)

von 00Z (Gast)


Lesenswert?

Laut dem hier:https://www.youtube.com/watch?v=mhAeHdbLDMU
Müsste man aus dem STM noch mehr als nur 100 Mhz rausholen können, der 
hat
angeblich 128mhz stabil geschafft, vielleicht geht da auch noch mehr, 
immerhin
gibt es ja STMs die um die 400 Mhz ab Werk schaffen, auch wenn die eine 
ganz
andere Architektur haben. Dass man das nur zu Versuchszwecken nutzen 
kann, ist klar, immerhin besteht immer die Gefahr dass der Chip 
irgendwas tut, was ihm
nie einer angeschafft hat, und wenn sowas dann noch bei 
"sicherheitskritischen" Anwendungen passiert, wäre das nicht so toll. 
Bei meinen Versuchen geht es aber nur um reines Probieren. Aber pegel 
hat es ja schon gesagt, weiter hoch mit dem HSI ist nicht, da 16 und ein 
Teiler beim HSI von 2 das Maximum sind. Hab auch schon mal versucht 
RCC_PLLSOURCE_HSI_NODIV;
Aber das funktioniert nicht, Multiu ist bei 16 auch Schluss, also hilft 
nurnoch externer Oszillator. Oder das letzte was mir noch einfällt, die 
HSI Calibration Value zo erhöhen und damit den internen Oszi selbst zu 
übertakten, aber dabei werden dann gerade an solchen Sachen wie UART 
usw. ziemlich seltsame Baudraten rauskommen.

von Stefan F. (Gast)


Lesenswert?

00Z schrieb:
> immerhin gibt es ja STMs die um die 400 Mhz ab Werk schaffen,
> auch wenn die eine ganz andere Architektur haben

Die kannst du nicht miteinander vergleichen, eben wegen der ganz anderen 
Architektur. Der Flash Speicher ist da das engste Nadelöhr.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Vor allem wird son H7xx in geringeren Strukturgrößen gefertigt als son 
alter F103.

von 00Z (Gast)


Lesenswert?

Jap leider, mich würde ja mal interessieren was diese TSMC "Super 
Prozessoren" die beim Ami dann mit 3nm Strukturbreite gefertigt werden 
sollen wohl für einen Takt erreichen können, immerhin gilt ja kleinere 
Transistoren=höherer Takt. Wie alt ist eigentlich der STM32F103 schon? 
Wenn man wirklich z.B. ein Steuergerät aufmotzen will, wird man wohl zur 
Heißluftpisotle greifen müssen.
Hab mir auch mal aus Spaß ein Bosche Ebike von innen angesehen, warum 
nehmen die eigentlich 8 Bit Prozessoren, wenn selbst die 
Chinesencontroller schon bei 32Bit sind? Heißt es nicht dass je 
schneller und genauer der Chip ist, auch die Effizienz steigt? Dann 
würde ja alles dafür stehen dass man in ein 3000€ Ebike einen 32 Bit 
Controller baut, oder sind die bei Bosch super gute Assembler 
Programmierer, oder haben die so gute Compiler dass der Code so 
wahnsinnig effizient ist?

von Stefan F. (Gast)


Lesenswert?

00Z schrieb:
> Wie alt ist eigentlich der STM32F103 schon?

13 Jahre

00Z schrieb:
> warum nehmen die eigentlich 8 Bit Prozessoren, wenn selbst
> die Chinesencontroller schon bei 32Bit sind?

Vermutlich weil sie ausreichen und die Entwickler damit gut vertraut 
sind.

> Heißt es nicht dass je schneller und genauer der Chip ist,
> auch die Effizienz steigt?

Welche Effizienz? Fährt das Fahrrad damit schneller oder länger? Wohl 
kaum.

> oder haben die so gute Compiler dass der Code so
> wahnsinnig effizient ist?

Das spielt doch überhaupt keine Rolle! Meinst du, eine Kaffeemaschine 
mit AMZ Ryzen 5 macht besseren Kaffee, als die Italienische 
Dampfmaschine?

Vergiss nicht, dass der Mensch mit 8bit Prozessoren zum Mond und wieder 
zurück geflogen ist. Wenn das dafür reicht, dann wohl auch für ein 
Fahrrad, sollte man annehmen dürfen.

von 00Z (Gast)


Lesenswert?

Naja, Boschräder sollen angeblich kein echtes FOC können, mit 8Bit zum 
Mond
ist ja schön, nur die Rechenaufgaben sind inzwischen wohl deutlich 
komplexer geworden, und da geht es um Effizienz. Je "Besser" ich den 
BLDC ansteuern kann, desto effizienter ist er auch. Dass der STM32F103 
schon 13 Jahre alt ist, erschreckt mich, ich hab zwar erwartet dass der 
schon nichtmehr der neueste ist, aber dass er so alt ist wusste ich 
nicht. Ich hätte gerne mal einen BDLC Controller gebaut der so richtig 
effizient ist, aber da scheiterts an der Rechenleistung, das gibt der 
STM32F103 nicht her. Also müsste man einen anderen STM32 finden, der im 
TQFP 48 daher kommt, und richtig power hat. Was ist denn der schnellste 
Chip von ST den es in QFP 48 gibt?

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Lad dir den STM32CubeMX runter und starte die Suche.
Zum passenden STM32 suchen und dann die Pinconfig klicke ist der super.
Aber klicke nie auf Code generieren ;)

Der dickste wäre dann ein F410 oder einer von den ganz neuen STM32G4xx

von Stefan F. (Gast)


Lesenswert?

00Z schrieb:
> mit 8Bit zum Mond
> ist ja schön, nur die Rechenaufgaben sind inzwischen wohl deutlich
> komplexer geworden, und da geht es um Effizienz. Je "Besser" ich den
> BLDC ansteuern kann, desto effizienter ist er auch.

Das mag ja sein, aber die Idee, dass mehr Rechenleistung automatisch 
auch mehr Effizienz bringt, ist schon ziemlich niedlich. Da müsste eine 
Aufrüstung mit AMD Ryzen 5 das Fahrrad ja zum Motorrad machen.

von 00Z (Gast)


Lesenswert?

Nicht automatisch, nur wenn es eine effizientere Möglichkeit gibt, den 
Motor
zu steueren, die aber in ihrer Rechenintensität die Möglichkeiten des 
betreffenden Controllers übersteigt, dann lässt sich die Effizienz wohl 
um ein Paar prozent steigern, wobei das generell für Effizioenz geltende 
Naturgesetz zum Tragen kommt: 10% mehr Effizienz bedeuten 100% mehr 
Aufwand und: Je weiter man der 100% Marke kommt desto schwiriger und 
Aufwendiger wird jede weitere Annäherung an 100%. Wobei 100% Niemals 
erreicht werden können.

von Wagner Markus (Gast)


Lesenswert?

00Z schrieb:
> Ich hätte gerne mal einen BDLC Controller gebaut der so richtig
> effizient ist, aber da scheiterts an der Rechenleistung, das gibt der
> STM32F103 nicht her.

Das ist nicht korrekt.

Habe in 2014 einen BLDC Regler mit 700 Watt selbst aufgebaut,
mit einem solchen STM32F103.

Und er hatte dann immer noch Reserven, um die Kommunikation mit einem 
Display herstellen zu können.

Markus

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.