Automatsiche Schnittstellen Erkennung LIN/PWM

Gast #6506331
Lesenswert?
• ▲
▼
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
#6509656
Lesenswert?
• ▲
▼
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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.