PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ISP-Umschalter



Florian
31.07.2004, 20:44
Hi @ all!
Ich möchte mindestens 3 AVR's mit einem ISP-Programmer programmieren!
Kann man irgendwie so etwas wie einen Umschalter bauen, der zwischen den drei umschaltet?
Er muss auch immer nur einen AVR programmieren, nicht alle gleichzeitig!

Florian
01.08.2004, 17:01
Hi!
Es gibt doch diese Schalter-IC's, die man fast wie ein Relais verwenden kann.
Zum Beispiel der CD4066:
http://www.sunmark.com/datasheets/cd4066.pdf
Ich habe in einem Buch mal gelesen, dass der 4066 mit 3-18V betrieben werden kann und an jedem "Schalter" bis zu 25mA schalten kann!

Ich stelle mir nun diesen Umschalter so vor:
http://www.cer-online.de/bilder/ISP-Umschalter001.gif

Irgendwie habe ich den ISP an x 4066 angeschlossen (dazu weiter unten mehr).
Die "Schaltpins" der CD4066 sind an dem AVR angeschlossen.
Zusätzlich sind z.B. 3 Led's und ein Taster an den AVR angeschlossen.
Die Schaltausgänge der CD4066 sind an den ISP-Ausgängen angeschlossen.

Wenn ich den ISP und den ISP-Umschalter anschalte soll die erste LED leuchten und der erste ISP-Ausgang an den ISP über den CD4066 angeschlossen sein.
Wenn ich dann den Taster drücke soll der AVR die nächste LED und den nächsten ISP-Ausgang an- bzw. durchschalten.
Sobald nun ein AVR über einen ISP-Ausgang programmiert werden soll, soll die dazugehörige LED blinken.

Das Problem ist nun:
Wie viel Strom braucht der AVR im Programmiermodus?
Hält das der CD4066 aus?
Welche Ausgänge des ISP muss ich über den CD4066 schalten und Wieviele CD4066 bräuchte ich dann für 3 ISP-Ausgänge?

Ich denke mal man muss MOSI, MISO, RST und SCK über die CD4066 schalten, VTG (Vcc), GND und LED sind nicht nötig, oder?
LED möchte ich dann noch an den AVR anschließen, damit er erkennt wann programmiert wird.
Zwar kann man dann an die ISP-Ausgänge keine LED's anschließen, aber ich denke, die braucht man nicht unbedingt, oder?

http://www.avr-asm-tutorial.net/avr_gra/isp10pin.gif

Florian
02.08.2004, 12:42
Kann mir denn niemand helfen?! :o(

Matthias
02.08.2004, 13:47
Also den Text gerade hab ich zwar nicht sorfältig gelesen und kenne mich auch icht mit den ATMELs aus, aber wäre es nicht am praktischsten, einfach nen Drehschalter zu nehmen und damit die Massezufuhr zu steuern (bzw so nen Doppelten Drehschalter, wenn du auch + Steuern möchtest)?

Ohne gegenpol kein Potential.

Florian
02.08.2004, 13:59
Hi Matthias!
Danke für die Idee!
Daran habe ich noch garnicht gedacht!

Florian
03.08.2004, 10:31
Hi @ all!
Kann mir jemand sagen, wieviel mA über GND beim ISP laufen?
Immerhin sind das ja 4 GND-Leitungen, das heißt, der Strom wird nicht gerade klein sein, oder?

Danke! :o)

recycle
03.08.2004, 12:06
Kann mir jemand sagen, wieviel mA über GND beim ISP laufen?
Immerhin sind das ja 4 GND-Leitungen, das heißt, der Strom wird nicht gerade klein sein, oder?


Wegen der 4 GND Pins am Stecker würde ich nicht auf einen hohen Strom schliessen. Ich glaube das sind nur deswegen 4, weil sich der 10 polige Secker für ISPs mehr oder weniger als Standard durchgesetzt hat aber nicht alle Pins benötigt werden.
Der Strom der zum Programmieren benötigt wird, fliesst ja auch durch den Controller und der hat auch nur einen GND Pin. Wieviel das ist, steht vielleicht im Datenblatt.
Zusätzlich fliesst noch der Reset-Strom. Wie hoch der ist, kannst du anhand deines Pullup-Widerstandes ausrechnen.

