Um mich während einer Erkältung zu bschäftigen, habe ich angefangen den allseits bekannten USBasp zu schrumpfen. Dazu habe ich die Firmware auf den ATtiny85 portiert und dazu eine entsprechende Platine designed. Bevor ich die Platine zum Fertiger schicke - gibt es noch Ideen und Vorschläge? Alle Daten liegen hier: https://github.com/cpldcpu/USBasp-t
Wie soll das ISP-Kabel angeschlossen werden? Flachbandkabel direkt aufgelötet? Einreihiger Stecker am Rand? Ich persönlich würde da eher einen sechspoligen Pfostenstecker (gibts auch als SMD) nehmen...
uwegw schrieb: > Wie soll das ISP-Kabel angeschlossen werden? Flachbandkabel direkt Über eine 5x2 Pfostenleiste, die an den Platinenrand angelötet wird. Dazu sind die Pads auf Vorder- und Rückseite.
* Alles SMD und die USB-Buchse bedrahtet? * Bei einer Pfostenfeldbuchse, die seitlich an die Platine angelötet wird, wirst Du die Lötpins leicht biegen müssen. Das sieht nicht so toll aus. Ich würde, wie schon mein Vorgänger sagte, eine sechspolige Pfostenfeldbuchse montieren, allerdings in einer 90 Grad-THT-Ausführung. Die USB-Buchse würde ich auch (zum Rest passend) als SMD-Version verwenden... Gruß, Thomas
Wie dick sind die Verbindungen zwischen z.B. D1 und R2? Ich denke die kann man ein bischen dicker machen, das freut den Hersteller und reduziert Fehler. Ansonsten sieht das ganz gut aus. Ich würde dir empfehlen mal Little wire anzuschauen: http://littlewire.cc/ Das hat noch einige zusätzliche Funktionen dabei. Und hier noch ein schamloser Verweis auf meinen eigenen Versuch einen mininmalen Programmer zu bauen: http://www.justgeek.de/avr-programming-cable/
Tim . schrieb: > Um mich während einer Erkältung zu bschäftigen, Man soll im Fieberwahn keinen Schaltungen bauen
Danke an alle für das Feedback! Thomas T. schrieb: > Ich würde, wie schon mein Vorgänger sagte, eine sechspolige > Pfostenfeldbuchse montieren, allerdings in einer 90 Grad-THT-Ausführung. Das vergrößert die Platine aber signifikant. Das Anlöten an der kante funktioniert bei den China-Clones auch ganz gut. Bei 1.6mm Platinen gibt es vielleicht 200-300µm Spiel. > Die USB-Buchse würde ich auch (zum Rest passend) als SMD-Version > verwenden... Habe mal geschaut: Das Pinlayout ist für SMD und THT gleich. Werde es so lassen und dann einlöten, was mir in die Finger kommt.
> Wie dick sind die Verbindungen zwischen z.B. D1 und R2? Ich denke die > kann man ein bischen dicker machen, das freut den Hersteller und > reduziert Fehler. War alles noch in der Spec - 6 mil. Allerdings ist noch genug Platz da. Habe alle Leitungen auf 8 mil verbreitert. > Ansonsten sieht das ganz gut aus. > > Ich würde dir empfehlen mal Little wire anzuschauen: > http://littlewire.cc/ > Das hat noch einige zusätzliche Funktionen dabei. Ja, ich habe mich beim Pinout nicht umsonst an Littlewire orientiert :) > Und hier noch ein schamloser Verweis auf meinen eigenen Versuch einen > mininmalen Programmer zu bauen: > http://www.justgeek.de/avr-programming-cable/ Sehr schön! Den USB-Stecker wegzulassen ist allerdings Geschummel :) Mein USBasp Port müsste eigentlich auch auf Deinem Programmer funktionieren. Wenn Du Lust hast, kannst Du ihn ja mal testen: https://github.com/cpldcpu/USBasp-t/blob/master/Firmware%202013-06-29.hex Ich muss noch warten, bis die HW fertig ist...
Ärger schrieb: > Tim . schrieb: >> Um mich während einer Erkältung zu bschäftigen, > Man soll im Fieberwahn keinen Schaltungen bauen Warum? Scheint ganz gut zu klappen...
PB2 geht an die Schnittstelle (SCK) UND treibt die LED2. Das könnte Probleme machen. Den TINY85 kann man nur einmal programmieren, da man für den Betrieb den Reset-Pin per Fuse deaktivieren muss. Das Ganze ist natürlich eine Folge von zu wenig Pins. Warum muss es denn unbedingt ein 8-Beiner sein? Problematisch ist auch das Anschließen der USB-5V an den ISP-Anschluss. Soll das Zielsystem vom USB mitversorgt werden? Das wird nicht immer möglich sein. Und dann die Stromversorgung des Zielsystems mit dem des USB verbinden? Keine gute Idee. Wie wäre es, stattdessen die Spannung des Zielsystems für eine automatische Pegelanpassung zu verwenden? Immer mehr Systeme arbeiten mit 3.3V. Statt des X-ten Inkarnation des USBAsp wäre das IMO eine sinnvolle Verbesserung.
Tim . schrieb: > Um mich während einer Erkältung zu bschäftigen, habe ich angefangen den > allseits bekannten USBasp zu schrumpfen. Dazu habe ich die Firmware auf > den ATtiny85 portiert und dazu eine entsprechende Platine designed. Hallo! Will dich in deiner Bastellust nicht bremsen, aber das alles gibt es schon. ;-) Trotzdem ein paar Gedanken zur Schaltung: Der Pullup R3 ist mit 1,5 kOhm für 3,6 Volt Betriebsspannung dimensioniert. Du verwendest aber 5 Volt. Vielleicht wär es besser, den Widerstand auch etwas zu erhöhen. Ein 100n reicht, zwei brauchst du wahrscheinlich nicht. Falls du Angst hast, dass die USB-Versorgungsspannung gelegentlich einbricht, nimm lieber einen Elko mit z.B. 4,7µ. Notwendig ist das aber eher nicht, denn der Programmer zieht kaum Strom. An den Leitungen von MOSI, SCK und RESET sollten besser Schutzwiderstände hängen, sonst zerschießt du dir den Programmer, wenn du das Target falsch anschließt oder wenn sich das Target in einer Schaltung befindet, die nicht so recht für ISP passt. Hier findest du die Schaltung von mir: Bierdeckel-Programmer Nach dem gleichen Schema ist auch die Platine des Programmers "guloprog" aufgebaut.
Detlev T. schrieb: > Den TINY85 kann man nur einmal programmieren, da man für den Betrieb den > Reset-Pin per Fuse deaktivieren muss. Gewagte Aussage. Für den Fall gibts HV-Programmer.
Lass den Bestückungsdruck weg, kostet nur Geld und brauchen tut man den nicht.
Guten Morgen, nur ein kleiner Tipp, ich hatte auch einen ISP Programmer für meine Steckbretter mit einem attiny85 aufgebaut: Beitrag "AVR USBtinyISP Programmer mit atTiny85" Man kann auf einen Pin (z.B. Reset) den One-Wire Bootloader von Peda legen, dann ist per UART Seriell Bridge und einem Adapter mit Widerständen und Dioden das Programmieren möglich. Zur Schaltung: wichtig ist das C-L-C Glied an der Versorgungsspannung, schau dir mal bei deinem PC mit einem Oszi das Vcc=+5V Signal an. Zu dieser Zeit hatte ich gerade kein 2,2kOhm Widerstand da, so habe ich einen 1,8kOhm Widerstand verbaut. Edit Link: http://www.recursion.jp/avrcdc/cdc-232.html
Detlev T. schrieb: > PB2 geht an die Schnittstelle (SCK) UND treibt die LED2. Das könnte > Probleme machen. Ist nur ein Ausgang, sollte eigentlich funktionieren. > Den TINY85 kann man nur einmal programmieren, da man für den Betrieb den > Reset-Pin per Fuse deaktivieren muss. > Das Ganze ist natürlich eine Folge von zu wenig Pins. Warum muss es denn > unbedingt ein 8-Beiner sein? Auf den MCU kommt ein USB-Bootloader. Dann kann man bequem vom PC aus neue Firmware aufspielen. > Problematisch ist auch das Anschließen der USB-5V an den ISP-Anschluss. > Soll das Zielsystem vom USB mitversorgt werden? Das wird nicht immer > möglich sein. Und dann die Stromversorgung des Zielsystems mit dem des > USB verbinden? Keine gute Idee. > Wie wäre es, stattdessen die Spannung des Zielsystems für eine > automatische Pegelanpassung zu verwenden? Immer mehr Systeme arbeiten > mit 3.3V. Statt des X-ten Inkarnation des USBAsp wäre das IMO eine > sinnvolle Verbesserung. Das stimmt, aber leider ist es nur eine neue Inkarnation :) Interessant wäre ein programmer mit debugwire. Eigentlich sollte das auch mit vertretbarem Aufwand hinzubekommen sein. Da ist nur die Software das Problem...
Markus Weber schrieb: > Tim . schrieb: >> Um mich während einer Erkältung zu bschäftigen, habe ich angefangen den >> allseits bekannten USBasp zu schrumpfen. Dazu habe ich die Firmware auf >> den ATtiny85 portiert und dazu eine entsprechende Platine designed. > > Hallo! > Will dich in deiner Bastellust nicht bremsen, aber das alles gibt es > schon. ;-) Siehe Titel :) > Trotzdem ein paar Gedanken zur Schaltung: > > Der Pullup R3 ist mit 1,5 kOhm für 3,6 Volt Betriebsspannung > dimensioniert. Du verwendest aber 5 Volt. Vielleicht wär es besser, den > Widerstand auch etwas zu erhöhen. Hm. Ist das die offizielle USB-Spezifikation? Auf den V-USB Seiten findet sich auch ein 1.5kOhm Widerstand: http://vusb.wikidot.com/hardware > Ein 100n reicht, zwei brauchst du wahrscheinlich nicht. Falls du Angst > hast, dass die USB-Versorgungsspannung gelegentlich einbricht, nimm > lieber einen Elko mit z.B. 4,7µ. Notwendig ist das aber eher nicht, denn > der Programmer zieht kaum Strom. Stimmt. Eigentlich war einer für die Entkopplung des Target-MCUs gedacht. Aber bei dem Layout ist es obselet. > An den Leitungen von MOSI, SCK und RESET sollten besser > Schutzwiderstände hängen, sonst zerschießt du dir den Programmer, wenn > du das Target falsch anschließt oder wenn sich das Target in einer > Schaltung befindet, die nicht so recht für ISP passt. Gute Idee. > Hier findest du die Schaltung von mir: Bierdeckel-Programmer > > Nach dem gleichen Schema ist auch die Platine des Programmers "guloprog" > aufgebaut. Ah, und drei Links weiter findet man auch einen Port von USBasp auf ATtiny85. Nur warum es der nicht von der Offiziellen Page verlinkt oder in die Distribution eingepflegt? Da hatte ich wirklich etwas Arbeit sparen können. Die offizielle Version kompiliert nicht einmel mehr auf der aktuellen Toolchain... Thomas Fischl sollte ein Offizielles Repository erstellen. Es gibt noch etliches Verbesserungspotential: - Ports auf andere Devices - Integriertes Firmware-Update - Serielle Schnittstelle - Bessere Software SPI.
Jan schrieb: > Lass den Bestückungsdruck weg, kostet nur Geld und brauchen tut man den > nicht. Also mich kostet er kein Geld.
Tim . schrieb: > Hm. Ist das die offizielle USB-Spezifikation? Auf den V-USB Seiten > findet sich auch ein 1.5kOhm Widerstand: > > http://vusb.wikidot.com/hardware Du hast Recht. Ich kenn den Pullup aus anderen Schaltplänen, dort geht er gegen 3,6 Volt. Und manche mit 5 Volt haben dann 2,2 kOhm. Egal, wird funktionieren. Mein guloprog läuft mit 2,2 kOhm auch, wahrscheinlich ist der Wert nicht wirklich kritisch. > Ah, und drei Links weiter findet man auch einen Port von USBasp auf > ATtiny85. Nur warum es der nicht von der Offiziellen Page verlinkt oder > in die Distribution eingepflegt? Da hatte ich wirklich etwas Arbeit > sparen können. Die offizielle Version kompiliert nicht einmel mehr auf > der aktuellen Toolchain... Ja, wär wirklich praktisch, aber ich bin nicht sicher, ob Thomas Fischl seine USBasp-Projektseiten noch pflegt. Ich hatte ihn deswegen vor etwa einem halben Jahr angeschrieben und bekam keine Reaktion. :-( > Thomas Fischl sollte ein Offizielles Repository erstellen. Es gibt noch > etliches Verbesserungspotential: "Sollte" ist richtig, aber wir dürfen nicht vergessen, dass das alles freiwillig ist. Was Thomas Fischl bisher geleistet hat, verdient unseren Respekt; es sind mehrere geniale und gleichzeitig einfache Schaltungen entstanden. Ich würde mich auch freuen, wenn er sich weiter darum kümmert, aber ich kann ihm nicht böse sein, wenn er seine Freizeit anders verbringt. > - Ports auf andere Devices > - Integriertes Firmware-Update > - Serielle Schnittstelle > - Bessere Software SPI. Gute Ideen. Vielleicht finden sich Leute, die Lust haben, ein Stück freie Software zu schreiben, würde mich freuen. Ich hab mich neulich um eine Signalwandler-Funktion für den USBasp gekümmert, die jetzt auch open Source verfügbar ist: https://guloshop.de/shop/USB-TTL-ADC-PWM-Signalwandler:::10.html
Tim . schrieb: > Bevor ich die Platine zum Fertiger schicke - gibt es noch Ideen und > Vorschläge? Alle Daten liegen hier: Das schaut so gut aus. Ich nutze aber immer den "Slow Clock" Schalter um einen AVR der einen Takt von 1MHz hat programmieren zu können oder auch wenn das ISP-Kabel recht lang ist und ich die Daten lieber etwas langsamer in den Flash-Speicher schreiben will. Es ist gut dass du eine THT-USB-Buchse/Stecker gewählt hast, bei mechanischen Belastungen reißen die Pads von SMD-USB-Buchsen leicht ab, die THT-Versionen sind dafür besser. Ich würde einen 3.3V Spannungsregler drauf bauen und die Z-Dioden weglassen.
Noch einen Vorschlag: Kein USB Stecker, sondern direkt USB Anschlüsse auf die Platine, dann wirds noch kleiner;-) Funktioniert zumindest mit USB Sticks... Da hab ich das schon öfters gesehen, z.B. sowas: http://www.memory-king.info/bilder/XT/750_0_PICO5.jpg Hab nicht alles durchgelesen, sorry falls dieser Vorschlag schon mal genannt wurde... Tim . schrieb: > Thomas Fischl sollte ein Offizielles Repository erstellen. Es gibt noch > etliches Verbesserungspotential: > > - Serielle Schnittstelle Habe ich mal umgesetzt... Hab ich auch an Fishl gesendet, sollte hier jemand Interesse haben kann ich das nochmals suchen (einfach PN schreiben...) mfg Andreas
Hans Jelt schrieb: > Ich nutze aber immer den "Slow Clock" Schalter um einen AVR der einen > Takt von 1MHz hat programmieren zu können oder auch wenn das ISP-Kabel > recht lang ist und ich die Daten lieber etwas langsamer in den > Flash-Speicher schreiben will. Ja, ist wichtig, aber bei den neueren USBasp-Firmwareversionen nicht mehr notwendig, dort kann man mit der avrdude-Option "-B" die Geschwindigkeit in feinen Stufen einstellen. > Es ist gut dass du eine THT-USB-Buchse/Stecker gewählt hast, bei > mechanischen Belastungen reißen die Pads von SMD-USB-Buchsen leicht ab, > die THT-Versionen sind dafür besser. Richtig! Als Alternative könnte man auch SMD-Varianten nehmen, die zusätzlich mechanisch per THT befestigt werden. Andreas B. schrieb: > Noch einen Vorschlag: Kein USB Stecker, sondern direkt USB Anschlüsse > auf die Platine, dann wirds noch kleiner;-) > > Funktioniert zumindest mit USB Sticks... Da hab ich das schon öfters > gesehen, z.B. sowas: > http://www.memory-king.info/bilder/XT/750_0_PICO5.jpg Du meinst so einen Programmer wie auf dem angehängten Bild? ;-) >> - Serielle Schnittstelle > Habe ich mal umgesetzt... Hab ich auch an Fishl gesendet, sollte hier > jemand Interesse haben kann ich das nochmals suchen (einfach PN > schreiben...) Super Sache. :-)
Markus Weber schrieb: > Andreas B. schrieb: >> Noch einen Vorschlag: Kein USB Stecker, sondern direkt USB Anschlüsse >> auf die Platine, dann wirds noch kleiner;-) >> >> Funktioniert zumindest mit USB Sticks... Da hab ich das schon öfters >> gesehen, z.B. sowas: >> http://www.memory-king.info/bilder/XT/750_0_PICO5.jpg > > Du meinst so einen Programmer wie auf dem angehängten Bild? ;-) Ähm ja, genau das... :-) Sowas wollte ich auch machen, hab sogar angefangen zu designen, aber dann kam der Sommer doch noch;-) mfg Andreas
Direkter USB im Layout ist möglich, aber bedenkt, daß die Platine in der Buchse total schlabbert. Ich habe das Problem letztes Jahr gelöst durch rückseitiges Aufkleben eines passenden PVC-Rechtecks, wodurch Platine + PVC eben die entsprechende Stärke wie bei industriellen Sticks usw. bekam. Grüße !!!
Andreas B. schrieb: > Noch einen Vorschlag: Kein USB Stecker, sondern direkt USB Anschlüsse > auf die Platine, dann wirds noch kleiner;-) > > Funktioniert zumindest mit USB Sticks... Da hab ich das schon öfters > gesehen, z.B. sowas: > http://www.memory-king.info/bilder/XT/750_0_PICO5.jpg Das ist am Ende aber Teurer und funktioniert nur sehr mässig (habe ich auch schon ausprobiert). Die USB Stecker gibts auf ebay für 0.1-0.2 EUR.
Andreas Ehrlich schrieb: > Ich habe das Problem letztes Jahr gelöst durch rückseitiges Aufkleben > eines passenden PVC-Rechtecks, wodurch Platine + PVC eben die > entsprechende Stärke wie bei industriellen Sticks usw. bekam. Diese Platinenstecker – auch die von den beliebten Mini-Memorysticks – entsprechen natürlich nicht der USB-Norm. Meistens passen sie aber trotzdem. Nicht ohne Grund sind die kleinen Sticks so erfolgreich. Trotzdem ist dein Hinweis mit der Platinenstärke wichtig, danke! Die üblichen Leiterplatten sind nur 1,0 oder 1,5 mm dick und damit deutlich dünner als der USB-Standard vorgibt. Man muss dickeres Platinenmaterial verwenden. Die genaue Stärke habe ich gerade nicht im Kopf, ich glaube, es waren 1,85 mm oder sowas um den Dreh.
Markus Weber schrieb: > Hans Jelt schrieb: >> Ich nutze aber immer den "Slow Clock" Schalter um einen AVR der einen >> Takt von 1MHz hat programmieren zu können oder auch wenn das ISP-Kabel >> recht lang ist und ich die Daten lieber etwas langsamer in den >> Flash-Speicher schreiben will. > > Ja, ist wichtig, aber bei den neueren USBasp-Firmwareversionen nicht > mehr notwendig, dort kann man mit der avrdude-Option "-B" die > Geschwindigkeit in feinen Stufen einstellen. Eigentlich könnte man ja auch eine Automatische Erkennung der Geschwindigkeit einbauen. Ein weiterer Punkt für die (nicht existierende) TODO Liste?
Markus Weber schrieb: > Ja, wär wirklich praktisch, aber ich bin nicht sicher, ob Thomas Fischl > seine USBasp-Projektseiten noch pflegt. Ich hatte ihn deswegen vor etwa > einem halben Jahr angeschrieben und bekam keine Reaktion. :-( Da USBasp unter GPL2 steht, gäbe es natürlich die Möglichkeit eines Forks. Ich würde mich sogar bereits erklären, bei so etwas mitzumachen...
Tim . schrieb: > Markus Weber schrieb: >> Ja, wär wirklich praktisch, aber ich bin nicht sicher, ob Thomas Fischl >> seine USBasp-Projektseiten noch pflegt. Ich hatte ihn deswegen vor etwa >> einem halben Jahr angeschrieben und bekam keine Reaktion. :-( > > Da USBasp unter GPL2 steht, gäbe es natürlich die Möglichkeit eines > Forks. Ich würde mich sogar bereits erklären, bei so etwas > mitzumachen... Ich steure eine UART Implementierung bei... Man müsste einfach das ganze so Modular machen, dass man alles mit Defines deaktivieren kann, weil das ganze ggf. auch noch mit einem ATMega48 laufen soll... Entweder Github oder SVN hier auf MC.net? mfg Andreas
So, die Hardware ist fertig. Soweit scheint alles zu funktionieren. Jetzt wird die Software getestet und aufgeräumt... Die SOD-232 Zener-Dioden lassen sich übrigens extrem schlecht löten. Ich werde wohl wieder auf die SOD-Variante umsteigen.
Hard- und Software sind jetzt erfolgreich getestet. Alles funktioniert! Alle Daten gibt es hier: https://github.com/cpldcpu/USBasp-t
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.