www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mehrere AVRs an 1x SPI?


Autor: newbee (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich bin gerade dabei eine kleine Schaltung mit µC zu realisieren.

Konkret habe ich eine fertige Platine (nein nicht extra Entwickelt,
sondern bereits Fertig, soll wieder verwendet werden), auf der ein
Tiny15 sitzt.
Ich möchte jetzt mit einem Mega128 mit möglichst wenigen Datenleitungen
(über ein Busssystem) von 8 der vorhandenen Platinen Werte übertragen.

Geht das über SPI (ich meine mit insgesammt 9 AVRs an 1x SPI) oder
brauche ich hierfür was anderes?

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das SPI-Interface vom Tiny15 ist aber nur zum Programmieren brauchbar.
Da müsstest Du ein Software-SPI implementieren...

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo newbee,

zuerst solltest du mal ein paar Worte über die benötigte Datenrate
verlieren. Deiner Frage nach soll es ein Master-Slave-System werden?

Viele Grüße,
Bernhard

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Generell gilt (mal abgesehen von der o.a. Problematik, was den Tiny15
betrifft): Im Prinzip kann man an SPI beliebig viele Slaves
anschließen. Nur wächst mit der Slave-Anzahl auch die Anzahl der
benötigten Slave-Select-Leitungen (SS). Bei 8 Slaves also entweder 8
Leitungen (für jeden Slave eine separate) oder gemultiplext 3
Leitungen, die dann aber für jeden Slave einen Adressdecoder
erforderlich machen. Wenn der Master nicht über ausreichend Portpins
für 8 separate SS-Leitungen verfügt, kann man ihm natürlich direkt
einen 3-zu-8-Demultiplexer vorschalten und damit jedem Slave separat
eine Select-Leitung zuführen, am µC aber nur drei Pins
'verschwenden'. Das Verfahren mit separaten SS-Leitungen bietet sich
v.a. dann an, wenn die Slaves 'sternförmig' verteilt sind, dann sind
es nur 4 Leitungen zu jedem Slave.

Ansonsten gäbe es die Möglichkeit mit TWI. Die hat den großen Vorteil,
dass sie unabhängig von der Anzahl der Slaves mit zwei Leitungen
auskommt. Allerdings ist die Anzahl der Slaves begrenzt (128 bei den
AVRs) und das Protokoll ist halt wesentlich komplizierter. TWI kann man
zur Not auch per Software implementieren.

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die Übertragung etwas länger dauern darf,kann man das ganze
vielleicht auch Ringförmig machen.Der eine horcht auf ein Paket von
seinem Hintermann und reicht es zum Vordermann durch.In das Paket kommt
ein Primitiv-protokoll (ID des Senders,ID des Empfängers,Flag ob die
Daten gültig sind und das Datum).

Echtzeitfähig ist das ganze definitiv nicht und man kann dann auch
nicht mit 1MHZ den SPI takten,aber wenn es nur ein paar Werte pro
Sekunde geht....

Autor: newbee (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also grundsätzlich ist es so, dass die Tiny15 einen Analog-Wert einlesen
sollen und dieser Wert muss eigentlich nur bei einer Änderung übertragen
werden.
--> Das Analog-Signal ändert sich voraussichtlich max 2mal pro Sekunde
(eine Abfrage 1x pro Sekunde würde vermutlich ausreichen, wobei mir
eine 2malige Abrage  wesentlich lieber währe.

Von den Tiny15 sind allerdings nur PB0,PB1 und PB2 Frei und
herausgeführt, 4 Leitungen wird also leider nicht funktionieren.

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.