-
-
Erfahrener Benutzer
Fleißiges Mitglied
Habe ich das Problem jetzt richtig verstanden:
Ihr wollt auf einer Platine mit mehreren AVRs den ISP nur einmal anstecken ? Und dann, z.B. über einen kleinen Schalter, auswählen welcher AVR gerade programmiert wird ? Und nebenbei sollen die entsprechenden Pins der AVR in der restlichen Schaltung verwendet werden ?
Dann schreit das Problem absolut nach Bustreiber-Bausteinen, wie sie z.B. auch in den einfachen Parallelport Programmieradaptern verwendet werden. Ganz konkret meine ich den 74HCT244, bzw. den 74HCT241.
Der 74HCT241 z.B. hat 2*4 Signale, die je über ein enable-Signal hochohmig geschaltet ('abgesteckt') werden können. Eines der beiden enable-Signale ist invertiert. Damit kann man genau die vier Leitungen des uC (Reset, SCK, MISO, MOSI) zu- bzw abschalten. Die enable-Leitungen hängen jeweils am 'Reset' Ausgang des ISP und werden über den ISP-Auswahlschalter geschaltet. Die anderen Signale (SCK, MISO, MOSI) sind als Bus untereinander und mit dem ISP verbunden.
Wenn der ISP nun programmieren will, zieht er an Reset. Reset wird aktiv und durch den Schalter wird genau ein Bustreiber angesprochen. Dieser trennt dann durch den invertierten Eingang die Peripherie und verbindet durch den nicht invertierten Eingang den ISP mit dem uC. Nach dem Programmieren geht Reset wieder auf low und die Peripherie ist wieder angeschlossen. Die anderen AVRs haben kein 'enable' und sind damit auch vom Programmiervorgang nicht betroffen.
Nachteil des ganzen:
74HCT241 hat 20 pins (und damit 2,5 mal soviel wie ein 8-pin uC)
Vorteil des ganzen:
Wesentlich einfacher, besser, stromsparender, billiger und sicherer als mit Relais.
ciao,
Georg
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen