2 AVR verbinden, aber wie ?

Gast #28305
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
Gast #28307
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
Gast #28309
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?group_id=68108&release_id=145948.
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
Gast #28311
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....
Gast #28313
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren