Hallo! Ich möchte gerne an einem ATmega8 drei Taster verwenden, die an den ISP-Ports (MOSI, MISO und SCK) angeschlossen sind. Dabei ist die ISP-Schnittstelle über einen Steck-Verbinder mit dem ATmega8 verbunden und parallel dazu sind auch die Taster über einen Steck-Verbinder mit dem ATmega8 verbunden. Wenn ich nur die ISP-Schnittstelle verbinde, dann funktioniert die Programmierung problemlos. Stecke ich aber die Taster auch noch mit an, dann funktioniert die Programmübertragung nicht mehr… Meine Frage: Kann man die ISP-Schnittstelle irgendwie „unempfindlicher“ machen, so dass ich die Taster nicht bei jeder Programmübertragung abziehen muss? LG Jens
Wie sind die Taster genau angeschlossen? Wenn sie so angeschlossen sind (Tutorial-like):
1 | µC Pin --------+----------------- ISP Pin |
2 | | |
3 | O| |
4 | O| Taster |
5 | | |
6 | GND |
Sehe ich kein Problem Wenn sie so angeschlossen sind (Pollin-like):
1 | Vcc |
2 | | |
3 | O| |
4 | O| Taster |
5 | | |
6 | | R |
7 | +-------###------- GND |
8 | | C |
9 | +-------||-------- GND |
10 | | |
11 | µC Pin --------+----------------- ISP Pin |
kann das Probleme machen. Als erstes dann C entfernen.
Hallo! Anbei ein Bild von meiner Platine. Die Ports vom ATmega8 sind weder mit Pullup-Widersände versehen, noch sind dort Kondensatoren angeschlossen. Als Taster verwende ich: http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=C223;GROUPID=3278;ARTICLE=44458;START=0;SORT=artnr;OFFSET=16;SID=32wG4wHqwQASAAAGXKbpA0ff000c0e563f50e0ada54c3d05bc383 Mit einer Kabellänge von ca. 15cm. Die Leitung vom ISP-Programmer ist insgesamt ca. 30cm lang.
Anbei ist auch noch der Schaltplan…
> Wenn sie so angeschlossen sind (Tutorial-like):
Welcher Link, bzw. wo muss ich suchen?
Jens schrieb: > Anbei ist auch noch der Schaltplan… > >> Wenn sie so angeschlossen sind (Tutorial-like): > > Welcher Link, bzw. wo muss ich suchen? Na, im Tutorial! ;) AVR-Tutorial (Abschnitt I/O-Grundlagen) http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen
Volker schrieb: > Na, im Tutorial! ;) > AVR-Tutorial (Abschnitt I/O-Grundlagen) > http://www.mikrocontroller.net/articles/AVR-Tutori... Leider werden dort aber nicht die ISP-Ports verwendet und leider steht da auch nichts wie man die ISP-Ports beschalten kann, wenn man sie als ISP und als Eingänge verwenden will. Oder habe ich hier etwas übersehen?
Die Taster schalten doch nach Masse oder? Solange die Taster also nicht gedrückt sind, ist es wie wenn nichts angeschlossen wäre, müsste also funktionieren. Wie sieht die Resetbeschaltung aus, lässt sich auf dem Schaltplan nicht erkennen? Welchen Progger benutzt du?
Flo schrieb: > Die Taster schalten doch nach Masse oder? Ja. > Solange die Taster also nicht gedrückt sind, ist es wie wenn nichts > angeschlossen wäre, müsste also funktionieren. Genau das ist der Knackpunkt. So wie die ca. 15cm Kabel mit den Tastern mit am ISP hängen, dann funktioniert die Programmübertragung nicht mehr. Als Fehlermeldung erhalte ich: „Signatur = 0x000000“, wenn die Taster mit angesteckt sind (bei 1 von 10 Versuchen kommt noch ein Verbindungsaufbau zustande, nur so ist eine Programmübertragung absolut unmöglich). Entferne ich die Taster wieder, dann kann ich problemlos eine HEX-Datei übertragen. (Die Taster habe ich übrigens auch durchgemessen, sie sind alle offen und auch richtig angeschlossen.) > Wie sieht die Resetbeschaltung aus, lässt sich auf dem Schaltplan nicht > erkennen? Mit 10k nach 5V Plus und mit 100nF gegen Masse. Den Reset-Pin kann ich aber eigentlich ausschließen, denn bei den Tastern habe ich das Kabel dafür nicht mit heraus geführt. Zu den Tastern führt nur MISO, MOSI, SCK und Masse. > Welchen Progger benutzt du? Einen PonyProg-Programmer: http://www.pcfilter.de/AVR-Ecke/Page4.html Und AVRdude v5.10
Mach mal die 100n kleiner, auf 10n. Kann ein Timing-Problem sein, hatte ich schon mal.
Man kann bei Ponyprog auch paar Parameter verändern, so dass die Übertragung langsamer läuft oder Reset länger wartet. Weiss aber nicht mehr, wie das ging. Wo schließt Du den Progger an? Direkt RS232? PC oder Laptop? USB-seriell-Wandler? Wenn Laptop oder USB-seriell-Wandler, kann es sein, dass die Pegel nicht ganz reichen. Dann event. die Widerstände im Progger vorsichtig verringern.
Hallo! Ich habe das Problem mittlerweile umgangen (wenn auch nicht gelöst). Mit einem STK500v2 kompatiblen Programmer funktioniert die Programmübertragung auch mit angeklemmten Tastern. Danke für Eure Hilfe… LG Jens
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.