Hallo, ich rätsel gerade ein bisschen herum - ich habe auf einer bereits geätzten platine wohl einen fehler gemacht, den ich nicht ganz nachvollziehen kann: Am SCK eingang des Mega16 habe ich einen entprellten Taster angeschlossen. Wenn ich nun mit AVR Studio und meinem ISP mkII programmieren will, bekomme ich einen error "SCK line appears to be short circuited". Falls das nun an den entprellkomponenten gegen masse liegt, wüsste ich gerne, wie ich ohne größeren aufwand abhilfe schaffen kann, ohne die funktion des aufbaus großartig zu beinträchtigen? Oder ist der Aufbau so indisukutabel und einfach nicht zulässig? Ausschnitt im Anhang. Beste grüße Alex
Indiskutabel und einfach nicht zulässig. Mit deinem Kondensator versuchst du ja, schnelle Pegelwechsel zu unterdrücken. Und eben diese treten beim Programmieren nun mal regelmäßig auf, wenn SCK mit etlichen kHZ getaktet wird. Schmeiß den Kondensator raus und mach die Entprellung per Software. Und wenn du die Taster gegen GND schaltest und den internen Pullup aktivierst, kannst du auch auf dem Widerstand verzichten. Da die Platine aber schon fertig ist, musst du den Widerstand behalten, weil ein AVR keine internen Pulldowns hat.
Der 330n-Kondensator bildet Wechselstrommäßig einen Widerstand, der bei den üblichen Frequenzen, die am SCK anliegen gegen 0Ω geht. 1. Lösungsansatz: einen Widerstand in die Leitung von Taster zu SCK rein werfen, vllt. so 100k. Oder einen Jumper, der dann fürs brennen abgezogen werden muss. 2. Lösungsansatz: per Software entprellen und interne Pullups nutzen. Der Taster schaltet dann gegen Ground. mfg mf
Alex schrieb: > Oder ist der Aufbau so > indisukutabel und einfach nicht zulässig? Ja. Mach die Entprell-Kondensatoren raus und entprelle in Software! Du hast jetzt (auf die harte Art) folgendes gelernt: Man mißbraucht nie nie nie die Programmierpins für irgendetwas anderes (andere Pins benutzt man auch möglichst nur für genau einen Zweck). Bernhard
Jumper in die Leitung SCK zum Tastermimik setzen oder einen Serienwiderstand (=> ATmel Appnote Hardware Considerations). Jumper ziehen, wenn ISP programmiert wird. Ich würde an deiner Stelle auch den Einbau des Tasters S5 prüfen, ob der Taster wirklich offen ist oder durch einen Fehler die 5VFUSED an SCK anliegen,
Bernhard R. schrieb: > Man mißbraucht nie nie nie die Programmierpins für irgendetwas anderes Das würde ich nicht komplett so sehen. Für Eingangssignal (wie hier) sollten die Pins nur im Notfall eingesetzt werden. Aber bei Ausgängen ist es unkritisch, wenn nichts kritisches dort angeschlossen ist (z.B. ein Motortreiber wäre ne blöde Idee). Ich nehme die ISP-Pins gerne für Status-LEDs. Da stört es nicht weiter, wenn sie kurz mal etwas blinken.
in ordung. kacke. jetzt muss ich die ganze hand wieder umbauen. ich "dachte", die programmierpins könnten normal verwendet werden, sofern über sck bzw reset nicht signalisiert ist, dass sie gerade zur programmierung verwendet werden. :/ zum beweis, dass es wirklich auf die harte art war, hier mal das, was ich jetzt wieder auffriemeln muss: dankesehr.
Kann das Ding sich noch nicht selbst aufpfriemeln :-) SCNR
noch nicht, ich kanns ja nicht programmieren ^^
ich werde das mit den serienwiderständen probieren. 100k ist ok? ich habe intern keine pulls gesetzt und weiß nicht, wie viel dann bei tasterdruck effektiv am eingang anliegt.
Bernhard R. schrieb: > Alex schrieb: >> Oder ist der Aufbau so >> indisukutabel und einfach nicht zulässig? > Du hast jetzt (auf die harte Art) folgendes gelernt: > Man mißbraucht nie nie nie die Programmierpins für irgendetwas anderes > (andere Pins benutzt man auch möglichst nur für genau einen Zweck). Das ist Quatsch und trifft höchstens für Anfänger zu. Wenn man weiß, was man tut ist das kein Problem. Anders könnte man ja bei den meisten AVRs gar nicht das SPI Hardware Interface benutzen.
Bernhard R. schrieb: > Man mißbraucht nie nie nie die Programmierpins für irgendetwas anderes > (andere Pins benutzt man auch möglichst nur für genau einen Zweck). Das ist Quatsch. Wie soll das z.B. beim ATtiny25 gehen, dann hättest Du ja nur 2 IO-Pins verfügbar, statt 6. Löte die 300nF Kondis raus, machen Entprellen in SW und gut is. Peter
die 100k in reihe waren (bisher) eine gute lösung. hand ist jetzt programmierbar. ich bin ja mal gespannt! ^^
100k ist zu hoch. Nimm 10k. Trotzdem ist die Lösung, die Kondensatoren rauszunehmen bisher die Beste.
Simon K. schrieb: > 100k ist zu hoch. Nimm 10k. Guckst du zu den 33k, die am Kondensator hängen. Ich denke bei den Tastern kommt es nicht auf Geschwindigkeit an und die Portpins haben einen doch recht großen Eingangswiderstand. mfg mf
Jo K. schrieb: > Simon K. schrieb: >> 100k ist zu hoch. Nimm 10k. > > Guckst du zu den 33k, die am Kondensator hängen. Hm, was sollte ich da sehen? > Ich denke bei den > Tastern kommt es nicht auf Geschwindigkeit an und die Portpins haben > einen doch recht großen Eingangswiderstand. Es ist aber ganz einfach störfester. Ist jetzt auch mehr eine Bauchentscheidung bei mir gewesen ;-)
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.