AVR SPI,TWI,USART

Oct 24, 2003 7 Replies

Hallo, ich möchte den AVR Mega8 gerne als Rolladensteuerung einsetzen. Dazu habe ich je einen pro Auf-Ab-Schater vorgesehen. Alle sollen mit einer Zentralen (ebenfalls Mega8) kommunizieren. Verbunden sind die MCUs mit YSTY4x2 Leitung, 0,6 Durchmesser.Maximale Länge der Verbindungsleitung: ca. 15m Meine Frage nun: Ist das TWI, SPI oder USART Interface geeignet für einen solchen MCU-MCU Datenverkehr. Welche Treiberbausteine sind optimal für diesen Zweck. Tuts vielleicht ein einfacher Max232 (auch für SPI, TWI)? Vielen Dank im voraus für Eure Anregungen! jw


TWI könnte funktionieren, such mal unter I2S, IIS weiter. geht dann auch ohne extra Treiberbausteine. RS232 müsstest Du etwas tricksen für mehrere Sender/Empfänger am selben Bus

Google mal unter RS485 oder RS422 - das kommt deiner Anwendung wahrscheinlich entgegen. Treiberbausteine gibt's massig. Z-B. die guten alten AM29LS31, 75176 etc. Maxim ist da erst mal eine gute Anlaufstelle, auch was Application Notes betifft.

HTH

Alexander

Hi Alexander,

das TWI-Interface ist mein favorit (Wake-Up, Noise reduction, adressierbarkeit...)

Ich habe Deinen Tipp beherzigt und bin glatt fündig geworden:

unter

formatting link
habe ich ein Projekt auf Basis des RS-485 Bus gefunden,

dass sogar ebenfalls AVR-MCUs verwendet.

Also besten Dank!

Gruß

Josef "Josef Waldi" schrieb im Newsbeitrag news:bnb02c$vgche$ snipped-for-privacy@ID-200498.news.uni-berlin.de...

Länge

Ich glaub du hast mehr Geld als Ahnung. :-)

Das entscheidende ist der Treiber und die Geschwindigkeit. von TWI/I2C wuerde ich die Finger lassen weil bidirektional auf einer Leitung. USART mit RS422 Treiber und z.B 1200B sollte hinreichend stoersicher sein. Ausserdem schadet es natuerlich nicht eine gewisse Intelligenz im Protokoll vorzusehen. (Pruefsumme, Antworte, Wiederholungen)

Es koennte aber auch nicht schaden eine Potentialtrennung vorzusehen.

Olaf

D.i.e.s.S. (K.)

Da der Controller nur zwei Steuerleitungen für die Schaltwippen und zwei für die Serielle benötigt, kann man getrost auch einen Tiny11 einsetzen. Ein fehlender UART wird durch reine Software ersetzt. Letzteres ist bei einem AVR mit 8MHz bei 1200Baud mit unter 5% Timingtoleranz ( 10% sind erlaubt) in FUll-Duplex leicht möglich. Dazu einfach mal die AppNotes von Atmel durchsehen. Bei einem 8515 ist das bei 16MHz auch mit einem Timingfehler von nahezu 0% möglich.

Dazu habe

Es kommt nur der USART und ein entsprechendes Bidirektionales Bussystem in Frage wie das vorgeschlagene RS485. Alle anderen Systeme sind für die Buslängen zu schwach und vom Timing her zu schnell und kritisch.

Treiber wäre für RS485 ein DS485 von National Semiconductor, z.B. beziehbar bei Farnell, wo Du auch die Controller ATtiny11 bekommst.

Gruß,

Ulrich

Gehen tut das, nur solltest du ein paar Vorkehrungen treffen, um die Störungen durch EMV gering zu halten. Ein Baud-Rate von 300 reicht völlig. Wenn du dann über RC-Glieder die Flanken auf der Leitung flacher machst, sind die ausgestrahlten Störungen sehr klein.

Vielen Dank für eure Anregungen. Ihr habt mir sehr weitergeholfen!

Gruß

Josef

"Josef Waldi" schrieb im Newsbeitrag news:bnb02c$vgche$ snipped-for-privacy@ID-200498.news.uni-berlin.de...

Länge

Ulrich Prinz schrieb:

Die Timingtoleranz ist sogar egal, wenn alle µCs auf dem Bus gleich "daneben liegen" - dann hat man halt statt 1200 nur zB 1167Baud.

Martin

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required