Forum: Mikrocontroller und Digitale Elektronik Schaltungsproblem 2 Geräte über serielle Schnittstelle


von Chris T. (chris0086)


Lesenswert?

Hallo Leute,
ich habe ein kleines Problem und benötige mal ein paar Ansätze.
Also über die serielle Schnittstelle also UART sollen zwei 
Mikrocontroller Programmiert werden. Diese 2 Controller tauschen 
normalerweise über diesen UART Daten aus. Bevor das Programm allerdings 
läuft benötigen die Controller ein paar Daten die ich natürlich nur 
einmal, bzw. bei Änderung der Konfiguration eingespielt werden( in den 
Flash). Da ich natürlich nur einen Anschluss haben will wollte ich eben 
jeweils den einen oder den anderen Controller beschreiben. Welcher nun 
dran ist wollte ich mit dem RTS oder CTS Pin bestimmen(high oder low 
Pegel) d.h. es soll eine Art Gatter werden da ja, je nachdem, welcher 
Controller grad dran ist die TX und RX Leitungen getauscht werden 
müssen.
Jetzt such ich nen passenden Baustein der mir sowas erledigt, könnt ihr 
mir da helfen?
Oder habt ihr da ne ganz andere Idee? Es sollen eben beide Controller 
über dieselbe Buchse Programmiert werden.
Grüße
Christian

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Eigentlich klingt das nach JTAG und dort wird einfach eine daisy-chain 
gebaut.

Du kannst z.B. die betreffenden Controller über ihren Reset-Eingang 
'freigeben' un das mit deinem RTS/CTS steuern. Verlangt aber das diese 
Leitungen dann nicht für Handshake gebraucht werden, also XON/OFF 
vielleicht fahren.

von Chris T. (chris0086)


Lesenswert?

Hm also ich kann leider den einen Controller nicht über Reset steuern, 
da hab ich nur RX TX VCC und GND zur Verfügung. Geht das nicht auch mit 
einem einfachen Gatter das die pins dann vertauscht? Aber was für ein 
Baustein eignet sich da?
Und ja ich brauche kein Handshake deswegen die Umfunktionierung des RTS 
Pins.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Nimm halt irgendeinen Multiplexer der CD4000 oder 74HC Serie. Kann auch 
analoger sein.
Falls sich der Controller irgendwann aufhängt, wäre meine ursprüngliche 
Methode halt sehr praktisch...

Generell hast du noch das Problem eines aktiven DAU, der irgendwas 
anderes an die Serielle knotet...

von Chris T. (chris0086)


Lesenswert?

Was hällst du davon auch noch jeweils VCC vom anderen Controller weg 
zuschalten?

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Nix.

von Chris T. (chris0086)


Lesenswert?

weil?

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Weil ich dann offensichtlich erklären müßte, wann man sowas wie genau 
machen darf und wann nicht. Dazu habe ich keine Lust.

von Chris T. (chris0086)


Lesenswert?

achso ok, naja ich kann ja den einen mit reset steuern, der andere 
dürfte nicht dazwischen funken. Gibts irgendwo ne übersicht über die 
74HC Familie? Weis nicht welchen ich nehmen soll...

von Chris T. (chris0086)


Lesenswert?

Ich hab jetzt ein wenig im Internet gestöbert auf der Suche nach irgend 
einen Schieberegister aber ich weis nicht so recht wie ich das 
Beschalten soll. Ich benötige 2 Signaleingänge und 4 Ausgänge und einen 
Steuereingang wenn ich richtig liege hat jemand eine Ahnung wie das zu 
realisieren ist?
Wäre für eine Hilfe sehr dankbar.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Du brauchst kein Schieberegister, sondern einen Multiplexer. Davor 
MAX232 oder so, damit die Pegel stimmen und du kein Problem mit aktiven 
Eingängen vor Anlegen von VCC bekommst.

von Chris T. (chris0086)


Angehängte Dateien:

Lesenswert?

Danke für die Antwort,
habe mir sogleich einen rausgesucht der vielleciht passenn könnte: den 
74hc157 und die angehängte Schaltung zusammengebaut.
Kann das so funktionieren?
Bin für jeden Hinweis dankbar.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Soweit sogut. Allerdings ist der 157 ein gepufferter 
Digital-Multiplexer. Es gibt definierte Ein- und Ausgänge. Daher kann 
einer der beiden Multiplexer in deiner Schaltung nicht funzen.
Nimm doch einfach einen Analogmultiplexer, der wie ein elektronisches 
Relais funzt.
Geh zu ti.com und dort auf 74HC4066 und dort werden dir weitere ähnliche 
Typen vorgeschlagen. Den Links folgst du einfach bis du das genau 
passende Bauelement gefunden hast. Oder suche dir eine Übersicht der 
74xx Bauelemente und dort schauste ins Kapitel Multiplexer. Eine 
passende Typennummer habe ich nicht im Kopf - gibt aber einige.

von Chris T. (chris0086)


Lesenswert?

So hab nochmal geschaut, hab jetzt den 74hc4052 gefunden.
Datenblatt hier: 
http://www.datasheetcatalog.org/datasheet/philips/74HC4052N.pdf

Da hab ich nur eine Frage mit Pin 9 und 10 werd ich wohl umschalten 
können. Kann ich da einfach einen auf masse legen da ich ja nur einen 
RTS zum umschalten benutze oder wie sieht das aus?
Und für was ist Pin 6?
Grüße

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Gute Arbeit!

Was welcher Pin macht steht doch in der Logiktabelle auf Seite 1.
Einen der Pins 9 und 10 kannst e auf GND legen oder VCC wenn du die dann 
anderen aktiven Pins entsprechend verschaltest.
Pin 6 ist ein globaler Enable wie in der Tabelle ersichtlich.

von Chris T. (chris0086)


Lesenswert?

Danke für die Erklärung und die Zeit für mich,
also ich lege S0 auf GND und kann dann mit S1 zwischen nY0 und nY2 hin 
und her schalten.
Pin 6 kommt ebenfalls GND.
Pin 7 VEE kann ich ja auch auf GND legen da ich ja mit den TTL Pegeln 
der MC´s nur positive Spannungen hab denk ich.
Hoffe das ist so richtig gedacht, muss ich sonst noch auf irgendwelche 
Beschaltung achten? VCC bekommt noch einen 100n Entstörkondensator ist 
ja immer gut. Benötige ich noch irgendwelche Widerstände außer einen an 
S1 der den dann sicher auf low zieht?

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Nein, ok so. Aufbauen und überraschen lassen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.