hi leute! habe ein riesen problem: kann es sein dass ich bei einem SPI netzwerk nur 2 uC verwalten kann? schliesslich gibt es ja einen slaveselect und dass heisst ich habe master bzw slave---> nur 2 aktoren... ich möchte gerne mehrere uC zusammen schalten ohne eine komplizierte elektr. schaltung zu entwerfen.. habe ich ausser TWI keine andere wahl, oder funktioniert SPI doch über mehrere uC?? liebe grüße hansi
Natürlich kannst Du mit SPI im Prinzip beliebig viele Slaves ansteuern. Der Master muss nur jeweils das Slave-Select-Signal des Slaves, mit dem er reden will, entsprechend ansteuern. Ansonsten sind da keine Grenzen gesetzt...
Natürlich funktioniert das, als CS kannst du ja auch andere Pins benutzen, oder noch Adressdecoder dazu usw. ... Es es gibt CAN, da sind auch mehrere Devices an einem Bus möglich (soweit ich weiß)
SPI geht mit beliebig vielen Slaves. Ein uC wird zum Master erklärt und der wählt immer einen Slave aus, mit dem er gerade kommunizieren will. Sie Slave-Select Pins der Slaves werden einfach mit beliebigen I/O-Pins des Masters verbunden. Will der Master also mit Slave 1 kommunizieren, so wird einfach dessen Select-Leitung auf Low gezogen und dann kann die Kommunikation über die Datenleitungen stattfinden. Genauso funktioniert es, wenn der Master mit Slave X kommunizieren will. Das einzige, was nicht geht, ist dass Slave X direkt mit Slave Y kommuniziert. Das kann man aber im Protokoll realisieren, indem man den Master als Vermittlung nutzt. Kai
vielen liebe dank für die tollen antworten! ist denn solch ein netzwerk einfach zu koppeln mit rs232 (pc) ? sprich: pc sendet(rs232) signal and master und dieser wertet dies aus und handelt dementsprechend und schickt dem verlangten slave ein signal lg hansi
wäre denn jemand so nett mir eine einfache grafik mit den 3 bzw 4 leitungen raufzuladen ? also nur mit den notwendigen pins zu verbindung 3er uC verstehe das leider nicht ganz mit dem slave select.. wäre sehr sehr dankbar. (atmega8) liebe grüße hansi
ehrm...hansi? ich will dir ja nicht auf die füsse treten...aber wenn du die hardware eines spi schon nicht verstehst, wie willst du dann die software auf die beine stellen?
Hallo hansi, im Anhang ein Beispiel wie ich mehrere SPI-Devices an einen AT91SAM7A3 angebunden habe. Beim AVR würde man das ähnlich machen, nur halt mit anderen Pins und vielleicht nicht mit LV-Bausteinen. Den Bustreiber habe ich drin, weil ich über Kabel zu den SPI-Bausteinen gehen muss (daher die 4 Stecker). Wenn bei Dir alles auf einer Platine ist, kannst Du den ggf. weglassen. Wenn Du weniger SPI-Selects brauchst, kannst Du natürlich auch auf einen Decoder verzichten und die CS-Anschlüsse direkt mit Portpins verbinden.
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.