Hallo liebe Gemeinde, ich habe in einem Projekt nun zum ersten mal einen STM32 eingesetzt, die genaue Bezeichnung ist STM32F303VBT im LQFP100 Gehäuse. Vor einem Jahr wurde von der Schaltung ein Prototyp gebaut, der ist seitdem im Dauereinsatz und macht keinerlei Probleme. Nun wurden 150 Boards gefertigt und ich habe die ersten 60 Stk. in Betrieb genommen. Von diesen 60 Boards fielen beim IO-Testprogramm auf Anhieb vier Boards auf, die am internen AD-Wandler nicht auf den Maximalwert kommen. An den Eingängen hängen 10k Potis, die mit einem RC-Glied gefiltert werden, R=10k, C=1u. Die defekten Boards ziehen einen so hohen Strom über die analogen Pins, dass das RC-Glied durch Belastung nur auf 2.9V hochkommt, 0.4V fallen am Filterwiderstand ab. Der Prozessor wird mit zwei NCP1117 versorgt, einer macht VDD_D, der andere VDD_A und VREF+. Die Massen sind an zentraler Stelle zusammengeführt. Die Stromversorgung der Regler ist über ein 9V Steckerschaltnetzteil per Brückengleichrichter als Verpolungsschutz und entsprechenden Kondensatoren. Bei allen betroffenen Boards werden die Spannungsregler sehr heiß und der Prozessor merklich warm. Über VDD_D fließt ein um 20-30 mA höherer Strom als bei intakten Boards. Der Code wird (soweit man erkennen kann) jedoch korrekt ausgeführt. Ein Austausch des Prozessors bei einem der defekten Boards hat das Problem beseitigt. Das Entlöten und wieder Auflöten eines Prozessors auf einem anderen Board hat das Problem nicht beseitigt. Mit dieser Prozedur wollte ich Lötfehler oder Leiterplattenfehler ausschliessen. Kurzschlüsse lassen sich nicht feststellen. Ich weiß hier nicht weiter. Hat jemand eine Idee in welche Richtung ich weiter Suchen könnte? Max
max123 schrieb: > Ich weiß hier nicht weiter. Hat jemand eine Idee in welche Richtung ich > weiter Suchen könnte? Stückweise die Schaltung "entstücken" und Stromverbrauch beobachten. Wenn Die CPU warm wird fließt der Strom darüber - das sollte ja feststellbar sein wohin. rgds
max123 schrieb: > Bei allen betroffenen Boards werden die Spannungsregler sehr heiß und > der Prozessor merklich warm. Über VDD_D fließt ein um 20-30 mA höherer > Strom als bei intakten Boards. Der Code wird (soweit man erkennen kann) > jedoch korrekt ausgeführt. > > Ein Austausch des Prozessors bei einem der defekten Boards hat das > Problem beseitigt. Das Entlöten und wieder Auflöten eines Prozessors auf > einem anderen Board hat das Problem nicht beseitigt. Mit dieser Prozedur > wollte ich Lötfehler oder Leiterplattenfehler ausschliessen. > Kurzschlüsse lassen sich nicht feststellen. Klingt nach Latch-up. Prozessor nicht ESD-gerecht verpackt? Beim löten nicht auf ESD geachtet? Ich habe einen STM32F4 mal mit ähnlichen Verhalten entsorgen müssen (TQFP176 auslöten -> bah). Der hat kurzzeitig einen 12V-Spike gesehen, daraufhin genemigte sich das Teil über 2A (@3.3V) und wurde innerhalb von Sekunden kochend heiß, das Programm hat er aber weiterhin korrekt ausgeführt und auch programmiren ließ er sich noch.
Bauteiltöter schrieb: > Der hat kurzzeitig einen 12V-Spike gesehen, > daraufhin genemigte sich das Teil über 2A (@3.3V) Na, das hat aber Nichts mit Latchup und ESD zu tun. Da brennt der Ausgangstreiber durch - anscheinend leitend. Dass der Core dann weitermachen kann ist durchaus möglich. rgds
Ne, der 12V-Spike war auf der 3,3V Versorgungsspannung. Kann also zum Latchup führen. Ich zitiere mal Wikipedia: >Auslösemechanismen: >Die Versorgungsspannung überschreitet die absoluten Grenzdaten (engl. >absolute maximum ratings) des Bausteins. Eine kurze Spannungsspitze wie >bei einer elektrostatischen Entladung kann hier genügen. Aber du hast recht, je nachdem welcher Teil des Chips betroffen ist, ist es nur logisch das der CPU-Core weiter rechnet. Im ersten Moment ist es aber schon erstaunend wenn man einen kochenden Prozessor hat der dennoch weiter arbeitet.
6a66 schrieb: > Stückweise die Schaltung "entstücken" und Stromverbrauch beobachten. > Wenn Die CPU warm wird fließt der Strom darüber - das sollte ja > feststellbar sein wohin. > > rgds Das werde ich vielleicht mal machen müssen. Komisch ist jedoch, dass nach Prozessortausch das Board mit der selben Peripherie einwandfrei funktionierte! Bauteiltöter schrieb: > > Klingt nach Latch-up. Prozessor nicht ESD-gerecht verpackt? Beim löten > nicht auf ESD geachtet? > > Ich habe einen STM32F4 mal mit ähnlichen Verhalten entsorgen müssen > (TQFP176 auslöten -> bah). Der hat kurzzeitig einen 12V-Spike gesehen, > daraufhin genemigte sich das Teil über 2A (@3.3V) und wurde innerhalb > von Sekunden kochend heiß, das Programm hat er aber weiterhin korrekt > ausgeführt und auch programmiren ließ er sich noch. Die Bestückung findet bei einem professionellen Bestücker statt. Wir haben zwar Teppichboden, haben deshalb Tischmatten und Armbänder im Dauereinsatz. Wie empfindlich sind die Chips erfahrungsgemäß gegen die Einschaltreiheenfolge der Versorgungsspannung? Wir schalten "gleichzeitig" und ohne Verzögerung, das Datenblatt spricht ja von VDD_A vor oder gleichzeitig mit VDD_D..
Max 123 schrieb: > Die Bestückung findet bei einem professionellen Bestücker statt. Wir > haben zwar Teppichboden, haben deshalb Tischmatten und Armbänder im > Dauereinsatz. 4 Stück in Serie mit ESD zu töten - unwahrscheinlich. Eher: Kaputte Keramikkondensatoren durch trennen (Ritztechnik), Kurzschlüsse durch Lotperlen oder Mechanik (Potentiometer), ... rgds
Max 123 schrieb: > Wie empfindlich sind die Chips erfahrungsgemäß gegen die > Einschaltreiheenfolge der Versorgungsspannung? Wir schalten > "gleichzeitig" und ohne Verzögerung, Du meinst die VDD_A und VCC_D? Machen wir auch, >10k am laufen, ohne Probleme. rgds
Max 123 schrieb: > Das werde ich vielleicht mal machen müssen. Komisch ist jedoch, dass > nach Prozessortausch das Board mit der selben Peripherie einwandfrei > funktionierte! Hmm, mal mit dem Mikroskop draufschauen? Kein Mikroskop - dann Uhrmacherelupe für 15EUR besorgen, gehört zu jedem HW-Arbeitsplatz dazu der SMD verarbeitet. rgds
Wie sehen denn die Spannungen an den Ausgängen der NCPs bzw. am STM aus? Kann es sein, dass da nicht mehr die Anforderungen aus dem Datenblatt des NCP1117 erfüllt werden?
6a66 schrieb: > Max 123 schrieb: >> Das werde ich vielleicht mal machen müssen. Komisch ist jedoch, dass >> nach Prozessortausch das Board mit der selben Peripherie einwandfrei >> funktionierte! > > Hmm, mal mit dem Mikroskop draufschauen? Kein Mikroskop - dann > Uhrmacherelupe für 15EUR besorgen, gehört zu jedem HW-Arbeitsplatz dazu > der SMD verarbeitet. > > rgds Ja, wir haben mit dem Mikroskop geschaut. Nichts zu sehen. Ich habe den Schaltplan mal angefügt - vielleicht ist das hilfreich. Arc Net schrieb: > Wie sehen denn die Spannungen an den Ausgängen der NCPs bzw. am STM aus? > Kann es sein, dass da nicht mehr die Anforderungen aus dem Datenblatt > des NCP1117 erfüllt werden? In welcher Hinsicht? Die Spannungen sind bei 3.3V +- 50mV, kein erkennbarer Ripple, Spikes etc, kein (sichtbares) Schwingen. Ergänzend ist festzustellen, dass bei überbrücken der R's in den RC-Gliedern nach den Potis der AD Wandler wieder seine hohen Werte erreicht. Es ist aber auch zu messen, dass die digitalen IO's nicht mehr über 2.7V-2.8V hinauskommen.
Max 123 schrieb: > Ja, wir haben mit dem Mikroskop geschaut. Nichts zu sehen. Ich habe den > Schaltplan mal angefügt - vielleicht ist das hilfreich. Interessant - wir versorgen den VDD_A aus dem VDD_D mittels Ferriten (beads). Was passiert wenn VDD_A vorhanden und VDD_D nicht - sollte man ma überprüfen. STM hat zur Versorgung von VDD_A IMHO eine APPNOTE. rgds
Max 123 schrieb: > Ja, wir haben mit dem Mikroskop geschaut. Nichts zu sehen. Ich habe den > Schaltplan mal angefügt - vielleicht ist das hilfreich. Sehe auch dass Ihr VSS_A nicht am Regler auflegt sondern einfach and PWRGND. Auch hier APPNOTE beachten. rgds
6a66 schrieb: > Interessant - wir versorgen den VDD_A aus dem VDD_D mittels Ferriten > (beads). Was passiert wenn VDD_A vorhanden und VDD_D nicht - sollte man > ma überprüfen. STM hat zur Versorgung von VDD_A IMHO eine APPNOTE. STM sagt dazu in AN2834, Abschn. 3.2.12: If you use a switching-type power supply for the digital circuitry, you should use a separate linear supply for the analog circuit. Also, if you expect a lot of noise on the DC power supply due to I/O switching etc., it is preferable to use a separate supply for the analog circuit. Weiter im Datenblatt DocID023353 Rev 8, Abschn. 3.7.1: The VDD_A voltage level must be always greater or equal to the VDD voltage level and must be provided first. Das liegt sicher auch daran, dass die interne PLL und der Reset Generator an VDD_A hängen. Die Spannungsdifferenz zwischen den Reglern, wie kritisch mag man hier "equal" auslegen? 6a66 schrieb: > Sehe auch dass Ihr VSS_A nicht am Regler auflegt sondern einfach and > PWRGND. Auch hier APPNOTE beachten. > > rgds Was meinst du hier genau? GND_PWR ist vom Netzteil und jeweils mit VSS_D und VSS_A an den LDOs verbunden.
Max 123 schrieb: > The VDD_A voltage level must be always greater or equal to the VDD > voltage level and must be provided first. Hmmm - wie "first" muss das denn sein. Wie gesagt, bei uns läuft ein Produkt mit EINEM LDO für beide problemlos. Was passiert wenn dem nicht so ist, wenn VDD kommt und VDD_A nicht (Regler defekt, Zeitkonstanten, ...)? Max 123 schrieb: > Was meinst du hier genau? GND_PWR ist vom Netzteil und jeweils mit VSS_D > und VSS_A an den LDOs verbunden. Wir haben einen GND_A für diesen Fall den wir an EINEM Punkt mit GND verbunden haben. An GND_A hängt die ganze Analogbeschaltung für die AD Wandler und deren Eingänge. rgds
6a66 schrieb: > Max 123 schrieb: >> The VDD_A voltage level must be always greater or equal to the VDD >> voltage level and must be provided first. > > Hmmm - wie "first" muss das denn sein. Wie gesagt, bei uns läuft ein > Produkt mit EINEM LDO für beide problemlos. > Was passiert wenn dem nicht so ist, wenn VDD kommt und VDD_A nicht > (Regler defekt, Zeitkonstanten, ...)? Ich habe das gerade mal gemessen, der VDD_A-Regler kommt sowohl bei den defekten als auch einem intakten Board wenige us früher hoch als der digitale. Das liegt an den kapazitiven Belastungen auf den Rails und ist deshalb zuverlässig denke ich - oder? > > Max 123 schrieb: >> Was meinst du hier genau? GND_PWR ist vom Netzteil und jeweils mit VSS_D >> und VSS_A an den LDOs verbunden. > > Wir haben einen GND_A für diesen Fall den wir an EINEM Punkt mit GND > verbunden haben. An GND_A hängt die ganze Analogbeschaltung für die AD > Wandler und deren Eingänge. > > rgds So ist es im Layout auch. Uwe Bonnes schrieb: > Irgendwo 5 Volt auf einen non-5-Volt-tolerant Pin? Ja, das war tatsächlich zuerst der Fall. Deshalb sind alle Boards gepatcht und jetzt ist es nicht mehr so. Die betroffenen Boards sind aber wie im Schaltplan im Anhang und meiner Überprüfung nach gibt es diesen Fall jetzt nicht mehr. Die betroffenen Boards sind erst nach dem Fix bestromt worden.
Max 123 schrieb: > Ich habe das gerade mal gemessen, der VDD_A-Regler kommt sowohl bei den > defekten als auch einem intakten Board wenige us früher hoch als der > digitale. Das liegt an den kapazitiven Belastungen auf den Rails und ist > deshalb zuverlässig denke ich - oder? Würde ich mal als unkritisch vermuten. Ich denke mal dass es darauf hinausläuft tatsächlich die fehlerhaften Blöcke durch Entstückung zu bestimmen. rgds
Auch, wenn nach Entlöten des Prozessors und Einsetzen eines Neuen in das selbe Board das Board einwandfrei läuft? Was ist deine Vermutung hier? Ich hatte noch folgenden Verdacht: SWDIO und SWCLK werden von einem Discovery stm32f4-board im Automatik-Modus von ST-Link zum Programmieren benutzt. Dafür wird das Discovery per Stiftleiste mit dem Board verbunden. Ich kann nicht garantieren, dass die Boards bisher immer zuerst Spannung hatten und dann der Programmer verbunden wurde. Die Signalspannungen aus dem Discovery sind zwar nur 3.3V, dafür aber immer noch zu hoch, sofern der zu programmierende uC noch nicht versorgt ist. Gibt es da Zustimmung oder Gegenrede?
Max 123 schrieb: > Auch, wenn nach Entlöten des Prozessors und Einsetzen eines neuen in das > selbe Board das Board einwandfrei läuft? Was ist deine Vermutung hier? Nicht den Prozessor runter, sondern die umgebenden Funktionsblöcke. Klar - wenn Du 'nen neuen Prozessor einlötest ist der Fehler u.U. erstmal wech. Oder versuche die Stromversorgung der umgebenden Blöcke Stück für Stück zu unterbrechen. rgds
Max 123 schrieb: > SWDIO und SWCLK werden von einem Discovery stm32f4-board im > Automatik-Modus von ST-Link zum Programmieren benutzt. Dafür wird das > Discovery per Stiftleiste mit dem Board verbunden. Ich kann nicht > garantieren, dass die Boards bisher immer zuerst Spannung hatten und > dann der Programmer verbunden wurde. Die Signalspannungen aus dem > Discovery sind zwar nur 3.3V, dafür aber immer noch zu hoch, sofern der > zu programmierende uC noch nicht versorgt ist. Wir machen das mit dem jlink von Segger. Wenn da nicht zuerst die Boardspannung vorhenden ist schreit der - Danach kommt er im Normalfall immer an den Prozessor zum programmieren. rgds
6a66 schrieb: > Max 123 schrieb: >> Auch, wenn nach Entlöten des Prozessors und Einsetzen eines neuen in das >> selbe Board das Board einwandfrei läuft? Was ist deine Vermutung hier? > > Nicht den Prozessor runter, sondern die umgebenden Funktionsblöcke. Klar > - wenn Du 'nen neuen Prozessor einlötest ist der Fehler u.U. erstmal > wech. > Oder versuche die Stromversorgung der umgebenden Blöcke Stück für Stück > zu unterbrechen. > > > rgds Damit unterstellst du, dass irgendein Teil der Schaltung von außen gegen den Prozessor arbeitet?
Bauteiltöter schrieb: > Ich habe einen STM32F4 mal mit ähnlichen Verhalten entsorgen müssen > (TQFP176 auslöten -> bah). Der hat kurzzeitig einen 12V-Spike gesehen, > daraufhin genemigte sich das Teil über 2A (@3.3V) und wurde innerhalb > von Sekunden kochend heiß, das Programm hat er aber weiterhin korrekt > ausgeführt und auch programmiren ließ er sich noch. Passierte uns auch. Der Prozessor wird seitdem heiss, altes Programm wird ausgeführt, aber umprogrammieren läßt er sich nicht mehr. Prozessor war nicht verbunden, also ohne Peripherie aber D+, D- und GND von USB waren angeschlossen ( Vusb nicht). Netzteil war ausgeschaltet. Da leuchtete die LED für Spannung schon schwach. Irgendjemand hat dann eine Reverse-Diode ins Netzteil eingelötet und da wars passiert. Ist mir aber bis heute nicht ganz klar, was da überhaupt passiert ist und ob ein Zusammenhang mit der Diode besteht.
Ich habe jetzt das komplette Board Stück für Stück ab-bestückt - es passiert garnichts am Stromverbrauch, der ist konstant hoch, bis am Ende nur noch der Prozessor dran hängt und weiter fröhlich Strom zieht. Wenn man mal zusammenfasst, dann sollte doch eines der folgenden Szenarien dazu führen, oder? --------------------- - der Prozessor wird aus irgendeinem Grund dauerhaft an der Grenze seiner Spezifikation betrieben - manche machen dabei schlapp --------------------- * Versorgungspannungen sind zu hoch? -> Nein, die Regler arbeiten wie gewünscht * Versorgungsspannungsreihenfolge nicht eingehalten? -> Eigentlich schon, der LDO für VDD_A kommt vor VDD_D hoch. Vielleicht ist das kritisch? * 5V an bloß 3.3V kompatiblen Pins? -> nicht mehr - war vorhanden, alle Boards wurden aber vor der ersten Bestromung gepatcht. * zu hoher Strom aus einem der Pins gezogen? -> höchster Strom ist ca. 5mA zum treiben von LEDs --------------------- - der Prozessor wird während des Testens zufällig ungünstigen Bedingungen ausgesetzt - er geht dabei kaputt --------------------- * Vielleicht gibt es Probleme mit ESD? -> Bestückungsprozess ist zertifiziert, Testing findet mit ESD-Matte und Armband statt. Boards sind in ESD-Folie versandt worden * Ggf. wird der Prozessor über den Programmer mit Strom versorgt bevor die Versorgungsspannung anliegt? -> SWDIO liefert 3V3 und es kann nicht ausgeschlossen werden, dass Versorgunggspannung immer vor dem Programmer angesteckt wurde. Ich weiß nicht weiter wie ich hier systematisch eingrenzen soll. Ich kann nur erneut eine Probe von 30 Boards in Betrieb nehmen und dabei die Steckreihenfolge von Power und Programmer beachten. So ein Mist!
Ich verwende den STM32F103 und hab auch getrennte Verorgungen, die aber mit 2 antiparallelen Schottkys zwischen den Versorgungen niemals mehrt als 300mV voneinander abweichen, so sollte es laut Datenblatt auch sein. Da gab's bis jetzt noch nie Probleme. Wenn ich da weiters lies, dass die digitalen I/O's nur auf 2,8V bei 3,3V Nominal-Versorgung kommen, wird wohl auch die digital-Versorgung in die Knie gehen.Spricht schon irgendwie für ein internes Latch up der CPU. Probier das mal mit den Dioden, kostet ja nicht viel. Grüsse
Max 123 schrieb: > Ich weiß nicht weiter wie ich hier systematisch eingrenzen soll. Ich > kann nur erneut eine Probe von 30 Boards in Betrieb nehmen und dabei die > Steckreihenfolge von Power und Programmer beachten. > > So ein Mist! Yep - fällt mir jetzt auch Nichts Besseres ein. Außer: Ist einzugrenzen WO der Prozessor GENAU seinen Defekt hat (welche Peripherie Auf dem Board kann den nicht mehr angesprochen werden)? rgds
Du könntest, wenn er mit dir redet, den für dich zuständigen ST FAE fragen, ob das Problem und seine Ursache bekannt ist. Bei besonders guten Kunden-Hersteller Beziehungen (hängt nicht zuletzt von einem Umsatz mit vielen Nullen vor dem Komma ab ...), analysieren Hersteller auch schon mal defekte ICs für den Kunden. Wobei das bei 150 Stück eher nicht der Fall sein wird.
6a66 schrieb: > Max 123 schrieb: >> Ich weiß nicht weiter wie ich hier systematisch eingrenzen soll. Ich >> kann nur erneut eine Probe von 30 Boards in Betrieb nehmen und dabei die >> Steckreihenfolge von Power und Programmer beachten. >> >> So ein Mist! > > Yep - fällt mir jetzt auch Nichts Besseres ein. > Außer: Ist einzugrenzen WO der Prozessor GENAU seinen Defekt hat (welche > Peripherie Auf dem Board kann den nicht mehr angesprochen werden)? > > rgds Alles kann angesprochen werden. Das Fehlerbild noch einmal zusammengefasst: - LDOs werden heiß, Prozessor wird warm - VDD_D zieht zu hohen Strom, ca. 30-40mA mehr als normal - Eingangsstom der analogen Eingänge wird sehr hoch (ca. 40uA anstatt 0.2uA) - digitale IOs kommen nicht mehr ganz hoch, nur noch bis 2.9V - Lege ich per Discovery als Programmer einen Pegel von 3.3V an SWDIO bei ausgeschaltetem Board, so bricht dieser bei kaputten Boards auf 2.0V ein. Bei intakten Boards bleibt er bei 3.3V. Schalte ich die Versorgungsspannung dazu, so geht der Pegel bei de defekten Boards hoch auf 3.3V. Beide lassen sich programmieren. - Von außen sehen die internen Schutzdioden in beiden Fällen 'gleich aus'. Ich kann die Flussspannung mit meinem Multimeter messen. Ich habe jetzt mal 25 weitere Boards programmiert und dabei akribisch auf die Ansteckreihenfolge geachtet. Bei den 25 Stk. war keins defekt. Eine weitere Probe von 25 Stk. morgen Vormittag wird zeigen, ob das die richtige Richtung ist.
So, jetzt sind weitere 25 Boards programmiert und getestet, alles ohne besondere Vorkommnisse. Ich denke, es lag daran, dass der Programmer mit der Baugruppe verbunden war, bevor Betriebsspannung anlag. Auf dem SWDIO-Pin des Programmer liegt im Auto-Modus von STLink eine Spannung von 3V an, die zusammen mit der Programmermasse die gesamte Baugruppe über die IO-Pin-Schutzdiode (laut Datenblatt 5mA Maximalstrom) versorgen wollte. Das hat anscheinend ein paar Chips nicht so richtig geschmeckt. Jetzt wird auf die Ansteckreihenfolge geachtet und im Programmierkabel werden Serienwiderstände zur Strombegrenzung vorgesehen. Mal schauen ob's dann weiterhin schief geht. Danke für die Denkanstöße! Sollte es sich nochmal ändern, so werde ich berichten. Max
Max 123 schrieb: > Danke für die Denkanstöße! Sollte es sich nochmal ändern, so werde ich > berichten. Gerne, Grüße! rgds
Max 123 schrieb: > SWDIO und SWCLK werden von einem Discovery stm32f4-board im > Automatik-Modus von ST-Link zum Programmieren benutzt. Dafür wird das > Discovery per Stiftleiste mit dem Board verbunden. Max 123 schrieb: > Ich denke, es lag daran, dass der Programmer mit der Baugruppe verbunden > war, bevor Betriebsspannung anlag. > > Auf dem SWDIO-Pin des Programmer liegt im Auto-Modus von STLink eine > Spannung von 3V an, die zusammen mit der Programmermasse die gesamte > Baugruppe über die IO-Pin-Schutzdiode (laut Datenblatt 5mA Maximalstrom) > versorgen wollte. Hm also bei meinem "richtigen" standalone ST-Link/V2 Programmer steht im User Manual: "The power supply from the application board is connected to the ST-LINK/V2 debugging and programming board to ensure signal compatibility between both boards." Wenn das Board nicht versorgt ist, leuchtet die ST-LINK/V2 LED orange: "ST-LINK/V2 communication with the target has failed." Im ST "UM1472 User manual" (Discovery kit for STM32F407/417 lines) steht: "Features: [...] On-board ST-LINK/V2 with selection mode switch to use the kit as a standalone ST-LINK/V2 (with SWD connector for programming and debugging)". Also angeblich ein richtiger ST-LINK/V2 Programmer. Aber anscheinend ist der "VDD_TARGET" Pin beim Discovery Board Programmer überhaupt nicht verbunden? Siehe UM1472 "R2 not fitted". Der Widerstand ist auch wirklich nicht bestückt.
Danke Ben für die Detektivarbeit! Ich habe zwar das STM32F429 Board mit Display, da ist es aber R13 mit selber Funktion - nur dass sie dort sogar den Hinweis gespart haben und ihn kommentarlos nicht bestückt! Ich werde ihn mal einlöten und schauen was passiert!
> Also angeblich ein richtiger ST-LINK/V2 Programmer. Wenn es ein "richtiger" waer, koennte er auch STM8 programmieren. Wenn es ein "richtiger" waer, koennte er auch JTAG und nicht nur SWD. Es ist also kein "richtiger".
Max 123 schrieb: > Ich werde ihn mal einlöten und schauen was passiert! Vermutlich nichts? Die Firmware muss das ja unterstützen. Habe mal meinen ST-LINK/V2 aufgeschraubt (die Schrauben waren sehr gut versteckt unter dem Aufkleber) und da sitzt auf der Platine noch ein Bus Transceiver IC. Da der ST-LINK/V2 nur 25 Euro oder so kostet, würde ich den kaufen und nichts mit dem Discovery Board riskieren.
Naja, es hätte ja implementiert sein können. Ist es aberr nicht. Außerdem liegt da noch ein Spannungsteiler dran (R18/19 bzw R19/20 beim anderen), irgendwie komisch. Vielleicht würde es klappen wenn man den entfernt, ich habe es jetzt aber mal bleiben lassen und mir einen Link/V2 bestellt. Merci!
Wenn die Linearregler für 3V3_D und 3V3_A nicht absolut die selbe Ausgangsspannung erzeugen, treiben sie über die PowerPins der CPU die unnötige Leistung. Lösung: LinReg für VDD_A ausbauen, ferritperle von VDD_D nach AusgangsPad vom LinReg VDD_A legen. wenn VDD_D > VDD_A gilt : VDD_D-VDD_A / R(uC) == Fehlerstrom Eine rauschfreie Versorgung von VDD_A macht man nicht über getrennte LinRegs, sondern durch Filterung und gutes Layout.
Das hat mir in der Tat auch schon den Kopf zerbrochen. In der nächsten Revision wird das auf jeden Fall so geregelt - hälst du es für notwendig, dass bei max. 50mV Abweichung der Regler ein solcher Austausch getan werden muss? Wie würdest du eine solche Perle selektieren? Nach Durchflussstrom und angenommenem/gemessenem Spektrum auf den Powerlines? Gibt es eine Erfahrungsperle?
Schau im Datenblatt nach! 6.2 Absolute maximum ratings VDD- VDDA Allowed voltage difference for VDD > VDDA 0.4 V Wenn allerdings die Reger beim Einschalten ungleich hochfahren, kann dass Problematisch sein. Als Ferrite verwende ich z.b. BLM18RK102. Mit dem Smart Tweezer messe ich schon bei 10 kHz 12 uH, aus dem Datenblattdiagramm lese ich bei 1 MHZ schon ein Z von ueber 80 Ohm ab, was in etwa den 12 uH entspricht. Die Perle kann 200 mA, der STM32 selbst darf hat eine Grenze von 160 mA.
Dann passt doch alles, oder? Das Datenblatt gibt vor, dass VDDA vor VDD da sein muss. Das impliziert, dass der Chip das verträgt, wenn VDD < VDDA. Außerdem darf VDD um 0.4V größer als VDDA sein. Auch das ist der Fall. Die Einschaltreihenfolge ergibt sich korrekt aus den kapazitiven Lasten, VDDA ist schneller als VDD. STM schlägt in ihrer APP Note zu Noise Reduction on ADCs einen seperaten LDO vor. Daher meine Verwunderung und die Frage, ob es geändert werden muss.
Max 123 schrieb: > Dann passt doch alles, oder? > > Das Datenblatt gibt vor, dass VDDA vor VDD da sein muss. Das impliziert, > dass der Chip das verträgt, wenn VDD < VDDA. > > Außerdem darf VDD um 0.4V größer als VDDA sein. Auch das ist der Fall. > > Die Einschaltreihenfolge ergibt sich korrekt aus den kapazitiven Lasten, > VDDA ist schneller als VDD. > Dann ist aber beim Ausschalten VDD noch nach VDDA da...
statt zu theoretisieren einfach eine Drahtbrücke wie beschrieben auf einer Platine mit hohem Fehlerstrom einlöten und das Ergebnis begutachten. Ein Ferrit 0603/0805 mit 600@100MHz oder 1000@100MHz ist ein gern genommener Wert. Ein schlechtes Layout versaut aber jeden Analogpfad. Aber erstmal den Fehlerstrom in den Griff kriegen ist Schritt 1.
>hälst du es für notwendig, dass bei max. 50mV Abweichung >der Regler ein solcher Austausch getan werden muss? mal sehen, U/I=R 0,05V/0,03A= 1,7 Ohm für den Widerstand der Strompfade in der CPU Klingt erst mal plausibel.
ach ja, Ohmmeter zwischen 2 VDD_D Pins oder einem VDD_D und VDD_A Pin zum Prüfen der Theorie ... uC natürlich nicht in einer Schaltung eingebaut ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.