Sobald ich (per Relais) den Programmer an den ATMega32 abschließe zieht es den RESET-Pin (CLK-Leitung) für 30us auf low und resetten mir den uC. Das will ich nicht, da es mir meinen Kalibrieraufbau so zerhagelt. Das Datenblatt sagt nichts über die Abschaltmöglichkeit des externen Resets. Habe ich vielleicht was überlesen? Viele Grüße! Marko
Du kannst die Leitung unterbrechen, aber dann funktioniert der Programmieradapter nicht mehr. Oder einen anderen Programmieradapter verwenden, der das nicht tut. Die USBASP Modelle tun es nach meinem Kenntnisstand nicht.
Marko R. schrieb: > Sobald ich (per Relais) den Programmer an den ATMega32 abschließe zieht > es den RESET-Pin (CLK-Leitung) für 30us auf low und resetten mir den uC. Dann taugt der Programmer nix und/oder deine Relaisschaltung. > Das Datenblatt sagt nichts über die Abschaltmöglichkeit des externen > Resets. Habe ich vielleicht was überlesen? Nein, hast du nicht.
Wäre fatal, wenn das ginge. Verbinde die Resetleitung doch einfach erst einige Sekunden nachdem der Programmer an die Versorgungsspannung angeschlossen wurde. Oder lasse den Programmer mit dem ATMega verbunden.
c-hater schrieb: > Dann taugt der Programmer nix u Vorsicht, der gute alte Atmel ISP MkII macht das. Über den darfst du nicht meckern :-) Felix schrieb: > Verbinde die Resetleitung doch einfach erst einige Sekunden nachdem der > Programmer an die Versorgungsspannung angeschlossen wurde. Das geht nicht, dann erkennt der Programmieradpater den µC nicht und verweigert jedes folgende Kommando.
OK, vielleicht war ich mit meiner Frage doch etwas kurz angebunden. Ich habe einen Messschaltung, welche während der Kalibrierung an digital einschaltbaren Widertständen hängt. Während der Kalibrierung will ich von allem galvanisch getrennt sein, daher schalte ich die Leitungen zum Programmer knall hart per Relais ab. Da bei meiner Ansteuerung nun aber Pins knapp waren habe ich einfach verNORt um das Relais für die Programmerabschaltung anzusteuern. Nun habe ich eine Open-Messung implementiert zu der ich halt die Widerstände alle abschalte, was gleichzeitig den Programmer wieder anhängt. Das ist auch gar nicht schlimm, nur leider ist die CLK-Leitung des Programmerkabels entladen und im Moment wo diese zuschaltet wird fällt die Spannung für 30µs unter die Reset-Schwelle. Die Hardware-Lösung sind 10k nach VDD, aber wenn es da eine Fuse gegeben hätte mit der ich den externen Reset abschalten kann wäre mir das lieber gewesen (braucht eh kein Mensch seit die Dinger alle eine interne Spannungsüberwachung haben). Vielleicht lade ich die CLK-Leitung auch mit 100k einfach über die Schwellspannung vor. Schaue ich mir morgen an. Viele Grüße! Marko
:
Bearbeitet durch User
Marko R. schrieb: > OK, vielleicht war ich mit meiner Frage doch etwas kurz angebunden. Ähhm. Ja. > Ich habe einen Messschaltung, welche während der Kalibrierung an digital > einschaltbaren Widertständen hängt. Während der Kalibrierung will ich > von allem galvanisch getrennt sein, daher schalte ich die Leitungen zum > Programmer knall hart per Relais ab. Überzeugt mich nicht, aber meinetwegen. > Da bei meiner Ansteuerung nun aber Pins knapp waren habe ich einfach > verNORt um das Relais für die Programmerabschaltung anzusteuern. Das verstehe ich nicht. > habe ich eine Open-Messung implementiert zu der ich halt die Widerstände > alle abschalte, was gleichzeitig den Programmer wieder anhängt. Und das auch nicht. > Das ist > auch gar nicht schlimm, nur leider ist die CLK-Leitung des > Programmerkabels entladen und im Moment wo diese zuschaltet wird zu ge schaltet wird vielleicht? > fällt die Spannung für 30µs unter die Reset-Schwelle. Was hat CLK mit Reset zu tun? > Die Hardware-Lösung sind 10k nach VDD An Reset gehört so oder so ein Pullup. > aber wenn es da eine Fuse gegeben > hätte mit der ich den externen Reset abschalten kann So eine Fuse haben viele AVR. Allerdings kann man sich nicht mehr per ISP mit dem AVR verbinden, wenn diese Fuse aktiviert ist. > (braucht eh kein Mensch seit die Dinger alle eine interne > Spannungsüberwachung haben). Auch dieser Satz ergibt keinen Sinn. Reset dient durchaus auch für andere Zwecke als die Brownout-Überwachung. Z.B. eben ISP. PS: Ich bin mir nicht sicher, welches Problem du mit deinem ATMega hast. Aber du hast ganz sicher ein Problem damit, dich so auszudrücken, daß andere dich verstehen.
:
Bearbeitet durch User
An den reset gehört ein Pullup und ein Kondensator (1nF - 10nF) je nachdem, was der Programmer noch mitmacht. Dann ein Widerstand gegen + (10k - 1k) je nachdem, was der Programmer noch mitmacht.
Ich glaube den Reset kann man mit einer Fuse abschalten, um das erneute Programmieren und Auslesen (durch Kunden) zu verhindern.
Wolfgang S. schrieb: > An den reset gehört ein Pullup und ein Kondensator (1nF - 10nF) je > nachdem, was der Programmer noch mitmacht. Irks, damit kann man sich bei AVR das Debugging zerschießen, die machen je nach Modell DebugWire - und das läuft IIRC über die Reset Leitung. Da wäre ein Kondensator tödlich. Marko R. schrieb: > Während der Kalibrierung will ich > von allem galvanisch getrennt sein, daher schalte ich die Leitungen zum > Programmer knall hart per Relais ab. Wäre es dann nicht besser die ISP Leitungen per Optokoppler o.ä. permanent aufzutrennen? ISP verhält sich da ähnlich zu SPI, dafür gibt es fertige Lösungen. BTW: Einen Dragon kann man AFAIK relativ zuverlässig in die ewigen Jagtgründe befördern, wenn man ihm die Versorgung klaut wärend das Target noch Strom hat.
>Ich glaube den Reset kann man mit einer Fuse abschalten, um das erneute >Programmieren und Auslesen (durch Kunden) zu verhindern. Beim ATmega32 mit Sicherheit nicht. Bevor man sowas postet sollte man mal das Datenblatt lesen.
Der Reset-Pin kann und sollte laut Datenblatt sehr wohl offen gelassen werden wenn man ihn zum Programmieren nutzt.
:
Bearbeitet durch User
Marko R. schrieb: > Reset-Pin kann und sollte laut Datenblatt sehr wohl offen gelassen werden Dann muss man eben damit leben, dass er auf Störungen empfindlich reagiert. > wenn man ihn zum Programmieren nutzt. Draußen im Feld (also nach dem ständigen Umprogrammierung auf dem Labortisch) darf ein Resetpin nie unbeschaltet sein (und das "darf" ist hier natürlich eigentlich ein "muss"). Denn der interne "Pullup" ist EMV-technisch quasi nicht wirksam. Für bzw. eher gegen EMV braucht es einen Kondensator oder einen Pullup im 1k-Bereich. Frag deinen EMV-Spezi, ob er das grundlegend anders sieht.
Jede Menge Prosa! Wie wäre es mal mit ein paar Fakten, wie z.B. ein Schaltplan, oder zumindest eine Skizze. Übrigens: Ist wirklich ausgeschlossen, dass Dein "Abschaltrelais" selber, nicht der Übeltäter ist? Die machen sehr oft reichlich Schmutz auf der Versorgungsleitung, an der ja auch Deine Reset-Logik rumhängt.
Marko R. schrieb: > Ich habe einen Messschaltung, welche während der Kalibrierung an digital > einschaltbaren Widertständen hängt. Während der Kalibrierung will ich > von allem galvanisch getrennt sein, daher schalte ich die Leitungen zum > Programmer knall hart per Relais ab. Das ist Pfusch. Ein ADuM1401 wäre die saubere Lösung: https://www.analog.com/media/en/technical-documentation/data-sheets/ADuM1400_1401_1402.pdf Dann darf der Programmer auch dauerhaft aktiviert sein, und Du hast diese Probleme nicht. fchk
Hi, https://de.scribd.com/document/317989319/Atmel-2521-AVR-Hardware-Design-Considerations-ApplicationNote-AVR042 Jim M. schrieb: > ISP verhält sich da ähnlich zu SPI, Hi, wenn ich das LCD mit Portadapter und SPI betreibe, flitzen beim ISP-Proggen kryptische Zeichen über das Display, und Programmieren fails. Muss dann die Verbindung zum Display abtrennen. ciao gustav
Karl B. schrieb: > wenn ich das LCD mit Portadapter und SPI betreibe, flitzen beim > ISP-Proggen kryptische Zeichen über das Display Dann hast du das Slave Select des Displays irgendwie vergurkt. Ggf. muss man dort einen Pullup dran hängen, damit es während der Programmieren (wenn der Controller im Reset ist) nicht floatet und dann versehentlich das Display selektiert. Beim TE verstehe ich nicht, warum er am Reset-Pin nicht einfach Pullup und Abblock-C dranhängt. Dann kann das Relais schalten, wie es will, die paar zusätzlichen pF für die zugeschaltete Leitung machen nichts aus.
Hi gustav, es gehört sich nicht, fremde Threads zu kapern. Beim ATmega32 liegen ADCs und JTAG nicht auf einem Port und das war auch nicht das Thema. Mache bitte einen neuen Thread auf.
Marko R. schrieb: > Der Reset-Pin kann und sollte laut Datenblatt sehr wohl offen gelassen > werden wenn man ihn zum Programmieren nutzt. Ein Pullup von 10K an Reset ist nie verkehrt. Und er behindert auch nicht das Debuggen mit debugWire oder JTAG. Ganz im Gegensatz zu dem weiter oben "empfohlenen" Kondensator von Reset nach GND. Der sollte im Normalfall auch nicht nötig sein. Es gibt ja POR und BOD. Ich schrieb weiter oben, viele AVR hätten eine Fuse um den externen Reset abzuschalten. Der ATMega32 hat die nicht. Das entsprechende Fuse-Bit wird da für das OCD verwendet.
Ein PullUp konnte das Problem nicht lösen (weder 10k noch 1k). Bei den Transienten hat mich das auch nicht gewundert. Das Vorladen der CLK/RESET-Leitung hat es aber gebracht und ist die Lösung. Die Leitung sieht im Schaltmoment jetzt absolut sauber aus. War auch sehr einfach umzusetzen, da das Relais ein Wechsler war. Viele Grüße! Marko
Axel S. schrieb: > Und er behindert auch nicht das Debuggen mit debugWire oder JTAG. JTAG interessiert sich nicht für /RESET *), und debugWIRE hat der ATmega32 nicht. *) nSRST braucht man nur, wenn die Firmware das JTD-Bit beim Start aktiviert und damit die JTAG-Schnittstelle außer Betrieb nimmt.
Wenn ich einen ISP Anschluss und einen externen Reset Kondensator brauche (nicht dass das oft vorkäme), mache ich das so:
1 | 47kΩ z.B. 10µF |
2 | |
3 | VDD o----[===]---+---||----| GND |
4 | | |
5 | |~| |
6 | |_| 4,7kΩ |
7 | | |
8 | ISP Reset o------+-------------> Zum µC Reset Eingang |
Auf diese Weise kann der Programmieradapter die Kontrolle über den Pin übernehmen, falls angeschlossen. Das eigentliche Problem des TO (Marko) ist damit aber wahrscheinlich nicht gelöst. Er braucht einen Programmieradapter, der das Target nicht automatisch beim anstecken resetted.
Genau so ist es. Wir können die Diskussion hie aber schließen, die ursprüngliche Frage nach der Abschaltbarkeit der Reset-Funktion ist ja geklärt. Viele Grüße! Marko Stefanus F. schrieb: > Wenn ich einen ISP Anschluss und einen externen Reset Kondensator > brauche (nicht dass das oft vorkäme), mache ich das so: >
1 | > |
2 | > 47kΩ z.B. 10µF |
3 | > |
4 | > VDD o----[===]---+---||----| GND |
5 | > | |
6 | > |~| |
7 | > |_| 4,7kΩ |
8 | > | |
9 | > ISP Reset o------+-------------> Zum µC Reset Eingang |
10 | > |
> > Auf diese Weise kann der Programmieradapter die Kontrolle über den Pin > übernehmen, falls angeschlossen. > > Das eigentliche Problem des TO (Marko) ist damit aber wahrscheinlich > nicht gelöst. Er braucht einen Programmieradapter, der das Target nicht > automatisch beim anstecken resetted.
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.