sonic
03.08.2004, 12:20
Kann mir jemand sagen, wieviel mA über GND beim ISP laufen?
Immerhin sind das ja 4 GND-Leitungen, das heißt, der Strom wird nicht gerade klein sein, oder?


Wegen der 4 GND Pins am Stecker würde ich nicht auf einen hohen Strom schliessen. Ich glaube das sind nur deswegen 4, weil sich der 10 polige Secker für ISPs mehr oder weniger als Standard durchgesetzt hat aber nicht alle Pins benötigt werden.
...


Auch, aber ich glaube der Hauptgrund ist, das dadurch ein Übersprechen in den Leitungen verhindert wird...Übertragungsfehler...die Masse zwischen jeder Signalleitung schirmt die Signale gegeneinander ab...
Bei einem IDE Kabel ist das glaub ich genauso...

Gruß, Sonic

Florian
03.08.2004, 12:51
Hi, ihr beiden!
Danke erstmal für Eure Antworten!

Das kann natürlich sein, dass damit das "Übersprechen" verhindert wird!

Ich glaube ich hatte eben einen logischen Fehler!
Beim ISP-Programmieren wird ja der AVR von einer Stromquelle versorgt und nicht über den ISP versorgt!
Dementsprechend dürfte der Strom der über den ISP fließt nicht allzu hoch sein, weil das der Port des PC's sonst nicht überleben würde!
Also kann ich ganz normale Transistoren nehmen um GND an/aus zu schalten, oder?
Beispiel BC548C!?

Matthias
03.08.2004, 13:20
Also kann ich ganz normale Transistoren nehmen um GND an/aus zu schalten, oder?


Ja

Florian
03.08.2004, 13:37
Gut!
Kurz, knapp und schmerzlos! ;o)
Danke!

sonic
03.08.2004, 15:22
Gut!
Kurz, knapp und schmerzlos! ;o)
Danke!

Für GND sind die auf alle Fälle OK, aber ich weis nicht was für Effekte das gibt, wenn die anderen 2 AVR's trotzdem das Signal bekommen...parasitäre Kapazitäten usw...ich würd auf nummer sicher gehn und auch die MOSI/MISO/RESET/SCK-Leitungen trennen, weis ja nicht ob auf alle das gleiche Programm kommen soll....bei den Transistoren musst du dann aber schauen ob die bei der Datengeschwindigkeit noch mitkommen...

Aber bevor du mit Transistoren rummachst...nimm doch einfach Treiberbausteine aus der 74er Reihe...dann brauchst du nur den enableeingang zu schalten...

Gruß, Sonic

Michael
03.08.2004, 16:40
Hallo Florian,

...nimm doch einfach Treiberbausteine aus der 74er Reihe...
ja, und das funktioniert sogar ;)
Gruss, Michael

Florian
03.08.2004, 16:43
Hi Michael!
Hast Du Dir so einen ISP-Umschalter gebaut?
Kannst Du mir einen Schaltplan geben?
Wäre nett! :o)
Danke für die Hilfe! :o)

Michael
03.08.2004, 17:37
Hallo Florian,
es ist nicht so schwer, aus dem reichhaltigem Sortiment von Logik-IC's diejenigen rauszusuchen, die man braucht. Hier ein 7414 und 2 74373. Je nach Bedarf auch mehr. Sicher gehen auch andere IC's, ich hatte aber grad keine anderen da :)
Gruss, Michael

Florian
03.08.2004, 18:02
Hi Michael!
Kannst Du mir die Schaltung erklären?
Ist das ein Programmieradapter+Umschalter, oder nur ein Umschalter?
Aber ein dickes Danke nochmal! :o)

