Forum: Mikrocontroller und Digitale Elektronik ISP Umschalten


von Ano N. (oorim)


Lesenswert?

Servus

Ich will hier mal das Thema "ISP" Umschalten. Grund ist aus meinen 
anderen Threads zu entnehmen: Ich entwerfe derzeit ein Universalboard 
für 2 Microcontroller (AVR) die Parallel laufen können sollen. Heist: 
Ein ISP Anschluss, umschaltbar für je einen der beiden Prozessoren.

Idee 1: Ein Drehschalter
Da find ich allerdings nichts passendes

Idee 2: Ein Kippschalter
http://de.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=1035568 
Da hab ich jezt was gefunden was funktioniert... da fehlt mir allerdings 
noch die Eagle Bibliothek bzw ich weis nicht ob sie passt.

Idee 3: Das ganze Elektronisch lösen, gefällt mir bisher am besten
Könnte ich das ganze nicht mit zwei Tastschaltern und einem Mux lösen? 
2x4 Bit auf 4 Bit Muxen bzw umgekehrt? Gibt es einen solchen Mux? ich 
weis nicht wie ich danach suchen soll :(

Oder hat jemand noch eine Idee? Zwei ISP Anschlüsse geht nicht :)

Grüße

von Justus S. (jussa)


Lesenswert?

Hängt an den ISP-Leitungen noch was anderes? Afaik reicht es sonst doch 
aus, nur die Resetleitung umschaltbar zu machen...

von Ano N. (oorim)


Lesenswert?

Es hängen nur die beiden Prozessoren an der ISP Leitung.
Schaltplan:
http://img3.imagebanana.com/view/zrkovjvl/sch.png

Wenn nur die Resetleitung reicht wäre das Fantastiko!

von Stefan B. (stefan) Benutzerseite


Lesenswert?

AVR042: AVR Hardware Design Considerations
http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf

Multiple AVRs in a single application can share the same ISP interface 
to make it possible to program all of the devices through a minimal 
interface. However, the AVR devices will all respond to the ISP 
instructions if special design considerations are not made.

If it is desired to have only one ISP interface on the target board, the 
ISP programming can be designed so that only one of the AVR devices is 
provided with a SPI clock at a time. All other SPI lines can then be 
shared. In this way all AVRs can be located “behind” the same protection 
resistors, since they all are held in RESET while the ISP reset line is 
activated. The gating of the ISP clock can be accomplished e.g. using 
jumpers.

Alternatively, a solution is to have multiple ISP interfaces, one for 
each device, all protected as shown in Figure 4-2.

von (prx) A. K. (prx)


Lesenswert?

Reset alleine trennen reicht nicht unbedingt, da der andere Controller 
währenddessen die betreffenden Leitungen anderweitig benutzen kann (z.B. 
mit SPI). Im Schaltplan liegen die jedenfalls auf X3,X6. Nur wenn da 
garantiert nichts dranhängt, dann reicht Reset.

Elektronisch beispielsweise mit 74HC4053 zum Trennen von SCK/MOSI/MISO. 
Reset kriegen beide gemeinsam. Dass der jeweils nicht gemeinte 
Controller dabei auch einen Reset kriegt dürfte wohl nicht stören.

von Justus S. (jussa)


Lesenswert?

A. K. wrote:
> Reset alleine trennen reicht nicht, da der andere Controller
> währenddessen die betreffenden Leitungen anderweitig benutzen kann (z.B.
> mit SPI).


deswegen hatte ich ja gefragt, ob an denen noch was anderes hängt...da 
dem nicht, reicht es ja, eine Leitung schaltbar zu machen, auch wenn ich 
mich da falsch erinnert hatte, welche das sein muss...

von Ano N. (oorim)


Lesenswert?

Ich wollte alles umtauschen sodass man dann den einen im Betrieb halten 
kann un dem anderen eben eine neue Firmware gibt. Aber wenn es nicht 
geht dann muss man damit Leben und fertig.

Gibt es den 74HC4053 auch in SMD? Dann wäre mein Plan das IC auf die 
Unterseite zu packen und auf die Oberseite nen Schiebeschalter oder 2 
Pol wechsel Schalter zu Montieren, die gibts glücklicherweise auch in 
Eagle. Den 74HC4053 gibts leider nich in Eagle aber ich denke das is 
auffindbar :)

