Kabel jest czymś więcej niż tylko kabel, ma mikrokontrolera że uchwyty protokołu diagnostycznego samochodu.
Oprogramowanie na twoim komputerze komunikuje się z kablem za pomocą zastrzeżonego protokołu specyficznego dla producenta kabla, a sam kabel tłumaczy to na odpowiednik protokołu samochodu.
Zastanawiałem się, dlaczego nie możemy mieć jednego kabla dla wszystkich samochodów i obsługiwać protokół samochodu bezpośrednio na komputerze (kabel jest prostym konwerterem, który przekazuje ramki odebrane po stronie samochodu na stronę komputera i odwrotnie) , a oto odpowiedź, którą otrzymałem od Ross-Tech (programista VCDS):
„Głupia” sieć do konwertera K lub CAN nie jest praktycznym urządzeniem; protokoły diagnostyczne zbyt wymagają odpowiedzi w czasie rzeczywistym od urządzenia, które je przesłuchuje.
Najwyraźniej opóźnienie wywołane przesyłaniem pakietu CAN do komputera, przetwarzaniem tam i wracaniem jest zbyt duże, dlatego konieczne jest obsługiwanie protokołu samochodowego bezpośrednio na kablu.
Implementacja OBD-II jest prosta, a protokół ten jest standardowy i najprawdopodobniej otwarty. Wdrożenie protokołów specyficznych dla producenta jest trudne, ponieważ jest na ich temat bardzo mało dokumentacji, a jedynym sposobem na poznanie tego protokołu jest przebudowa oprogramowania wewnętrznego sterowników lub przechwycenie komunikacji między samochodem a oficjalnym urządzeniem diagnostycznym producenta. Jest to więc trudne, czasochłonne i kosztowne, aby zrobić to dla protokołu stosowanego przez każdego producenta, a następnie wdrożyć to wszystko bezpośrednio na mikrokontrolerze kabla.
Mimo to istnieją uniwersalne kable, są po prostu bardzo drogie (najprawdopodobniej z powodów, o których wspomniałem powyżej) i wątpię, aby miały wszystkie funkcje, które mają narzędzia specyficzne dla producenta (nie chodzi tylko o diagnostykę, kable, o których wspomniałeś może skonfigurować samochód, na przykład dodać nowe klucze lub dostosować asystenta kierowania ).