Forum: Mikrocontroller und Digitale Elektronik SPI - Programmer für AVR Attiny85


von Frederik R. (f8bit)


Lesenswert?

Hallo liebe Community,

ich bin erst neu in diesem Forum, also seht mir Anfänger- oder 
Denkfehler bitte nach.

Mein Frage ist folgende:

Ich programmiere seit längerem mit der Arduino Serie (hauptsächlich Uno) 
und bin dabei mir Grundkenntnisse in der Mikrocontroller AVR 
Programmierung in C anzueignen ( habe in C fortgeschrittene Kenntnisse), 
jetzt das eigentlich Problem um die Controller zu programmieren, 
benötige ich einen Programmer, welchen ich aber nicht habe. Da ich sehr 
gerne selber einen basteln würde (die normalen sind mir zu teuer), 
wollte ich mich hier erkundigen ob jemand derartiges schon einmal 
gebastelt hat (haben sicherlich schon viele von euch gemacht) und mir 
falls möglich Tipps zukommen lassen.

Habe schon von Projekten wie VUSB und usbtiny gehört. Zudem habe ich die 
Diskussion über den MMR - 70 hier im Forum mitverfolgt und wollte fragen 
ob man daraus vielleicht auch einen SPI - Programmer basteln könnte.

Vielen Dank für eure Ideen und Antworten schon einmal im vorhinein.

Freundliche Grüße und ein schönes Wochenende

F.

von ATtiny85 (Gast)


Lesenswert?

Besorg Dir einen usbasp für 3.. 5 Euro. Selber basteln lohnt nicht.

http://fussdevelopment.com/programming-an-attiny85-using-usbasp-part-12/

von Michael U. (amiga)


Lesenswert?

Hallo,

dann nimm doch einfach Deinen UNO, spiele den ISP-Sketch rauf und Du 
hast einen ISP-Programmer auch für Deinen Tiny85 nutzbar.

Gruß aus Berlin
Michael

von Alex R. (itaxel)


Lesenswert?

Hallo Frederik,

auf der Arduino Seite kannst du die Anleitung finden:
https://www.arduino.cc/en/Tutorial/ArduinoISP

Gruß Alex

von Wolfgang A. (Gast)


Lesenswert?

Frederik R. schrieb:
> ... und wollte fragen ob man daraus vielleicht auch einen SPI-Programmer
> basteln könnte

ISP Programmer nutzen SPI. Was soll ein SPI-Programmer sein?
http://www.atmel.com/images/doc0943.pdf

von Frederik R. (f8bit)


Lesenswert?

Danke sehr Wolfgang das du mich darauf hingewiesen hast, ich vertausche 
die beiden Begriffe immer. Danke auch bei den anderen für die schnellen 
und informativen Hinweise

von Wolfgang A. (Gast)


Lesenswert?

Frederik R. schrieb:
> ich vertausche die beiden Begriffe immer.

Mach dir einfach klar, für was die drei Buchstaben jeweils stehen.

Wenn man blind irgendwelche Akronym verwendet, werden sie allzu leicht 
gesichtslos. Ggf. peinliche Verwechselungen passieren dann schnell.

von Paul B. (paul_baumann)


Lesenswert?

Wolfgang A. schrieb:
> Wenn man blind irgendwelche Akronym verwendet, werden sie allzu leicht
> gesichtslos. Ggf. peinliche Verwechselungen passieren dann schnell.

Wie wahr! Nehmen wir das Wort: "SAU" Das kann ein weibliches Hausschwein 
sein, aber auch ein italienischer Fußballspieler:
https://de.wikipedia.org/wiki/Marco_Sau

Man sieht: Das Bestehen auf absoluter Korrektheit ist unabdingbar.

MfG Paul

von Markus W. (Firma: guloshop.de) (m-w)


Angehängte Dateien:

Lesenswert?

Michael U. schrieb:
> dann nimm doch einfach Deinen UNO, spiele den ISP-Sketch rauf und Du
> hast einen ISP-Programmer auch für Deinen Tiny85 nutzbar.

Kann ich so unterschreiben.

Oder du nimmst den ATtiny85, um einen Programmer zu bauen, mit dem du 
dann den ATtiny85 programmieren kannst. ;-)

Abgesehen von dem Henne-Ei-Problem ist das eine nette Bastelei.

Wiki-Link: Bierdeckel-Programmer

von Frederik R. (f8bit)


Lesenswert?

Vielen Dank Markus.
Etwas in dieser Art habe ich gesucht, schätze mal werde es in den 
nächsten Tagen mal nach basteln, ob ich das Design übernehme überlege 
ich mir noch. Ist aber auf jeden Fall ein lustiger Gag und scheint ja 
auch recht simpel zu sein.

Ein schönes Wochenende noch und liebe Grüße

Frederik

von Michael U. (amiga)


Lesenswert?

Hallo,

das kann man so nachbauen, man kann aber auch den Arduino-Sketch nehmen.
Nachteil der Mini-Schaltung: die Software-USB-Lösungen (V-USB usw.) sind 
eigentlich nicht kompatibel zum USB-Standard. Sie funktionieren meist, 
es ist aber nichts nervender, als einen Fehler im eigenen Programm zu 
suchen UND mit dem Programmer zu diskutieren...