Versteh ich das richtig das ich den ISP Clock nur umschaltbar machen 
muss? Wäre das dann SCK? Oder
[quote]The AVR will never drive the SPI lines in a programming 
situation, since the AVR is held in RESET to enter programming mode – 
and RESET’ing the AVR tri-states all pins.[/quote]
Reicht es den zu programmierenden auf Reset zu ziehen?

Ich wollte es eben umschaltbar machen da ich dieses PDF von Atmel nich 
gefunden/nich dran gedacht habe und ich mich gefragt habe wie der PC das 
jetzt merken soll welchen von beiden Prozessoren er auswählen soll :) 
Aber wenn das nur eine Leitung zum Umschalten ist ... dann wäre das ja 
richtig toll.

Die Schutzwiderstände hab ich am ISP vorgesehen, wie dem Schaltplan zu 
entnehmen ist.

Die Platine macht im Grunden nix anderes als jeden Port als Klemme nach 
ausen zu führen, einem Prozessor die möglichkeit zu geben nach ausen mit 
dem U(S)ART über USB zu Kommunizieren und programmiert zu werden. Ferner 
hab ich einen 7805 für 1A Spannungsversorgung vorgesehen wobe ich da, 
denke ich, noch aufrüste. Da die Platine auch für SMD "neulinge" sein 
soll überleg ich noch ob ich das in SMD ausführe oder nicht, würde 
jedenfalls Platz sparen den ich ggf für einen ISP und Display Anschluss 
nutzen könnte ...

Grüße

von (prx) A. K. (prx)


Lesenswert?

Ano Nym wrote:

> Versteh ich das richtig das ich den ISP Clock nur umschaltbar machen
> muss?

Nein. Die Datenleitung Controller => Programmer ebenfalls. Der 
Atmel-Text besagt nur, dass im Reset kein SPI aktiv ist, aber SPI ist 
nicht ISP.

Den 4053 gibt es auch in SMD.

von Ano N. (oorim)


Lesenswert?

Ah okay. Also reicht es nicht nur den Reset umzuschalten und einen 
Controller in den Reset zu versetzen sodass man ihn programmieren kann?
Weil wenn ich nur SCK MISO und MOSI umschalte frage ich mich immer noch 
wie der PC dann merkt welchen der beiden er programmieren soll wenn 
beide Schlafen gelegt werden... Oder kann ich mit einem Mux nich einfach 
alle 4 Leitungen Muxen? Sollte doch gehen. Ich brauch jetzt eigentlich 
nur noch eine 74HC Bibliothek oder den Tipp wo ich diese finde, ggf 
schon in Eagle?


Grüße

von (prx) A. K. (prx)


Lesenswert?

Ano Nym wrote:

> Weil wenn ich nur SCK MISO und MOSI umschalte frage ich mich immer noch
> wie der PC dann merkt welchen der beiden er programmieren soll wenn
> beide Schlafen gelegt werden...

Kein Konflikt, denn er erreicht ja nur einen der beiden. Da es zwei 
verschiedene Typen sind, kann er sogar darüber harauskriegen wer es ist.

Der ist in Eagle schon drin. Notfalls als CD4053.

von Ano N. (oorim)


Lesenswert?

Hab ihn :) Ich bräuchte jetzt nur noch eine kurze Verkabelungshilfe

E zieh ich auf 5V damit er Low ist. Dann kann ich je S1 oder S2 auf 5V 
ziehen und damit zwischen Kanal 1 und 2 Umschalten. Richtig? Und wo 
klemm ich den rest an? (hab mit realen Muxen noch nie gearbeitet Oo)

von Ano N. (oorim)


Angehängte Dateien:

Lesenswert?

Ich hab meinen Versuch mal angehängt

von AufdemSchlauchsteher (Gast)


Lesenswert?

Hallo,
ich finde leider den Baustein nicht in der Eagle-Library (weder einen 
4053 oder 744053 oder 74C4053)
Hat wer einen Tipp bzw. Link wo ich die Library runter laden kann?
DANKE!

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.