PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kommunikatoin zwischen 9 Atmega



goara
23.01.2009, 15:11
Hallo

ich habe 8 AtMega8, die jeweils einen Display sowie 8 Analoge eingänge und 4 digitaleingänge benutzen um Daten einzulesen.
Diese sollen an einen AtMega32 gesendet werden.
(der AtMega32 soll eine Echtzeit Signal aus den Daten erzeugen.
Wie lässt sich das denn am schönsten implementieren? (die UART des AtMega32 ist für die Datenweitergabe schon besetzt. würde das mit i2c gehen ? also dass der Mega32 immer abwechseld an die Mega8 eine Anfrage sendet, und die dann die Daten schicken?
Oder was gibt es da sonst für Möglichkeiten?

Danke schon mal...

Bluesmash
23.01.2009, 15:57
Wenn die Leitungslänge nicht allzu lang ist, ist I2C eine gute Möglichkeit. ich habe auf meinem Hexa 6 Megas über I2C verbunden...

Ansonsten gibt es noch software uart und mit rs485 treiber können die leitungen recht lang sein. Eine andere Möglichkeit währe eine 3-Draht SPI verbindung...

gruss Bluesmash

goara
23.01.2009, 19:32
der abstand ist minimal, alles innerhalb von 10cm das sollte nicht das Problem sein.
Was ist denn der Vorteil von SPI gegenüber I2C ??

Vitis
23.01.2009, 21:50
es ist schneller ;)

und man schenkt sich ne Menge Datenoverhead wie
die Slaveadresse z.B.
Dafür geht aber nur ein Master, was bei TWI I2C nicht ist,
das geht auch in Multimaster
Dafür brauchts beim SPI halt noch den SS, Slave Select, sprich
für jeden Slave ne Ansteuerleitung vom Master aus ... ist
halt auch wieder n Argument

goara
24.01.2009, 15:01
hmm ok das spricht dann eher für SPI, weil ich habe nur einen Master und Ports für ss hätte ich noch frei. Was dagegen spricht ist, dass ich wenn ich die Slaves vermehren will neue Leitungen legen muss und bei I2C nur den Bus verlängern.. werde mir das mal überlgen...

PCF8574P
24.01.2009, 17:06
Hallo, goara

Wenn du 2 Slaves Hinzufügen möchtest musst du den Bus verlängern und nur die 2 SS Verlegen.

Was bei grosser anzahl von Slaves sinnvoll ist, könnte man einen I²C-Portexpander nehmen und damit die SSs ansteuern. Dafür eignet sich z.B. der PCF8574 für 8 SSs oder einen 16-Bit expander (weis grad den namen nicht, aber auch von NXP).

MFG Max