Michael
03.08.2004, 20:10
Hallo Florian,
was soll ich da erklären?
An dem 25 poligen Stecker wirst du erkannt haben, dass es ein Programmieradapter ist. Die 2 Schalter deuten wohl zusätzlich auf einen Umschalter hin?
Zur Schaltung:
Der 7417 sorgt für ordentliche Pegel und die 74373 schalten diese durch. Rückwärts brauchst du keine Pegelwandlung mehr, ob der Ausgang eines 74xxx oder der Ausgang des Atmels am Parallelport hängt, ist Jacke wie Hose. Am Ende ist es (fast) egal, welche Chips du verwendest, selbst mit einfachen UND-Gattern lässt sich was machen.
Gruss, Michael

Florian
03.08.2004, 20:59
Hi Michael!
Danke nochmal, ich hatte den Schaltplan nur noch nicht ganz durchschaut!
Wie ist die Pinbelegung Deiner ISP-Buchsen, es sind ja nur 6Pol-Buchsen?!
Du hast ja bei den Triggern 2 hintereinander gesetzt, weil die Trigger invertieren, oder hab ich das jetzt falsch verstanden?
(Ich habe bisher kaum mit den 74gern oder 40gern gearbeitet!)
Was machen die einzelnen Pins der IC's und was machen die Bauelemente oben Links?

Danke nochmal!

Michael
04.08.2004, 21:24
Hallo Florian,

Wie ist die Pinbelegung Deiner ISP-Buchsen, es sind ja nur 6Pol-Buchsen?!
das hat historische Gründe, meine Anfänge waren von http://www.rowalt.de/mc bei Einführung1.
Dort ist der 6pol-Adapter üblich ;)
Da kannst du aber auch zwei 10polige einbauen, braucht halt mehr Platz.
Das mit den Triggern hast du richtig verstanden :)

Was machen die einzelnen Pins der IC's und was machen die Bauelemente oben Links?
hmmm, zieh dir halt mal die Datenblätter! Die 373er schalten ihre Ausgänge ein, oder eben nicht.
Oben links im Plan sind die Pins der Versorgungsspannung von den 3 IC's abgebildet, oder was meinst du?
Gruss, Michael

12.08.2004, 00:09
Hallo,

hier sind so viele verschiedene Vorschläge gefallen ... Da möcht ich einfach mal an den guten alten Multiplexer erinnern. Vier 4-zu-1 Multiplexer (z.B. zwei 74253), zwei Schalter und zur visuellen Gestaltung LEDs. Der Vorteil ist, dass alle Leitungen geschaltet werden, und nix hängt in der Luft.

Was meint ihr???

Gruss, Michael Mü

Florian
12.08.2004, 09:43
Hi Michael!
Irgendwie habe ich keine Ahnung was Du meinst, aber das wird daran liegen, dass ich mich nie wirklich mit TTL-/CMOS-Logikbausteinen beschäftigt habe! ;o)
Kannst Du mir erklären, was Du meinst?

Danke! :o)

Michael
12.08.2004, 19:15
Hallo Florian,
Hast du die Datenblätter gelesen? Den Link angeschaut?
Was genau hast du nicht verstanden?
@Gast:
Kannst du bitte erklären, was du an einem ISP-Dongle multiplexen willst? Bin schon gespannt.
Gruß, Michael

Florian
12.08.2004, 19:42
Hi Michael!
Ich glaube mir ist das was ganz dummes passiert! *lol*
Ich glaube ich wollte das eigentlich für den Gast schreiben! ;o)
Tut mir Leid! *an die Stirn hau*
Sorry! ](*,) O:) :-b

12.08.2004, 23:46
Hallo ...

Was möcht ich multiplexen??? Na die vier nötigen SPI-Leitungen ... Reset, SCK, MISO und MOSI. Auf ähnliche Art und Weise hatte ich auch einmal die Programmierschnittstelle vom SPI-Bus trennen müssen, welcher bei der Prgrammierung des ATMEL nicht beeinflusst werden durfte. Hier war Reset als Steuersignal benutzt worden.

VG Michael Mü

Michael
13.08.2004, 09:00
Hallo Gast,

Was möcht ich multiplexen??? Na die vier nötigen SPI-Leitungen ... Reset, SCK, MISO und MOSI
rotfl, leider finde ich kein Smiley, das vor Lachen auf dem Boden kugelt.
Du bist ab sofort mein Held!
Gruß, Michael

