SPI, I²C . . . steht ja im Datenblatt vom Himbeerkuchen
Hi,
Ich würde gerne mehrere AVRs an meinen Raspberry anschließen.
Kommunikation AVR <-> PC bzw. Raspberry Pi <-> PC über UART funktioniert, das würde ich auch gerne beibehalten...
Allerdings macht es denke ich wenig Sinn eine kommuikation über UART zwischen mehreren AVRs und dem PI zusammenzubasteln.
Hat jemand eine bessere Idee?
---
SPI, I²C . . . steht ja im Datenblatt vom Himbeerkuchen
Ciao sagt der JoeamBerg
Hallo,
für eine Kommunikation zwischen mehreren Chips bietet sich eigtl. I²C recht gut an, da der Bus von der Verdrahtung her am einfachsten ist (nur zwei Leitungen, SPI benötigt 3 für die Kommunikation und für jeden Chip nen Chipselect).
Dafür ist SPI bisl schneller
Schaut ruhig mal auf meiner Homepage vorbei :
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Hi!
Wenn du auch mit dem PC kommunizieren möchtest, würde ich dem UART wählen. Du kannst dein eigenes Übertragungsprotokoll erschaffen und ein Multi Master System bauen, um auch eine Kommunikation unter den AVR's zu ermöglichen. Eine Kollisionskontrolle sollte dann aber nicht fehlen! SPI I und I2C haben nur einen Master der den Bus kontrolliert.
VieleGrüße,
Sascha
Kommt darauf an, was Du mit mehrere AVR meinst? also die Anzahl der AVRs.
Wenn das Herz involviert ist, steht die Logik außen vor! \/
Hi,
thx für die Antworten. An I2C hatte ich auch schon gedacht. Hab ich zwar noch nie gemacht, aber wie schwer kann's sein!? :P
Hier bin ich mir noch nicht sicher obs mehrere kleine oder lieber wenige große AVRs werden sollen für die einzelnen "Geräte". Denke aber eher mehrere kleine (kann man leichter tauschen) daher werdens wohl so 10 bis max. 20 AVRs.
Dachte an den PI als Master in dem gesamten Projekt. Wäre halt nett wenn der seinen serielle Schnittstelle behalten könnte. Die ist zum debuggen echt nice.
Hab ich gesehen! Aber noch keine vernünftige Umsetzung gefunden. Naja mal weiter suchen.
Aber bis hierhin schonmal danke!
Falls jemand noch was hat, gerne posten. Ich sammel derweil ein paar infos.
---
Alternativ kannst du auch RS485 o.ä. nehmen, nur dann brauchst du noch zusätzliche ICs.
Bei 10-20 ICs gestaltet sich der Bus per UART sehr schwer (verhältnismässig). Ebenso RS422 und RS485.
SPI würde ich da auch nicht empfehlen, da du da für jeden Chip nen Chipselect brauchst, sprich bei 20 AVRs sind es 20 CS Leitungen und 3 SPI Leitungen.
Also hast du schon 23 GPIOs vom Pi weg.
I²C kannst du nehmen nur da darf der Bus nicht zu groß werden, sprich die Leitungslänge.
Jetzt weiß ich nicht was du machen möchtest aber wenn das so eine Art Hausbus machen willst wird das per I²C nicht klappen, da der I²C Bus glaube ich nur eine bestimmte Kapazität erreichen darf. Wenn du die ganzen ICs alle auf einer Platine oder recht nah beinander unterbringst sollte der I²C aber verwendbar sein.
Was sich für sowas gut anbieten sollte ist z.B. der CAN-Bus, da der extra für viele Teilnehmer mit weiten Übertragungswegen entwickelt wurde.
Nachteil hier ist, dass du dafür extra ICs benötigst.
Wie aber schon gesagt. Für eine genauere Einschätzung wäre eine Info was du machen möchtest ganz gut. Dann kann man bischen besser helfen.
Schaut ruhig mal auf meiner Homepage vorbei :
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Lesezeichen