ISP Umschalten

#1154573
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
Persönliche Seite #1154626
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.
#1154628
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.
#1154640
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...
#1154678
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
#1154711
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
#1154715
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.

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