ATMEGA128A-AU vs 128A U-TH und 3V vs 5V ISP Programmierspannung

OP (Firma: Privat) #7404301
Lesenswert?

Hallo Miteinander, habe eine Platine mit einem ATMega128A entworfen und Instabilitäten während Programmiervorgängen mit dem "mySmartUSB light" Programmierstick. Es benötigt mehrere Anläufe um erfolgreich zu programmieren oder fuses zu setzen. Die Signale sind in Spec - also keine Spikes, Spannungseinbrüche an VCC die den µC in ein ausser-spec-Bereich bringen würden.

Stelle folgende Dinge fest und würde gerne Eure Meinungen dazu einholen, während ich auf einen neuen Programmierstick warte (Tremex USB).

a) ISP erkennt den µC bei mir nur, wenn der externe Clock Oscillator (ASV-7.3728MHZ-E-T) angeschlossen ist. Der ISP Header ist mit allen Leitungen an den entsprechenden Pins vom µC angeschlossen. Der µC ist factory default, also internal oscillator 1 MHz. F: Wie würde die Programmierung funktionieren, wenn im Design überhaupt kein Oscillator oder R/C vorgesehen wäre und somit ohnehin nur mit dem internen Clock des µC gearbeitet werden soll?

b) ISP-Programmer erkennt den µC bei mir nur, wenn der Programmer von sich aus 5V (!) bereitstellt. Hier überlagert dieser während der Programmierung die Versorgungsspannung vom Board. F: nutzt jemand von Euch den ATMega ausschliesslich mit 3.3V und programmiert diesen auch mit dieser Spannung und/oder verzichtet auf die Programmerspannung?

c) (nicht 100% gesichert): F: Ist im Werkszustand des µC immer BOD auf 4V gesetzt und enabled? Erst nach setzen auf 2.7V beginnt der µC nach einer Programmierung (reset wieder high) mit dem Programm im Flash.

d) verunsicherte Frage: Wenn ich nun den bereits angeschlossen externen Oszillator (der liefert 7.3MHz als Rechteck) nun vom µC nutzen lassen möchte, nutze ich tatsächlich die Fuses 0000 und 4ms oder nutze ich ein "Fast Crystal Oszillator" ? Hier besteht Verunsicherung, da bei einem Umschalten ich den "Kontakt mit ISP zum µC" verloren hatte und einen "frischen" ATMega128A einsetzen mußte. (zum Wiederholten Male an diesem Board ... 3x)

Viele Fragen - aber es heisst ja "Wenn man vom Rathaus kommt, ist man schlauer."

Danke vorab und Grüße

#7404316
Lesenswert?

Denis K. schrieb:

Hallo Miteinander, habe eine Platine mit einem ATMega128A entworfen und Instabilitäten

Zeig uns deinen Schaltplan.

während Programmiervorgängen mit dem "mySmartUSB light" Programmierstick. Es benötigt mehrere Anläufe um erfolgreich zu programmieren oder fuses zu setzen. Die Signale sind in Spec - also keine Spikes, Spannungseinbrüche an VCC die den µC in ein ausser-spec-Bereich bringen würden.

Stelle folgende Dinge fest und würde gerne Eure Meinungen dazu einholen, während ich auf einen neuen Programmierstick warte (Tremex USB).

a) ISP erkennt den µC bei mir nur, wenn der externe Clock Oscillator (ASV-7.3728MHZ-E-T) angeschlossen ist. Der ISP Header ist mit allen Leitungen an den entsprechenden Pins vom µC angeschlossen. Der µC ist factory default, also internal oscillator 1 MHz.

Dann muss der Programmiertakt vom mySmartUSB light auf kleiner 250kHz eingestellt werden.

F: Wie würde die Programmierung funktionieren, wenn im Design überhaupt kein Oscillator oder R/C vorgesehen wäre und somit ohnehin nur mit dem internen Clock des µC gearbeitet werden soll?

Wenn man die AVR Fuses falsch einstellt, gar nicht. der Controller braucht eine Taktquelle.

