www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Größenwahnsinniges Atmega Makro- Netzwerk


Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

Mein Projekt sieht vor, dass ein Atmega8, nennen wir ihn mal "Master" 
Steuerbefehle an und Rückmeldungen von mehreren weiteren Atmegen (Plural 
von Atmega?) sendet und empfängt.
Was ist da sie schlaueste/ sicherste/ professionellste Art der 
Realisierung?

Meine Vorstellung:
an die UART des Masters kommt nen Mux.

Bin über spannendere Lösung dankbar!

Autor: MitLeser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
am einfachsten irgendein Bus-System, z.Bsp. RS485 -> Fertig!

Autor: gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schlau wäre es, wenn Senden und Empfangen an und von mehreren Clients 
ein Feature sein soll, nicht auf den UART zusetzen, sondern gleich eine 
busfähige Schnittstelle zu nehmen.

- gerd

Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Atmegen haben aber ja nur eine UART...

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TWI, onewire, RS485, CAN, Uart+diode auf ein kabel

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
such dir was aus

Autor: gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SPI/TWI... e.g.?!

- gerd

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei der Aufgabenbeschreibung würd mir noch LIN einfallen.

Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das waren jetzt alle Schnittstellen auf einmal. Welche bietet denn den 
höchsten Bedienkomfort bzw geringsten Programmieraufwand wenn es darum 
geht, Telegramme zu versenden?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das "beste" wirst du nicht finden.  RS-485 oder LIN gehen sowieso nur
mit externen Bustreibern, CAN im Prinzip auch (wenn du nicht gerade
die CAN-fähigen Controller in Betracht ziehst).  SPI ist Mist, wenn
man einen Controller als Slave hat, da der Slave keine Möglichkeit
hat, dem Master zuzurufen: "Kleinen Moment, bitte!".  TWI hat diese
Möglichkeit, dafür ist es ein passiv gepullter Bus, was die
Störsicherheit ein wenig runterdrückt und vor allem die Datenrate.
Für 1-wire trifft das alles auch noch zu, außerdem gibt's dafür keine
Hardwareunterstützung im Controller.

Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Prickelnd.
Ich hätte nichts gegen weitere Bustreiber, wie sie für den vielzitierten 
RS485 nötig wären. Doch braucht man für 1 RS485 doch auch 1 UART, oder 
nicht?

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du brauchst für RS485, CAN und LIN einen UART. je nach Geschwindigkeit 
kann man ja auch nen Software UART implementieren.

Ist halt die Frage was die Controller sonst noch so machen sollen.

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
yepp

Autor: Albert ... (albert-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst antürlich auch UART verwenden und dort ein Softwareprotokoll 
drüberpacken. Ob da aber der Aufwand-Nutzen Faktor gegeben ist bleibt 
offen.

Autor: P. M. (o-o)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benötigte Datenrate?
Anzahl Busteilnehmer?
Zu überbrückende Distanz?
Geforderte Zuverlässigkeit?
Geforderte Latenz?
Wie soll das Übertragungsverhalten aus Sicht der Controller aussehen? 
Senden die z.B. oft und kleine Pakete oder grosse, lange Übertragungen 
oder ...

Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es geht nicht um Leben und Tod und auch nicht um explosionsgefährdete 
Bohrplattformen. Und richtig eilig ist das auch nicht.
(Modelluboot)

Datenrate: mittel
Busteilnehmer: ca. 5
Entfernung: max. 1m
Zuverlässigkeit: ahap (auch Egogründe)

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Größenwahnsinniges Atmega Makro- Netzwerk <> Busteilnehmer: ca. 5


;-)

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für Modellbau würde ich I2C nehmen. Keine weiteren Komponenten, damit 
klein und billig.

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich schrieb:
> <>

du meinst !=   :-P
Ich musste aber auch lachen

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joa das dachte ich mir auch grad ;)

