Moin! Habe einen SPI-Motortreiber (TMC2130) an einem AVR hängen. Leider klappt die ISP-Programmierung (mittels AVRISP mkII) nur, wenn das Treibermodul nicht angeschlossen ist. Dieses ist hier glücklicherweise über ne Stiftleiste aufgesteckt, ist aber trotzdem nervig, es jedes Mal zu entfernen, falls programmiert werden soll. Wie kann man das Problem umgehen? JTAG-Pins sind leider schon anderweitig belegt.
UART Bootloader, oder ISP über Widerstände oder Bustreiber entkoppeln. Unbedingt auf Pull-Down/-Up am Treiber achten, damit der nicht ungewollt los läuft wenn der Prozessor im Reset ist.
Hi
>UART Bootloader, oder ISP über Widerstände oder Bustreiber...
Es gibt auch USART im SPI-Mode. Dann ist der ISP Frei. Und das das SPI
ist gepuffert.
MfG Spess
Offiziell beschrieben in AVR042 Seite 8, Kapitel 4.1.1. http://ww1.microchip.com/downloads/en/AppNotes/Atmel-2521-AVR-Hardware-Design-Considerations_ApplicationNote_AVR042.pdf
Spess53 schrieb: > Es gibt auch USART im SPI-Mode. Dann ist der ISP Frei. Und das das SPI > ist gepuffert. Ja klar. Hat halt nur nicht jeder AVR8.
Du schließt den ISP Programmer direkt an die entspr. Pins am Controller an. Das SPI-Device schließt du über 3x 330Ohm an den Controller an. Es gibt wie o.g. auch eine offizielle Beschreibung von Atmel dazu. Hier eine praktische Umsetzung. Sie entspricht der Beschreibung und funktioniert problemlos zusammen mit dem offiziellen Programmer (AVR-ISP MKII): https://github.com/tinytronix/homeautomation/blob/master/Hardware/LoraPowerswitch/schematic.pdf
Heinz schrieb: > Das SPI-Device schließt du über 3x 330Ohm an den Controller an. Warum nicht einen Pullup an dem CSN Pin des SPI Slave? Der macht dann seine SPI Pins hochohmig, sobald der AVR in den Reset geht, und stört nicht mehr. Ist das so falsch, dass die/meinige vorherige (fast gleich lautende) Antwort, negativ bewertet werden muss? Heinz schrieb: > https://github.com/tinytronix/homeautomation/blob/master/Hardware/LoraPowerswitch/schematic.pdf Auch hier würde sicherlich ein Pullup an NSS reichen. Denn höchstvermutlich lässt auch der DRF1268 dann den Bus los.
Arduino Fanboy D. schrieb: > Warum nicht einen Pullup an dem CSN Pin des SPI Slave? > Der macht dann seine SPI Pins hochohmig, sobald der AVR in den Reset > geht, und stört nicht mehr. Wenn das ein "richtiges" SPI-Device ist, dann geht das natürlich. Die Schutzwiderstände sind dann zwar nicht mehr sinnvoll, schaden aber auch nicht sehr. Leider gibt es aber viele "SPI-Devices", die entweder von Hause aus keine richtigen sind (also keinen SS/CS-Pin haben) oder bei denen der bretzeldumme Designer diesen hart auf das aktive Potential gelegt hat, um einen Controllerpin zu sparen. In diesen beiden Fällen hilft das "pullup-CSN-Konzept" nicht. > Ist das so falsch, dass die/meinige vorherige (fast gleich lautende) > Antwort, negativ bewertet werden muss? Nö, die negative Bewertung resultiert natürlich einzig daraus, dass du du bist und ein paar grenzdebile Klopsköppe das Bewertungssystem dafür missbrauchen, ihre persönliche Sympathie/Antipathie gegenüber der Person zum Ausdruck zu bringen, statt (wie es eigentlich gedacht war) die Sache zu bewerten. Vollidioten halt. Leider führt es dazu, dass das Bewertungssystem fast völlig unbrauchbar wird. Nur für Eingeweihte erschließt es sich: Bekommt irgendeine Person nahezu immer eine bestimmte kleine Anzahl Punkte, muss man natürlich die realen Anzeige für die entsprechende Person bei jedem Posting um die entsprechend negierte Zahl Punkte korrigieren, um das reale Bild zu erhalten. Oder man ignoriert das Bewertungssystem gleich komplett. Fällt sehr leicht, wenn man sich erst garnicht anmeldet und spart dann auch noch den Aufwand zur Anmeldung...
Der Pull-Up am CSN-Pin hat geholfen. Hatte den zuvor nicht verwendet, weil der Treiber im "StandAlone"-Mode (nicht SPI) über u.A. diesen Pin mittels High/Low/TriState-Zuständen gesteuert werden. Naja solange ich alle Funktionalität auch über SPI konfiguriert kriege, kein großer Verlust... Mal so generell: Was bevorzugt ihr zum Programmieren, wenn es keine relevanten Randbedingungen gibt? Um universell auch mal nen STM32 oder so zu flashen und fürs On-Chip-Debuggen ist JTAG ja anscheinend das Beste. Nur der originale Atmel JTAGICE kostet ja nen Haufen Geld, hab jetzt mal nen China-Klon für ein Zwanzigstel des Preises bestellt, mal sehen was der taugt.
c-hater schrieb: > Fällt sehr > leicht, wenn man sich erst garnicht anmeldet Ja, nee ... Ich bin hier der "Arduino Fanboy" und möchte auch PM/Email erhalten können. Molle schrieb: > Mal so generell: Was bevorzugt ihr zum Programmieren, wenn es keine > relevanten Randbedingungen gibt? Das, was gerade zur Hand ist, und seinen Zweck erfüllt. Oder möchtest du eine Liste sehen?
Ich habe auch mehrere AVR auf einem Board, die über I2C verbunden sind. Sie haben alle einen eigenen ISP-Stecker. Beim Programmieren setzte ich einfach einen Jumper auf die anderen ISP-Stecker zwischen GND und Reset (Pin 5 und 6). Damit sind alle Pins hochohmig.
Arduino Fanboy D. schrieb: > Ja, nee ... > Ich bin hier der "Arduino Fanboy" und möchte auch PM/Email erhalten > können. OK, dann musst du halt einen anderen Weg finden, die nutzlosen Bewertungen ignorieren zu können. Wenn du das mental nicht selbst schaffst, dann würde ich ein Stück lokales JS vorschlagen, was dir den für dich offensichtlich mental zu anstrengenden Kram entsorgt, bevor du ihn zu Gesicht bekommst... Wo ist das Problem? Wie schon gesagt: wenn man ohnehin JS verfaßt, kann man das auch so lösen, dass es "korrigierte" Werte liefert, statt den Scheiß komplett auszublenden. Du hast die Wahl.
c-hater schrieb: > Wenn du das mental nicht selbst schaffst Ach, da mache dir mal kein unnützen Hoffnungen... Eigentlich möchte ich die feigen Heckenschützen gerne mal aus der Deckung locken. z.B. um ihnen zu erklären, wofür die Bewertungsfunktion gedacht ist. (danke, dass du mir die Erklärung abgenommen hast) Sie stellen sich aber nicht öffentlich. Kauern sicherlich ängstlich bibbernd hinter dem Sofa und sobald man ihnen den Rücken zukehrt, werfen sie heimlich mit Wattebäuschen (mit irrationalen Bewertungen)
Arduino Fanboy D. schrieb: > Eigentlich möchte ich die feigen Heckenschützen gerne mal aus der > Deckung locken. Wozu? Mein Motto lautet "Was stört es eine deutsche Eiche, wenn sich ein Schwein dran scheuert?"
Arduino Fanboy D. schrieb: > Eigentlich möchte ich die feigen Heckenschützen gerne mal aus der > Deckung locken. z.B. um ihnen zu erklären, wofür die Bewertungsfunktion > gedacht ist. > (danke, dass du mir die Erklärung abgenommen hast) > Sie stellen sich aber nicht öffentlich. Ich kenne sie, ziemlich sicher. Solche Informationen fallen bei meiner KI quasi als Abfallprodukt hinten raus. Natürlich nicht annähernd mit der Zuverlässigkeit, die der Betreiber der Site erreichen könnte (wenn er das wollen würde, was er aber wohl nicht tut), denn der hat viel mehr Information. Aber ich bin doch ziemlich sicher, meine und auch deine Down-Voter zu kennen. Und auch die von etlichen anderen Regulars einschließlich derer, die offensichtlich auch einen Kreis von Up-Votern haben... Keine Kunst. Nur angewandte Statistik und eine hinreichend breite Datenbasis.
Falk B. schrieb: > "Was stört es eine deutsche Eiche, wenn sich ein Schwein dran scheuert?" Ich habe auch einen Fan, der mich permanent negativ bewertet. Ich fühle mich dadurch geschmeichelt, denn ich werde beachtet. Allerdings wird er durch die positiven Bewertungen später wieder überstimmt.
Falk B. schrieb: > Wozu? Ganz eigennützig: Es interessiert mich schon ein wenig, warum sie sich so verhalten. So aus Küchenpsychologischer Sicht. Auch: Bin ich denn wirklich so gefährlich, dass man den "Blumenpott" nur aus dem Hinterhalt "gewinnen" kann? Und andererseits, wäre das sicherlich für die betreffenden Leute selber ganz gut, wenn sie sich von solchen Zwängen/Ängsten befreien könnten. Ich schätze nicht, dass das gesund ist. Macht ja so, wie es ist, auf Dauer nix besser...
Peter D. schrieb: > Ich habe auch einen Fan, der mich permanent negativ bewertet. Ich fühle > mich dadurch geschmeichelt, denn ich werde beachtet. Allerdings wird er > durch die positiven Bewertungen später wieder überstimmt. Du bist einer der Wenigen, der definitiv auch einige aktive reguläre Up-Voter hat, die selbst Beiträge mit offensichtlich falschen Inhalten mit +1 bewerten. Ich würde mir da also nicht allzuviel darauf einbilden...
Arduino Fanboy D. schrieb: > Warum nicht einen Pullup an dem CSN Pin des SPI Slave? Ja stimmt, bin ich gar nicht drauf gekommen, ich bin mehr oder weniger blind den Design-Empfehlungen von Atmel gefolgt. Wenn ich richtig erinnere stand in eben jener Design-Empfehlung aber auch, dass die 3x 330Ohm auch bei falsch designten Chips oder hängen gebliebenen SPI-Statemachines im Chip immer sicher funktionieren. Viele Wege führen nach Rom!
Falk B. schrieb: > "Was stört es eine deutsche Eiche, wenn sich ein Schwein dran scheuert?" Mich haut's weg. :-) Zum Thema beitragend. Ein 74HCT4053D oder SN74CBT3257 ist die Universallösung. Das Resetsignal steuert alles und der SPI Bus ist komplett abgeklemmt, man muss sich keinerlei Gedanken machen.
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.