Lesen Sie viele Spezifikationen und kann immer noch nicht eine einfache Sache bekommen.Automotive: Wie sagt ECU ein CAN-Frame ist ein Teil des UDS-Protokolls?
Alle UDS-Anfragen sind in ISO-TP-Pakete eingekapselt, die in einfache CAN-Frames gekapselt sind, so dass ECU ständig einen Datenstrom von Frames vom CAN-Bus empfängt.
Wie entscheidet ECU, dass dieser CAN-Rahmen Teil eines High-Level-Protokolls ist?
Zum Beispiel habe ich Sicherheitsanforderung an die ECU gesendet werden, können Datenrahmen wie diese
02 27 01
aussehen Wie ECU feststellen, dass dies nicht nur ein Teil der Daten ist aber ein Teil des Protokolls?
Ich konnte keine Beziehung zu ISO/OSI-Stack finden, wenn High-Level-Protokolle "sprechen miteinander" mit Headern, so dass wir wissen, wie Datenpakete zu entschlüsseln.
Also nach dem Filtern von CAN-Frame wissen wir, dass wir diesen Rahmen mit höherem Protokoll durch die Suche auf seiner ID interpretieren sollten und für OBD-II fand ich eine Liste von IDs in iso_15765-4 von 7DFh bis 7EFh (was relevant ist für was zu sagen), aber was ist die beste Praxis für UDS IDs? Werden alle Geräte mit uds-server auf die Tester-Present-Anfrage antworten? Ich habe gerade das Video überprüft, in dem ein Typ Geräte für die UDS-Unterstützung scannte, und nur OBD-ähnliche Adressen antworteten https://www.youtube.com/watch?v=bqI_Usv77XU&feature=youtu.be. Ich frage mich, ob UDS zum Beispiel eine Anfrage an 666 Adresse senden kann? – Semant1ka
@ Semant1ka Ich habe keine bessere Lösung als das Scannen durch das Senden von Nachrichten, aber aus meiner Erfahrung, wann immer es eine CAN-ID gab, die UDS erwartete, habe ich es gefunden. Und ja, so ziemlich jede CAN-ID kann verwendet werden, um UDS-Pakete zu senden (ähnlich wie praktisch jeder TVP-Port für http verwendet werden kann) – MByD