Forum: Mikrocontroller und Digitale Elektronik USB Problem bei STM32F072C8


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 Ralph S. (jjflash)



Lesenswert?

(Scherz jetzt, obwohl mich mein Problem schier umbringt) Da sagt noch 
einmal jemand etwas gegen ein Steckbrett: Nachdem ich eine Schaltung, 
die auf dem Steckbrett super läuft, als PCB geroutet und bestückt habe, 
läuft die Schaltung auf der Platine nicht.

Für alle die mich (mal wieder) anstänkern wollen: Ich suche den Fehler 
ganz klar bei mir!!!

- Sagt mir bitte bitte bitte nicht, ich solle alle Leitungen auf der 
Platine noch einmal kontrollieren, ich hab das bestimmt 1000 mal 
gemacht. Ich habe eine noch unbestückte Platine genommen und alle 
Verbindungen durchgeklingelt ob ich im PCB auch keine Leitung vergessen 
habe (und das ganze zuvor natürlich auch im Layoutprogramm).
Ein Unterschied zum Steckbrett ist, dass ich auf dem PCB soviele GPIO 
Pins auf einen Header gelegt habe, sollte ich mit der Platine etwas 
anderes als EasyPdkProgrammer machen wollen.
Hier kann ich auch jeden einzelnen Pin auch ansprechen und Programme für 
den STM32F72 über DFU-Util flashen