aber da würd ich denke auch zu i2c greifen.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... Datenrate: mittel ...

Da empfehle ich etwas moderates an Silizium einzusetzen.

Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab schon etwas mit IIC- Porterweiterungen gespielt, aber wie läuft denn 
das, einen Atmega als Slave einzusetzen?

Autor: XXX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Vielleicht ist sowas wie Token Ring eine Alternative.
Txd an RXD des nächsten, dann wider TXD davon an RXD des übernächsten
bis der Ring geschlossen ist.

Gruß
JJ

Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hört sich gut an. Abei bei Kabelbruch ist Holland in Not!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei 5 Megas kann man auch die RS232 der einzelnen Teilnehmer noch 
parallel schalten.
Einer hat die Führung. Alle anderen halten die Klappe und reden nur noch 
Aufforderung.
Den einen, der die Führung hat, kann man ja KaLeun nennen.

Autor: XXX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Wenn ein Kabel bricht, ist wahrscheinlich bei jedem Bussystem Holland
mehr oder weniger in Not.

Ich kenne es auch nur, weil ich weiß, das an einem Packet-Radio Knoten
die TNC mit Token Ring verbunden sind. Ist einfach zu realisieren,
jeder kann an jeden senden. Nagut, jeder sieht alles und muß erstmal
schauen, ob es ihn betrifft, oder ob es nur weiterzuleiten ist.

Und ich schätze, das in einem Modell-Uboot nicht wirklich viel zu
tun ist für die ATmegas, die machen das weiterleiten so nebenher.

Gruß
JJ

Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...auf einem Uboot nicht viel zu tun? Wenn Du wüsstest.
RS232 parallel schalten find ich interessant, ich mag RS232. Aber geht 
das so einfach?

Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie viele Maaten ließen sich denn an einen Kaleun anhängen?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stephan R. schrieb:
> ...auf einem Uboot nicht viel zu tun? Wenn Du wüsstest.

Kann es sein, dass du deine Megas masslos unterschätzt?

> RS232 parallel schalten find ich interessant, ich mag RS232. Aber geht
> das so einfach?

Einfach so parallel geht natürlich nicht.

Das Tx vom KaLeun geht an alle Rx der niederen Ränge.
Die Tx der niederen Ränge gehen über eine UND Schaltung auf das Rx vom 
KaLeun, TTL-RS232 vorausgesetzt. Jeder der anderen muss ja die 
Möglichkeit haben, die Leitung vom Ruhezustand (1) auf 0 runterzuziehen.

Wenn du jedem Teilnehmer einen MAX232 spendierst, dann wird aus dem UND 
ein wired-OR  (Ruhepegel ist ja dann -12V und die Teilnehmer ziehen 
diese beim Senden auf +12V)

Was machen deine Megas eigentlich, dass du gleich 5 Stück dafür 
brauchst?

Autor: Uwe Felgentreu (ufe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich nehme die RS232-Version in der beschriebenen Variante auch für alle 
möglichen Vernetzungen ums Haus. Problem ist aber, dass der Slave nicht 
von sich aus Meldungen an den Master senden kann. Die Pollingrate des 
Masters bestimmt, wie schnell der Slave sein wichtiges Anliegen an den 
Master senden kann. Notlösung wäre eine /INT-Leitung pro Slave zum 
Master.
Da wird es aber schon wieder Fummelei...

Uwe

Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
7 Drucksensore, 12 Temperaturfühler, 6 Magnetventile, 2 Antriebsmotore, 
2 Verbrennungsmotore (mit je 1 Glühkerze, 1 Startermotor, 1 
Kühlwassermotor, 6 Temperaturfühler, 2 Geschwindigkeitsmesser, 1 
Magnetkupplung, 1 DC- Generator), 2 Kompressore, 1 Tiefenpeilsonar, 2 
Distanzsensore, GPS, GSM, LWL, ISM, 4 Akkuüberwachungen, 1 
Raumlufttrockner, 1 Raumluftumwälzung, 1 Kompasssensor, 2 Inklinometer, 
4 Getriebemotore + Lagerückmeldung, 1 Mikrowellensensor, 
Kamerabildübertragung und Speicherung mit einem Atmega?

Autor: Uwe Felgentreu (ufe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im AIRBUS bildet man für sowas verschiedene LAN-Segmente... ;-)

Autor: gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LWL = Lichtwellenleiter? Wenn ja, (nur aus Neugier) was überträgst du 
damit innerhalb des U-Boots?

- gerd

Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nix. Wegen der Innerhalbdesbootsübertragung habe ich ja diesen Threat 
gestartet. LWL kommt zum Einsatz, wenn das Böötlein in der salzigen 
Ostsee baden geht, wo Funk nicht tief genug hineinreicht.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bis auf das Kamerabild:

Gähn, und wie verhinderst du dass den Megas langweilig wird?

Ach ich vergass: du vernetzt sie ja. Da können sie ja dann was übers 
Netzwerk spielen :-)