Das Problem hat der Uno wegen seines USB-Ser-Wandlers nicht.

Gruß aus Berlin
Michael

von Frederik R. (f8bit)


Lesenswert?

Kann ich mit dem Arduino Uno dann auch Hex Dateien auf den Attiny85 
spielen, weil ich würde gerne die Sketches in C im Atmel Studio 
entwickeln und dann per ISP - Programmer auf den Attiny spielen, kann 
man da dann auch den Arduino nehmen? (wenn ja wie?)

Freundliche Grüße

Frederik

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Michael U. schrieb:
> das kann man so nachbauen, man kann aber auch den Arduino-Sketch nehmen.

Würde ich auch. Wenn der Arduino schon mal da ist, kann man ihn auch als 
Programmer benutzen.

> Nachteil der Mini-Schaltung: die Software-USB-Lösungen (V-USB usw.) sind
> eigentlich nicht kompatibel zum USB-Standard.

Das hab ich hier schon öfter gelesen, aber bisher noch keine Abweichung 
zum Standard gefunden. Das USB-Protokoll wird zwar per Software 
emuliert, aber es ist nach wie vor dasselbe Protokoll.

Natürlich beherrscht die Lösung nur die USB-Control-Nachrichten und ist 
daher auf Polling-Betrieb angewiesen. Auch ist sie in ihrer 
Übertragungsgeschwindigkeit eingeschränkt. Darauf kommts beim 
Programmieren für Bastelzwecke aber nicht an... denk ich.

Grüße
Markus

von Michael U. (amiga)


Lesenswert?

Hallo,

Markus W. schrieb:
> Das hab ich hier schon öfter gelesen, aber bisher noch keine Abweichung
> zum Standard gefunden. Das USB-Protokoll wird zwar per Software
> emuliert, aber es ist nach wie vor dasselbe Protokoll.

ich weiß zugegebn nichtmal, ob das so noch zutrofft. Irgendwie ging es 
wohl darum, daß ein USB1 gemacht wird was mit den Endpoints, was 
eigentlich nach dem Standard nicht zusammengehört.

Ha ja, hab den Satz mal frech aus einem Posting kopiert:

Zitat:
CDC Devices darf es laut USB 2.0 nur als Full-Speed Device geben, weil
Bulk Endpoints bei Low Speed Devices nicht erlaubt sind. Das ist einer
von vielen Punkten. Lies den USB-Standard und vergleiche Soll und Ist.

Gruß aus Berlin
Michael

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Michael U. schrieb:
> Zitat:
> CDC Devices darf es laut USB 2.0 nur als Full-Speed Device geben, weil
> Bulk Endpoints bei Low Speed Devices nicht erlaubt sind.

Glaube ich ungeprüft.

Allerdings handelt es sich bei den VUSB-Teilen um USB-1.1-"Geräte". USB 
2.0 wird also gar nicht verwendet.

Dass man bei USB 2.0 eventuelle Bulk-Übertragungen nicht per 
Control-Message übertragen soll, liegt daran, dass man mit der 
Bandbreite haushalten will und Control-Messages zeitkritischen 
Steuerinformationen vorbehalten sein sollen.

Was aber, wenn es aber gar kein USB-Bandbreitenproblem gibt, weil 
während des Programmiervorgangs keine Geräte konkurrieren, und man 
vielleicht zudem das Programmieren als zeitkritische Anwendung und die 
paar kBytes nicht als Bulk ansieht?

Aus meiner Sicht ist VUSB zu USB 1.1 und wahrscheinlich auch zu USB 2.0 
konform...

: Bearbeitet durch User
von ProgTool (Gast)


Lesenswert?

Als Software für viele Programmer kann "myAVR ProgTool Version 1.39" 
verwendet werden!

von Alex R. (itaxel)


Lesenswert?

Frederik R. schrieb:
> Kann ich mit dem Arduino Uno dann auch Hex Dateien auf den Attiny85
> spielen, weil ich würde gerne die Sketches in C im Atmel Studio
> entwickeln und dann per ISP - Programmer auf den Attiny spielen, kann
> man da dann auch den Arduino nehmen? (wenn ja wie?)

Ja...
du musst in Atmel ein neues Externes-Tool anlegen und dort den Pfad zum 
avrdude.exe und die kommandozeile mit avrdude eintragen.
Dann kannst du dir eine Schaltfläche in der Menüleiste platzieren und 
hast per Mausklick gleich immer das flashen click-bereit.

Da ich gerade auf der Arbeit bin und die komplette Kommandozeile nicht 
auswendig weiß hier mal ein Link:
https://asensar.com/blog/2013/how-to-integrate-avrdude-with-atmel-studio/

von Flip B. (frickelfreak)


Lesenswert?

Viel geschickter finde ich es, den programmer als post build event 
einzutragen.

von Alex R. (itaxel)


Angehängte Dateien:

Lesenswert?

Hab mal mein Schaltplan herausgekramt. Kannst ihn dir gerne nachbauen. 
Wenn du magst kann ich dir gerne auch die Layouts für die Platine 
zukommen lassen.
Mit diesem habe ich bisher alles programmiert.

Gruß Alex

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
Noch kein Account? Hier anmelden.