www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 2 AVR verbinden, aber wie ?


Autor: A. Arndt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte mit 2 AVRs arbeiten, der eine (AVR1 erledigt die 
"Drecksarbeit", z.B. Uhrzeit aus I2C, Relais schalten, Temperatur und 
Uhrzeit über DCF auslesen uvm., der andere AVR(2) bekommt ein GLCD und 
gibt nur Kommandos an den anderen AVR, z.B. Relais 4 an, "Gib mal 
Temp-Wert von Sensor 1 und Uhrzeit". AVR2 soll auch Taster abfragen und 
Schaltzeiten-Programmierung zulassen. AVR2 will ich auch mal aus der 
Schaltung entnehmen und dann sollen aber die anderen Einheiten an AVR1 
nicht verrückt spielen. Ich hatte erst gedacht, über rx und tx die AVRs 
kommunizieren zu lassen, mit festabgesprochenen Befehlen und 
Rückbestätigung usw..

Aber kann ich nichts mit SPI tun, habe da aber für FASTAVR nicht den 
richtigen Durchblick gefunden, Baustein-Adressierung uvm., wer kann mir 
das mal mit dem SPI mal erklären, geht es überhaupt ?

Gruss
A. Arndt

Autor: Sascha Weitkunat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja SPI ist schon kein schlechter Ansatz, ein AVR läuft dann im 
Master-Mode, der andere im Slave-Mode. Der Master zieht SS vom Slave auf 
Masse wenn er ihm was mitzuteilen hat, soviel zur Adressierung. Alles 
weitere lässt sich in Specs und den Datasheets von Atmel nachlesen.

Autor: BernhardT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo A. Arnd,
der AVR Pascal-compiler von E-Lab kann so einen Master - Slavebetieb 
nicht nur über SPI sondern auch über TWI (I2C). Ansonsten unterstützt er 
alle von dir genannten Aufgaben und noch einige mehr. Ich will dich 
jetzt nicht bekehren - im Gegenteil - so wie du dein Basic magst, fühle 
ich mich bei WINAVR sauwohl. Es gibt aber ein kostenloses Demo anschauen 
kostet ja nichts (sogar bis 4kB) und etwas lernen kann man immer. Beim 
Marcus gibt es übrigens eine preisgünstige, eingeschrängte Vollversion 
(nur für die MEGA 8)
Gruß Bernhard

Autor: A. Arndt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mit TWI muss ich ja ein Leitungsverstärker ranhängen, und dann ist 
Kommunikation der beiden AVRs auch schwierig, denn sie sollen ja 
miteinander kommunizieren, also bi-direktional, mit rx und tx müsste ich 
aber meine eigenen Sprache kreieren. Wo gibt es denn WINavr, ist das 
auch Basic und wer ist Marcus ?

Gruss
A. Arndt

Autor: BernhardT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TWI  = I2C (I2C ist ein von Philips geschützter Name also nennt man es 
einfach anders z.B. TWI) Leitungsverstärker sind nicht nötig (SPI ist ja 
auch nicht für lange Leitungen gedacht).
WINAVR ist was wie GCC also ein super guter und völlig kostenloser 
C-Compiler. Gibt es hier: 
https://sourceforge.net/project/showfiles.php?grou....
Marcus, war ein Tipfehler. Ich meinte Markus Burr, der triebt sich auf 
diesen Seiten auch öfters mal rum und hat auch eine eigene: 
www.embedit.de ,wo er unter anderem auch so Kram vertickt.
Pascal ist übrigens auch kein Basic aber sehr ähnlich - ich hab auch mal 
mit Basic angefangen. Der Umstieg auf Pascal (Borland 6.0 für 
DOS-Rechner) ist mir damals sehr leicht gefallen.
Gruß Bernhard

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

mal eine wichtige Frage wie weit sollen die avr`s voneinander aufgebaut 
sein 10 cm oder 100 m ?

Mfg

Dirk

Autor: A. Arndt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

die Entfernung soll ca. 15m oder gerne mehr betragen, interessant wäre 
es auch mit TWI, aber welche Bausteine verbinden direktional zwei MC ?

Habe auch überlegt etwas mit RS-485 zu machen wegen der Möglichkeit noch 
weitere AVRs anzuhängen, aber das verdrillte Kabel ist relativ teuer, 
muss es wirklich sein ?

Gruss
A. Arndt

Vielen Dank für Eure Hilfen, weiter so....

Autor: A. Arndt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja,

es geht um AVRs mega8 bzw. mega16

Autor: Oliver Behrens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...am Preis fürs Kabel sollte sowas eigentlich nicht scheitern... 
schließlich brauchst Du sowieso ein Kabel zur Verbindung und 10 bis 15 
Cent Preisunterschied pro Meter sollten bei deiner geplanten 
"Ausstattung" eigentlich nicht weh tun, oder?

Ich persönlich würde hier den I2C Bus für die Kommunikation mit den 
Sensoren usw. nutzen und die beiden AVR`s einfach über die serielle 
Schnittstelle verbinden. Hier ist der Aufbau der Kommunikation 
eigentlich anfangs am einfachsten.
Klemm die beiden AVR`s einfach zu Testzwecken auf TTL Basis zusammen und 
erweitere dann bei Bedarf einfach auf RS485. Hier brauchst Du dann 
einfach nur einen bzw zwei recht günstige Bausteine mehr.
Die Bedienung des I2C ist auch recht einfach und Steuerung der 
Kommunikation mit jeden Compiler möglich, da die Lese und 
Schreibroutinen einfachst selbst "gebastelt" werden können, edal ob der 
Compiler I2C unterstützt oder nicht.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

bei der Leitungslaenge wuerde ich auch 2 AVR`s oder Serial machen oder 
noch ein Chip dazu und ne2000 LAN nehmen .

Mfg

Dirk

Autor: A. Arndt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Dirk,

ich werde aus diesem Post nicht schlau, was willst du damit aussagen ?

Gruss
A. Arndt

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.