Wäre es möglich, ein "wahres" 5-V-Signal vom Tx eines UART-Dongles zu senden? Als wäre es ein digitaler Ausgang?
Hier ist der UART-Adapter, den ich gekauft habe.
Wäre es möglich, ein "wahres" 5-Volt-Signal vom Tx eines UART-Dongles zu senden? Als wäre es ein digitaler Ausgang?
Bedingt ja.
(1) Das Modul, mit dem Sie verbunden sind, hat TTL-Ausgangspegel.
Angenommen, es verwendet +5 V = hoch und 0 V = niedrig (ich sehe, dass auf seiner Platine 3 V3 und 5 V angegeben sind).
Dies bedeutet, dass RXD im Ruhezustand auf 5 V liegt, ein Startbit 0 V beträgt, Datenbits +5 für logisch 1 und 0 V für logisch 0 sind und Sytop-Bits 5 V betragen.
Wenn keine Daten gesendet werden, beträgt V_RXD 5 V.
Wenn Sie ein $00-Signal (00000000 binär) senden, gibt der UART
Start + 8xDaten + Stopp = 0 00000000 1
aus. Der durchschnittliche DC-Pegel für dieses Signal beträgt 1/10 x 5 V = 0,5 V.
Wenn Sie aufeinanderfolgende $00-Bytes bei maximaler Kanalgeschwindigkeit erneut senden, kann der Ausgang bei geeigneter Filterung nur 0,5 V DC betragen. Abhängig von der Hardware, der USB-Schnittstelle und der PC-Konfiguration und der Mondphase KÖNNEN Sie Unterbrechungen zwischen den BTEs bekommen und gelegentlich einen 5-V-Signalpegel sehen.
Wenn Sie einen sehr einfachen RC + -Diodenfilter hinzufügen, sodass ein RDX-Tief die Kappe sofort entlädt, das Aufladen jedoch über den Widerstand erfolgt, können Sie in Zeiten, in denen die TXD-Leitung für begrenzte Zeiträume hoch ist, einen niedrigen Ausgang erhalten.
Wenn $00 Bytes durchgehend ohne Unterbrechungen gesendet werden können, kann ein RC+D-Filter eine Zeitkonstante von nur einer Bitzeit oder so haben. Wenn längere Höhen auftreten, benötigen Sie eine längere Zeitkonstante.
Ob ein RC+D-Filter Ihren Anforderungen entspricht, hängt von der gewünschten Datenrate und dem Systemverhalten ab. Wenn dies etwas steuern soll, das eine langsame Reaktion erfordert - sagen wir 1 Sekunde oder länger zwischen Änderungen und langsame Änderungen von niedrig nach hoch sind akzeptabel, dann könnte dies gut für Sie funktionieren.
(2) Externer UART:
Eine bessere Methode besteht darin, einen externen UART am Empfangsende hinzuzufügen und das serielle Signal in ein paralleles Wort zu dekodieren. Dies gibt Ihnen 8 Bits von on off.
(3) Wenn Sie etwas bereits gebautes wollen, das das tut, was Sie wollen, kaufen Sie einen USB-zu-Parallel-Port-Konverter (Druckerport) - dies gibt 8 (oder mehr) Leitungen für die Ein-/Aus-Steuerung von USB. Viele bei ebay. Hier ist einer für 2,66 US-Dollar, kaufen Sie ihn jetzt mit kostenlosem Versand !!!!!!!!!!!!!!!!! . Viele weitere ähnliche. Einige Leute haben kommentiert, dass dies möglicherweise eine Druckerfunktionalität, aber keine Parallelport-Funktionalität hat. Wenn ja, sollte es noch brauchbar sein. Im schlimmsten Fall müssen Sie die Daten möglicherweise zur "Druckzeit" zwischenspeichern.
Hinzugefügt:
Eingerückter Text, der als Ergebnis eines Kommentars von CS hinzugefügt wurde:
Sie haben ausdrücklich die Verwendung der TX-Leitung erwähnt, worauf ich ursprünglich geantwortet habe.
Andere haben die Verwendung von Flusssteuerungsleitungen erwähnt (die nicht sichtbar auf Ihrem Gerät verfügbar zu sein schienen und in der Anzeige nicht erwähnt wurden) und einige schlugen vor, einen Konverter mit diesen Signalen zu kaufen.
Ich habe kürzlich einen seriellen USB-TTL-Konverter auf einer lokalen Auktionsseite entdeckt und festgestellt, dass die Löcher an den Seiten der Platine mit Flusskontrolletiketten versehen waren. Da Ihr Gerät ähnliche Löcher hat, KANN es auch ähnliche Funktionen haben. So ...
Sehen Sie sich die Unterseite Ihres USB-zu-TTL-Konverters an – möglicherweise sind RTS/CTS und möglicherweise andere Signale verfügbar. Wenn ja, können einer oder mehrere davon als Ausgang angesteuert werden.
Siehe Foto unten. Das ist Ihre Einheit. Beachten Sie die durch rote Linien markierten Löcher.
Das Foto unten ist eine Einheit, die auf einer lokalen Auktionsseite verkauft wurde.
Von den 4 mit Pfeilen markierten Leitungen sind 2 Ausgänge und zwei Eingänge. Diese sind als Teil eines COM-Ports steuerbar. Diese Leitungen können bei Ihnen aktiv oder deaktiviert sein. Haben Sie ein Datenblatt oder eine genaue Modellnummer?
Ich hielt Sie nicht für verrückt, dass Sie gefragt haben, obwohl die Antwort eindeutig „unmöglich“ war.
Zu Ihrer neuen Frage: Ja, Sie können wahrscheinlich den Pegel des Tx-Pins steuern, indem Sie entweder überhaupt nichts senden oder die Bedingung „Break“ festlegen. (Aber die Break-Bedingung ist nicht sehr gut spezifiziert, es kann sein, dass einige Betriebssysteme oder Treiber sie als zeitlich begrenzt interpretieren. IME Windows und Linux fallen NICHT in diese Kategorie.)
Aber es ist wahrscheinlich viel einfacher, die Pegel der verschiedenen Steuerpins einzustellen. Wie dies geschieht, hängt von Ihrer Programmiersprache und Bibliothek ab.
Wenn Sie einen seriellen Standardanschluss oder einen handelsüblichen USB-zu-Seriell-Konverter verwenden, erhalten Sie Ausgänge mit RS232-Polarität (= invertiert) und Pegel (-10 V / +10 V oder so ähnlich).
Es ist wahrscheinlich einfacher, einen "nackten" Wandlerchip ohne den RS232-Pegelumsetzer zu verwenden. FTDIchip stellt einige her, siehe http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm
IME-USB-zu-Parallel-Konverter sind für Ihren Zweck nutzlos, da sie einen virtuellen Druckeranschluss und keinen virtuellen parallelen Anschluss erstellen.
Ich glaube nicht, dass Sie den TX-Pin immer hoch oder niedrig halten können. Jedes gesendete Byte hat ein Startbit (logisch niedrig) und ein Stoppbit (logisch hoch). Am besten besorgen Sie sich einen USB-zu-UART-Adapter mit DTR- und / oder RTS-Pins. Diese Zeilen können einfach umgeschaltet werden.
Jedoch.
Diese Antwort ist nur so gut wie Ihre Frage, die eigentlich nicht so gut ist, da Sie nicht viele Details angeben. Wenn Sie uns mitteilen, was Sie genau vorhaben, welche Hardware Sie haben (usw.), können wir Ihnen möglicherweise einen besseren Rat geben.
Meine erste Frage wäre folgende: Wenn Sie ein Arduino und ein Relaismodul dafür haben, warum müssen Sie dann einen Umweg gehen, um Ihr Problem zu lösen?
Der CP2102 unterstützt DTR- und RTS-Flusssteuerungssignale. Diese können als USB-gesteuerte Ausgänge verwendet werden.
Nach dem Aussehen des von Ihnen geposteten ebay-Bildes werden die Pins zu J2 oder J3 geleitet.
Es ist tatsächlich möglich, den tx-Pin digital zu verwenden: Wenn nichts übertragen wird, ist der Ausgang hochpegelig. Und wenn Sie die Unterbrechungsoption für die serielle Schnittstelle in einer beliebigen Programmiersprache verwenden, setzen Sie den tx-Pin in den niedrigen Zustand.
Die Eingabe von 'Strg-Leertaste' in einem Com-Port-Terminal scheint einen schönen aktiven niedrigen Impuls auf der TX-Leitung meines TTL-Konverters zu senden.
Kortuk