Forum: Mikrocontroller und Digitale Elektronik Problem - ISP und Taster an einer Leitung


von Jens (Gast)


Lesenswert?

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

von Stefan B. (stefan) Benutzerseite


Lesenswert?

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.

von Jens (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Magnetus (Gast)


Lesenswert?

Wie wäre es mit einem SCHALTPLAN ?

von Jens (Gast)


Angehängte Dateien:

Lesenswert?

Anbei ist auch noch der Schaltplan…

> Wenn sie so angeschlossen sind (Tutorial-like):

Welcher Link, bzw. wo muss ich suchen?

von Volker S. (volkerschulz)


Lesenswert?

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

von Jens (Gast)


Lesenswert?

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?

von Flo (Gast)


Lesenswert?

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?

von Jens (Gast)


Lesenswert?

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

von Sven (Gast)


Lesenswert?

Mach mal die 100n kleiner, auf 10n. Kann ein Timing-Problem sein, hatte 
ich schon mal.

von Sven (Gast)


Lesenswert?

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.

von Jens (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.