13.08.2004, 10:45
schön, dass ich hier für ein bisschen Spaß sorgen kann :-(

aber damit ich nicht dumm sterbe ... warum bin ich Dein Held??? Nicht, dass wir aneinander vorbei reden.

sonic
13.08.2004, 11:21
schön, dass ich hier für ein bisschen Spaß sorgen kann :-(

aber damit ich nicht dumm sterbe ... warum bin ich Dein Held??? Nicht, dass wir aneinander vorbei reden.

Es geht darum den ISP-Adapter nicht immer umstecken zu müssen. Also ist hier eine Schaltung gesucht die die ISP-Leitungen von den einen 4 Leitungen auf andere 4 Leitungen umzuleiten. Also ein Umschalter für den Signalweg.

Multiplexen bedeutet das du z.B. einen 8Bit breiten Datenbus über 2 Datenleitungen überträgst um z.B. Leitungen zu sparen. Am Ende wird wieder demultiplext und das 2Bit Breite Signal wieder auf 8Bit umgewandelt. Das bringt für nen Umschalter nicht wirklich was...

Gruß, Sonic

13.08.2004, 12:13
Hallo,

1. Hoppla, da hab ich mich wohl total verhasbelt ... tut mir Leid, für den Aufruhr. So versteh ich auch den Spott vom Michael. (Tolles Forum, wenn man gleich so herunter geputzt wird)

2. Aber warum sollen Demultiplexer nichts bringen??? Eine Quelle auf verschiedene Ziele lenken. Das muss doch auch funktionieren. Zumindest für die Leitungen zum AVR. Die umgekehrte Richtung benötigte dann tatsächlich einen Mux.

VG Michael Mü

sonic
13.08.2004, 12:23
Hallo,
1. Hoppla, da hab ich mich wohl total verhasbelt ... tut mir Leid, für den Aufruhr. So versteh ich auch den Spott vom Michael. (Tolles Forum, wenn man gleich so herunter geputzt wird)


Ooch, ich glaub das doch lieb gemeint ;-)



2. Aber warum sollen Demultiplexer nichts bringen??? Eine Quelle auf verschiedene Ziele lenken. Das muss doch auch funktionieren. Zumindest für die Leitungen zum AVR. Die umgekehrte Richtung benötigte dann tatsächlich einen Mux.
VG Michael Mü

Muxen ist dafür einfach nicht nötig, das erfüllt nen ganz anderen Zweck. Das einfachste ist halt ein Linedriver mit enable. dann hast du einen für den ersten AVR und einen für den 2. usw. Dann brauchst du blos noch nen Schalter um die Enableeingänge umzuschalten.

Außerdem ist das ISP vom AVR ja schon Zeitkritisch genug. Muxen bringt da wieder Probleme rein.

Sonic

Manf
13.08.2004, 13:17
So ein Multiplexer kann statisch gut als Umschalter eingesetzt werden er ist dann immer noch ein Multiplexer. Nimmt man einen Demultiplexer für die andere Richtung noch dazu, dann kann man bidirektionale Signale umschalten oder multiplexen und demultiplexen.
http://de.wikipedia.org/upload/4/46/MUX-Gatter.png

sonic
13.08.2004, 13:26
So ein Multiplexer kann statisch gut als Umschalter eingesetzt werden er ist dann immer noch ein Multiplexer. Nimmt man einen Demultiplexer für die andere Richtung noch dazu, dann kann man bidirektionale Signale umschalten oder multiplexen und demultiplexen.
http://de.wikipedia.org/upload/4/46/MUX-Gatter.png

Jo, aber warum kompliziert wenns auch einfach geht? ,-)

Gruß, Sonic

Manf
13.08.2004, 13:45
Diese "Umschalter" nennen sich eben alle auch Multiplexer oder Demultiplexer, einfach oder kompliziert, da gehörten die beiden vorgeschlagenen Schaltungen geauso dazu. Die Muliplexrate pro Milliskunde oder pro Session ist keine Einschränkung.
Manfred