www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Drei Motoren über Rs232 ansteuern


Autor: Boogie (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich habe vor über den PC bzw RS232 drei Controller zu steuern.
D.h. ich würde es so programmieren dass je nach 1. byte der 
entsprechende controller reagieren soll, beispiel:

Daten über rs232:

| uC1 | Daten | CS |
| uC2 | Daten | CS |
| uC3 | Daten | CS |

meine frage ist, wie man sowas hardwaremässig realisieren kann. das ist 
ja eine art bus. ich kann ja die RS232 ja nicht einfach schleifen ?
über tipps wäre ich sehr erfreut.

anhang dabei

Grss

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm einen uC mit genügend freien Pins.

Autor: Max Power (eizo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mikrocontroller und PC im Ring zusammenschalten mit Adressbit. Jeder 
schickt es solange weiter bis die Daten am Richtigen Controller 
angekommen sind.

Autor: Boogie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

nein das will ich nicht. mir gehts ums prinzip ;)
das oben ist nur eine beispielskizze


gruss

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Boogie (Gast)

>meine frage ist, wie man sowas hardwaremässig realisieren kann.

Sinnvollerweise mit RS485 und Halbduplextranceivern, z.B. MAX485.
Dann noch ein Mini-Datenpaket zusammenstricken, fertig.
Ist schon millionenfach hier gemacht worden, einfach mal suchen.

MfG
Falk

Autor: Boogie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

danke für die antworten. werde danach suchen bzw googlen :)

gruss

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

AVRs können Master-Slave: Im 9-Bit-Modus wird eine Adresse verschickt. 
Der adressierte Slave (und der Master) schalten in den 8-Bit-Mode und 
kommunizieren ganz normal. Danach schaltet der Slave wieder in den 
9-Bit-Mode und wartet auf den nächsten Befehl. Geht zwischen AVRs 
wunderbar. Nachteil: der PC kann das nicht. Abhilfe: Zwischen PC und 
Slaves ein weiterer AVR.

MfG Spess

Autor: zaphod (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Hier noch ein Ansatz:
Die RS232 kann man schon zusammenschalten, mit paar zu beachtenden 
Dingen.

RXD kommt an alle 3 µCs. Spendiert man noch 2 Pins pro µC fur eine 
Hardwareadressierung kann man das identische Programm in alle 3 µCs 
flashen. Alternativ geht auch eine Adresse im EEPROM.
Jetzt braucht man noch ein kleines Protokoll:
Alle 3 µCs empfangen die Daten, welches ein Adressbyte enthält (bzw. an 
einer definierten Stelle 2 Bits) und vergleichen dies mit ihrer 
HW-Adresse über die Pins bzw. EEP. Somit wissen die µCs, ob sie gemeint 
sind.

Für eine Kommunikation in die eine Richtung ist man jetzt fertig. Soll 
es auch in die andere Richtung gehen, kein Problem:

TXD bekommt auf 5V-Seite am Transceiver einen Pullup und wird dann mit 3 
Dioden entkoppelt. Heißt, der Ruhepegel von 1 kann von jedem µC auf 0 
gezogen werden, ohne dass es zu Problemen an den anderen µC-TXD-Pins 
kommt, somit eine Art Open Kollektor-Schaltung.
SW-seitig muss man jetzt noch beachten, dass nicht mehrere µC 
gleichzeitig senden dürfen. Das heißt, PC ist der Chef und schickt eine 
Anfrage mit HW-Adresse. Jetzt darf nur der Gefragte antworten.

Sollen die µCs "ungefragt" an den PC senden können, muss man eine 
Busarbitrierung durchführen. Bevor gesendet wird, lauscht ein µC eine 
Weile auf der TXD-Leitung ob da jemand anderes sendet bzw. auf Low zieht 
(Pin auf I/O-Mode Eingang). Ist das nicht der Fall, kann er in den 
UART-Mode schalten und senden. Hier ist noch ein gewisses Restrisiko, 
das dies gleichzeitig passiert und dann doch 2 gleichzeitig senden.

Gruß
Roman

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.