PS: Die schiere Anzahl an Sensoren soll dich nicht beeindrucken. 
Schieberegister als Port-Erweiterungen sind schon erfunden.

Wichtiger als die Anzahl an Sensoren und Aktuatoren ist: wie schauts mit 
dem Timing aus? Ein einzelner Mega kann deine Sensoren mit links ein 
paar tausend mal in der Sekunde abfragen. Und da bleibt dann immer noch 
jede Menge Rechenzeit übrig.


Warum ich das aufs Tapet bringe: Weil die Dinge selten einfacher werden, 
wenn man mehrere Prozessoren auf ein Problem ansetzt. Durch die 
notwenige Kommunikation verkompliziert es sich oft.

Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für den Notfall ist die Zolllast immer voller Bier und Kartenspiele 
liegen unterm Bock.
Ich hab mir schon gedacht dass es vielleicht mit weniger Bauteileinsatz 
geht, aber ich finde es aufgeräumter:

In der Mitte die Zentrale, die alles managt; hinten bei den Motoren eine 
eigene Box, in der ein Atmel sich ganz in Ruhe um seine Motore kümmern 
kann...
Das hält - so meine Vorstellung- auch die Programme der jeweiligen 
Atmegas übersichtlicher und ich kann weitgehend auf Porterweiterungen 
verzichten.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 2 Kompressore, 1 Tiefenpeilsonar, 2 Distanzsensore, GPS, GSM, LWL, ISM,

LOL

Da der ex VP so ein VIP ist, sollten wir die PK wegen der PR auf dem WC 
und nicht im TV machen. Dann sagt die MP zum KGB LMAA!

(Good Morning Vietnam)

Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe kürzlich von meinem abkackenden Atmega geschrieben, der immer 
dann stehen blieb, wenn am Stecker gewackelt wird. Lieber, nur EIN 
Atmega bleibt stehen.

Autor: Thilo Haala (thaala)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Habe mich jahrelang mit Feldbus-Systemen beschäftigt.

Bei diesen Anforderungen liegst Du nahe am modernen KFZ.
Ob der AtMega das on Board hat oder nicht - der CAN - Bus ist das 
richtige für deine Wünsche.

Er ist CDMA fähig (daher kann jeder mit jedem...) und hat außerdem Prio 
- Slots, so daß hochpriore Geber eben auch eher Ihre Nachrichten (meist 
kurz) weitergeben können.

jemand anderer Ansicht ?

Gruß,
THaala

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stephan R. schrieb:

> Mein Projekt sieht vor, dass ein Atmega8, nennen wir ihn mal "Master"
> Steuerbefehle an und Rückmeldungen von mehreren weiteren Atmegen (Plural
> von Atmega?) sendet und empfängt.
> Was ist da sie schlaueste/ sicherste/ professionellste Art der
> Realisierung?

