Hallo, ich möchte eine Doppelnutzung MOSI,MISO,SCK realisieren. Jedoch ist mir nicht klar, wie ich das bewerkstelligen kann (Hardware). Wie müssen die Pins beschaltet werden, um neben ihren "normalen" Aufgaben weiterhin als Pins für die ISP-Funktion erhalten zu bleiben? Grüße Mathias
MyTiny13A schrieb: > Wie müssen die > Pins beschaltet werden, um neben ihren "normalen" Aufgaben weiterhin als > Pins für die ISP-Funktion erhalten zu bleiben? Das hängt einzig und allein von Deinen "anderen Aufgaben" ab! Hellsehen kann hier niemand.
Das kommt darauf an, wie die Pins beschaltet sind. Als Eingänge mußt Du dafür sorgen, daß ankommende Signale die Programmiervorgang nicht stören, meist reicht ein Widerstand 1-10k in Reihe, bei Ausgängen must Du sehen, was die Signale auf den ISP-Leitungen bewirken können. Ein Motortreiber auf den Leitungen könnte Dich gegen die Wand fahren wenn er beim Programmieren losläuft. Also entweder nur 'harmlose' Anzeigen hinterhängen oder nur Treiber mit Reset-Eingang der dann mit auf den Prozessorreset kommt.
MyTiny13A schrieb: > Wie müssen die > Pins beschaltet werden, um neben ihren "normalen" Aufgaben weiterhin als > Pins für die ISP-Funktion erhalten zu bleiben? Sofern sie in der Schaltung als Ausgang verwendet werden, kann ISP parallel angeschlossen werden. Als Eingang betrieben, müssen die Leitungen über Widerstände (3k3) entkoppelt werden; nur der Prommer wird direkt an MOSI, MISO und CLK angeschlossen und kann damit die Eingangspegel überschreiben.
Wenn der Chip-Select der Slaves deaktiviert ist, kannst du mit MOSI,MISO,SCK machen was du willst.
Es dürfen im Reset keine anderen Ausgänge dagegen treiben und auch keine zu großen Lasten dran hängen. Erlaubt ist z.B. eine Taste, die man wärend des Programmierens nicht drückt.
Vielen Dank für´s erste. OK hab ich verstanden. Hintergrund: Ich möchte per Multiplexer jeweils 4 Schieberegister Eingang und 4 Schieberegister Ausgang dranhängen, habe also Serial out / Serial in auf den PINs PB0,PB1,PB2 und wähle den MUX via PB5/Reset aus. Mathias
MyTiny13A schrieb: > und wähle den MUX via PB5/Reset aus. Gute Idee! Damit hat sich Deine Frage schon erledigt ;-)
Bei mir funktioniert es wie folgt problemlos: Bei einer 6-achsige Robotersteuerung hängen sechs uCs alle am SPI Bus. Die SPI-Pins bei jedem uC sind mit 22Ohm Widerständen bestückt. Einer der uCs steuert als Master die anderen fünf an. Damit es zu keiner Datenkollision mit dem Master kommt, da ja nur er Daten sendet, teile ich ihm vor dem Programmieren aller anderen uCs mit einem einfachen Drucktaster mit, dass er nicht senden darf. Alle MOSI,MISO,SCK-Pins der uCs sind miteinander verbunden, ebenso die des Programmiergeräts. Nur die Reset-Pins von jedem einzelnen der sechs uCs sind einzeln rausgeführt und werden bei Programmierbedarf mit dem Programmiergerät einzeln per Taster verbunden. Ein Beispiel: Um den uC Nr.3 zu Programmieren halte ich zwei Tasten gleichzeitig gedrückt, den Reset-Pin des uCs Nr.3 und die "Nicht-Senden"-Taste des Masters. Der ganze Aufbau besteht aus sieben Tastern auf einer Lochrasterplatine, die bei Programmierbedarf zwischen das Programmiergerät und dem SPI-Bus angeschlossen wird.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.