Forum: Mikrocontroller und Digitale Elektronik AVR: got 0xc0 expected 0x00


von brainiac (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe mir eine Platine mit einem atmega328p entworfen. Ich habe dafür 
eine ICSP Schnittstelle und habe die elektrischen Verbindungen nach dem 
Löten geprüft. Der atmega ist fabrikneu und noch nicht programmiert.

Wenn ich nun mit meinem mkII und AtmelStudio daran arbeiten möchte kommt 
die Meldung:

> Failed to enter programming mode. ispEnterProgMode: Error status received: Got 
0xc0, expected 0x00

Die korrekte Spannung von 3.3V wird angezeigt. Die ISP Fclk ist auf 
16,1kHz, weniger als 1/4 von dem internen Osc.

Man findet im Internet viel dazu, hat aber nichts geholfen.

Ist es eigentlich egal, welchen SPI Port des Atmegas man als ISP Port 
verwendet? Ich habe den SPI0 verwendet (ich hätte mir darüber vlt vorher 
mehr Gedanken machen sollen :D )

von Dumpf Backe (Gast)


Lesenswert?

brainiac schrieb:
> Ich habe mir eine Platine mit einem atmega328p entworfen.

Im Schaltplan ist ein ATMega324PB verwendet.

Also welcher soll es jetzt sein?

von brainiac (Gast)


Lesenswert?

Hat mich auch gerade verwirrt. Ich verwende auch tatsächlich einen 
atmega324pb. Allerdings steht auf dem Chip selbst lediglich 324p (ohne 
B). In der Lieferbescheinigung steht ebenfalls, dass es ein 324pb sein 
sollte. Wird das "B" einfach nicht mit aufgelasert?

von Dumpf Backe (Gast)


Lesenswert?

brainiac schrieb:
> Ist es eigentlich egal, welchen SPI Port des Atmegas man als ISP Port
> verwendet?

Wo auch immer hast du denn einen zweiten SPI Port gefunden?

Wenn du eine vernüftige Ferndiagnose haben möchtest solltest
du einen kompletten Schalplan sowie einen Aufbau zeigen.

Beim ISP Connector wird als Fehlerquelle gerne mal eine
spiegelverkehrte Pinbelegung angewendet. Übliche Darstellung
ist die Ansicht von der Bauteilseite auch wenn man auf der
anderen Seite löten muss.

von brainiac (Gast)


Angehängte Dateien:

Lesenswert?

Dumpf Backe schrieb:
> Wo auch immer hast du denn einen zweiten SPI Port gefunden?
>
> Wenn du eine vernüftige Ferndiagnose haben möchtest solltest
> du einen kompletten Schalplan sowie einen Aufbau zeigen.
>
> Beim ISP Connector wird als Fehlerquelle gerne mal eine
> spiegelverkehrte Pinbelegung angewendet. Übliche Darstellung
> ist die Ansicht von der Bauteilseite auch wenn man auf der
> anderen Seite löten muss.

An PD6, PD7, PE2, PE3 ist noch ein weiterer SPI Port.

Ich habe mal die erste Seite des Schaltplans und das pcb layout 
angehängt, sowie ein Bild vom Gerät. Der Stift deckt nur eine für das 
Bild zu helle LED ab. Der rote Kreis am ISP-Header markiert Pin 1.

von lempel (Gast)


Lesenswert?

Könnte ein 16MHz Quarz zu schnell bei 3,3V Versorgung sein? Mal mit 10 
oder 8MHz versuchen.

von c-hater (Gast)


Lesenswert?

brainiac schrieb:

> Ist es eigentlich egal, welchen SPI Port des Atmegas man als ISP Port
> verwendet?

Ja, denn SPI hat mit ISP direkt erstmal NICHTS zu tun. Auch wenn aus 
Spargründen wohl bei vielen Devices zumindest ein Teil der Gatter eines 
SPI oder USI auch für ISP verwendet werden und deshalb auch dieselben 
Pins für die beiden Funktionalitäten verwendet werden. Merke: "bei 
vielen" != "bei allen".

Welche Pins tatsächlich für ISP zu verwenden sind, steht im DB, 
typischerweise in einem Abschnitt mit dem Namen "serial programming" 
oder "serial downloading". So auch beim Atmega324PB...

Dein Schaltplan macht es allerdings richtig, die verwendeten Pins sind 
die richtigen für den Mega324PB und auch das Pinout der ISP-Buchse ist 
korrekt.

Wenn die Funktionsfähigkeit des Programmers mit einem anderen Target 
bereits nachgewiesen ist, bleiben eigentlich nur noch wenige mögliche 
Gründe über, warum es nicht funktioniert.

Am wahrscheinlichsten sind wohl zwei Sachen:

1) Zinnbrücken
2) Der Programmer wird mit 5V betrieben, obwohl das Target nur eine 
3.3V-Versorgung hat und enthält keine Level-Shifter.

von H.Joachim S. (crazyhorse)


Lesenswert?

