Hallo hier im forum :) ich starte meinen ersten beitrag hier gleich mit einem problem. undzwar möchte ich (zum ersten mal in meinem leben) einen IC programmieren...den tiny25. ich nutze ein usb-isp-programmer, der das STK500v2 protokoll nutzt. als software nutze ich "AVR studio 4". ich habe zum flashen eine hex-file von einem freund...die fuse&lock-bits sind mir auch bekannt. ...allerdings kommt es erst garnicht soweit. das erste problem, was sich mir stellte war den tiny25 überhaupt erstmal korrekt mit dem programmer zu connecten. ich denke da liegt auch der fehler. (habe die fehlermeldung angehangen) ich habe bei dem programmer einen 10-poligen stecker, der auch beschriftet ist. habe dann ein socket auf eine platine gelötet und mit einzelnen kabeln jeweil MOSI mit MOSI, MISO mit MISO und VCC mit PWR verbunden. weil ich dachte, dass man mit diesen dreien allein den chip programmiert. habe dann noch RESET und SCK jeweils miteinander connected. habe im datenblatt vom tiny25 geguckt. mein erster versuch war (erwartungsgemäß) nicht vom erfolg gekrönt. ich denke, dass der fehler, der bei avr-studio ausgespuckt wird mit meiner fehlerhaften pinbelegung zusammenhängt. ausserdem wusste ich nicht so genau, was ich mit der targetspannung anfangen soll. da sind 2 jumper (im auslieferzustand beide in OFF position) jumper 1 on = 5V, jumper 2 on = 3,3V. beide jumper on?, kein jumper on ? also beide jumper on ist unlogisch ja....aber im auslieferzustand waren beide jumper OFF; in dieser position ist das device doch praktisch deaktiviert oder ? habe einfach die targetspannung auf 5V stehen, weil der tiny ja auch 5,5V aushält. aber da ich noch sehr unerfahren bin mit "tiny-programming" weiß ich ehrlich gesagt nichtmal, ob ich die targetspannung überhaupt per jumper bestimmen muss. könnt ihr mir bitte etwas auf die sprünge helfen ? welche pins muss ich denn jetzt mit welchen verbinden, damit ich zumindest damit keine probleme habe ? ps.: habe alle isp-frequenzen schon durchprobiert. ich kann sie ändern...habe also schonmal connection zum programmer THX
WOW TURBOANTWORT !!!! :) hmmm...ja ich hab NACHDEM ICH GELD IN EINEN PROGRAMMER INVESTIERT HABE auch gelesen, dass der von dir erwähnte programmer quasi "die erste wahl in dieser preisklasse" ist. aber nun hab ich schon geld investiert und kann mir nicht einfach so einen zweiten programmer holen.....das geld sitz nicht so locker zur zeit :/ ich bin also leider auf diesen programmer angewiesen
Ich kann nirgends lesen, dass Du auch GND miteinander verbunden hast. Also ich benutze zum ISP-Programming von Tiny12/13/15/25/45/85 folgende Pinbelegung: Reset Pin 1 Pin 8 Vcc Pin 2 Pin 7 SCK Pin 3 Pin 6 MISO GND Pin 4 Pin 5 MOSI Und das hat bisher immer gut funktioniert.
>habe dann noch RESET und SCK jeweils miteinander connected du hast reset und sck zusammengeschalten? reset pin vom avr zum reset anschluss programmer und das gleiche bei allen andern anschlüssen. >jumper 1 on = 5V, jumper 2 on = 3,3V. beide jumper on?, kein jumper on mit den jumpern kannst du einstellen ob deine schaltung vom programmer mit 3,3 oder 5 volt versorgt wird oder ob deine schaltung den programmer versorgt was der fall ist wenn alle jumper auf 0 sind. was aber aber zu vermeiden ist, dass deine schaltung von einer externen spannungsquelle versorgt wird und der programmer muss auch die schaltung versorgen. ist missgl_ckter_versuch.JPG deine ganze schaltung, also ein nackter tiny oder ist auf der rückseite mehr? wenn das alles war fehlt da als beschaltungs minimum ein abblockkondensator. http://www.rn-wissen.de/index.php/Abblockkondensator
danke für die antworten.... vorerst: >habe dann noch RESET und SCK jeweils miteinander connected das soll natürlich heißen, dass ich RESET mit RESET und SCK mit SCK verbunden hab. wegen der "schaltung". das ist natürlich nicht die gesamte schaltung, in der der tiny verbaut ist. ich habe nur, um den ic zu programmieren auf ein kleines stück platine ein socket gelötet, um die einzelnen pins mit drähten abzugreifen. quasi ein programmiersocket. jetzt gehts mir darum die drähte mit dem 10-pin-isp port zu connecten. UPDATE: ES GEHT ES GEHT ES GEEEEEEHT habe mich noch nie so über die programmierung eines tinys gefreut ....is ja auch mein erstes mal gewesen. ich glaube der fahler lag darin, dass ich erst die target spannung falsch eingestellt hatte und dann beim zweiten versuch vergessen habe "read signature" zu machen. ich muss eben noch ein bischen den umgang mit avr studio lernen. aber das gerät funktiniert nun und ich erfreue mich daran :)
>ich habe nur, um den ic zu programmieren auf >ein kleines stück platine ein socket gelötet, um die einzelnen pins mit >drähten abzugreifen. quasi ein programmiersocket. trotzdem muss dort ein abblockondensator an alle versorgungsleitungen ansonsten kann es beim programmieren oder beim programmablauf zu undefinierten zuständen kommen.
ok !!! danke für den wichtigen tipp.... ich habe hier noch einen 22 pF folienkondensator, der 500V ab kann....der dürfte gehen oder ? einfach bei VCC in serie schalten ne ? EDIT: spielt die kapazität denn hierbei eine rolle ? wenn ja, nehme ich einen mit höherer kapazität
Normalerweise nimmt man als Abblockkondensator einen Keramik-Kondensator mit 100nF. Der kommt so nah wie möglich parallel zum µC (ein Beinchen vom Kondensator an Vcc, das andere an Gnd), nicht in Serie zum µC.
ahh so wie auf dem bild hier ?? quasi um schwankungen abzupuffern :) ich glaub ich verstehe... habe nämlich auch nen 100n keramik hier
>ich habe hier noch einen 22 pF das 1000 bis 10000 fache wäre schon besser. :) >folienkondensator in der regel sollte es ein keramikkondensator mit 100nF sein. es funktionieren aber auch manche folienkondensatoren nur dürfen die nicht gewickelt sein. (siehe link von oben) beziehungsweise sollten laut hersteller für abblockung geeignet sein. >einfach bei VCC in serie schalten ne serie ist schlecht, der kondensator verhält sich bei gleichstrom als sperre. das ganze muss parallel geschalten werden und zwar von vcc nach gnd das gleiche auch bei avcc und gnd. steht aber alles in dem link von oben. >spielt die kapazität denn hierbei eine rolle ? bei extremwerten vom 1000 fachen schon, der wert sollte zwischen 50nf und 150nf liegen. :)
>ahh so wie auf dem bild hier ?? quasi um schwankungen abzupuffern :) richtig! :) >habe nämlich auch nen 100n keramik hier perfekt, die sollte man im hunderter pack haben. :)
ne sind leider nur 10 :) danke nochmal für die ambitionierte hilfe
och der arme tiny hat ja gar keinen ad converter, dann entfällt natürlich der avcc/gnd kerko. ;)
edit: ja so ein schmarn, der hat sehr wohl einen adc nur eben keinen extra vcc anschluss dafür. ist einfach schon zu spät... dann noch viel erfolg beim weitern programmieren und entdecken. :)
:( seitdem ich den abblockkondensator in der schaltung habe knallen mir die tinys reihenweise beim programmieren der fusebits durch. vorher ging es. hat jemand eine erklärung ?
EDIT: sie knallen nicht wirklich durch....ich kann sie programmieren...sie führen danach erwünschtes programm aus.....sind nach setzen der fusebits aber nichtmehr ansprechbar. hab ich irgendwas falsch verstanden ?
>sind nach setzen der fusebits aber nichtmehr ansprechbar.
auf welche werte hast du denn die fuse gesetzt?
ich denke auch, dass es nicht was mit dem kondensator zu tun hat. weil warum sollte es sonst bei allen anderen keine probleme geben. aber irgendwas ist das, was ich nicht peile.
ich glaube es hat irgendetwas mit dem parameter CKDIV8 zu tun. der war vorher nicht gesetzt. alles was ich verändert habe ist eben jener parameter und noch SUT_CKSEL aber an SUT_CKSEL dürfte es nicht liegen denk ich. durch wegmachens des häckchens bei CKDIV8 ist mein controller doch 8 mal schneller geworden, soweit ich das richtig verstanden hab. ich müsste dann die ISP-frequenz auf 2Mhz stellen oder ? das ist aber nicht möglich, weil ich so nen dummen usp-isp-programmer habe und sich dadurch (laut anleitung des programmers) "leicht abweichende ISP-frequenzen gegenüber einem STK500" ergeben. ich habe gehört, dass ich der IC dennnoch über den XTAL 1 Pin retten könnte...wie dies ? in einem tutorial habe ich gelesen, dass man einen tiny nicht durch die fuses zerstören kann, aber dass es evt schwierig werden könnte sie wieder lauffähig zu bekommen. ich habe hier jetzt 5 tiny25s, die zwar das richtige programm drauf haben und funktionieren, aber ich kann sie nicht mehr umprogrammieren, da ich nichtmal mehr die signatur auslesen kann.....ärgerlich
Ich sehe in deinem Fenster unten, dass du die Taktquelle auf "external crystal 8MegHz" gestellt hast. Ohne Quarz wird der Tiny nach dem "fusen" nicht mehr laufen! Alles, was an Pin2 und Pin3 hängt, kannst du dann nicht mehr benutzen. Da muss ein passender Quarz hin und entsprechende Kapazitäten(geht manchmal auch ohne, aber toll is das nicht).
1 | _ _________ |
2 | | RST-|1 8|----(V+) |
3 | = | Tiny25 | |
4 | *--------|2 7|----SCK |
5 | XTAL | | |
6 | *--------|3 6|----MISO |
7 | = | | |
8 | |-*--------|4_______5|----MOSI |
9 | _________________________________________ |
10 | |
11 | | |
12 | = ist ein Kondensator, 11p wird empfohlen. |
13 | | Notfalls eben ohne... |
\0
Du hast deinen Tiny so eingestellt, dass er einen Quarz als Taktquelle nutzt. Dieser Quarz muss auch während dem programmieren angeschlossen sein. Auf deinem Foto ist kein Quarz zu sehen, nur zwei enorm lange Leitungen an der Stelle, an der der Quarz sein sollte (PB3 und PB4).
\0 schrieb: > Ich sehe in deinem Fenster unten, dass du die Taktquelle auf "external > crystal 8MegHz" gestellt hast. Ohne Quarz wird der Tiny nach dem "fusen" > nicht mehr laufen! > Alles, was an Pin2 und Pin3 hängt, kannst du dann nicht mehr benutzen. > Da muss ein passender Quarz hin und entsprechende Kapazitäten(geht > manchmal auch ohne, aber toll is das nicht). > ahh....ok. in der schaltung ist an der stelle ein 16 mhz quarz. also heißt das jetzt, dass ich nachdem ich die fuse auf diese art umprogrammiert habe ich erst einen quarz von pin 2 zu 3 machen muss ? das wäre nämlich kein problem. geht dann der selbe quarz aus der schaltung ? 16mhz...so einen habe ich hier noch rumfliegen. könnte den ja so auf mein flashboard integrieren, dass er per schalter "entfernbar" wäre
reicht es aus, wenn ich einfach den 16mhz quarz zwischen pb3 und pb4 mache, oder brauche ich noch elkos mit in der schaltung ??? habe wo anders gelesen, dass man zb elkos mit verbauen muss, damit der externe quarz richtig takt geben kann.... EDIT: ohh jetzt verstehe ich das schaltbild von oben erst....einiges war mir glatt engangen. ich habe hier noch 22p folien, die mache ich also von 1 zu 2 und von 3 zu 4 und von 2 zu 3 den quarz....capiche dann bleibt wieder eine frage, wenn ich das so gemacht habe kann ich die tinys mit den von mir gesetzten fuses weiterprogrammieren. aber wie sieht es aus, wenn ich auf dem selben board dann einer "frischen tiny" flashen will ? stört der umbau auf "externen takt" etwas an der flashbarkeit des "tinys out of the box" ??
>habe wo anders gelesen, dass man zb elkos mit verbauen muss, damit der >externe quarz richtig takt geben kann.... >ich habe hier noch 22p folien es sollten ausschließlich kerkos sein, siehe datenblatt seite 30. dort sieht man auch wie der quarz zu beschalten ist. >stört der umbau auf "externen takt" etwas an der flashbarkeit des "tinys >out of the box" ?? nein, die pins sind tristate beim programmieren.
Mc Gyver schrieb: > ich habe hier noch 22p folien, die mache ich also von 1 zu 2 und von 3 > zu 4 Nein! die kommen von 2 nach 4 und von 3 nach 4. Jeweils ein Ende an den Quarz, das andere Ende an GND.
ohhh seh ich auch grad. gut probiere das mal. dennnoch meine frage kann ich das so modifizierte board dann trotzdem nutzen um einen tiny zu flashen, der keinen externen quarz bei den fuses eingestellt hat ? ....weil die beiden beinchen sind ja am "üblichen flashvorgang" nicht beteiligt...wird das dann einfach ignoriert ?
Nenne uns bitte mal den Grund, warum Du die Fuses überhaupt verändert hast.
Kluchscheißer Kluchscheißer schrieb: > Nenne uns bitte mal den Grund, warum Du die Fuses überhaupt verändert > hast. na weil dies nötig ist, damit der tiny in der vorhergesehenen schaltung seinen dienst richtig tut
>weil die beiden beinchen sind ja am "üblichen >flashvorgang" nicht beteiligt...wird das dann einfach ignoriert ? ja, auch die quarz pins werden beim programmieren hochohmig (tristate, high-z) geschalten und stören somit nicht.
Mc Gyver schrieb: > Kluchscheißer Kluchscheißer schrieb: >> Nenne uns bitte mal den Grund, warum Du die Fuses überhaupt verändert >> hast. > > na weil dies nötig ist, damit der tiny in der vorhergesehenen schaltung > seinen dienst richtig tut Dann wäre es vielleicht vorteilhaft, Hilfe beim Autor der "vorgesehenen Schaltung" zu suchen. Um den Taktvorteiler CLKPR zu verändern, muss man sich nicht an der CLKDIV8-Fuse vergreifen, das geht viel besser per Programm im AVR. Sinnvoll ist meist das Einschalten des BOD und das Einstellen des BOD-Levels sowie das Erhalten des EEP-Inhaltes beim Chip-Erase. An den SUT- und CKSEL-Fuses vergreift man sich nur, wenn Betrieb mit externem Quarz oder anderem externen Taktgeber zwingend nötig ist, z.B. für Uhr, RS232 oder andere extrem zeitkritische Dinge. Für die meisten Anwendungen ist der interne Taktgeber genau genug. An der Reset-Disable-Fuse vergreift man sich nur, wenn man den Reset-Pin als Portpin braucht und zuvor einen Bootloader installiert hat und dessen Funktion durch Tests sichergestellt hat. Dazu ist auch das Einstellen der Bootloader-Fuses erforderlich. Allgemein gilt: Ehe man sich an den Fuses vergreift, macht man sich sachkundig. Denn die Fuses sind eine Art "Betriebsartenschalter" des AVRs, mit denen man viel Nutzen, aber auch viel Schaden anrichten kann. "Mal Probieren" ist da die falsche Herangehensweise, da ist Sachverstand erforderlich. Und dies ganz besonders, weil jedes ISP-Programm die Fuses am Bildschirm anders darstellt. Da ist "Nachmachen, was Andere sagen" zu gefährlich, da sollte man genau wissen, was man tut. Wenn Dein Idol (der echte Mc Gyver) so unüberlegt herumprobiert hätte wie Du, dann wäre er schon in der ersten Folge ums Leben gekommen..... ;-(
ich stehe mit dem autor der schaltung im engen kontakt. das mit den fuses hat seine berechtigung. ach egal. soll das jeder beurteilen wie er mag. ich mache das gerne und lerne auf diese art. der weg ist das ziel ;)
die tinys sind jetzt übrigens wieder alle ansprechbar. vielen dank für alle hilfen. ich möchte fast vermuten, dass dieser thread noch nicht geschlossen ist dadurch :)
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.