- ja, ich habe jedem Vcc-Pin einen 100nF Kondensator gegeben, auch dem 
bei Vbat (den ich bei Fehlersuche auch einmal abgelötet habe. Es könnte 
ja sein.

- ich habe die Dämpfungswiderstände in der USB-Leitung variiert, von 10 
Ohm bis 100 Ohm in der E12 Reihe.

So, jetzt kommt mein Kuriosum, das mich schier "umbringt":

Die Platine habe ich "Scheibchenweise" aufgebaut (und dabei einen 
eigentlichen Test "vergessen").

Zuerst also den STM32 aufgelötet mit sämtlichen 100nF Kondensatoren und 
der Beschaltung für Reset und Boot0 mit samt den Tastern. Quarz 8 MHz 
mit 22 pF Ziehkondensatoren, Header für ST-Link und USB-Buchse. 
Leuchtdiode an PC15.

Erster Test: Versuch Programmupload mit ST-Link. Erfolgreich, Blinken 
lassen an PC15 => LED blinkt

Zweiter Test: STM32 in Bootloadermodus versetzen und Blinkupload mittels 
DFU-Bootloader (ST-Link ist natürlich abgezogen). Erfolgreich, Blinken 
an PC15 funktioniert.

Aufbau Stepupwander, Messen der Spannung => Funktioniert.

Also den Rest bestückt (Fehler, ich hätte schon auch einmal die Firmware 
des Programmers aufspielen sollen, hier hätte ich gemerkt, dass er sich 
mit dem USB dann nicht anmeldet).

Das ist dann auch mein großes Problem, das mich schier umbringt.

Also, Firmware auf die Steckbrettversion aufgespielt (beide Chips sind 
STM32F072C8) und dieselbe Binärdatei auf dem Seckbrett meldet sich an:
1
Bus 002 Device 003: ID 05e3:0607 Genesys Logic, Inc. Logitech G110 Hub
2
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
3
Bus 008 Device 002: ID 413c:2106 Dell Computer Corp. Dell QuietKey Keyboard
4
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
5
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
6
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
7
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
8
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
9
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
10
Bus 003 Device 014: ID 0483:5740 STMicroelectronics STM32F407
11
Bus 003 Device 012: ID 046a:000c Cherry GmbH 
12
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Hier irritiert mich STMicroelectronics STM32F407 nicht, das war schon 
immer so und ist in der Firmware (nicht von mir geschrieben) so 
verankert.

Gleiche Firmware auf meine PCB-Version aufgespielt: Schaltung meldet 
sich NICHT an.

Wie kann das sein? Die Verbindung zu USB (Hardware) muß doch 
funktionieren, sonst könnte ich den Chip doch nicht mittels USB 
DFU-Bootloader flashen.

Die Ausgabemeldung beim Flashen der Chips ist bei Steckbrett und PCB 
absolut identisch.

By the way: Flashe ich den Chip mittels ST-Link funktionierts auf dem 
Steckbrett (natürlich) und auf der Platine (natürlich) nicht!

Und dann meine (ganz eindeutige) Frage: was mache ich falsch und was 
kann ich noch kontrollieren (bevor ich eine zweite Platine bestücke)?

PS: und im Anhang an die Blockkondensator-Fanatiker ein Screenshot des 
PCB. Man kann die besser positionieren, aber glaubt ihr wirklich, dass 
das daran liegt (immerhin geht ja DFU-Bootloader mit USB).

von Zino (zinn)


Lesenswert?

Ralph S. schrieb:
> - ich habe die Dämpfungswiderstände in der USB-Leitung variiert, von 10
> Ohm bis 100 Ohm in der E12 Reihe.

Zitat Datenblatt: No external termination series resistors are required 
on USB_DP (D+) and USB_DM (D-); the matching impedance is already 
included in the embedded driver.

von Zino (zinn)


Lesenswert?

Die Leiterplatte stimmt nicht mit dem Schaltplan überein. Der 
1,5kΩ-Widerstand von PA13 zu VBUS fehlt in letzterem. Der muß raus.

von Wastl (hartundweichware)


Lesenswert?

Ralph S. schrieb:
> By the way:

Spannungsregler belastet man an seinem Ausgang grundsätzlich
nicht mit grossen Kapazitäten. 10uF wären eine gängige Grösse.
Ausnahmen bestätigen die Regel.

Grosse Kapazitäten am Ausgang verschlechtern die Regel-
eigenschaften eines Spannungsreglers. Ob das bei deinem
"Design" eine Rolle spielt wage ich von hier aus nicht zu
beurteilen.

von Ralph S. (jjflash)


Lesenswert?

Zino schrieb:
> Zitat Datenblatt: No external termination series resistors are required
> on USB_DP (D+) and USB_DM (D-); the matching impedance is already
> included in the embedded driver.

natürlich hatte ich die Widerstände auch schon draußen und mit 0-Ohm 
Brücken gesetzt. Das war es nicht!

Zino schrieb:
> Die Leiterplatte stimmt nicht mit dem Schaltplan überein. Der
> 1,5kΩ-Widerstand von PA13 zu VBUS fehlt in letzterem. Der muß raus.

Zino schrieb:
> Die Leiterplatte stimmt nicht mit dem Schaltplan überein. Der
> 1,5kΩ-Widerstand von PA13 zu VBUS fehlt in letzterem. Der muß raus.

Wenn du dir den Layoutscreenshot anschaust dann wirst du sehen, dass der 
1,5k Widerstand erst über die Lötbrücke BR1 mit VBus verbunden wird. Ich 
hatte die Platine so gemacht, dass sie eben auch für andere Dinge evtl. 
genutzt werden kann.

Natürlich hatte ich den Widerstand zuerst draußen, aber in meiner "Not" 
hab ich alles ausprobiert (auch die Dinge, die eigentlich keinen Sinn 
machen.... :-) ich sollte sinnlose Dinge bleiben lassen).

Also, der 1,5k Widerstand ist es definitiv auch nicht !

von Ralph S. (jjflash)


Lesenswert?

Wastl schrieb:
> Grosse Kapazitäten am Ausgang verschlechtern die Regel-
> eigenschaften eines Spannungsreglers. Ob das bei deinem
> "Design" eine Rolle spielt wage ich von hier aus nicht zu
> beurteilen.