brainiac schrieb:
> Hat mich auch gerade verwirrt. Ich verwende auch tatsächlich einen
> atmega324pb. Allerdings steht auf dem Chip selbst lediglich 324p (ohne
> B). In der Lieferbescheinigung steht ebenfalls, dass es ein 324pb sein
> sollte. Wird das "B" einfach nicht mit aufgelasert?

Es gibt den P, den PA und den PB-Typ.
P und PA sind kompatibel (unterscheiden sich soweit ich mich erinnere, 
nur in der Strukturgrösse).
Der PB-Typ ist anders, hat sogar eine andere Pinbelegung und ist somit 
nicht austauschbar. Die Erweiterung muss drauf stehen - wenn da nur P 
steht ist es auch nur ein P-Typ, schau noch mal genau hin.

Die 100nF am Reset könnten auch ein Problem sein, irgendwelche 
Programmer kamen damit nicht zurecht. Ich baue da i.a. überhaupt keinen 
Kondensator ein.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

c-hater schrieb:
> 2) Der Programmer wird mit 5V betrieben, obwohl das Target nur eine
> 3.3V-Versorgung hat und enthält keine Level-Shifter.

Das fällt beim AVRISP MkII weg, den der TE ja benutzt. Der hat 
Levelshifter und speist auch das Ziel nicht.

H.Joachim S. schrieb:
> Die 100nF am Reset könnten auch ein Problem sein

So isses. Den C sollte man mal auf 22nF oder so verkleinern oder 
wirklich weglassen.

lempel schrieb:
> Könnte ein 16MHz Quarz zu schnell bei 3,3V Versorgung sein?

Es ist lt. Datenblatt zumindest sehr auf Kante. Ich fummel jetzt nicht 
mit dem Lineal am Bildschirm rum, aber 16MHz sind sowohl beim Mega324P 
als auch beim Mega324PB erst so ab etwa 4V in der SOA.

von Ingo L. (corrtexx)


Lesenswert?

brainiac schrieb:
> Ich habe mal die erste Seite des Schaltplans und das pcb layout
> angehäng
Grundsätzlich würde ich jede Versorgung mit 47-100µF Elko lokal puffern. 
Die 100nF tun dies nicht, auch der 4µ7 ist reicht dafür nicht aus.

von H.Joachim S. (crazyhorse)


Lesenswert?

Ingo L. schrieb:
> Grundsätzlich würde ich jede Versorgung mit 47-100µF Elko lokal puffern.

So pauschal kann man das nicht sagen, und nicht alle Spannungsregler 
mögen das, zumindest das Regelverhalten leidet.
Und mit dem aktuellen Problem hat es auch nichts zu tun.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Naja, man könnte schon die dünnen Leiterbahnen und den recht grossen 
Abstand der Abblock-C zum Kontroller kritisieren.
Mir gefällt dabei gar nicht, das da z.B. 12V auf der Sub-D Buchse 
liegen, die TXD und RXD Leitungen aber keinerlei Schutz gegen 
Überspannung z.B. durch Längswiderstände haben. Das kann in der rauen 
Wirklichkeit ESD oder die 12V bis ins Herz des MC lassen.
Wo endet der Abblock-C C6? Gibts da noch einen GND Layer?

von Dietrich L. (dietrichl)


Lesenswert?

Matthias S. schrieb:
> Naja, man könnte schon die dünnen Leiterbahnen und den recht grossen
> Abstand der Abblock-C zum Kontroller kritisieren.

Wenn du schon das Layout erwähnst:

Es sieht ja so aus, als wäre da eine GND-Fläche drauf, die man 
allerdings mangels "Ratsnest" nicht sieht. Da sollte man mal 
kontrollieren, ob diese Fläche genügend zusammenhängend ist. Andernfalls 
könnte das zu beliebigem Fehlverhalten führen...

von brainiac (Gast)


Lesenswert?

Matthias S. schrieb:
> Wo endet der Abblock-C C6? Gibts da noch einen GND Layer?
Ja, geht auf Gnd

Matthias S. schrieb:
> lempel schrieb:
>> Könnte ein 16MHz Quarz zu schnell bei 3,3V Versorgung sein?
>
> Es ist lt. Datenblatt zumindest sehr auf Kante. Ich fummel jetzt nicht
> mit dem Lineal am Bildschirm rum, aber 16MHz sind sowohl beim Mega324P
> als auch beim Mega324PB erst so ab etwa 4V in der SOA.
Da er ja noch nicht programmiert wurde, lief er noch auf dem int osc. 
Ich verwende ihn mit clkdiv8, da sollte es wohl kein Problem geben.

c-hater schrieb:
> Am wahrscheinlichsten sind wohl zwei Sachen:
>
> 1) Zinnbrücken
> 2) Der Programmer wird mit 5V betrieben, obwohl das Target nur eine
> 3.3V-Versorgung hat und enthält keine Level-Shifter.
Ist jetzt peinlich, aber genau das war es. Habe eine Zinnbrücke erzeugt, 
die ich unter dem ganzen Flussmittel nicht gesehen habe.

Danke für die Hinweise!

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.