Forum: Mikrocontroller und Digitale Elektronik Bluepill STM32F103C8T6 Board 128kb


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Timo S. (kaffeetas)



Lesenswert?

Hallo zusammen,

die letzten Bluepill Boards die gekommen sind sahen wieder etwas anders 
aus. Die USB Buchse hat nur 2 Halterungen und auch der Resetknopf ist in 
einer anderen Ausführung.

So richtig überrascht war ich aber als ich das neue Board mit dem 
ST-Link Utility verbunden habe. Dort wird das neue Board mit 128kB Flash 
aufgeführt.
Im Anhang Bilder und Screenshots zum Vergleich.

Gab es hier eine Aenderung bei ST oder sind die Chips entsprechend 
schlecht gefälscht?

von chris (Gast)


Lesenswert?

Ich habe gehört, STM liefert die CHIPs mit unterschiedlichen 
Speichergrößen aus. Das liegt wohl an der Fertigung.
Garantiert wird aber nur die kleine Speichergröße.

von STM Apprentice (Gast)


Lesenswert?

Timo S. schrieb:
> So richtig überrascht war ich aber als ich das neue Board mit dem
> ST-Link Utility verbunden habe.

Beitrag "Re: STM32F103C8T6 Blue Pill Board: Mit ST-Link V2 an die 128kb Flash?"

von STM Apprentice (Gast)


Lesenswert?

Timo S. schrieb:
> die letzten Bluepill Boards die gekommen sind sahen wieder etwas anders
> aus.

Diejenigen Bluepills die ich ich Anfang des Jahres bekommen
habe sehen ganz genau so aus. Auch auf deinem Board ist der
USB-Widerstand R10 mit 10KOhm bestückt, der Fehler ist also
noch nicht ausgemerzt (sollte 1.5 KOhm sein). Kannst ja
schon mal SMD-Widerstände kaufen und das Löteisen an-
wärmen.

von Stefan F. (Gast)


Lesenswert?

Was mir direkt positiv auffällt ist die Beschriftung der Pins.
Bei meinen Board überlappen sich die Beschriftungen, so dass sie kaum 
lesbar sind.

Meine haben übrigens auch 128kB.

Ich verstehe nicht, warum diese Chips dann nicht auch dementsprechend 
beschriftet werden: STM32F103CBT6

von Jim M. (turboj)


Lesenswert?

Der STM32F103C8 und STM32F103CB mit 128kB Flash sind dasselbe Silizium, 
nur einmal halt kastriert und einmal nicht.

Es kann durchaus sein dass die oberen 64KB einfach nur ungetestet sind - 
oder keine auf 64 KB kastrierten Chips mehr rumflogen als die Bestellung 
rein kam, aber noch genug 128KB Chips. Aufdruck für die 64KB Variante 
drauf, fertich, ausliefern...

Es kann durchaus sein dass STM die nach dem Verpacken nicht mehr ohne 
weiters runter setzen kann, weill z.B. gelasert werden müsste.

von Stefan F. (Gast)


Lesenswert?

Auf deinen Fotos sehen die Oberflächen der neuen Mikrocontroller seltsam 
aus, als ob jemand ihre Oberfläche abgeschliffen hätte. Kann das sein?

von Stefan F. (Gast)


Lesenswert?

Ich habe eine Frage: Welchen Wert hat R10?

Im Schaltplan steht 4,7k Ohm, meine (und deine alten) haben aber 10k Ohm 
und technisch richtig wäre 1,5k Ohm.

Beitrag #5231805 wurde von einem Moderator gelöscht.
Beitrag #5231812 wurde von einem Moderator gelöscht.
von Timo S. (kaffeetas)



Lesenswert?

Stefan U. schrieb:
> Auf deinen Fotos sehen die Oberflächen der neuen Mikrocontroller seltsam
> aus, als ob jemand ihre Oberfläche abgeschliffen hätte. Kann das sein?

Ich habe nochmals Bilder gemacht auf denen die Oberfläche und 
Beschriftung der Chips genauer zu erkennen ist.
Tatsächlich sieht die Oberfläche der neuen Chips irgendwie seltsam aus, 
speziell die gebrochenen Kanten machen mich auch stutzig...

Programmieren lassen sich beide Boards (wie zu erwarten war) mit 128kB.

