ELEKTRO FORUM

Elektroforum
It is currently January 7, 2009, 2:39 pm

All times are UTC



Viewing profile - Holger Blum <usenet1203@kennsch.net>

Board presence

Contact

Holger Blum <usenet1203@kennsch.net>
Registered User
Offline
[ Add friend | Add foe ]
E-mail address: E-mail
PM: Send private message
MSNM/WLM:
YIM:
AIM:
ICQ:
Jabber:

Author Message

Topic: CSMA/CD oder Token bei RS485

 Post subject: CSMA/CD oder Token bei RS485
Posted: 2003-12-15 11:46:41 

Replies: 11
Views: 269


Jürgen Leeb schrieb:

> ich bin gerade im Anfangsstadium eines kleines Projekts. Es geht um ein
> Bussystem (phyiskalisch: RS845) für Multimaster access. Die Master
> werden AVRs und steuern die Rollos.

Also geringe Buslast und keine Echtzeitfähigkeit notwendig.

> Ich habe mir gerade ein paar verschiedene Systeme angesehen. LON,
> ARCNET, P-NET. Nun stellt sich natürlich die Frage, wie regele ich
den
> Multimaster-Buszugriff.
> P-NET basiert auf einen Token (Virtuell kein Tokenaustausch über Bus)
> ARCNET basiert auf einen "echten Token" und LON auf CSMA.

Wenn das ein autonomes System sein soll dann stricke dir dein eigenes
Einfachst-Protokoll. Die Token-Geschichten kannst du dir sparen, da die
Steuerung zeitunkritisch ist.

> Ich will eigentlich auf das aufwendige Token .. verzichten und CSMA
> verwenden. Nur wie erkenne ich Collisionen? Oder muss ich sie, wenn ich
> ein Protokoll mit Sender-, Empfängeradresse, CRS und ACK nutze, gar
> nicht erkennen? Die Buslast ist äußerst gering!

In deinem Fall ist CSMA/CD die einfachste Lösung.
Durch die geringe Buslast ist die Gefahr von Kollisionen äußerst
gering.
Tritt dennoch eine auf, so erkennt dies der Sender, indem er den
Buspegel mit seinen Sendedaten vergleicht. Findet er auf dem Bus nicht
den erwarteten Pegel vor so sendet er ein Jam-Signal und die Empfänger
verwerfen die bis dahin empfangenen Daten.
Er wartet eine zufällige Zeit und versucht dann erneut eine
Übertragung.

Mehr braucht es bei deiner unkritischen Anwendung nicht!

Viele Grüße,
Holger

Topic: CSMA/CD oder Token bei RS485

 Post subject: CSMA/CD oder Token bei RS485
Posted: 2003-12-15 14:42:08 

Replies: 11
Views: 269


Jürgen Leeb schrieb:

> Dazu gleich nochmal 3 Fragen:
> - Der Vorschlag beinhaltet echte Collision Detection. Kann ich mit dem
> Treiberbaustein (MAX485 o.a) den Buspegel abfragen, oder bedarf es hier
> noch zusätzlichen Schaltungsaufwand? Oder gibt es spezielle
> Treiberbausteine?

Zusätzliche Hardware brauchst du nicht, in dem Baustein haben Receiver
und Transmitter unabhängige Enable-Eingänge. Der Treiber muss eben
immer
am Bus lauschen indem /RO fest auf Masse gelegt wird, der Rest ist
natürlich Software.
Bleibt nur die Frage, wie die Pegel bei einer Kollision aussehen...

> - Ich denke gerade an I2C. Hier ist das mit dem Multimaster so geregelt,
> daß das 1 Signal vorrang hat. D.h. fangen zwei Master an zu senden
> (Vorher der Bus auf Leerlauf geprüft), dann sind die Daten solange
> gültig, wie sie die selben Bits senden. Erst wenn einer ein anderes
Bit,
> als der Andere schickt, wird erkannt, das zwei Teilnehmer auf den Bus
> zugreifen. Da High Vorrang hat merkt es der Master, der 1 schickt nicht.
> Für ihn ist alle in Ordnung. Der der 0 schickt erkennt, das der Bus 1
> ist. Er ist somit sofort still und werden wieder auf das freiwerden des
> Busses. Der andere Teilnehmer bekommt vom Ganzen gar nichts mit. Ist
> dieses Vorgehen bei RS485 auch möglich?

Das nennt man dann CSMA/CA, also collision avoidance. Hier ist es
sinnvoll, die Quelladresse zuerst zu übertragen, da durch diese die
Priorität des Teilnehmers festgelegt ist. Wenn zwei Teilnehmer
gleichzeitig senden stoppt der niederpriore die Übertragung, sobald er
auf dem Bus einen abweichenden Pegel erkennt. Es ist beim I2C-Bus die 0
dominant, da der Bus über einen Pull-up auf high gehalten wird und die
Ausgänge als Wired-AND verschaltet sind. Das heißt der Buspegel wird
0,
sobald ein Teilnehmer eine 0 sendet.

Ich weiß aber ehrlich gesagt nicht, wie es mit CD oder CA am RS485-Bus
aussieht, insbesondere welche Pegel sich auf der Leitung bei einer
Kollision einstellen.

Wenn dich das interessiert informierst du dich am besten einmal über den
CAN-Bus, dieser basiert wenn ich mich recht erinnere auf RS485 und
verwendet CSMA/CA.

> - Brauche ich überhaupt ein Collision Detection? Reicht es nicht aus,
> daß der Master ein Telegramm schickt und auf ein Ack. vom
Empfänger
> wartet. Erhält er es, so ist alles O.K.. Wenn nicht war etwas falsch.
> Vielleicht gab es eine Kollision. Auf alle Fälle wartet er eine
gewisse
> Zeit und probiert es dann erneut.

Wenn ich es mir recht überlege kannst du dir das alles sparen, bei der
Anwendung hast du ja alle Zeit der Welt um nach einem Timeout oder
CRC-Fehler das Datagramm neu zu übertragen.

Aber gut, dass wir darüber gesprochen haben ;)

Viele Grüße,
Holger

Topic: CSMA/CD oder Token bei RS485

 Post subject: CSMA/CD oder Token bei RS485
Posted: 2003-12-15 14:49:16 

Replies: 11
Views: 269


Hallo Jürgen,

Juergen Hannappel schrieb:

> Ich denke das das reicht, und DU wirst (wegen der kleinen Buslast)
> auch auf den CD (Carrier Detect) verzichten koennen, obwohl den der
> Empfaenger auf dem Bus (braucht Du ja sowieso) fast liefert.

zu der Überzeugung bin ich jetzt auch gekommen...
Aber CD steht für Collision Detection, der Carrier steckt im CSMA
(Carrier Sense Multiple Access).

Viele Grüße,
Holger
Sort by:  

Who is online

Users browsing this forum: "Christina Benedek" <christina.benedek@gmx.de>,Michael Petry <micpetry@web.de>,"Dr. Michael Ulm" <taga@news.uni-rostock.de>,"Frank Njiaga" <unisport1@tiscali.co.uk>, 6 guests, Usługi transportowe Warszawa meble biurowe warszawa Echosystem sic! Znamię


New posts New posts    No new posts No new posts    Announce Announcement
New posts [ Popular ] New posts [ Popular ]    No new posts [ Popular ] No new posts [ Popular ]    Sticky Sticky
New posts [ Locked ] New posts [ Locked ]    No new posts [ Locked ] No new posts [ Locked ]    Moved topic Moved topic
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group