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
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.