Um nochmals klar zu machen um was es mir ursprünglich ging habe ich die 
erkannte Flashgrösse auf dem neuen Board markiert. Bei den neuen 
Boards wird eben die Flashgrösse direkt mit 128kB erkannt, die "alten" 
Boards werden nur mit 64kB erkannt.

Beitrag #5231844 wurde von einem Moderator gelöscht.
von Stefan F. (Gast)


Lesenswert?

Welchen Wert hat R10?

von Timo S. (kaffeetas)


Lesenswert?

Stefan U. schrieb:
> Ich habe eine Frage: Welchen Wert hat R10?

R10 hat wie erwartet 10k, ist übrigens auch auf den oberen Bildern 
lesbar.

von Axel S. (a-za-z0-9)


Lesenswert?

Timo S. schrieb:
> Ich habe nochmals Bilder gemacht auf denen die Oberfläche und
> Beschriftung der Chips genauer zu erkennen ist.

Auf dem 64K Chip: "MYS"
auf dem 128K Chips: "CHN"

würde ich als "Malaysia" und "China" lesen. Ob da ein paar Chinesen die 
Maschinen nach Feierabend nochmal anwerfen und den Ausschuß vom Tage in 
Gehäuse verpacken?

von Stefan F. (Gast)


Lesenswert?

>> Ich habe eine Frage: Welchen Wert hat R10?

> R10 hat wie erwartet 10k, ist übrigens auch auf den oberen
> Bildern lesbar.

Wie doof, ich habe dieses Bild übersehen.
Ich verstehe nicht, warum die Jahre nach Bekanntwerden des Fehlers immer 
noch falsche Widerstände auflöten. Aber zum Wechsel der USB Buchsen und 
Taster sind sie klug genug. WTF?

Wenn es denn wenigstens die 4,7k Ohm aus dem Schaltplan wären, hätten 
die meisten PC's damit kein Problem. Aber 10k sind zu viel.

von Timo S. (kaffeetas)


Lesenswert?

Axel S. schrieb:
> Auf dem 64K Chip: "MYS"
> auf dem 128K Chips: "CHN"
>
> würde ich als "Malaysia" und "China" lesen. Ob da ein paar Chinesen die
> Maschinen nach Feierabend nochmal anwerfen und den Ausschuß vom Tage in
> Gehäuse verpacken?

Naja so ganz plausibel klingt das für mich nicht.
Die "Fälscher" labeln doch nicht einen STM32F103CBT6 auf STM32F103C8T6 
um und sind bei der Angabe der Landes dann ehrlich.....

Bzw. wie verhält es sich mit den Device-IDs sind diese für CB und C8 
identisch? Im Datenblatt findet sich leider nichts zu den Device-IDs. Wo 
kann ich suchen?

: Bearbeitet durch User
Beitrag #5231872 wurde von einem Moderator gelöscht.
von chris (Gast)


Lesenswert?

>Ich verstehe nicht, warum die Jahre nach Bekanntwerden des Fehlers immer
>noch falsche Widerstände auflöten.

Ich vermute, die haben einfach 100.000 Stück produziert und es kommen 
alle aus dem Lager. Wahrscheinlich gibt es bei dem Preis gar keine 
Neuen.

Wobei es demnächst von RoboDyn Bessere geben könnte:
http://www.stm32duino.com/viewtopic.php?f=50&t=2900&p=37678

von flups (Gast)


Lesenswert?

Sagt mal gibts eigentlich auch ähnliche Boards die etwas kleiner sind? 
vielleicht die Hälfte oder kleiner?

von Axel S. (a-za-z0-9)


Lesenswert?

Timo S. schrieb:
> Axel S. schrieb:
>> Auf dem 64K Chip: "MYS"
>> auf dem 128K Chips: "CHN"
>>
>> würde ich als "Malaysia" und "China" lesen. Ob da ein paar Chinesen die
>> Maschinen nach Feierabend nochmal anwerfen und den Ausschuß vom Tage in
>> Gehäuse verpacken?
>
> Naja so ganz plausibel klingt das für mich nicht.
> Die "Fälscher" labeln doch nicht einen STM32F103CBT6 auf STM32F103C8T6
> um und sind bei der Angabe der Landes dann ehrlich.....