Schau Dir doch mal an, wie andere das machen: z.B. Automobilindustrie. 
Dort wird für die einfachen und langsamen Geschichten LIN verwendet 
(weil billig), und für die schnellen CAN. Zuverlässig & millionenfach 
erprobt.

Wenn Du was anderes nimmst, musst Du schon verdammt gute Gründe haben.

Ein guter LIN-Slave ist der Tiny167, der ist nämlich für sowas gedacht. 
Für CAN nimmst Du entweder einen 90CANxxx oder einen Mega64C1 oder 
Mega64M1, die letzteren haben auch LIN-Hardware drin. Für CAN und LIN 
brauchst Du immer externe Transceiver-Chips - das hat Fertigungsgründe.

Wenn Du unbedingt DIL-Gehäuse haben willst, schau Dich bei Microchip um 
- die haben in der Richtung mehr Auswahl, und ein dsPIC ist auch nicht 
zu verachten.

fchk

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
yepp

CAN ist wohl der geeignete Bus

zumal das Protokoll die Hierrchishe und die ereignetgesteuerte 
Kkommunikation ermöglicht.


Wird in zwischen auch bei Aufzügen zum Standard.

Und der nur nen paar Dutzend Taster und LED  und eine Handvoll Sensoren 
und Antriebe.

Vorteile: Störstolleranz durch Diffsignalübertragung hohe 
Übertragensrate,
fehlererkennung und effektive Fehlerbearbeitung .....

http://techwww.in.tu-clausthal.de/site/Dokumentati...

MfG

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Für CAN und LIN brauchst Du immer externe Transceiver-Chips

Falsch:
http://www.mikrocontroller.net/attachment/28831/si...

Ist aber eher was für On-Board-Kommunikation.
Externen Module die Aktoren wie z.B. E-Motoren antreiben würde ich so 
nicht verbinden (-> Masseversatz).

Autor: Stephan R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Thomas: Masseversatz? Und warum ist CAN etwas für 
On-board-communikation?

Ich habe heute vom CAN-Bus geträumt, und zum Glück gibt es -soweit ich 
weiss- auch einen CANbusfähigen Controller von Atmel.

Kennt sich jemand mit der Materie aus?
Ist das ein reiner CAN-Controller oder ein üblicher, nur mit CAN?

Autor: Ein Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Geld keine Rolle spielt kannst ein paar AT90CAN einsetzen und eine 
fertige CAN-Bibliothek verwenden. Siehe hier: 
http://www.kreatives-chaos.com/artikel/universelle...
Da bist halt für Controller + CAN-Bustreiber 10-12€ los aber dafür hast 
ne Kommunikation die sicher funktioniert.

Autor: oversized (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wegen 5 Bausteinen?

"Brain, was machen wir heute?"
"Pinky!, das was wir jeden Abend machen."
"Was denn, Brain?"
"Wir werden versuchen die Weltherrschaft an uns zureißen!"

so viel zu Größenwahnsinn....

Autor: Simon L. (simon_l)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
off topic
@Stephan R. könntest du mir mal bitte eine PM schicken, hätte da ein 
paar Fragen zur restlichen Hardware des Bootes.


on topic
Ich würde dir auch zu CAN raten. Schau mal bei Microchip, die haben 
fertige CAN-Bausteine und Bustreiber. Dann könntest du weiterhin deine 
Mega8 benutzen. So twisted pair kann man auch noch überall durchs Boot 
quetschen.
Bei Microchip findest du sicher auch eine Beschreibung von CAN, über die 
Controller lässt sich ja streiten. Die Dokus von denen finde ich aber 
ziemlich gut. Democode gibts auch ;)

Gruß Simon

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> @ Thomas: Masseversatz?
Ja, Masseversatz.

> Und warum ist CAN etwas für On-board-communikation?
Gemeint ist natürlich nur die verlinkte Lösung ohne Transceiver.

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.