Forum: Mikrocontroller und Digitale Elektronik STK600 --> Fehlermeldung bitte um Hilfe!


von A. R. (redegle)


Lesenswert?

Hallo,

ich habe ein STK600 mit einer Socketcard für einem Atmega2560.
Hiermit habe ich auch diverse Schaltung getestet.
LED-Ansteuerung, Einlesen von Ausgängen, Timer, ADC ...
Bis jetzt habe ich immer über ISP programmiert.

Heute wollte ich die PWM-Ausgänge testen und übertrug folgendes 
Programm.
Denke nicht, dass dies für das Problem verantwortlich ist. Ich möchte 
dies jedoch der Vollständigkeit halber anführen (Viele Kommentare für 
paar Zeilen Programm also nicht abschrecken lassen).
1
 #include <avr/io.h>
2
3
// Internet Takt 128kHz
4
// Der ADC ist an PortF angeschlossen, ADC0 --> PF0
5
// Ausgaege des PortB sind negiert
6
// 
7
8
  int main(void)
9
10
{
11
12
13
/*
14
Hinweis:
15
16Bit-Regiser immer direkt hintereinander auslesen
16
unsigned int i;
17
...
18
19
/* Set TCNTn to 0x01FF */
20
//TCNTn = 0x1FF;
21
/* Read TCNTn into i */
22
//i = TCNTn;
23
24
25
/*
26
  ADCSRA= 0b11100100; // Free running mode mit 128/2khz
27
  ADCSRB= 0b00001000; // Letzen 3 stehen auch für free running mode
28
  ADMUX = 0b11000111; // Referenz ADLAR und Eingang // ADLAR nicht gesetzt
29
  DDRB = 0b11111111; // Port B ist ein Ausgang 0b11111111 = 0xff
30
  DDRK = 0b01111111;
31
  PORTK= 0b00001111;
32
*/
33
34
  DDRL = 0b11111111;
35
36
// Fast PWM 10Bit --> Zählerreset bei 0x03FF
37
  TCCR5A = (1<<WGM50) | (1<<WGM51);
38
  TCCR5B = (1<<WGM52) | (0<<WGM53);
39
40
// Prescaller auf 1
41
  TCCR5B = (0<<CS52)  | (0<<CS51) | (1<<CS50);
42
43
//Register A aktivieren
44
  TCCR5C = (1<<FOC5A);
45
46
//Duty-cycle einstellen
47
  OCR5A = 0x0FF;
48
  OCR5B = 0x0AF;
49
50
  int k = 0;
51
  while(1)
52
  {
53
54
    if(k=1)
55
    {
56
      PORTL= (1<<PORTL5);
57
      PORTL= (1<<PORTL7);
58
      k=k-1;
59
    }
60
    else
61
    {
62
      PORTL= 0x0;  
63
      PORTL= 0x0;
64
      k=k+1;
65
    }
66
  }
67
68
return 0;
69
}

Nachdem ich das Programm überspielt hatte, wollte ich mit einem 
Oszilloskop testen, ob an den Ausgängen eine PWM zu sehen ist.

Spannungsversorgung von Laptop aus über USB.
Netzstecker gezogen (Akku --> galvanische Trennung).
Netzwerkkabel am Laptop angeschlossen gelassen.

Oszilloskop mit GND verbunden und die Ausgänge des Ports L angeschaut.
PIN5 und 7 zeigen wie gewollt ein Rechteck. Die Pins für die 
Hardware-PWM macht nicht (vermutlich Softwarefehler).

Der Atmega2560 ist über einen externen 16Mhz Takt angeschlossen

Ich hoffe, dass ich somit genug erklärt habe, um die Nettiquette zu 
erfüllen.
Nun aber zu dem eigendlichen Problem:
Wenn ich nun das AVR Studio mit dem STK600 verbinde und zwischen den 
Menüs "Programm, Fuses und LockBits" umschalte bekomme ich folgende 
Fehlermeldung.

"There seems to be a short circuit on the ISP connector.
The MOSI, RESET and SCK line(s) appear to be short-circued.
The operation will be aborted."

Was habe ich anschließend versucht:

ISP-Frequenz gesenkt --> kein Erfolg
Atmega32L angeschlossen und über ISP eine Verbindung aufgebaut --> 
funktioniert
Atmega2560 mit highvoltage angesteuert --> funktioniert
Atmega2560 mit JTAG angesteuert --> selbe Fehlermeldung
Atmega2560 mit highvoltage auf internen Takt gestellt --> Fehlermeldung 
bleibt bei ISP

Kann sich das jemand erklären?
Wüsste nicht wie ich die ISP-Programmierung zerstört haben könnte.

von A. R. (redegle)


Lesenswert?

bump

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.