Forum: Mikrocontroller und Digitale Elektronik Fehler beim Programmieren


von Ri S. (risi)


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.

von Martin (Gast)


Lesenswert?

Was sagt denn dein Oszilloskop bei den CPUs die nicht funktionieren?

von Adam P. (adamap)


Lesenswert?

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.

von Teo (Gast)


Lesenswert?

Höchstwahrscheinlich, dito, geht so und ja.

von realist (Gast)


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?

von Falk B. (falk)


Lesenswert?

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.

von Ri S. (risi)


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

von Peter D. (peda)


Lesenswert?

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.

von Ri S. (risi)


Lesenswert?

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

von realist (Gast)


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!

von Falk B. (falk)


Lesenswert?

Ri S. schrieb:
> Sind dieselben Steckplätze

Hast du mal die Signale mit dem Oszi gemessen?

von Soul E. (Gast)


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.

von Sebastian W. (wangnick)


Lesenswert?

Mit welcher Taktrate wird programmiert, und passt die zur Propagation 
Delay Time des Multiplexers?

LG, Sebastian

von A. B. (Gast)


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.

von Manfred (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


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?

von A. B. (Gast)


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.

von Wolfgang (Gast)


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?

von Ri S. (risi)


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.

von Falk B. (falk)


Lesenswert?

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.

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


Lesenswert?

Ri S. schrieb:

> alle 5 Kontakte werden über den Multiplexer (70 Ohm) geführt.

Das ist der Fehler. Wer macht so einen Schwachsinn?

von Peter D. (peda)


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.

von Pandur S. (jetztnicht)


Lesenswert?

Un bei den icht angesteuerten CPU sollten die Reset auf GND bleiben, 
sonst laufen die gleich los..
Was fuern's Schwachsinn.

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.