Hallo, ich bin neu hier im Forum und hoffe ihr könnt mir gleich bei einem Problem weiterhelfen: bei einem Testaufbau wollen wir nacheinander mehrere Microcontroller programmieren. Die Kontakte (SWDIO, RESET, SWCLK, 3,3V sowie GND) gehen auf einen Multiplexer. Der Multiplexer schaltet die Verbindungen zu den Microcontrollern (1 bis 10) durch. Bei 50% der Controller funktioniert das programmieren, bei den anderen kommt ein Fehler "Could not establish connection". Obwohl ich laut Multimeter eine Verbindung habe. Die Multiplexer haben einen Innenwiderstand von 70Ohm, ist dieser hierfür vielleicht verantwortlich? Wo liegt der Fehler? Hoffe es ist verständlich formuliert und in der richtigen Kategorie.
Gast
#6749304
Was sagt denn dein Oszilloskop bei den CPUs die nicht funktionieren?
Martin schrieb: > Was sagt denn dein Oszilloskop bei den CPUs die nicht funktionieren? Genau. Weiterhin wäre noch interessant, ob es immer die gleichen Steckplätze sind bzw. Multiplexerausgänge oder ob das immer verschieden ist.
Gast
#6749309
Höchstwahrscheinlich, dito, geht so und ja.
Gast
#6749314
Ri S. schrieb: > Hoffe es ist verständlich formuliert Leider nicht. Es fehlen essenzielle Angaben: - Was für ein µC? - Welches Programmiergerät? - Welche IDE / Software? - Was ist mit "Multiplexer" gemeint? - Wo hast du einen "Innenwiderstand" von 70 Ohm gemessen?
Ri S. schrieb: > Die Multiplexer haben einen Innenwiderstand von 70Ohm, ist dieser > hierfür vielleicht verantwortlich? Eher nicht, 70 Ohm sollten OK sein. > Wo liegt der Fehler? Den musst du mittels Fehlersuche finden. Vermutlich Lötfehler (Kurzschlüsse, Unterbrechungen) oder Fehler auf der Platine. Man kann auch den MUX mal auslöten und mit Draht brücken.
realist schrieb: > Ri S. schrieb: >> Hoffe es ist verständlich formuliert > > Leider nicht. Es fehlen essenzielle Angaben: > - Was für ein µC? ATSAMD20E15 > - Welches Programmiergerät? ATATMEL-ICE-BASIC > - Welche IDE / Software? Atmel Studio 7 > - Was ist mit "Multiplexer" gemeint? Bausteine, welche die Verbindungen vom Programmiergerät zu den Controller durchschalten (HC4067M) > - Wo hast du einen "Innenwiderstand" von 70 Ohm gemessen? Bei dem Multiplexer (HC4067M) zwischen dem Ein und Ausgang. Also Pin 1 und Pin 9, wenn Pos 1 durchgeschalten ist. Anleitung zu den Multiplexer https://www.ti.com/lit/ds/symlink/cd74hc4067.pdf?ts=1623142304115&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FCD74HC4067%253Futm_source%253Dgoogle%2526utm_medium%253Dcpc%2526utm_campaign%253Dasc-int-mss-prodfolderdynamic-cpc-pf-google-wwe%2526utm_content%253Dprodfolddynamic%2526ds_k%253DDYNAMIC%2BSEARCH%2BADS%2526DCM%253Dyes%2526gclid%253DCjwKCAjwqvyFBhB7EiwAER786Sqmj69WPzRho-5kMswaB-bkrn_Rn6-x4rxZzoobU2LOo0wk7D8zRRoCZMEQAvD_BwE%2526gclsrc%253Daw.ds
Ri S. schrieb: > Die Kontakte (SWDIO, RESET, SWCLK, 3,3V sowie GND) gehen auf einen > Multiplexer. Mit Schaltplänen in Prosa kann keiner was anfangen. Mals auf und fotografiere es mit dem Handy.
Adam P. schrieb: > Martin schrieb: >> Was sagt denn dein Oszilloskop bei den CPUs die nicht funktionieren? > > Genau. > > Weiterhin wäre noch interessant, ob es immer die gleichen Steckplätze > sind bzw. Multiplexerausgänge oder ob das immer verschieden ist. Sind dieselben Steckplätze
Gast
#6749345
Ri S. schrieb: > Adam P. schrieb: >> Martin schrieb: >>> Was sagt denn dein Oszilloskop bei den CPUs die nicht funktionieren? >> >> Genau. >> >> Weiterhin wäre noch interessant, ob es immer die gleichen Steckplätze >> sind bzw. Multiplexerausgänge oder ob das immer verschieden ist. > > Sind dieselben Steckplätze Dann würde ich speziell diese Verdrahtung nochmal GENAU unter die Lupe nehmen. Und zwar vom Programmer bis zu den Kontakten der betroffenen Steckplätze. Auch nach Querschlüssen suchen!
Ri S. schrieb: > Sind dieselben Steckplätze Hast du mal die Signale mit dem Oszi gemessen?
Gast
#6749388
Ri S. schrieb: >> - Was ist mit "Multiplexer" gemeint? > Bausteine, welche die Verbindungen vom Programmiergerät zu den > Controller durchschalten (HC4067M) Diese sollten die Masse nicht mitschalten, sondern die Masse sämtlicher Prüflinge und des Programmiergerätes muss verbunden bleiben. Wenn Du die aus anderen Gründen unbedingt trennen willst, dann nimm Relais zum Multiplexen und keine Analogschalter.
Mit welcher Taktrate wird programmiert, und passt die zur Propagation Delay Time des Multiplexers? LG, Sebastian
Gast
#6749403
Ri S. schrieb: > Die Kontakte (SWDIO, RESET, SWCLK, 3,3V sowie GND) gehen auf einen > Multiplexer. Der Multiplexer schaltet die Verbindungen zu den > Microcontrollern (1 bis 10) durch. GND und 3.3V über Multiplexer??? Das macht keinen Sinn. Es reicht völlig, Reset und SWDIO über Multiplexer (Analogschalter) zu führen. Alle anderen können direkt oder SWCLK (bei höherem Takt und größeren Leitungslängen) über einen Buffer an parallel an alle zu programmierenden uC.
Gast
#6749778
Ri S. schrieb: > Bei dem Multiplexer (HC4067M) Warum macht man solchen Unfug? Das sind reine Digitalsignale, das würde ich in Logik 74HCxxx oder CD40_irgendwas angehen. Ein Analogmultiplexer ist für diese Anwendung nicht spezifiziert.
Gast
#6749841
Manfred schrieb: > Warum macht man solchen Unfug? Baukasten-Stöpseln. Man denkt nicht mehr darüber nach, was man da eigentlich miteinander verbindet und glaubt: Je universeller, desto besser. Kennst du Leute, die wirklich alles mit Sekundenkleber kleben und davon überzeugt sind, dass damit sie den besten Kleber aller Zeiten verwenden?
Gast
#6749956
Manfred schrieb: > Ein Analogmultiplexer ist für diese Anwendung nicht spezifiziert. Naja, da Reset und SWDIO bidirektional sind, ist ein Analogmultiplexer für die beiden gar nicht so verkehrt. Zumindest wenn der mit 6V oder gar 9V versorgt wird, denn bei 3.3V wär' der doch etwas ... schwach und langsam.
Gast
#6749968
Ri S. schrieb: > Die Kontakte (SWDIO, RESET, SWCLK, 3,3V sowie GND) gehen auf einen > Multiplexer. > ... > Die Multiplexer haben einen Innenwiderstand von 70Ohm Heißt das, dass du den zu programmierenden Microcontroller über einen Vorwiderstand von insgesamt 140Ω versorgst und außerdem noch das Gnd-Potential um den Spannungsabfall von 70Ω * µC-Versorgungsstrom verschiebst?
Wolfgang schrieb: > Ri S. schrieb: >> Die Kontakte (SWDIO, RESET, SWCLK, 3,3V sowie GND) gehen auf einen >> Multiplexer. >> ... >> Die Multiplexer haben einen Innenwiderstand von 70Ohm > > Heißt das, dass du den zu programmierenden Microcontroller über einen > Vorwiderstand von insgesamt 140Ω versorgst und außerdem noch das > Gnd-Potential um den Spannungsabfall von 70Ω * µC-Versorgungsstrom > verschiebst? Hallo, alle 5 Kontakte werden über den Multiplexer (70 Ohm) geführt. Diese kann ich auch messen. Weiß nicht was du mit den 140 Ohm meinst.
Ri S. schrieb: > alle 5 Kontakte werden über den Multiplexer (70 Ohm) geführt. > Diese kann ich auch messen. > > Weiß nicht was du mit den 140 Ohm meinst. Das ist die Summe der beiden Multiplexer für GND und VCC. ziemlich viel, ggf. zuviel. Und vor allem eher unsinnig.
Ri S. schrieb: > alle 5 Kontakte werden über den Multiplexer (70 Ohm) geführt. Das ist der Fehler. Wer macht so einen Schwachsinn?
Multiplexer sind keine Relais! Die Spannungen alle Anschlüsse müssen >GND und <VCC sein. D.h. mindestens GND muß direkt verbunden sein! VCC und Reset können auch problemlos verbunden werden. Es müssen also nur die 2 Programmiersignale gemultiplext werden. Vermutlich reicht sogar, nur SWDIO zu multiplexen. SWDIO aller nicht selektierten MCs sollte über Pullups auf High liegen.
Un bei den icht angesteuerten CPU sollten die Reset auf GND bleiben, sonst laufen die gleich los.. Was fuern's Schwachsinn.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.