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
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.
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.
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...
Was hällst du davon auch noch jeweils VCC vom anderen Controller weg zuschalten?
Weil ich dann offensichtlich erklären müßte, wann man sowas wie genau machen darf und wann nicht. Dazu habe ich keine Lust.
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...
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.
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.
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.
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.
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
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.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.