Diese Wahl haben sie wahrcheinlich gar nicht. Die haben da Maschinen 
stehen, die einerseits ICs produzieren und andererseits nach dem Test 
die Flash-Fuses setzen und eine der vorgegebenen Typbezeichnungen drauf 
lasern. Was die Tests nicht besteht - und sei es nur irgen dein wenig 
kritischer Timingfehler - fliegt normal in die Tonne. Aber weil die C8T6 
in Massen weggehen - u.a. für die Bluepill Boards, kriegen die halt 
einfach diese Bezeichnung.

Dieser modus operandi ist typisch für viele Fabriken, die nach Fernost 
outgesourced wurden. Da werden mit den Maschinen und teilweise dem 
Material nach Feierabend noch ein paar Serien extra gebaut und auf dem 
grauen Markt verscherbelt. ich habe mir z.B. mal in Kambodscha auf dem 
lokalen Markt einen Deuter Rucksack gekauft. Für 1/10 des hiesigen 
Normalpreises, aber 100% Original. Der hat auch 5 Jahre gehalten.

> Bzw. wie verhält es sich mit den Device-IDs sind diese für CB und C8
> identisch? Im Datenblatt findet sich leider nichts zu den Device-IDs.

ST hat keine Device-ID bis auf den Einzeltyp runter. C8 und CB haben 
IIRC die gleiche ID (0x410 STM32F10xxx Medium-density), unterscheiden 
sich aber halt in der Angabe für die Flash-Size.

von Axel S. (a-za-z0-9)


Lesenswert?

chris schrieb:
>>Ich verstehe nicht, warum die Jahre nach Bekanntwerden des Fehlers immer
>>noch falsche Widerstände auflöten.
>
> Ich vermute, die haben einfach 100.000 Stück produziert und es kommen
> alle aus dem Lager.

Ich glaube vielmehr, daß schon die Grundannahme oben falsch ist: daß der 
Fehler beim Hersteller bekannt ist. Die Leute, die da in China den 
Bestückungsaustomaten bedienen oder die Quarze von Hand auflöten, werden 
mit den Boards weder basteln noch werden sie einschlägige Foren lesen.

: Bearbeitet durch User
von JojoS (Gast)


Lesenswert?

Diese Fehler sind ja bekannt, aber was ist wenn es das Board nicht mehr 
beim Cinesen für 2$ gibt? Bricht dann eine ganze Bastlerwelt zusammen 
oder würde das Board auch für realistischere 10...15€ seine Anhänger 
finden?
ST freut sich sicher gerade über die ganze Werbung, aber kann man heute 
trotz der vielen Möglichkeiten wirklich nur noch mit solchen Modulen 
etwas nachbauen?

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