Weiß ich eigentlich auch (Regeflverhalten wird "langsam")... aaaaber 
(auch wenn ich das nicht glaube) werde ich den C am Ausgang wegnehmen 
(der ist eigentlich ein Angst-Kondensator des Stepup-Wandlers wegen).

von Wastl (hartundweichware)


Lesenswert?

Ralph S. schrieb:
> was kann ich noch kontrollieren

Zeige den Verlauf deiner Masse im Layout. Auf dem Steckbrett
hast du ja nicht kapiert dass man Lastkapazitäten (nein, es
heisst nicht Ziehkondensatoren) mit ihrer Masse auf den
nächstgelegenen Massepin des Controllers legt und nicht auf
irgendeine Masse. Ja, Masse != Masse.

Ralph S. schrieb:
> werde ich den C am Ausgang wegnehmen

Du brauchst direkt dort am Regler einen Kondensator, aber
keinen so grossen. Ohne geht's auch nicht.

von Ralph S. (jjflash)


Lesenswert?

Der Kondensator am Spannungsreglerausgang war es natürlich (leider) auch 
nicht. Am Ausgang 100nF, dann 100nF // 1µF.... und 100nF // 4,7µF

Allerdings hatte ich nicht wirklich erwartet, dass der Fehler dort 
liegt.

Puuuh, ich weiß gar nicht, wie oft ich kontrolliert habe, ob das 
überhaupt der richtige Chip ist (hier habe ich unterschiedliche STM32 im 
LQFP48 - Gehäuse)
Aber (auch hier leider): es ist ein STM32F072C8.

Natürlich habe ich auch das originale Programm überprüft. Da wird zwar 
auch eine Datei eingebunden (Startupdatei) namens startup_stm32f072xb.S, 
aber in der Beschreibung dort ist zu lesen, dass diese Datei 
gleichermaßen für 072x8 und 072xb gilt. Der Unterschied der beiden liegt 
im maximalen Flashspeicher (64k zu 128k), Ram ist bei beiden 16k.  Das 
Programm selbst bindet dann aber auch einen STM32F072C8TX_FLASH.ld ein, 
in dem die Angabe
1
/* Specify the memory areas */
2
MEMORY
3
{
4
RAM (xrw)      : ORIGIN = 0x20000000, LENGTH = 16K
5
FLASH (rx)      : ORIGIN = 0x8000000, LENGTH = 64K
6
}
richtig eingestellt ist.

von Ralph S. (jjflash)


Lesenswert?

Wastl schrieb:
> Zeige den Verlauf deiner Masse im Layout. Auf dem Steckbrett
> hast du ja nicht kapiert dass man Lastkapazitäten (nein, es
> heisst nicht Ziehkondensatoren) mit ihrer Masse auf den
> nächstgelegenen Massepin des Controllers legt und nicht auf
> irgendeine Masse. Ja, Masse != Masse.

Wenn du dir das Bild des Steckbretts (welches im Übrigen problemlos 
läuft) genau anschaust, dann wirst du feststellen, dass die 
LASTKAPAZITÄTEN (ist es nicht egal wie die geschrieben werden, jeder 
weiß was damit gemeint ist) nicht auf die Masseschine des Bretts gehen, 
sondern quer zum PIN 8 (eben Masse).

Dass das auf dem Steckbrett nicht besser geht, ist schlicht dem 
geschuldet, dass es eben auf einem Steckbrett aufgebaut ist.

Auf dem Layout (komme ich gerade nicht ran) weiß ich, dass die 
Masseverbindung schon sehr knapp an Pin 8 geht.

Im Übrigen finde ich das Wort "kapiert" schon xyz (zensiert), 
"verstanden" wäre besser mal ganz davon abgesehen, dass ich das schon 
sehr wohl verstanden habe! Von daher vielen Dank für die "Belehrung".

