Kann man MISO und MOSI per Software tauschen?

Gast #6110381
Hallo zusammen,

ich habe auf meiner eigenen Karte wohl dummerweise für die SPI 
Schnittstelle (MOSI mit MISO) und (MISO und MOSI) miteinander verbunden. 
Ich verwende einen STM32 und wollte wissen, ob man per Software aus 
einem MISO einen MOSI machen kann. Geht das denn noch überhaupt?

MfG
Gast
Da es nur einen einzigen möglichen STM32 mit SPI gibt, ist die Frage 
nach einem Blick ins Datenblatt leicht zu beantworten.

Es gibt alternative Pins für die Funktionalität.
Aber diese beiden zu tauschen geht nicht.

ohne Gewähr
Gast
Bernd K. schrieb:
> Das steht im Datenblatt!

Vielen Dank. Soweit war ich schon :D

Die Pins haben leider andere alternative Funktionen. SPI kann man wohl 
nicht einfach so tauschen. Könnte man das denn nicht per Software 
irgendwie ändern?
Gast
Lehrgeld. Leiterbahnen mit Cutter auftrennen und fädeln. Die Pins sind 
in Hardware gegossen, da kannst du MOSI und MISO nicht mit Software 
tauschen - es sei denn du programmierst dir eine Software SPI.

Das wäre ja schön, wenn es gehen würde.
Es bereitet immer eine ganz besondere Freude wenn man für einen 
saublöden vertauschten Pin dann einen riesigen Software-Workaround 
implementieren muss der dann mit ärgerlichen Einschränkungen einhergeht 
die man an der Backe haben wird bis zum Ende der Produktlebenszeit oder 
bis zum Eintritt des Rentenalters.

Ich würde zusehen daß eine neue Platine gemacht wird.
Gast
Vielen Dank für die Antworten.

Bevor ich das weiß cutte, probiere ich es mit der Soft-SPi Möglichkeit 
aus. Das Durchtrennen von Leitungen mache ich ganz zum Schluss, falls es 
per Software nicht geht.

MfG
Gast
Lee schrieb:
> Bevor ich das weiß cutte, probiere ich es mit der Soft-SPi Möglichkeit
> aus. Das Durchtrennen von Leitungen mache ich ganz zum Schluss, falls es
> per Software nicht geht.

Zum lernen ganz OK. Aber wenn Du dafür bezahlt wirst oder wenn Du da 
keine Feldforschung machen willst, nimm den SPI, den Du später nutzen 
willst. Wenn der Chip seitliche Pins hat, einfach hochlöten. Notfalls an 
der Gegenstelle, falls es sonst nicht geht.
Dem Produktmanager stolz den ersten Prototypen vorstellen. Vom kaputten 
SPI nix erzählen, aber von dem zusätzlichen, tollen HW-Gimmick, das Dir 
noch eingefallen ist.
Wenn der PM das dann noch einkippt und für den nächsten EVT unbedingt 
haben will, korrigierst Du für die neue LP schnell noch den kaputten SPI 
und keiner hat was gemerkt.

;-)

Gruß... Bert
Gast
Sven B. schrieb:
> Selbstverständlich ist das allerdings nicht -- vor allem bei UARTs kenne
> ich Controller, wo man per Pin Multiplexing RX und TX vertauschen kann.

Das geht bei den neueren STMs, da hat ST wohl dazugelernt. Man muss aber 
auch ehrlich sagen, dass bei UART die Gefahr doch schon größer ist RX 
und TX mal zu vertauscht.
Mich rettete vor vielen Jahren ein Zufall vor dem besagten Problem. Ich 
hatte glücklicherweise zwei 33 Ohm Serien Widerstände auf der LP. Es 
ergab sich, daß beide Rs seitlich nebeneinander mit kreuzweise 
angeordneten Leiterbahnen angeordnet waren. Beim Testen stellte sich 
heraus, daß ich genau wie der TO die beiden Leiterbahnen vertauscht 
hatte. Glücklicherweise brauchte ich nur beide Rs um 90 Grad verdrehen 
und wieder auflöten um die beiden Anschlüsse zu vertauschen. Auch der 
Abstand zueinander passte. Uff! schweiß wegwischen...
Gast
Guest schrieb:
> Man muss aber auch ehrlich sagen, dass bei UART die Gefahr doch schon
> größer ist RX und TX mal zu vertauscht.

Was ist bei RX und TX leichter zu vertauschen?

Wenn einem klar ist, des "RX" für Receiver (Empfänger) steht und "TX" 
für Transmitter (Sender), kann doch nicht viel schief gehen - es sei 
denn, es fehlt einem das grundlegende Verständnis dafür, wie zwischen 
Sender und Empfänger Daten übertragen werden.
Gast
Gerhard O. schrieb:
> Es
> ergab sich, daß beide Rs seitlich nebeneinander mit kreuzweise
> angeordneten Leiterbahnen angeordnet waren. Beim Testen stellte sich
> heraus, daß ich genau wie der TO die beiden Leiterbahnen vertauscht
> hatte. Glücklicherweise brauchte ich nur beide Rs um 90 Grad verdrehen
> und wieder auflöten um die beiden Anschlüsse zu vertauschen.

Magst du mal eine Skizze machen? Ich kann mir das gerade gar nicht 
vorstellen ...
Gast
Und wieder mal zeigt sich die Sinnhaftigkeit von "sinnlosen"
Längswiderständen an Ein/Ausgängen von Controllern und
anderen Chips. Sei es zum Umverdrahten der Signalrichtung
oder zum "Entklingeln" von Signalen.
Gast
Jens M. schrieb:
> Muss das nicht so???
> Falsch wäre MISO->MISO und MOSI->MOSI...

Bei SPI ist einer immer der Master und einer der Slave.

Master-In-Slave-Out muss mit dem gleichnamigen Anschluss der Gegenseite 
verbunden werden, denn beim Master ist das ein Eingang und beim Slave 
ist das ein Ausgang.

Das ist anders, als bei UART Tx->Tx.
Gast
my2ct schrieb:
> Was ist bei RX und TX leichter zu vertauschen?
>
> Wenn einem klar ist, des "RX" für Receiver (Empfänger) steht und "TX"
> für Transmitter (Sender), kann doch nicht viel schief gehen - es sei
> denn, es fehlt einem das grundlegende Verständnis dafür, wie zwischen
> Sender und Empfänger Daten übertragen werden.

Eben weil oft das Verständnis fehlt. Bei SPI verbindet man die 
gleichnamigen Pins. Bei I2C ebenfalls. Und bei CAN kommt RX an RX und TX 
an TX. Nur bei UART ist es eben nicht so, da ist es schnell mal passiert 
das man es übersieht.
Gast
Stefan ⛄ F. schrieb:
> Das gilt für Modems, aber nicht für Verbindungen von Rechner zu Rechner.

Richtig, dafür gab es dann die bekannten Nullmodem-Kabel, wenn man zwei 
PCs verbinden wollte.

Arduino Fanboy D. schrieb:
> Macht man bei RS232C und V24 auch!
> Da wird ebenso Rx mit Rx verbunden und Tx mit Tx.

Da wären wir dann jetzt wieder bei dem von mit angesprochenen fehlenden 
Verständis, es ist eben nicht immer so.

q.e.d.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.