Direkte Programmierung von ATtiny85

Ich habe mit einer Idee für ein kleines tragbares Spielgerät mit einem Nokia 5110-Bildschirm und einem ATtiny85 herumgespielt.

Der ATtiny wird mit meinem Genuino UNO als ISP programmiert.

Ich habe mich gefragt, ob es möglich/sinnvoll ist, einen Breakout-Anschluss an den Attiny-Pins anzubringen, damit ich ihn einfach anschließen kann, wenn ich den Code aktualisieren möchte, anstatt ihn vom Spielgerät entfernen zu müssen? Ich mache mir Sorgen darüber, wie Signale vom ISP die anderen angeschlossenen Geräte stören könnten.

Ich habe Fritzing zum allerersten Mal verwendet, um ein Diagramm dessen zu erstellen, woran ich bisher denke (ich habe Teile davon mit dem UNO anstelle des ATtiny gesteckt, und ich habe die gemeinsame Nutzung der Uhr- und Datenpins nicht wirklich getestet mit den 3 Controllern! Das echte Ding hätte mehr Tasten und LEDs!)

Geben Sie hier die Bildbeschreibung ein

Antworten (1)

Ja, es ist sehr üblich, einen 6-poligen ISP-Header auf Ihrem Board anzubringen, damit der AVR neu programmiert werden kann. Sogar der Arduino hat so etwas drauf.

Hier ist eine schöne Anwendungsnotiz von Atmel, die die typische Pinbelegung des Headers zusammen mit einigen Vorschlägen beschreibt, wie sichergestellt werden kann, dass es keine Konflikte mit dem normalen Betrieb der Programmierpins gibt ...

http://www.atmel.com/images/doc0943.pdf

Wenn Sie die Massenproduktion der Platine planen, können Sie sogar den Header vermeiden, indem Sie diesen praktischen Stecker verwenden ...

http://dangerousprototypes.com/2012/12/10/isptouch-header-less-isp-connector-for-avrs/

...oder dieses...

http://www.tag-connect.com/

Schließlich können Sie mit einem Chipclip wie diesem direkt eine Verbindung zum Chip selbst herstellen ...

http://www.amazon.com/8-Pin-Gold-Plated-SOIC-Spacing/dp/B00DDE7N3C

Sie haben die zentrale Frage nicht angesprochen
Die einzige Frage ist im OP zu sehen: „Ich habe mich gefragt, ob es möglich/sinnvoll ist, einen Breakout-Anschluss an den Attiny-Pins anzubringen, damit ich ihn einfach anschließen kann, wenn ich den Code aktualisieren möchte, anstatt ihn aus dem Spiel entfernen zu müssen Gerät? Ich mache mir Sorgen darüber, wie Signale vom ISP die anderen angeschlossenen Geräte stören könnten?" Meine Antwort: "Grundsätzlich ja, und hier sind Denkanstöße und Vorschläge, wie Sie es vielleicht machen möchten." Was vermisse ich?
Das beantwortet tatsächlich meine Frage, danke. Das Dokument empfiehlt Vorwiderstände an den 3 Pins, die ich für Latch-Befehle an den 3 "Schieberegistern" verwende. Und da sie alle im Normalbetrieb als Ausgänge verwendet werden , sollten 1 oder 10k dort ausreichen, würde ich denken? Erst als ich das erste Dokument las, wurde mir klar, wonach ich suchte, nämlich das, was In-System-Programmierung tatsächlich bedeutet! Es schlägt auch vor, dass ich den RESET-Pin wahrscheinlich für den normalen Betrieb an Vcc binden sollte . Ich muss nur testen, ob ich die CLK- und DATA-Leitungen jetzt tatsächlich auf allen 3 Schichtregs teilen kann!
Es sollte alles in Ordnung sein. Sie müssen nur sicherstellen, dass die für die Programmierung verwendeten Pins nicht direkt mit Masse oder Strom verbunden sind. Es ist in Ordnung, sie mit schwächeren Widerständen als denen des Programmierers nach oben / unten zu ziehen.
Jetzt bin ich mir nicht sicher, wie ich RESET dazu bringen würde, niedrig zu werden, wenn der Programmierer angeschlossen ist, wenn er mit Vcc auf der Platine verbunden ist. Wäre es so einfach, einen Widerstand in Reihe mit Vcc auf der Platine zu schalten?
Auch wenn es nicht empfohlen wird, hatte ich nie ein Problem damit, die RESET-Leitung schwebend zu lassen und nur mit dem ISP-Pin zu verbinden. Es wird im Inneren des Chips hochgezogen. Wenn Sie wirklich rauschresistent sein möchten, können Sie den RESET-Pin über einen großen Widerstand mit Vcc verbinden. Der Arduino verwendet einen 10K Ohm.
Danke @bigjosh, ich fange ohne an, lasse mir aber die Möglichkeit, später eine hinzuzufügen!
Der Link zum Anwendungshinweis funktioniert nicht mehr. Aber ich glaube, dass der richtige Application Note AN_0943 mit dem Titel „AVR910: In-System Progamming“ ist: ww1.microchip.com/downloads/en/Appnotes/…