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.
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.
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.
Marko Buršič