Natürlich habe ich, so gut es geht dennoch versucht das umzusezten was 
du schreibst und einen Draht von den "Lastkapazitäten" direkt nach Pin 8 
verlegt. Natürlich ohne Erfolg.

Dann habe ich ein kleines Programm geschrieben, dass über einen Timer 
ein Rechtecksignal 4096 Hz an PA3 erzeugen soll. Ergebnis mit einem 
alten Hameg Frequenzzähler HM8021-3 (was anderes habe ich halt nicht) 
sagt mir, dass die Frequenz um kleiner als 60 ppm (nach unten) abweicht.

Glaubst du wirklich, dass mein Problem an einer Masseleitung bei den 
Lastkapazitäten des Quarzes liegt (wenn doch ein DFU-Bootloading so 
problemlos funktioniert).

Meine nächsten Versuche (allerdings nicht heute) werden sein, einen Chip 
aus dieser Charge zu nehmen, ihn auf einer Adapterplatine löten und in 
die Schaltung auf dem Steckbrett einsetzen um zu sehen wie der dort 
reagiert.

von Andreas B. (abm)


Lesenswert?

Ralph S. schrieb:
> Hier irritiert mich STMicroelectronics STM32F407 nicht, das war schon
> immer so und ist in der Firmware (nicht von mir geschrieben) so
> verankert.
>
> Gleiche Firmware auf meine PCB-Version aufgespielt: Schaltung meldet
> sich NICHT an.
>
> Wie kann das sein? Die Verbindung zu USB (Hardware) muß doch
> funktionieren, sonst könnte ich den Chip doch nicht mittels USB
> DFU-Bootloader flashen.

Da gibt's schon einen Unterschied: Der Bootloader aktiviert CRS und 
gewinnt den Takt für USB via HSI48 und CRS (s. AN2606 13.1). Bei der 
Firmware ist das Sache der Firmware. Vielleicht über HSE und Quarz??? 
Wenn der Aufbau auf Steckbrett und Platine tatsächlich im Wesentlichen 
identisch ist, spielt event. die Leitungsführung etc. am Quarz eine 
Rolle. Schon eine geringe Abweichung von der Sollfrequenz, und USB 
klappt nicht mehr (zuverlässig).
Sowohl HSI48 als auch PLL-Takt (nur die beiden sind für USB möglich) 
kann man auf den MCO-Ausgang legen und messen - der Eingriff in die 
Firmware ist minimal (wenn man die Sourcen hat und der Pin nicht 
anderweitig fest belegt ist).

von Guido K. (Firma: Code Mercenaries GmbH) (thebug)


Lesenswert?

Wozu der Quarz? Der F072 kann mit internem Oszillator laufen, der sich 
mit dem USB über PLL tuned.

von Ralph S. (jjflash)


Lesenswert?

Das... wird dann eine heikle Sache, die Firmware liegt zwar im Source 
vor, aaaaber, zumindest für mich, etwas sehr undurchsichtig. Ich werde 
mal sehen ob ich nicht ein einfaches USB Programm selbst erstelle und 
schau was geht oder nicht. Mit dem 72er habe ich das noch nie gemacht.


@Guido: einfache Sache: weil es die Firmware schon fix und fertig gibt.

von Andreas B. (abm)


Lesenswert?

Ralph S. schrieb:
> Das... wird dann eine heikle Sache, die Firmware liegt zwar im Source
> vor, aaaaber, zumindest für mich, etwas sehr undurchsichtig. Ich werde
> mal sehen ob ich nicht ein einfaches USB Programm selbst erstelle und
Dann weiß man aber immer noch nicht, was die Firmware macht ...

> schau was geht oder nicht. Mit dem 72er habe ich das noch nie gemacht.
Testweise 8Mhz-Oszillator oder Funktionsgenerator statt Quarz 
anschließen ...

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Um einen Hardwarefehler auszuschließen könntest du ein kleines 
Hello-World auf Basis der HAL oder dem hier im Forum veröffentlichten 
Code ausprobieren.

