SPI ringförmig?

Gast #409621
Lesenswert?

Hallo,

Ich habe eine kurze Frage zum SPI.

Ich habe eine Anforderung, wo ich mehrere AVRs (Slaves) mit einem
Master ansprechen muss. Es ist nicht zeitkritisch und es werden nur
wenig Daten (2 Bytes) übertragen. Um I/O-Pins am Master zu sparen,
dachte ich mir, dass ich die AVRs "seriel" anspreche:

Master      Slave         Slave
-----,      ,------,      ,------,
MOSI |----->| MOSI |  ,-->| MOSI |
     |      |      |  |   |      |
MISO |      | MISO |--'   | MISO |
-----'      '------'      '------'
  ^                           |
  '---------------------------'

Bei der Übertragung vergebe ich einfach Adressen, damit der
entsprechende uC weiß, wann er gemeint ist.

Würde das so funktionieren? Was meint ihr?

THX!!

mfg
Andy
Gast #409622
Lesenswert?

Wenn du (durch einen Slaveselect-Pin) allen signalisiere kannst, dass
ein Datenstrom beginnt, sollte es möglich sein. Wobei es natürlich zu
einem Versatz kommt: Die Controller empfangen ein Byte und können es
erst beim nächsten Durchlauf weiterschicken...
Ist also Mist, weil es nicht wie Schieberegister funktioniert, bei
denen der Eingang gleichzeitig mit dem Ausgang bedient wird.
Mit einem weiteren Baustein ("Adressdecoder 74HC138") kann man
mehrere Slaves mit weniger Leitungen ansprechen.

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