Fehler beim Programmieren

OP #6749302
Lesenswert?

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 #6749314
Lesenswert?

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?
OP #6749332
Lesenswert?

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
Gast #6749345
Lesenswert?

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!
Gast #6749388
Lesenswert?

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.
Gast #6749403
Lesenswert?

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 #6749841
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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?
OP #6754703
Lesenswert?

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.
#6754770
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren