SAE J1708
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/55/Implementacja_uk%C5%82adu_DS75176B_wed%C5%82ug_standardu_SAE_J1708_wy%C5%BCsza_rozdzielczo%C5%9B%C4%87.jpg/220px-Implementacja_uk%C5%82adu_DS75176B_wed%C5%82ug_standardu_SAE_J1708_wy%C5%BCsza_rozdzielczo%C5%9B%C4%87.jpg)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8c/Schemat_implementacji_SAE_J1708_z_optoizolacj%C4%85.jpg/220px-Schemat_implementacji_SAE_J1708_z_optoizolacj%C4%85.jpg)
SAE J1708 – standard szeregowej transmisji danych używany pomiędzy elektroniczną jednostką sterującą (ECU) oraz pomiędzy komputerem a pojazdem. W odniesieniu do modelu łączenia systemów otwartych (OSI), J1708 określa warstwę fizyczną. Protokołami, które operują w wyższych warstwach są SAE J1587 oraz SAE J1922. Protokół jest utrzymywany przez SAE International[1].
Standard SAE J1708 (Society of Automotive Engineers = Amerykańskie Stowarzyszenie Inżynierów Samochodowych) bazuje na elektrycznej charakterystyce standardu RS-485, który to jest standardem interfejsu transmisji szeregowej, który określa tylko charakterystyki elektryczne dla zrównoważonych wielopunktowych linii transmisyjnych. Kompletny standard interfejsu RS-485 określa parametry elektryczne, mechaniczne i funkcjonalne.
Natomiast SAE J1708 określa tylko charakterystykę funkcjonalną dla obwodów symetrycznych. SAE J1708 pod kątem parametrów technicznych jest zgodny z RS-485, ale z kilkoma modyfikacjami obwodów i definiuje rozwiązania sprzętowe.
Implementacja
Jeżeli w układach tych uaktywnimy odbiornik (/RE=Lo), to układ scalony podłączony do magistrali na której nie ma w aktywnego nadajnika, wystawi na wyjściu R stan Hi (tak samo zachowuje się odbiornik odpięty od magistrali lub ze zwartymi liniami A, B). Natomiast jeżeli uaktywnimy jakiś nadajnik (DE=Hi), a na jego wejściu D będzie panował stan Hi, to wyjście D nadal będzie w stanie Hi. Skoro odbiornik w ten sam sposób interpretuje „stan pasywny” magistrali oraz „nadawanie jedynki”, to wniosek jest prosty – jedynki nie musimy nadawać (wystarczy „odpiąć” się od magistrali). Aby nadać „zero” w tradycyjnej aplikacji robimy to wysterowywując DE=Hi oraz D=Lo. Więc wejście D na stałe podpinamy do Lo. Na wejście DE podajemy zanegowany sygnał danych. Efekt jest taki, że transmiter uaktywnia się tylko na czas wysyłania bitu danych o wartości „zero”. Nadajnik staje się nieaktywny natychmiast po wysłaniu ostatniego zerowego bitu danych. W skrajnym wypadku gdy transmitujemy bajt 0x00, nadajnik jest włączony tylko w czasie transmisji bitu startu. Mimo to wszystkie odbiorniki podpięte do magistrali prawidłowo zdekodują odbiór nadanego bajtu.
Przypisy
- ↑ Serial Data Communications Between Microcomputer Systems in Heavy-Duty Vehicle Applications. [dostęp 2017-07-24].
Bibliografia
- https://www.e-tronix.eu/40,RS-485-w-sterowniku-SU.html