PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Kommunikation AVR <-> Raspberry



Goldenflash
02.09.2012, 17:25
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?

oberallgeier
02.09.2012, 17:55
SPI, I²C . . . steht ja im Datenblatt vom Himbeerkuchen

Kampi
02.09.2012, 20:30
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 ;)

!*sascha*!
02.09.2012, 21:59
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

peterfido
03.09.2012, 18:10
Kommt darauf an, was Du mit mehrere AVR meinst? also die Anzahl der AVRs.

Goldenflash
04.09.2012, 08:33
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


Kommt darauf an, was Du mit mehrere AVR meinst? also die Anzahl der AVRs.
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.


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.
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.


SPI, I²C . . . steht ja im Datenblatt vom Himbeerkuchen
Hab ich gesehen! Aber noch keine vernünftige Umsetzung gefunden. :-k Naja mal weiter suchen.

Aber bis hierhin schonmal danke!

Falls jemand noch was hat, gerne posten. Ich sammel derweil ein paar infos.

Kampi
04.09.2012, 09:30
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.