Ich denke, die Vorschläge auf 
http://stefanfrings.de/stm32/stm32l0.html#usb lassen sich mit minimalem 
Aufwand für deinen Mikrocontroller anpassen.

von Stephan S. (uxdx)


Lesenswert?

Schwingt der Oszillator? Die Masseleitung von den C's zum GND scheint 
mir recht lang zu sein, ggf. vertausche mal die Position des Quarzes und 
der beiden C's. Ich persönlich schwöre ja auf fertige Oszillatoren: 
klein und no trouble

von Thomas Z. (usbman)


Angehängte Dateien:

Lesenswert?

Du hast die Vias sind in der Lötstop maske freigestellt. Eine Via ist am 
Quarzgehäuse. Setz den Quarz mal ein paar 10tel mm höher. Pads am Quarz 
sind auch sehr groß. Vermutlich produziert das Quarzgehäuse einfach 
einen Kurzschluss.

Ich habe bei mir deshalb bei HC49 Quarzen auf der Top Seite immer eine 
sehr kleine Freistellung in der Lötstopmaske. Das ist bei fest in den 
Libs drin.

Im Anhang ein Beispiel

: Bearbeitet durch User
von Harald A. (embedded)


Lesenswert?

Den STM32F072 betreibe ich typischerweise mit einem 12MHz Quarz in 
USB-Applikationen (oder eben quarzlos mit internem Oszillator und PLL 
Tuning). Die 12MHz begegnen mir auch immer wieder in öffentlichen 
Schaltplänen. Von daher finde ich die 8MHz zumindest ungewöhnlich (kann 
aber natürlich so funktionieren).

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Stephan S. schrieb:
> Schwingt der Oszillator?

Gute Frage, zur Kontrolle könnte man clock out (MCO) benutzen. Und: Bei 
diesem STM32 Modell kann die USB Schnittstelle auch ohne Quarz 
funktionieren, wenn er entsprechend konfiguriert ist (mein vorhin 
verlinktes Beispiel tut das).

von Ralph S. (jjflash)


Lesenswert?

Thomas Z. schrieb:
> Du hast die Vias sind in der Lötstop maske freigestellt. Eine Via ist am
> Quarzgehäuse. Setz den Quarz mal ein paar 10tel mm höher. Pads am Quarz
> sind auch sehr groß. Vermutlich produziert das Quarzgehäuse einfach
> einen Kurzschluss.

Das wäre das nächste was ich versucht hätte oder machen werde.

Harald A. schrieb:
> Von daher finde ich die 8MHz zumindest ungewöhnlich (kann aber natürlich
> so funktionieren).
>
Na ja, ich habe die Firmware nicht geschrieben.

Stephan S. schrieb:
> Die Masseleitung von den C's zum GND scheint mir recht lang zu sein,
> ggf. vertausche mal die Position des Quarzes und der beiden C's.

Es sind 8mm. Die Platine ist fertig und da geht so einfach tauschen 
nicht!

von Stephan S. (uxdx)


Lesenswert?

Ralph S. schrieb:
> Es sind 8mm. Die Platine ist fertig und da geht so einfach tauschen
> nicht!

Quarz und C's auslöten, Quarzoszillator mit Fädeldraht einlöten und mit 
Heisskleber festmachen, dann ins Forum Thread "Quick & Dirty" :)

: Bearbeitet durch User
von Ralph S. (jjflash)


Lesenswert?

Sodele, mein Problem ist gelöst. Die Zusammenfassung meiner Versuche:

- mit dem eingelöteten Chip läuft USB ohne ext. Quarz nicht (was mich 
stutzig gemacht hat)
- Chip aus der Charge auf einen Adapter gelötet und in das Steckbrett 
gesteckt => läuft nicht (USB ohne ext. Quarz läuft hier auch nicht)
- Chip aus anderer Charge und STM32F072B (nicht 8) auf Adapter gelötet 
und in das Steckbrett gesteckt => funktioniert
- neue Platine bestückt (sogar mit nicht wirklich vorteilhaftem Sockel 
für den Quarz) und Chip STM32F072B => funktioniert sofort nach 
einschalten.