... das hier ist mein "BluePill" Board, mit einem "echten" 
STM32F103CBT6. Hat inklusive der Platine und Bauteile ca. 11 Euro 
gekostet (und "etwas" Zeit fürs Bestücken"). Hat natürlich auch den 
korrekten 1,5k Widerstand für die USB-Buchse.

Sollten tatsächlich die 103er irgendwann mal eingestellt werden, werde 
ich mir einen anderen STM32 suchen und wieder eine solche Platine 
machen... oder mit einem Nucleoboard werkeln.

Prinzipiell ist es egal, welches Board ich hab, weil für eine Schaltung 
auf der dann ein Controller eingesetzt wird, wird eh eine Platine 
geroutet. Solche Boards dienen doch "nur" dazu, um mal etwas auf die 
"schnelle" auszuprobieren und nicht jedesmal  die Schaltung komplett 
entwerfen zu müssen.

von chris (Gast)


Lesenswert?

Axel Schwenke (a-za-z0-9)
>Ich glaube vielmehr, daß schon die Grundannahme oben falsch ist: daß der
>Fehler beim Hersteller bekannt ist. Die Leute, die da in China den
>Bestückungsaustomaten bedienen oder die Quarze von Hand auflöten, werden
>mit den Boards weder basteln noch werden sie einschlägige Foren lesen.

Sie brauchen nicht in den Foren zu lesen, weil es die Leute in den Foren 
den Herstellern mitteilen.
Das kannst Du übrigens auch, es ist nicht schwer und die Hersteller sind 
für den ein oder anderen Tipp durchaus dankbar, weil sie durch 
Verbesserungen mehr verkaufen können. Insbesondere die Chinesen sind 
ziemlich schnell bei Entwicklungen und Änderungen.

>Diese Fehler sind ja bekannt, aber was ist wenn es das Board nicht mehr
>beim Cinesen für 2$ gibt? Bricht dann eine ganze Bastlerwelt zusammen
>oder würde das Board auch für realistischere 10...15€ seine Anhänger
>finden?

Eventuell wird dieses Board der Nachfolger:

http://stm32duino.com/viewtopic.php?f=19&t=2633&start=320

Der F4 ist zwar etwas teurer, hat dafür aber deutlich mehr "Dampf"

von chris (Gast)


Lesenswert?


von Axel S. (a-za-z0-9)


Lesenswert?

chris schrieb:
> Axel Schwenke (a-za-z0-9)
>>Ich glaube vielmehr, daß schon die Grundannahme oben falsch ist: daß der
>>Fehler beim Hersteller bekannt ist. Die Leute, die da in China den
>>Bestückungsaustomaten bedienen oder die Quarze von Hand auflöten, werden
>>mit den Boards weder basteln noch werden sie einschlägige Foren lesen.
>
> Sie brauchen nicht in den Foren zu lesen, weil es die Leute in den Foren
> den Herstellern mitteilen.

Welche Leute? Welchen Herstellern?

> Das kannst Du übrigens auch, es ist nicht schwer

Wirklich? Wie finde ich nochmal den Hersteller (nicht: Händler) eines 
Bluepill-Boards von ebay oder Ali-Express? Und in welcher Sprache rede 
ich mit dem? Wie lange dauert das, bis der es in der Fertigung 
korrigiert hat und bei welchem Händler bekomme ich dann die neuen 
Boards?

Das ist keine Lieferkette mit ISO Zertifikat. Die Boards fallen irgendwo 
in Shenzen aus irgendeiner Fertigungsstraße. Möglicherweise auch aus 2 
oder drei oder einem Dutzend solcher. Und werden dann von gefühlt 100 
Kleinhändlern vertickt. Und ich glaube nicht mal, daß jeder Händler 
immer nur aus einer Quelle weiterverkauft. Würde mich im Gegenteil 
wundern, wenn es so wäre.

von Stefan F. (Gast)


Lesenswert?

Ich habe meine zweite Charge Blue-Pill Board bekommen und auch diese hat 
wieder 128kB Flash, obwohl die Programme nur 64kB anzeigen.

Unter Linux konnte ich mit dem Befehl "st-flash --flash=128k" ein 110kB 
großes Katzen-Bild schreiben und wieder auslesen.

von NichtWichtig (Gast)


Lesenswert?

Hier liegen seit 3 Jahren 5 Stück, die ersten habe ich vor Monaten in 
Betrieb genommen, und teilweise waren sie nach dem ersten flashen platt.

Im Sommer 5 weitere bestellt und auch da, einmal flashen und tot.

Nun etwas Zeit investiert und die angeblichen 128KB sind nicht bei jedem 
nutzbar, werden aber vom stlink(Linux) so angezeigt.

Und immer wieder das Problem, nach dem seriellen flashen von einem 
Blinky lassen sie sich einmal per SDW auslesen und flashen scheitert, 
löschen scheint zu klappen.

Also habe ich ein i2cSniffer, welcher auf einem funktionierenden 
entwickelt wurde, per serial in einen der der seltsamen geflasht.

Der Test am i2c ergab zwar 98% Funktion, der Datenstrom wird 
entsprechend über UART2 mit 921600bd raus gehauen aber das Terminal 
liefert immer wieder falsche Werte.

Der direkte Vergleich zwischen dem alten/Guten und dem neuen zeigt ein 
Speedunterschied, der neue ist langsamer!?!
Da liegen rund 10-20% drin was der neue länger braucht.

Auch war bei einem der frischen überhaupt kein Takt messbar, der 8MHz 
Quarz ist tot.

Es lohnt sich wohl eine Messstation zu bauen welche die nackten 
BluePills erstmal einer Eingangswarenprüfung unterzieht bevor man seine 
Bewertung abgibt oder Pins anlötet.


Auszug eines flashs:
1
0000FFC0 FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF ................
2
0000FFD0 FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF ................
3
0000FFE0 FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF ................
4
0000FFF0 FF FF FF FF │ FF FF FF FF │ FF FF FF FF │ FF FF FF FF ................
5
00010000 07 49 08 80 │ 07 49 08 80 │ 07 49 08 80 │ 07 49 08 80 .I...I...I...I..
6
00010010 07 49 08 80 │ 07 49 08 80 │ 07 49 08 80 │ 07 49 08 80 .I...I...I...I..
7
00010020 07 49 08 80 │ 07 49 08 80 │ 07 49 08 80 │ 07 49 08 80 .I...I...I...I..
8
00010030 07 49 08 80 │ 07 49 08 80 │ 07 49 08 80 │ 07 49 08 80 .I...I...I...I..
9
00010040 07 49 08 80 │ 07 49 08 80 │ 07 49 08 80 │ 07 49 08 80 .I...I...I...I..

von Johannes S. (Gast)


Lesenswert?

sehen die Labels auf der CPU auch gleich aus?

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Sind da vielleicht GD32F103x8 darunter? Die haben m.e.a. wirklich nur 64 
k. Und ob die oberen 64 k in einen STM32F103x8 gehen ist Glueckssache, 
der Hersteller garantiert ja nur 64 k. Allerdings habe ich auf viele 
STlinkV2 Boards blackmagic geflascht und hatte bisher keine Probleme.

von NichtWichtig (Gast)


Lesenswert?

Johannes S. schrieb:
> sehen die Labels auf der CPU auch gleich aus?

Bin nicht sicher welche 5 zusammen angeliefert wurden, aber die Guten 
haben nur ein aufgedrucktes Label (und Pin1) und die Versager den Pin 1 
per echter Mulde markiert.

von Bastler (Gast)


Lesenswert?

Hab auch mal nachgeschaut, mein Board ist ein E Scooter von Lime Gen3, 
hat aber auch 128k flash. Der hat aber eine echte Mulde. Habe das bild 
als bin mit dem Stlink Utility geflasht, was kein Problem ergab, dann 
Device disconnected, und Stlink Utility geschlossen, dann neu geöffnet, 
ausgelesen, als .bin gespeichert, und umbenannt in .bmp. Ergebnis: Bild 
ist ganz, Flash also 128kb. Man braucht also nichtmal open OCD, wenn du 
dem Stlinbk Utility eine bin mit 128kb gibst, flasht es das komplett, 
auch wenn es anzeigt, der Chip habe nur 64kb. Ich denke nicht mal dass 
die Prozessoren über Lasercut restricted sind, sondern über die interne 
Chipfirmware, also das "Bios" des STM32 da das bei der Herstellung drauf 
muss, weil man es danach nichtmehr flashen kann, wird ST einfach die mit 
dem 128kb Bios nehmen, wenn die 64er Version grad alle ist. Ist wie beim 
Twingo 1, da hat man auch aus dem Prototypenfuhrpark Autos halb 
aufgerüstet, und verkauft, weil man sie in der Herstellung nichtmehr 
herbekam. Die Werkstatt wundert sich dann warum die ganzen IDs der 
Steuergeräte so "komisch für einen Twingo" aussehen, und zu manchen 
Steuergeräten mit dem Werkstatttester keine Verbindung aufgebaut werden 
kann... Bei ST besteht das Aufrüsten halt darin dass sie drauflasern 
"STM32F103C8T6".

von leo (Gast)


Lesenswert?

Bastler schrieb:
> als .bin gespeichert, und umbenannt in .bmp. Ergebnis: Bild
> ist ganz, Flash also 128kb

Ja das ist ein sehr guter Beweis.

leo

von Stefan F. (Gast)


Lesenswert?

Jaja. BIOS und interne Chipfirmware.
Tu dir einen gefallen und ändere die Reihenfolge. Erst lernen, dann 
labern.

von Christopher J. (christopher_j23)


Lesenswert?

Bastler schrieb:
> Ich denke nicht mal dass die Prozessoren über Lasercut restricted sind,
> sondern über die interne Chipfirmware, also das "Bios" des STM32 da das
> bei der Herstellung drauf muss, weil man es danach nichtmehr flashen
> kann, wird ST einfach die mit dem 128kb Bios nehmen, wenn die 64er
> Version grad alle ist.

STM32F103C8 und STM32F103CB haben den gleichen Die. Nur das 
Flash-Register zeigt beim einen 64kB und beim anderen 128kB an. Das ist 
auch irgendwie logisch, schließlich wollen die nicht für ein 32-, ein 
48- und ein 64-Pin Gehäuse drei verschiedene Masken aufsetzen. Wenn dann 
manche Chips mit offiziell halbem Flash verkauft werden erhöht das 
abermals die Variantenvielfalt. Ist wie bei VW, wo der 2.0 TDI mit 85PS, 
105PS und 140PS immer der exakt gleiche Motor ist, nur eben mit anderer 
Software. So kann man mehr Varianten anbieten und hat trotzdem in der 
Produktion nur ein Modell mit den entsprechenden Stückzahlen. Als ich 
vor einem Jahr mal nachgeschaut hatte, hat ST mit ca. 50 Dice über 1000 
verschiedene Controller angeboten und da waren unterschiedliche 
Temperaturbeständigkeiten nicht mal mit eingerechnet (unterm Strich 
existieren die eben auch nur auf dem Papier, wie der unterschiedliche 
Flash).

von Thomas Z. (usbman)


Lesenswert?

Besser noch tu uns den Gefallen und kapper nicht fremde Threads. Wir 
wissen inzwischen alle dass du einen Lime Scooter hast, den du hacken 
willst. Solange du Hex Dateien in BMP umbenennst machst du dich aber 
eher lächerlich.
Das kann man nicht ernst nehmen und vermutlich auch der Grund warum 
soviele Threads aufmachst.

Thomas

: Bearbeitet durch User
von Bastler (Gast)


Lesenswert?

Hier steht warum man .hex Dateien in .bmp umbenennen sollte:

https://www.mikrocontroller.net/articles/STM32F103C8T6_STM32_Billig_Board

Wer lesen kann ist klar im Vorteil. Auch habe ich mich hier nur 
gemeldet, weil der Roller zufällig einen STM32F103C8T6 drin hat, jenen 
Prozessor um den es hier geht, und meiner eine vertiefte Mulde hat, 
bisher alle hier getesteten mit vertiefter Mulde aber nur 64kb hatten. 
Daher wollte ich nur darüber informieren, dass die Mulde wohl nicht 
ausschlaggebend ist, ob der nun nur 64kb hat oder 128. Im Übrigen habe 
ich mittlerweile in einem Board das auf Reverse Engineering 
spezialisiert ist, jemanden gefunden, der mit einem Disassembler umgehen 
kann, und bereit ist zu helfen. Es gibt nur einen Grund warum mir hier 
keiner geholfen hat: Weils die meisten nicht können. Aber das ist off 
Topic in diesem Thread.

von Stefan F. (Gast)


Lesenswert?

Solche Sachen macht ST nicht nur beim Flash-Speicher. Ich hab einige 
ST-Link Klone mit STM32F101 herum liegen, die ein USB Device enthalten, 
was eigentlich nicht existieren dürfte.

von Bastler (Gast)


Lesenswert?

Was heißt "die ein USB Device enthalten, was eigentlich nicht existieren 
dürfte." ?

von Stefan F. (Gast)


Lesenswert?

Bastler schrieb:
> Was heißt "die ein USB Device enthalten, was eigentlich nicht
> existieren dürfte." ?

Guckst du hier: 
https://www.st.com/en/microcontrollers-microprocessors/stm32f1-series.html

von leo (Gast)


Lesenswert?

Bastler schrieb:
> Hier steht warum man .hex Dateien in .bmp umbenennen sollte:
>
> https://www.mikrocontroller.net/articles/STM32F103C8T6_STM32_Billig_Board
>
> Wer lesen kann ist klar im Vorteil.

Na, wenn's dann im Neuland vermerkt ist, stimmt es sicher.

leo

von NichtWichtig (Gast)


Lesenswert?

Habe jetzt nochmal etwas recherchiert und alle 5 neuen BluePills haben 
die Mulde an Pin 1, haben 128KB flash wenn man seriell abfragt und nur 
64KB per STLink/SWD.

Keiner läßt sich per STLink flashen, nur löschen klappt.
Seriell lassen sich 128KB auslesen bei denen die oberen 64KB den 
genannten Fehler enthalten.
Seriell flashen (<64KB) geht auch einwandfrei.

Ein erster Endwurf einer TestSW liefert bei 12MHz Takt an der UART1 
korrektes timing.
War das i2c-Projekt neulich bei UART2 in Ordnung scheint es erstmal so 
als ob das interne timing APB1 und APB2 paßt, sonst hätte das 
TerminalProg nix erkennen können.

Auch die Kontrolle per scope brachte exakt 57600Hz bei 115200baud am 
passenden bit.

Weitere Tests folgen.

von Henrik H. (Firma: TU Chemnitz) (heha)


Lesenswert?

Hallo allerseits,

um hier noch mal den weitverbreiteten Rechenfehler auszumerzen:
Der Pullup-Widerstand für USB beträgt laut Norm 1,5 kΩ von 3,3 V.
Das ergibt mit dem host-internen Pulldown-Widerstand von 15 kΩ eine 
Ruhespannung von 3,0 V.
Um dieselbe Ruhespannung mit einem Widerstand von der 5-V-Schiene zu 
erreichen braucht man 10 kΩ! Aber das stimmt nur für stabilisierte 5 
V. Bei stromarmen Anwendungen wie einem Mikrocontroller ohne 
stromfressende Peripherie (LED-Display, Relais usw) kann man bei der 
USB-Busspannung von stabilisierter 5 V ausgehen, bei Belastung darf sie 
allerdings auf 4,2 V fallen. Der mit 4,7 kΩ angesetzte Widerstand der 
Ur-BluePills ist demnach richtig nur für 3,94 V, also rund 4 V.
Da der Widerstand keine Terminierungsfunktion erfüllt ist sein 
Absolutwert in weiten Grenzen egal, also egal ob 10 kΩ von 5 V oder 1,5 
kΩ von 3,3 V. Es ist auch egal ob dieser Widerstand vor oder hinter 
eventuellen Serienterminierungswiderständen (von typisch 22 Ω) 
angeordnet ist.

Was ist nun richtig?

(1) Mikrocontroller darf autonom laufen, kann „von hinten“ mit Strom 
versorgt werden:

(1A) Richtig ist ein Widerstand von 1,5 kΩ von einem GESCHALTETEN 
Ausgang.
Denn bei fehlender USB-Busspannung DARF kein Strom (auch nicht via 
3,3-V-Pullup) in den USB-Host fließen.

(1A-) Ist partout kein Portpin zum Schalten des Pullups frei behilft man 
sich mit dem dauerhaften Generieren von SE0; der Host sieht dann „kein 
Gerät“ und bekommt auch keinen Strom. Der Widerstand frisst dann 
allerdings permanent 2,2 mA.

(1B) Der 10-kΩ-Widerstand von der USB-Busspannung in Verbindung mit 
einer (meist Schottky-)Entkopplungsdiode erspart dem Mikrocontroller das 
Detektieren der Busspannung (= ein Portpin) und das Schalten des Pullups 
(= noch ein Portpin).

(2) Mikrocontroller wird ausschließlich von USB versorgt:

(2A) Der 1,5-kΩ-Widerstand von 3,3 V darf fest eingebaut werden.

(2B) Der 10-kΩ-Widerstand von 5 V darf fest eingebaut werden,
aber die Busspannung darf nicht (durch Zuleitungswiderstände) 
nennenswert sinken.

(B) ist wegen der Instabilität der 5 V immer schlechter als (A).

Mit 4,7 kΩ liegt man nicht „auf der sicheren Seite“, sondern belastet 
im Gegenteil die Eingangsschutzdioden sowohl vom Host als auch vom 
STM32. Das hat bei manchen Hosts zur Folge, dass durch deren 
Dioden-Sperrverzugszeit die ersten Bits der Übertragung nicht mehr 
erkannt werden und die Verbindung hakelt. Die Gateschutzdioden müssen 
nämlich nicht schnell sein, da jede noch so langsame Diode keine 
Durchlassverzugszeit hat, also die Schutzfunktion erfüllt. Das gilt 
genauso für Freilaufdioden an Relais, die ebenfalls langsam sein dürfen.

von Stefan F. (Gast)


Lesenswert?

Henrik H. schrieb:
> Um dieselbe Ruhespannung mit einem Widerstand von der 5-V-Schiene zu
> erreichen braucht man 10 kΩ!

Interessant, auf jeden Fall nachvollziehbar.

Mir war bisher gar nicht aufgefallen, dass der Pull-Up Widerstand des 
Boardes auf 5V geht. Ich halte das für eine Fehlkonstruktion.

Aber immerhin erklärt dies, warum sie die Boards mit 10kΩ bestücken, 
obwohl im Schaltplan 10kΩ eingezeichnet wurden.

Warum aktualisieren sie nicht endlich mal den Schaltplan? Es ist immer 
wieder das gleiche Elend mit diesen Billigprodukten.

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.