Archiv verlassen und diese Seite im Standarddesign anzeigen : UART multiplexen - 4011 zu langsam???
Hallo!
Habe hier eine Schaltung um den Ausgang des Uarts zu multiplexen. Funktioniert aber nicht :frown:
Kann es sein das der 4011 zu langsam ist?
MFG!
Durch das NAND wird der Pegel umgedreht. Erwünscht ?
Wie ist das UART-seitig gedacht (Zeichn. links) ?
Durch das NAND wird der Pegel umgedreht. Erwünscht ?
Verdammt, daran habe ich gar nicht mehr gedacht. Die beiden Ausgänge müsten dann ja noch einmal negiert werden.
Also
SV1.2 ist mit einem IO-Port eines M32 verbunden, soll einfach als Steuerleitung dienen.
SV1.1 liegt an TXD des M32 und je nachdem ob die Steuerleitung + oder - ist, sollen die Daten zu einem M8 (SV2.2) oder zu einem MAX232 (SV2.3) gesendet werden.
SV1.3 liegt an RXD des M32 und SV2.1 liegt an dem MAX232. Dies soll nicht gemultiplext werden.
Das das nicht funzt, liegt also wahrscheinlich daran, das die Pegel umgedreht werden.
Erstmal vielen Dank.
Achja, zwischen SV1.2 und dem M32 ist noch ein 1K-Widerstand.
P.S.: Sorry wegen Doppelpost.
Die Schaltung ist jetzt wie auf dem Bild verändert. Geht aber trotzdem nicht.
Woran liegts?
MFG!
sebastian.heyn
29.03.2005, 21:53
wieso nand? uart ist doch glaub ich immer high und wird dannauf low gesetzt..
wieso nand? uart ist doch glaub ich immer high und wird dannauf low gesetzt..
Wie meinst du das jetzt?
wieso nand? uart ist doch glaub ich immer high und wird dannauf low gesetzt..
Eine Logische 0 bedeutet +5V (+12V bei V.24) und logische 1 bedeutet 0V (-12V bei V.24).
So meinte er das. Und der Meinung bin ich auch.
Ich habe jetzt nicht drauf geachtet, aber hast du bedacht, das die Daten in 2 Richtungen gehen? So wie es auf dem ersten Plan aussah würden die Daten von TX und RX nur von links nach rechte gehen.
Macht euch nicht wirr. Der MUX soll auch nur eine Richtung haben.
TX-->MUX --> RX1/RX2
Und der Pegel geht nun 1:1 durch, ist also logisch o.k.
Es muß ein anderes Problem geben. Ich schau mal nach dem 4011.
Macht euch nicht wirr. Der MUX soll auch nur eine Richtung haben.
TX-->MUX --> RX1/RX2
Genau, er soll nur eine Richtung haben, das ist schon so gedacht.
@Robotski: Wenn du schon da bist: Du bist reinen Gewissens, was das Setzen des Switchsignal betrifft ? (erst switchen, dann ins RX-register schreiben, erst wenn fertig, wieder switchen)
Wenn das nämlich dazwischen schnackelt, suchen wir uns einen Ast nach Fehlern.
Ich habe zum ausprobieren folgenden Code benutzt:
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
Ddrd.6 = 1 ' Die Steuerleitung hängt an Portd.6
Portd.6 = 0
Print "Test"
Portd.6 = 1
Print "Test"
Do
Loop
End 'end program
Ach ja: den 1k vom M32 solltest du nicht brauchen, TTL-Logic ist TTL-logic.
Es kann auch helfen, bei den Invertern immer nur einen Input anzusteuern, und den anderen direkt auf + zu hängen.
4011 angesehen, klingt unverdächtig. Manche mischen nicht gerne 40.. mit 74.. weiß nicht.
Was passiert eigentlich ? absolut NIX ?
Leg die Steuerleitung mal zu Fuß auf hi oder low. Dann sollt doch einer was kriegen.
Ich würd auch einmal den Mux überbrücken, ob's überhaupt daran liegt.
Um ein Zeitproblem a priori mal auszuschließen, kannst du ja ein paar mS nach dem switchen einfügen.
Sonst fällt mit außer Oszi Kontrolle momentan nicht viel ein, muß ich sagen
Der Code ist ja recht schlicht und übersichtlich gehalten.
Überbrückt habe ich den MUX schonmal, dann funktioniert alles ganz normal.
Ich die ganzen Tips heute abend nochmal ausprobieren.
Dann melde ich mich nochmal
MFG!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.