b) ISP-Programmer erkennt den µC bei mir nur, wenn der Programmer von sich aus 5V (!) bereitstellt. Hier überlagert dieser während der Programmierung die Versorgungsspannung vom Board.

Schlecht.

F: nutzt jemand von Euch den ATMega ausschliesslich mit 3.3V und programmiert diesen auch mit dieser Spannung und/oder verzichtet auf die Programmerspannung?

Kann es sein, daß VCC nicht an deinem Programmieradapter angeschlossen ist? Die wird aber gebraucht. Sowohl für die Pegelwandler als auch für die Messung der Spannung.

c) (nicht 100% gesichert): F: Ist im Werkszustand des µC immer BOD auf 4V gesetzt und enabled?

Keine Ahnung.

Umschalten ich den "Kontakt mit ISP zum µC" verloren hatte und einen "frischen" ATMega128A einsetzen mußte. (zum Wiederholten Male an diesem Board ... 3x)

Du machst einen Fehler mit den Fuses. Das ist kritisch.

#7404363
Lesenswert?

Denis K. schrieb:

Schaltung als PDF.

Das mit deinem Reset-IC funktioniert vermutlich nicht. Denn der macht einen langen Reset-Puls von 140ms. Das gibt vermutlich Probleme mit dem ISP. Brauchen tust du den sowieso nicht, der AVR kann das allein mittels internem Brown Out Detektor. Test mal ohne den Reset-IC mit direkter Reset-Verbindung.

Ich glaube nicht, daß der Brown Out Detektor werksmäßig aktiv ist, schon gar nicht mit 4V, denn dann könnte man den AVR nie auf 3,3V Boards nutzen, weil man den gar nicht programmiert bekommt.

OP (Firma: Privat) #7404685
Lesenswert?

@FalkB :

Frage b)

1
Das mit deinem Reset-IC funktioniert vermutlich nicht. Denn der macht 
2
einen langen Reset-Puls von 140ms. Das gibt vermutlich Probleme mit dem 
3
ISP.

... das war der entscheidende Hinweis. Vielen Dank! Ich hätte nicht gedacht dass die RESET Leitung auch eine Art "strobe" ist. Verstehe nicht warum ich das nie so nachgemessen hatte. Im Anhang dazu zwei Bilder. Das erste der ATMega128A und zum Vergleich ein ATMega8 . Jetzt zumindest erhält der Prommer stabil (also bei jedem Vorgang was auch immer) eine Antwort vom µC.

Frage a) Mit Deinem Hinweis ist auch diese Frage, mit "nein" beantwortet. Ich trennte den CLK vom externen Oszillator und der Prommer konnte den µC erkennen, da hier der interne Oszillator aktiv ist.

Frage c) Prüfte nochmal den unveränderten Zustand des BOD Fuse (Werkseinstellung). Ja - es ist definitiv 2.7V - entgegen meinem oben geschilderten Eindruck. Aber nicht enabled.

Frage d) 0000 für external Clock Oszillator oder andere ... Da nun das Board einen stabilen Eindruck macht, wagte ich auf 0000 zu stellen - mit 4ms und 6CLK und es läuft nun mit 7.36 MHz.

@oliverso Danke auch Dir für Deinen Hinweis. In diesem konkreten Fall war dies nicht die Ursache - aber ist immer zu berücksichtigen.

Angehängte Dateien:
OP (Firma: Privat) #7405551
Lesenswert?

Das mit dem U-TH ist nur Bestandteil der neuen Beschriftungsweise und bezeichnet das Herstellungsland. Siehe hier: Beitrag "Re: ATMEGA 328PU-TH Fälschung"

Jetzt versteh ich das - vielen Dank @Jobstens-de

Bin immer noch nicht drüber hinweg, daß auf der Reset Leitung gestrobed wird und konnte gestern Abend nicht wirklich was darüber finden, bis auf einen "Debug Modus". Verstehe jedoch nicht, warum dieser während dem Auslesen des Chips Aktiv wird - wenn es dieser Grund ist.

Bis dahin bin ich aber froh, dass die Kommunikation nun klappt und auch, dass ich knapp vier Euro spare, wenn ich zukünftig den VoltageMonitor nicht nutze.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren