SPI mit 2 Leitungen

OP #2093772
Lesenswert?

Hy,
ich möchte zwei XMegas per SPI verbinden aus platzgründen auf meinem Bus 
will ich hierzu aber nur 2 Leitungen benutzen. Also Miso und Mosi auf 
einer Leitung. Die Zweite Leitung soll mein Clk sein.

Wie mache ich das am geschicktesten?
Soll ich Miso und Mosi mit nem Multiplexer vor dem Bus realisieren ? 
Oder kann ich einfach Miso und Mosi verbinden und das ganze Software 
technisch lösen? Oder gibts einfachere Wege?

Schon mal danke für die Hilfe im Vorraus
Gast #2093776
Lesenswert?

Hans W. schrieb:
> ich möchte zwei XMegas per SPI verbinden aus platzgründen auf meinem Bus
> will ich hierzu aber nur 2 Leitungen benutzen. Also Miso und Mosi auf
> einer Leitung. Die Zweite Leitung soll mein Clk sein.

Verdrahtest du dann auch das Schieberegister im uC um?

Warum nimmste nicht einfach eine zusätzliche Leitung oder gleich i2c?
Gast #2093942
Lesenswert?

Hans, schielst Du nach den ARMs, die eine 2-Draht-SPI-Leitung 
unterstützen? Schau Dir mal STM32F107VCT6 o.ä. an - SPI u.a. ist im 
RM0008 erklärt. Die Steuerung von Eingang/Ausgang ist aber tückisch, 
weil sie synchron auf allen angeschlossenen Geräten stattfinden muß!

Gruß - WPö
OP #2093966
Lesenswert?

Die Grundvorrausetzungen sind schwer zu erklären ich versuchs aber mal:
-> Ich werde ein 19" Gehäuse benutzen in die ich alle Einschübe die ich 
baue reinkommen.
-> Es soll so sein das ich z.B später einfach Module miteinander 
verbinde und dann einen Wandler habe z.b USB to xyz. Wenn ich jetzt ein 
Modul brauche das USB to I2C können soll, ist USB schon als SPI 
vorhanden und muss nurnoch in I2C gewandelt werden.
-> Es gibt einen I2C-Bus der als Service Bus funktioniert.
-> XMegas sind schon einige beschafft deshalb probier ich es mit denen.

Ich habe auch schon probiert I2C hochzutakten, ging auch bis 600kHz 
problemfrei, aber ab 600kHz wurde es problematisch und die Daten wurden 
nicht mehr einwandfrei interpretiert.
OP #2102557
Lesenswert?

So, also hab das ganze dann jetzt auch hinbekommen. Und zwar indem ich 
MISO und MOSI einfach verbunden habe und Software mäßig immer nur bei 
einem (Mast oder Slave) einen Ausgang habe. Ist zwar einiges an 
Umschalten und ein ziehmliches gefriemel, aber es funktioniert.

Danke für eure Hilfe
Gast #2146368
Lesenswert?

Hallo Hans,

könntest du vielleicht deinen Code für die SPI Verbindung mal hier 
reinstellen, bin nämlich auch verzweifelt am basteln. Will über diese 
Halbduplex Verbindung einen Maussensor auslesen.

Danke.
Gruß Martin
OP #2149719
Lesenswert?

Hab hier mal meine Ausführung. Bin mir aber nicht mehr sicher ob diese 
hundert Prozentig geht. Hab noch weiter dran herumgebastelt mit DMA 
Controller und so späsen.
Wenn ich mich noch recht entsinne schicke ich als erstes Byte die Anzahl 
der folgenden Bytes, dies müsstest du dann herausnehmen. Mein Code 
basiert auf den Atmel Treibern (twi_driver.h).

Gruß Hans
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren