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
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.
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.
@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.
Denis K. schrieb: > Ich hätte nicht > gedacht dass die RESET Leitung auch eine Art "strobe" ist. Ist es auch nicht. Das Reset-Signal der AVR8 ist sowas von "level", mehr geht kaum noch. Das die RESET-Letung hier wie ein Strobe-Signal wirkt, hast du dier Arduidiotisierung zu verdanken. Kann man mitmachen, muss man aber nicht...
Denis K. schrieb: > ATMEGA128A-AU vs 128A U-TH und 3V vs 5V ISP Programmierspannung Der 128A (U-TH) ist ein 128A AU, wenn er sich im TQFP befindet. Sollten sich identisch verhalten. Das mit dem U-TH ist nur Bestandteil der neuen Beschriftungsweise und bezeichnet das Herstellungsland. Siehe hier: Beitrag "Re: ATMEGA 328PU-TH Fälschung" Gruß Jobst
> 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.
C-hater schrieb: > Das die RESET-Letung hier wie ein Strobe-Signal wirkt, hast du dier > Arduidiotisierung zu verdanken. Kann man mitmachen, muss man aber > nicht... Was hat sein Board bitteschön mit Arduino zu tun?
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.