UART-Tx/Rx Leitungsunterbrechungserkennung

Es gibt 2 Systeme, A und B. Die Kommunikation zwischen ihnen erfolgt über Uart.

Als Teil der regelmäßigen Zustandsprüfung für den CAN-Bus ist es möglich, ein Loopback durchzuführen und den Status des CAN-Transceivers und des Busses zu überprüfen (zusätzlich zu denen, die sich um die CAN-Spezifikation selbst kümmern, wie z. B. Fehlerzähler).

Wenn ich UART für die Kommunikation gewählt habe, gibt es eine Methode, mit der ich sicherstellen kann, dass die Tx- und Rx-Leitungen ordnungsgemäß funktionieren, ohne dass System A eine Nachricht an System B senden und System B auffordern muss, die gleichen von ihm empfangenen Daten erneut zu übertragen ? Ich möchte den Gesundheitstest von jedem System unabhängig vom anderen machen.

Ich denke nein. Es wäre ein nettes Feature in industriellen SPSen.

Antworten (2)

Wenn "ordnungsgemäß funktionieren" bedeutet, dass die Tx- und Rx-Leitungen nicht offen sind, dann "nein". Um dies zu überprüfen, ist jedoch „etwas“ am fernen Ende erforderlich, selbst wenn sich etwas am fernen Ende befindet, können Sie nicht einfach wissen, dass ein Leitungsunterbrechungsfehler auf Tx, Rx oder beides zurückzuführen ist.

Sie könnten eine Form von TDR (Time Domain Reflectometry) entwickeln, aber das scheint übertrieben zu sein.

Wenn Sie nach Kurzschlüssen zwischen Drähten oder Masse suchen, können Sie dies an einem Ende der Verbindung tun.

"Wenn Sie nach Kurzschlüssen zwischen Drähten oder Masse suchen, kann dies an einem Ende der Verbindung erfolgen." - Sie meinen, ich verwende den Ansatz, den ich in meiner Frage vorgeschlagen habe? dh ein Echo-Request?
Nein, eine Echoanforderung funktioniert nicht, da ein Kurzschluss eine Datenverfälschung in die eine oder andere Richtung bedeutet. Wenn Sie keine Antwort erhalten, ist dies kein Kurzschluss oder ein offener Stromkreis. Sie müssten ein Signal in einen Draht einspeisen und überprüfen, ob es die richtige Amplitude / Form hat, und feststellen, ob das Übersprechen auf die anderen Leitungen minimal ist.
Ja, ich stimme zu. Sie können sagen, dass es ein Problem gibt, aber Sie können die Quelle des Problems nicht isolieren

Normalerweise wird die Sendeleitung vom Treiber hoch gehalten. Sie könnten Ihrer Empfangsleitung einen schwachen Pulldown hinzufügen und dort die Spannung messen. Wenn es hoch ist, wissen Sie, dass der Sender auf der anderen Seite angeschlossen ist.

Kannst du das bitte näher erläutern? es scheint interessant zu sein