Versuch mit dem funktionierenden PCB (und gesockeltem Quarz):

- DFU USB-Bootloader läuft beim STM32F072 auch ohne externen Quarz

Grundsätzlich stellt sich mir jetzt die Frage, ob es einen grundlegenden 
Unterschied zwischen -8 und -C Typ gibt (was ich mir nicht vorstellen 
kann, weil auf dem ursprünglichen Steckbrett ein -8 eingebaut ist), oder 
ist da dann evtl. doch ein Fake-Chip zugange (Lieferant war 
www.lcsc.com). Allerdings so recht glauben mag ich das nicht.

Wie dem auch sei: vielen Dank für die Hinweise, gelernt habe ich 
einiges.

- im Gegensatz zu STM32F4 geht DFU auch ohne Quarz
- ich werde (da ich immer mehr Chips, min. 5, bestelle) einen Chip erst 
ausserhalb einer Platine oder auf einer funktionierenden Platine testen.

von Andreas B. (abm)


Lesenswert?

Ralph S. schrieb:
> Wie dem auch sei: vielen Dank für die Hinweise, gelernt habe ich
> einiges.
Ein wichtiger Punkt darunter fehlt: Quarze sind rechte Mimosen ;-)

von Stephan S. (uxdx)


Lesenswert?

Andreas B. schrieb:
> Ralph S. schrieb:
>> Wie dem auch sei: vielen Dank für die Hinweise, gelernt habe ich
>> einiges.
> Ein wichtiger Punkt darunter fehlt: Quarze sind rechte Mimosen ;-)

Deswegen werden heute immer öfter fertige Oszillatoren verbaut, teils 
sogar auf billigen µC-Platinen (Pico 2, ESP32-C3 ...)

von Ralph S. (jjflash)


Lesenswert?

Stephan S. schrieb:
> Deswegen werden heute immer öfter fertige Oszillatoren verbaut, teils
> sogar auf billigen µC-Platinen (Pico 2, ESP32-C3 ...)

na ja, am Quarz lag es ja nicht !

Einen Punkt habe ich, dank rubel-die-katz vergessen:

- ich habe mich seit gefühlt 1000den von Jahren wieder mit STM32 Cube 
beschäftigt, normalerweise werkel ich mit libopencm3

von Thomas Z. (usbman)


Lesenswert?

Ralph S. schrieb:
> Grundsätzlich stellt sich mir jetzt die Frage, ob es einen grundlegenden
> Unterschied zwischen -8 und -C Typ gibt (was ich mir nicht vorstellen
> kann, weil auf dem ursprünglichen Steckbrett ein -8 eingebaut ist)

Du könntest ja auch mal die vollständigen Device Typen angeben anstatt 
immer von -8. -C und -B zu reden. Die Device Vielfalt ist bei ST ja 
enorm. Dann könnte man in den DBs suchen.

von Andreas M. (amesser)


Lesenswert?

Es gibt keinen STM32F072-8 laut ST. Es gibt C8, R8 und V8, ST verwendet 
außerdem keine Bindestriche.

Vielleicht ist es ja ein FT32F072

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Andreas M. schrieb:
> Es gibt C8, R8 und V8,

Schaut mal in die Titelzeile vom Thread

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Thomas Z. schrieb:
> Du könntest ja auch mal die vollständigen Device Typen angeben anstatt
> immer von -8. -C und -B zu reden. Die Device Vielfalt ist bei ST ja
> enorm. Dann könnte man in den DBs suchen.

vom "-C" habe ich nicht gesprochen. Es sind die Typen STM32F072C8 und 
STM32F072CB.

