Rekonstrukcja zdalnego sterowania: Różnice pomiędzy wersjami
m (→Bibliografia) |
m (→Programowanie) |
||
(Nie pokazano 4 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 40: | Linia 40: | ||
==Programowanie== | ==Programowanie== | ||
− | Programowanie urządzeń opartych o układy scalone serii MC14502x jest trywialne. System programowania jest całkowicie mechaniczny. Polega na zwarciu wyprowadzeń trzy-stanowych linii adresowych układów scalonych, odpowiednio w nadajniku i odbiorniku. Łączymy je z plusem zasilania, masą lub pozostawiamy niepodłączone (co oznacza ustawienie trzeciego stanu logicznego). Układ wyprowadzeń i kombinacja połączeń są takie | + | Programowanie urządzeń opartych o układy scalone serii MC14502x jest trywialne. System programowania jest całkowicie mechaniczny. Polega na zwarciu wyprowadzeń trzy-stanowych linii adresowych układów scalonych, odpowiednio w nadajniku i odbiorniku. Łączymy je z plusem zasilania, masą lub pozostawiamy niepodłączone (co oznacza ustawienie trzeciego stanu logicznego). Układ wyprowadzeń i kombinacja połączeń są takie same w nadajniku i odbiorniku. Kod jest stały. |
Potrzebny w nadajniku kod można sprawdzić bezpośrednio na płytce posiadanego odbiornika. Okazuje się, że w naszym wypadku (moduł UD71466) nawet nie ma potrzeby aby go rozmontowywać. Z tyłu obudowy modułu jest umieszczona klapka, pod którą są dostępne pola kontaktowe do programowania układu. Jest 9 pól kontaktowych, które można połączyć ze ścieżkami plusa zasilania (+V), masy (0V) (oznaczone na płytce) lub nigdzie nie podłączać. Dziewięć trzy-stanowych bitów daje w rezultacie ponad 19000 kombinacji. | Potrzebny w nadajniku kod można sprawdzić bezpośrednio na płytce posiadanego odbiornika. Okazuje się, że w naszym wypadku (moduł UD71466) nawet nie ma potrzeby aby go rozmontowywać. Z tyłu obudowy modułu jest umieszczona klapka, pod którą są dostępne pola kontaktowe do programowania układu. Jest 9 pól kontaktowych, które można połączyć ze ścieżkami plusa zasilania (+V), masy (0V) (oznaczone na płytce) lub nigdzie nie podłączać. Dziewięć trzy-stanowych bitów daje w rezultacie ponad 19000 kombinacji. | ||
Linia 53: | Linia 53: | ||
Układy scalone MC14502x nie mają zdefiniowanej standardowej prędkości transmisji danych. Kod z nadajnika do odbiornika może być przesyłany szybciej lub wolniej, zależnie od preferencji konstruktora urządzenia. Prawdopodobnie jest to uznawane za element systemu zabezpieczeń i ma utrudniać rozpoznanie podsłuchanego podczas przesyłania kodu. | Układy scalone MC14502x nie mają zdefiniowanej standardowej prędkości transmisji danych. Kod z nadajnika do odbiornika może być przesyłany szybciej lub wolniej, zależnie od preferencji konstruktora urządzenia. Prawdopodobnie jest to uznawane za element systemu zabezpieczeń i ma utrudniać rozpoznanie podsłuchanego podczas przesyłania kodu. | ||
− | Mając do dyspozycji odbiornik można jednak określić oczekiwaną prędkość transmisji danych. Dokładnie chodzi o znalezienie prawidłowej wewnętrznej częstotliwości pracy (ang. | + | Mając do dyspozycji odbiornik można jednak określić oczekiwaną prędkość transmisji danych. Dokładnie chodzi o znalezienie prawidłowej wewnętrznej częstotliwości pracy (ang. „internal oscillator frequency” f<sub>osc</sub>) układu nadajnika MC145026 i dobranie prawidłowych parametrów odpowiednich elementów elektronicznych (R<sub>TC</sub>, C<sub>TC</sub> i R<sub>S</sub>). |
Niezbędne zależności matematyczne pomiędzy wartościami elementów elektronicznych odbiornika i nadajnika są opisane w [2]. | Niezbędne zależności matematyczne pomiędzy wartościami elementów elektronicznych odbiornika i nadajnika są opisane w [2]. | ||
W module, który autor miał do dyspozycji, częstotliwość pracy wewnętrznego generatora była już poza tabelą „Przykładowych wartości R/C” („Example R/C Values”), którą umieszczono w instrukcji [2]. Pomimo to, była to wartość przewidywalna, tzn. tworzyła spójny ciąg z opublikowanymi w tabeli danymi. Dotyczy to zarówno częstotliwości generatora, jak i parametrów elementów elektronicznych. | W module, który autor miał do dyspozycji, częstotliwość pracy wewnętrznego generatora była już poza tabelą „Przykładowych wartości R/C” („Example R/C Values”), którą umieszczono w instrukcji [2]. Pomimo to, była to wartość przewidywalna, tzn. tworzyła spójny ciąg z opublikowanymi w tabeli danymi. Dotyczy to zarówno częstotliwości generatora, jak i parametrów elementów elektronicznych. | ||
− | W instrukcji [2] wspomniano również, że wewnętrzne częstotliwości pracy w odbiorniku i nadajniku muszą sobie odpowiadać z bardzo dużą precyzją. Jednak wymagana tolerancja elementów elektronicznych (kondensatory i rezystory) wynosi 5%. Dzięki temu można w konstrukcji nadajnika użyć np. kondensatora o pojemności | + | W instrukcji [2] wspomniano również, że wewnętrzne częstotliwości pracy w odbiorniku i nadajniku muszą sobie odpowiadać z bardzo dużą precyzją. Jednak wymagana tolerancja elementów elektronicznych (kondensatory i rezystory) wynosi 5%. Dzięki temu można w konstrukcji nadajnika użyć np. kondensatora o troszkę mniejszej pojemności niż wynikało z obliczeń, i nie ma to specjalnego wpływu na pracę urządzenia. Ważne, aby nie naciągać określonych przez producenta granic zbyt bardzo. |
==Częstotliwość pracy== | ==Częstotliwość pracy== |
Aktualna wersja na dzień 17:24, 25 lip 2022
Spis treści
Wstęp
Zdarza się, że jakieś urządzenia działają latami. Do czasu. Wtedy okazuje się, że do pełnej funkcjonalności czegoś im brakuje.
Dobrym przykładem mogą być stare samochody. Ludzie je kupują, jeżdżą nimi, używają na co dzień. Samochody te zachowują się poprawnie. Nie sprawiają większych problemów. Po jakimś czasie jednak zdarza się, że nieoczekiwanie odmawiają współpracy. Np. same się zamykają i/lub nie dają się uruchomić. Po sprawdzeniu typowych przyczyn usterek ich właścicielom zaczyna świtać myśl: Czy ten samochód ma immobilizer?
Często ma. Tylko dopóki był wyłączony, i działał, nikt sobie z tego nie zdawał sprawy. Samochody, określane jako „egzotyczne” były wyposażane w takie urządzenie przez producentów częstokroć już w połowie lat osiemdziesiątych.
Pominiemy sam problem immobilizera – elektronicznego modułu sterującego. W skrócie tylko napiszę, że zwykle moduł jest wyposażony we własne zasilnie bateryjne podtrzymujące jego pamięć w wypadku braku zewnętrznego zasilania – co zdarza się np. z powodu wymiany akumulatora w samochodzie. Po 15...20 latach baterie w modułach sterujących definitywnie przestają działać.
Najczęstszym objawem jest to, że immobilizer, który zawsze był wyłączony, przy okazji prowadzenia innych prac naprawczo-obsługowych, nagle sam się włącza. Skutkuje to oczywiście niemożnością uruchomienia samochodu.
Powstaje pytanie: „Jak wyłączyć immobilizer?”. Odpowiedz nie jest prosta. Bardzo często immobilizer da się wyłączyć tylko przy pomocy pilota zdalnego sterowania. Pilota, którego nie ma. Nigdy nie był potrzebny i nawet poprzedni właściciel nie zdawał sobie sprawy, że samochód powinien być w niego wyposażony.
Dlaczego? Urządzenia takie, przed 30 laty, były dość luksusowe. Pilot był często zamknięty hermetycznie i działał tak długo, jak długo działała jego bateria. Czasem 4 lata, a czasem nawet ponad 8 lat. Często było to nierozbieralne urządzenie i należało pilota wymienić na nowego. Niestety było to drogie urządzenie, dostępne wyłącznie w sieci dealerskiej i, w sumie, mało potrzebne. Rzadko kiedy było ponownie zamawiane.
W wielu samochodach immobilizer da się włączyć i wyłączyć wyłącznie za pomocą pilota, w odróżnieniu od alarmu, który często był sterowny zwykłym kluczykiem i układem centralnego zamka.
Rozbrojenie (odłączenie) immobilizera lub zastąpienie go innym urządzeniem jest dość uciążliwe. Jest jednak inna możliwość – dorobienie pilota. I taką sytuacją zajmiemy się w niniejszym artykule.
Aby cokolwiek zrobić, niezbędne jest oczywiście zaopatrzenie się w instrukcję od samochodu dostarczaną przez producenta. Np. ważnym źródłem informacji mogą być publikacje mające na celu zaznajomienie mechaników z nowymi modelami samochodów - takie w stylu „New cars features”, jak np. [1].
Identyfikacja
Identyfikacja elektronicznego modułu odbiornika zdalnego sterowania, w omawianym przypadku, nie była trudna. Trudno było go nie znaleźć – rzucał się w oczy - i był dobrze opisany ogromną czcionką. W końcu gdy go montowano, stanowił prawdziwą innowację i był powodem do dumy.
Po otwarciu obudowy identyfikacja zastosowanego systemu też jest łatwa. Przyglądamy się układom scalonym. Jest ich tylko kilka i prawie od razu można dostrzec coś nietypowego: układ MC145028. Czyli specjalizowany dekoder. Rzut oka do internetu umożliwia pozyskanie instrukcji [2] – opisu układu scalonego zarówno dekodera, jak i pasującego do niego kodera MC145026.
Pilot (nadajnik)
Jednym z głównych problemów jaki należy pokonać, jest wiek omawianego rozwiązania technicznego. Układy scalone serii MC14502x wprowadzono na rynek ponad 30 lat temu. Nawet jeżeli te układy nadal są dostępne w handlu, to nie da się już kupić gotowych pilotów / nadajników / sterowników pracujących w tym systemie. Można próbować pytać o nie w firmach istniejących od lat dziewięćdziesiątych, zajmujących się techniką alarmów lub zdalnie sterowanymi bramami. Bardzo możliwe, że poszukiwany pilot będzie leżał sobie gdzieś na półce. Może się jednak okazać, że pilota będzie trzeba wykonać samemu lub chociaż samodzielnie złożyć.
Pilot opisywany w tym artykule został nabyty przez autora w sklepie elektronicznym jako zestaw do samodzielnego montażu, który został wyprodukowany krótko po roku 2000.
Inną możliwością jest zdobycie jakiegokolwiek używanego pilota, którego konstrukcja jest oparta o układ MC14026. Przeprogramowanie lub dostosowanie takiego urządzenia do własnych potrzeb nie jest aż tak bardzo trudne, ale doświadczenie elektroniczne będzie konieczne.
Programowanie
Programowanie urządzeń opartych o układy scalone serii MC14502x jest trywialne. System programowania jest całkowicie mechaniczny. Polega na zwarciu wyprowadzeń trzy-stanowych linii adresowych układów scalonych, odpowiednio w nadajniku i odbiorniku. Łączymy je z plusem zasilania, masą lub pozostawiamy niepodłączone (co oznacza ustawienie trzeciego stanu logicznego). Układ wyprowadzeń i kombinacja połączeń są takie same w nadajniku i odbiorniku. Kod jest stały.
Potrzebny w nadajniku kod można sprawdzić bezpośrednio na płytce posiadanego odbiornika. Okazuje się, że w naszym wypadku (moduł UD71466) nawet nie ma potrzeby aby go rozmontowywać. Z tyłu obudowy modułu jest umieszczona klapka, pod którą są dostępne pola kontaktowe do programowania układu. Jest 9 pól kontaktowych, które można połączyć ze ścieżkami plusa zasilania (+V), masy (0V) (oznaczone na płytce) lub nigdzie nie podłączać. Dziewięć trzy-stanowych bitów daje w rezultacie ponad 19000 kombinacji.
Pewną ciekawostką jest fakt, że producent samochodu w [1] informuje o możliwości uzyskania tylko 13000 kombinacji. Prawdopodobnie konstrukcja mechaniczna (układ ścieżek) oryginalnego nadajnika wykluczała niektóre połączenia pól kontaktowych. Można zwrócić uwagę, że nadajnik (MC145026) ma wszystkie linie adresowe trzy-stanowe. Natomiast w odbiornikach tak być nie musi. Zastosowany w posiadanym module układ dekodera MC145028 też posiada dziewięć trój-stanowych linii adresowych, tak jak układ nadajnika. W odróżnieniu od tych układów, przedstawiony na poniższym schemacie układ MC145027, dysponuje tylko pięcioma liniami adresowymi. Pozostałe cztery linie stanowią równoległe wyjście przesyłanego, cyfrowego sygnału.
Parametry transmisji danych
Układy scalone MC14502x nie mają zdefiniowanej standardowej prędkości transmisji danych. Kod z nadajnika do odbiornika może być przesyłany szybciej lub wolniej, zależnie od preferencji konstruktora urządzenia. Prawdopodobnie jest to uznawane za element systemu zabezpieczeń i ma utrudniać rozpoznanie podsłuchanego podczas przesyłania kodu.
Mając do dyspozycji odbiornik można jednak określić oczekiwaną prędkość transmisji danych. Dokładnie chodzi o znalezienie prawidłowej wewnętrznej częstotliwości pracy (ang. „internal oscillator frequency” fosc) układu nadajnika MC145026 i dobranie prawidłowych parametrów odpowiednich elementów elektronicznych (RTC, CTC i RS). Niezbędne zależności matematyczne pomiędzy wartościami elementów elektronicznych odbiornika i nadajnika są opisane w [2].
W module, który autor miał do dyspozycji, częstotliwość pracy wewnętrznego generatora była już poza tabelą „Przykładowych wartości R/C” („Example R/C Values”), którą umieszczono w instrukcji [2]. Pomimo to, była to wartość przewidywalna, tzn. tworzyła spójny ciąg z opublikowanymi w tabeli danymi. Dotyczy to zarówno częstotliwości generatora, jak i parametrów elementów elektronicznych.
W instrukcji [2] wspomniano również, że wewnętrzne częstotliwości pracy w odbiorniku i nadajniku muszą sobie odpowiadać z bardzo dużą precyzją. Jednak wymagana tolerancja elementów elektronicznych (kondensatory i rezystory) wynosi 5%. Dzięki temu można w konstrukcji nadajnika użyć np. kondensatora o troszkę mniejszej pojemności niż wynikało z obliczeń, i nie ma to specjalnego wpływu na pracę urządzenia. Ważne, aby nie naciągać określonych przez producenta granic zbyt bardzo.
Częstotliwość pracy
Innym problemem może być częstotliwość radiowa pracy systemu. Urządzenia oparte o układy MC14502x mogą pracować z różnymi obwodami i częstotliwościami radiowymi, a także z układami IR lub ultradźwiękowymi (ale to zupełnie inne zagadnienie). Najbardziej popularne częstotliwości radiowe wykorzystywane w technice alarmowej na przełomie lat osiemdziesiątych i dziewięćdziesiątych XX w. to 360MHz lub 433MHz.
W samochodzie w którym zamontowano rozpatrywane urządzenie, zastosowano jednak relatywnie egzotyczną częstotliwość 418MHz.
Zazwyczaj nadajniki, czy też piloty z tej epoki mają bardzo proste układy radiowe. Często jest to jedno-tranzystorowy obwód typu LC z mechanicznym kondensatorem nastawnym. Wydaje się, że większość nadajników wykorzystujących częstotliwość 433MHz może być przestrojona na żądaną częstotliwość 418MHz przy pomocy wbudowanego trymera, bez żadnych dodatkowych modyfikacji.
Nadajnik, który stał się kanwą do powstania tego artykułu, akurat oryginalnie pracował z częstotliwością 360MHz, co wymagało niedużej modyfikacji jego obwodu LC. Do zmiany lub pomiaru radiowej częstotliwości pracy nadajnika niezbędne jest urządzenie zwane licznikiem częstotliwości (z jęz. ang. „frequency counter”) lub podobne.
Bezpieczeństwo
Można dyskutować, czy to rozwiązanie, oparte na trzydziestoletnich układach scalonych nadal jest bezpieczne.
Kanon wiedzy o bezpieczeństwie podpowiada, że nie. Jest to relatywnie łatwe do podsłuchania rozwiązanie. W końcu, w latach dziewięćdziesiątych XX w., z jakiś przyczyn zaczęto stosować systemy przesyłające jednorazowe, szyfrowane kody, jak np. stosowany do dziś „Keeloq”.
Z drugiej strony, rozwiązanie jest tak archaiczne, że nie jest wspierane nawet przez aktualnie produkowane piloty samokopiujące. Na rynku nie udało się trafić na pilota samokopiującego, czy też klonującego, który chciałby działać z tym systemem.
Tak długo, jak ew. przestępca nie dysponuje uniwersalnym urządzeniem odbiorczo-nadawczym, dokładnie powtarzającym odebraną transmisję z dużą rozdzielczością, rozwiązanie można uznać za bezpieczne. Nawet bezpieczniejsze niż współczesne systemy zdalnego sterowania ze stałym kodem, nadal stosowane w wielu tańszych urządzeniach.
Niezależnie od tego, czy auto wyposażono w dodatkowe systemy zabezpieczeń, fabryczna instalacja musi pozostać sprawna, aby z samochodu dało się korzystać.
Wnioski
Dorobiony pilot działa pewnie i skutecznie.
Jednak planując takie prace, przede wszystkim trzeba brać pod uwagę koszty.
W opisywanym przypadku cała instalacja samochodu, zarówno odbiornik jak i immobilizer, była zasadniczo sprawna. Gdyby tak nie było, niewątpliwie dostosowanie nowego, współczesnego odbiornika, a może nawet całego systemu immobilizera, komunikującego się z pilotem przy pomocy szyfrowanej transmisji danych, było by i prostsze i tańsze i, zapewne, bezpieczniejsze niż dorabianie nowego pilota do starego systemu.
Z drugiej strony, czasem układ immobilizera jest tak skomplikowany, że odtworzenie oryginalnej instalacji może być najpewniejszym rozwiązaniem zapewniającym pełną funkcjonalność pojazdu.
Bibliografia
[1] „Introduction to Rolls-Royce and Bentley Motor Cars from VIN 30001. Major Changes”, Rolls Royce Motor Cars Limited, 1989.
[2] „MC145026, MC145027, MC145028. Technical data, Rev. 4”, MC145026/D, Rev. 4, 1/2005, Freescale Semiconductor, Inc, 2005.
Tekst przygotował: dr inż. Szymon Dowkontt
Jeżeli nie zaznaczono inaczej, zdjęcia autora.