Automatsiche Schnittstellen Erkennung LIN/PWM

Gast #6506331
Hallo Zusammen,
für mein aktuelles Projekt, denke ich über folgende Problemstellung 
nach:

Ich will eine Schaltung aufbauen, welches ein Input Signal (LIN oder 
PWM) einliest, automatisch erkennt, ob es sich um LIN oder PWM handelt, 
bis hin zu der Ausgabe des jeweiligen erkannten Signales zu einer schon 
vorhandenen MCU mit LIN oder PWM Interface.

Wie könnte ich, das am besten realisieren?
Gibt es schon intelligente IC’s auf dem Markt, die die beiden genannten 
Schnittstellen automatisch erkennen und sie jeweils entsprechend 
ausgeben können? Auf meiner bisherigen Suche war ich leider noch nicht 
erfolgreich.

Vielleicht könnt Ihr mir ja weiterhelfen, oder mir neue Anregungen zur 
Umsetzung vermitteln.

Schon mal vielen Dank 😊

Liebe Grüße
Max
In dem Zusammenhang ist PWM die "J1850" Fahrzeugdiagnose-Schnittstelle, 
nehme ich an.

LIN ist nicht gleich LIN. Du musst die RX-Frames des originalen 
LIN-Slave kennen, also ein LDF-File zum Original vorhandenen Bus haben. 
Dein originales LIN-Gerät hat für Diagnose eigene LIN-Diag-RX und 
LIN-Diag-TX Frame-IDs. Kennst du die?
Außerdem hat man LIN eher nicht als Diagnose-Schnittstelle zugänglich, 
bzw. Es ist so nicht vorgesehen. Es gibt in der ISO15031 für OBD 
vorgesehen PWM, VPW, CAN, usw... aber kein LIN! Technisch geht das 
natürlich, weil wer ISO-TP spricht, kann auch OBD und UDS drauf setzen. 
Aber wie gesagt, OBD über LIN steht nicht in der Norm...

Um das Problem richtig zu verstehen, du willst also dass die folgenden 4 
Modi unterstützt werden:

LIN-Master --> [DeinGerät] --> PWM-Gerät
PWM-Quelle --> [DeinGerät] --> LIN-Slave
LIN-Master --> [DeinGerät] --> LIN-Slave
PWM-Quelle --> [DeinGerät] --> PWM-Gerät

Automatisch erkennen dürfte Empfangsseitig nicht so schwierig werden. 
LIN läuft als NRZ mit Ruhepegel/Space KL30 bzw. KL15, Dominant/Mark KL31 
und immer 19.2kBaud, also 
52μsec(https://www.emotive.de/wiki/index.php?title=LIN).
Da gibts bei LIN Start-Of-Frame mit dem Break >13×T_Bit, dann das 
0x55-Sync-Byte, ein gut erkennbares Muster. PWM hingegen mit 64μsec < 
T_Bit < 128μsec geht da sehr gemächlich 
vor(https://www.emotive.de/wiki/index.php?title=SAE_J1850). Da würde dir 
der für LIN konfigurierte UART nur Gulasch liefern.

Automatisch erkennen auf Sendeseite wird da schon schhwieriger. Man 
könnte es mit try&error zuerst mit PWM versuchen, wenn keine Antwort 
kommt mit LIN.

mfg mf

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.