Beide besitzen ein gemeinsames Datenblatt (siehe auch Screenshot). Im 
Datenblatt wird hier explizit aufgeführt: STM32F072x8/xB !

Aber für mich hat es sich sowieso erledigt, weil ich eben einen 
STM32072C8 habe der funktioniert und einen, der nicht funktioniert 
(warum auch immer).

Mittlerweile habe ich 3 Platinen komplett bestückt (weil 2 meiner 
Bekannten des Programmer haben möchten) und alle 3 laufen einwandfrei !

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Ralph S. schrieb:
> vom "-C" habe ich nicht gesprochen.

Doch, hast du

Ralph S. schrieb:
> Grundsätzlich stellt sich mir jetzt die Frage, ob es einen grundlegenden
> Unterschied zwischen -8 und -C Typ gibt

Damit konnte ich auch nichts Anfangen, denn dein C8 ist beides, wenn man 
es locker sieht. Nur ist dann nicht klar, welches Modell denn der andere 
sein soll, der funktioniert.

von Thomas Z. (usbman)


Lesenswert?

Ralph S. schrieb:
> vom "-C" habe ich nicht gesprochen. Es sind die Typen STM32F072C8 und
> STM32F072CB.
natürlich hast du siehe 
Beitrag "Re: USB Problem bei STM32F072C8"
ich habe dich auch korrekt zitiert.
Wenn man ins ERATA schaut sind dort 3 Chip Revisionen mit 
unterschiedlichen Chip IDs aufgeführt.
Zumindest ein USB issue scheint in den beiden letzten Refs gefixt zu 
sein.
"The USB BCD electrical parameter not in line with specification"

Mich würde das an deiner Stelle schon interessieren warum ein Chip geht 
und der andere nicht.

von J. S. (jojos)


Lesenswert?

Bei Quarzen gibt es viele Unterschiede, vielleicht mag der Controller 
die alten dicken Quarze nicht. Es gibt eine AppNote von ST dazu. Ich 
kenne die Probleme von den 32 kHz Quarzen, zum Strom sparen werden die 
mit geringem Strom betrieben und einige Controller haben dafür eine 
Einstellung.

von Ralph S. (jjflash)


Lesenswert?

Thomas Z. schrieb:
> Mich würde das an deiner Stelle schon interessieren warum ein Chip geht
> und der andere nicht.

sagen wir es einmal so: Ich habe entnervt aufgegeben, und neue 
STM32F072C8 bestellt um zu sehen, ob das ein Ausrutscher war.

Außerdem bin ich auf der Suche, ob etwas bekannt darüber ist, ob der 
Chip (ähnlich dem STM32F103) gefaked wurde und wenn ja, ob es ein 
"Erkennungsprogramm" dafür gibt.

(boah, was "schwierig", wenn man die komplette Chipbezeichnung schreiben 
soll. Es war doch klar, dass es hier um einen STM32F072 geht ... und da 
sollte es doch eigentlich reichen wenn man schreibt: die C8 oder die CB 
Version... oder auch x8 oder xB Version ... wie das ST in seinen 
Datenblättern auch macht)

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Ralph S. schrieb:
> und da
> sollte es doch eigentlich reichen wenn man schreibt: die C8 oder die CB
> Version... oder auch x8 oder xB Version ... wie das ST in seinen
> Datenblättern auch macht

Ja gerne, das hätte so gereicht.

Aber du hast Verwirrung gestiftet, indem nach den "generellen" 
Unterschieden zwischen Modell -8 und -C fragtest, während es zuvor um 
den STM32F072C8 ging.

Anders gesagt:

Ich habe hier einen kleinen roten Apfel. Wo ist nun der Unterschied 
zwischen klein und rot? Sind kleine Äpfel grundsätzlich anders als rote? 
(Falls ja: wie kann es dann sein, dass mein Apfel klein und rot ist?)

: Bearbeitet durch User
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.