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 )
brainiac schrieb: > Ich habe mir eine Platine mit einem atmega328p entworfen. Im Schaltplan ist ein ATMega324PB verwendet. Also welcher soll es jetzt sein?
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?
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.
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.
Könnte ein 16MHz Quarz zu schnell bei 3,3V Versorgung sein? Mal mit 10 oder 8MHz versuchen.
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.
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.
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.
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.
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.
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?
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...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.