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.
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
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 ;-)