Wykorzystanie w systemie mikroprocesorowym systemu GPS do
Transkrypt
Wykorzystanie w systemie mikroprocesorowym systemu GPS do
POLITECHNIKA POZNAŃSKA Wydział Elektryczny Piotr Smela WYKORZYSTANIE W SYSTEMIE MIKROPROCESOROWYM SYSTEMU GPS DO WYZNACZANIA I PRZECHOWYWANIA WYBRANYCH PARAMETRÓW JAZDY W TRANSPORCIE SAMOCHODOWYM Praca magisterska Promotor: dr inŜ. Krzysztof Lange Poznań 2004 2 Składam serdeczne podziękowania mojemu promotorowi, dr inŜ. Krzysztofowi Lange, za Ŝyczliwość, uwagę, pomoc w zgromadzeniu materiałów oraz cenne wskazówki, które ułatwiły mi napisanie tej pracy. 3 Spis treści 1. Wstęp ...................................................................................................... 6 2. System tachograficzny .......................................................................... 8 2.1. Wiadomości ogólne .............................................................................................. 8 2.2. Opis systemu tachograficznego ........................................................................... 10 2.3. Wykresówka ......................................................................................................... 10 3. Globalny system pozycjonowania GPS ............................................... 13 3.1. Historia ................................................................................................................. 13 3.2. Elementy systemu NAVSTAR GPS ................................................................... 14 3.2.1. Segment kosmiczny ........................................................................................... 14 3.2.2. Segment nadzoru ................................................................................................ 15 3.2.3 Segment uŜytkowników ..................................................................................... 15 3.3. Zasada działania .................................................................................................. 16 3.4. Zastosowanie i uŜytkowanie ............................................................................... 18 3.5. Odbiornik GPS SQ Lassen firmy Trimble ........................................................ 18 3.6. Protokół komunikacyjny NMEA-0183 .............................................................. 3.7. Protokół komunikacyjny TSIP ........................................................................... 21 4. 20 Satelitarne systemy monitorowania pojazdów.................................... 23 4.1. Wiadomości ogólne ............................................................................................. 23 4.2 Satelitarny system monitorowania pojazdów LIBERTY GPS ...................... 25 4.3. Samochodowy system alarmowy z pozycjonowaniem GPS/GSM CARFINDER ...................................................................................................... 26 System kontroli dostępu DALLAS ...................................................... 27 5.1. Wiadomości ogólne ............................................................................................. 27 5.2 Opis protokołu 1-Wire ........................................................................................ 27 5.3. Kontroler dostępu z magistralą 1-Wire – Układ DS1993 ................................ 31 5. 4 5.4. Sprawdzanie poprawności przesyłanych danych (wyznaczenie CRC) .......... 36 5.4.1. Wiadomości ogólne ........................................................................................... 36 5.4.2. Kodowanie i dekodowanie wielomianowe w układach z magistralą 1-Wire .... 39 6. Opis tachografu elektronicznego – część elektroniczna ..................... 43 6.1. Opis ogólny ............................................................................................................ 43 6.2. Budowa .................................................................................................................. 44 6.2.1. Blok systemu mikroprocesorowego .................................................................... 44 6.2.2. Blok czujników obecności napięcia .................................................................... 47 6.2.3. Blok pamięci EEPROM ...................................................................................... 47 6.2.4. Blok wzmacniacza sygnału binarnego ................................................................ 53 6.2.5. Blok pamięci pastylkowej ................................................................................... 54 6.2.6. Zasilacz ............................................................................................................... 54 6.3. Zasada działania ................................................................................................... 55 6.4. Uwagi końcowe ..................................................................................................... 64 6.5. Obudowa i wyprowadzenia zewnętrzne ............................................................. 66 7. Opis tachografu elektronicznego – część programowa ...................... 70 7.1. Opis ogólny ........................................................................................................... 70 7.2. Program Obsługi Tachografu Elektronicznego (POTE) ................................. 71 7.2.1. Interfejs uŜytkownika ......................................................................................... 71 7.2.2. Obsługa programu .............................................................................................. 74 7.3. Komputerowa mapa samochodowa Europy – Microsoft AutoRoute 2002 .... 81 7.4. Komputerowa mapa samochodowa Polski – Nawigator Mapa Polski ........... 82 8. Badania terenowe .................................................................................. 84 9. Porównanie systemu tachografu mechanicznego i elektronicznego . 86 10. Zakończenie ........................................................................................... 11. Literatura ............................................................................................... 90 12. Dodatki ................................................................................................... 91 89 Dodatek A ............................................................................................................. 91 Dodatek B ............................................................................................................. 94 Dodatek C ............................................................................................................. 96 5 1. Wstęp Współcześnie jesteśmy świadkami gwałtownie rozwijającego się rynku usług transportowych świadczonych przez róŜne firmy wykorzystujące głównie cięŜki transport samochodowy jak i autobusowy. Zgodnie z prawem kaŜdy pojazd o dopuszczalnej masie powyŜej 3,5 tony lub przystosowany do przewozu więcej niŜ 9 osób, powinien być wyposaŜony w tachograf, czyli przyrząd kontrolny przeznaczony do wskazywania i automatycznego rejestrowania danych dotyczących ruchu pojazdu oraz okresów pracy ich kierowców. Obecnie najpowszechniej stosowane są tachografy mechaniczne mające niewątpliwie szereg zalet jednak pozbawione są one przede wszystkim moŜliwości rejestracji pozycji pojazdu w trakcie pomiaru. Ponadto samo urządzenie będące układem mechanicznym daje łatwą moŜliwość świadomej ingerencji w ustrój pomiarowy oraz cechuje się ograniczoną dokładnością wskazań. Proponowane w pracy urządzenie jest uzupełnieniem istniejących obecnie rozwiązań oraz ich dalszym rozwinięciem. Układ będący całkowicie urządzeniem elektronicznym jest niezaleŜny od układu napędowego pojazdu, gdyŜ źródłem danych jest system NAVSTAR GPS. Elektroniczny rejestrator zapisuje w pamięci dane dotyczące trasy jaką pokonuje monitorowany pojazd. Dane te zawierają informację o połoŜeniu pojazdu (współrzędne geograficzne) oraz parametry jazdy (np. data i godzina zapisu, prędkość pojazdu, przebyty dystans). Dane zapisane w tachografie moŜna odczytać, a następnie poddawać obróbce tylko za pomocą specjalnego oprogramowania zainstalowanego na przenośnego komputerze klasy PC naleŜącym do uprawnionej osoby. UmoŜliwia to nałoŜenie danych na komputerową mapę oraz przeprowadzenie pełnej analizy przejechanej trasy. Uzyskuje się w ten sposób pełną informację co działo się z pojazdem w kaŜdym zarejestrowanym w rejestratorze punkcie trasy. MoŜna w ten sposób znaleźć wszystkie momenty zatrzymań i postojów, obliczyć czas jazdy i postoju, ustalić gdzie pojazd był o wskazanej dacie i godzinie. Ponadto cały układ elektroniczny wraz z oprogramowaniem jak i pojazd został zabezpieczony przed niepowołanym dostępem osób trzecich przy pomocy specjalnych kluczy 6 elektronicznych zawierających niepowtarzalny 64-bitowy kod. Tylko osoba z odpowiednim kodem będzie w stanie uruchomić pojazd lub odczytać dane z rejestratora. Dodatkowo przewidziano ograniczony dostęp do danych dla osób urzędowo zajmujących się przestrzeganiem prawa na szlakach komunikacyjnych takich jak Policja czy teŜ Inspekcja Transportu Samochodowego. Osoby te będą miały tylko wgląd do danych, które są interesujące z ich punktu widzenia (tzn. np. czas jazdy i odpoczynku, zaś brak dostępu do informacji o trasie przejazdu). 7 2. System tachograficzny 2.1. Wiadomości ogólne Tachografy są to przyrządy słuŜące do rejestracji prędkości w funkcji czasu (tachografy eksploatacyjne) lub w funkcji przebytej drogi (tachografy wypadkowe). Stosowane są głównie w samochodach cięŜarowych i autobusach dla sporządzenia dokumentacji sposobu jazdy. Niektóre tachografy mogą równieŜ rejestrować jeszcze inne parametry eksploatacyjne jak: naciśnięcie pedału hamulca, tankowanie paliwa, zmiana kierowców, przekroczenie prędkości maksymalnej, zmiany przełoŜeń skrzyni przekładniowej itp. [2]. Do głównych zespołów tachografu naleŜą [2]: • układy pomiarowe, • wskaźniki i mechanizmy zapisujące, • mechanizm czasowy napędzający tarczę pomiarową, • układy pomocnicze. Tachografy wypadkowe słuŜą do zapisu prędkości w funkcji przebytej drogi. Cechą charakterystyczną rejestratora tachografów wypadkowych jest moŜliwość dokonania wielokrotnej rejestracji na tej samej tarczy po uprzednim samoczynnym zatarciu istniejącego tam zapisu. Takie rozwiązanie pozwala na otrzymanie w kaŜdej chwili zapisu prędkości w funkcji przebytej drogi obejmującej odcinek ostatnich kilkuset metrów. Tachografy wypadkowe mają większą prędkość obrotową tarczy rejestratora niŜ tachografy eksploatacyjne co zapewnia dokładną analizę ruchu pojazdu, ma to istotne znaczenie przy ustalaniu przyczyn wypadku [2]. Tachograf eksploatacyjny róŜni się od tachografu wypadkowego odmiennym sposobem rejestracji prędkości. W tachografie eksploatacyjnym ostrze pisaka pozostawia trwały ślad na pokrytej łatwo zeskrobującą się farbą powierzchni tarczy papierowej obracanej przez mechanizm zegarowy np. 1 obrót na 24 godziny. Rejestratory tarczowe stosowane często w tachografach eksploatacyjnych charakteryzują się zwartą budową i łatwym do 8 przechowywania zapisem w postaci tarczy papierowej. Wadą tego zapisu jest ograniczana pojemność co skłania do stosowania rejestratorów taśmowych [2]. Tachograf składa się z następujących podzespołów [2]: • Miernik prędkości – słuŜący do pomiaru i wskazywania chwilowej prędkości pojazdu. Działa on na zasadzie współdziałania pola magnetycznego wirującego magnesu trwałego z polem magnetycznym wytworzonym przez prądy wirowe indukowane przez pole tego samego magnesu w czaszy aluminiowej. Wychylenie wskazówki połączonej z czaszą aluminiową jest proporcjonalne do prędkości kątowej wałka magnesu, a więc i prędkości pojazdu. • Drogomierz nieskalowany – mierzy drogę przebytą od początku eksploatacji. Napędzany jest on od wałka napędowego magnesu przez przekładnię zębatą. • Zegar – słuŜy do wskazywania czasu i napędzania tarcz rejestracyjnych. Mechanizm zegara napędzany jest za pomocą spręŜyny. • Mechanizmy rejestrujące słuŜą do zapisywania prędkości pojazdu, długości drogi przebywanej przez pojazd, zmiany kierowców, zamykania i otwierania tachografu. Na podstawie zapisu prędkości chwilowej oraz drogi odczytuje się chwilę rozpoczęcia i zakończenia jazdy oraz czas jazdy i postoju. Zapisy są wykowywane za pomocą pisaków zakończonych rysikami na tarczach rejestracyjnych wykonywanych z papieru indykatorowego. • Urządzenie sygnalizujące przekroczenie prędkości, słuŜy do sygnalizowania za pomocą światła sygnalizującego przekroczenia prędkości dozwolonej dla danego pojazdu której wartość moŜna ustalić w zakresie od 30 do 120 km/h. Na tarczy rejestracyjnej tachografu wykonywane są następujące podziałki [2]: • Podziałka czasu, którą tworzą kreski rozmieszczone na dwóch okręgach. Zakres pomiarowy podziałki czasu wynosi 24 godziny. Wartość działki elementarnej wynosi 5 minut. • Podziałka drogi przebywanej przez pojazd. Wartość elementarnej podziałki drogi wynosi 0.1 km. • Podziałka prędkości. Wartość elementarnej podziałki wynosi 5 km/h. Do odczytywania zapisów wykonanych na tarczy rejestracyjnej naleŜy posługiwać się specjalnym czytnikiem, który wchodzi w skład wyposaŜenia tachografu [2]. 9 2.2. Opis systemu tachograficznego W skład systemu tachograficznego wchodzą następujące elementy (rys. 1) [15]: • Przetwornik drogi i prędkości – przetwornik jest elementem montowanym na skrzyni biegów pojazdu, zamienia on ruch obrotowy kół na impulsy elektryczne stanowiące informacje o parametrach osiąganych przez pojazd. W zaleŜności od typu pojazdu stosowane są przetworniki hallotronowe bądź indukcyjne. • Specjalne przewody łączące przetwornik z tachografem oraz kable zasilające. • Tachograf wraz papierową tarczą słuŜącą do zapisu, czyli wykresówką. Rys. 1. System tachograficzny [15] 2.3. Wykresówka Wykresówka jest to karta przeznaczona do zapisywania i przechowywania danych dotyczących ruchu pojazdów samochodowych, wkładana do przyrządu kontrolnego który zapisuje na niej w sposób ciągły informacje podlegające rejestracji [15]. 10 Widok strony przedniej wykresówki przedstawia rysunek 2. Na krąŜku moŜemy wyróŜnić następujące obszary przeznaczone do zapisu danych: • pole z zapisem prędkości chwilowej (1), • pole z zapisem pracy (2), • pole z zapisem przebytej odległości (3). Ponadto wyróŜniamy pole ze skalą czasu (4) oraz pola zapisów ręcznych (5). Interpretacja danych zapisanych na wykresówce jest następująca: • W polu odczytu prędkości chwilowej znajduje się wykres prędkości w funkcji czasu z rozdzielczością 1 minuty. Na skali czasu jesteśmy w stanie stwierdzić dokładną godzinę i minutę rejestrowanego zdarzenia. Rys. 2. Wykresówka - strona przednia • W polu z zapisem pracy znajdują się zapisy o następującym znaczeniu (rys. 3): o przerwa w pracy lub odpoczynek (1), o czas gotowości od pracy (2), o inne okresy pracy (3), o okres prowadzenia pojazdu (4). 11 • W polu z zapisem przebytej odległości (rys. 3) znajduje się wykres który interpretuje się następująco: KaŜde przejście linii (łamanej - jazda z zatrzymaniem) lub (zakrzywionej - ciągła jazda) pomiędzy dwoma skrajnymi obrzeŜami okręgu jest interpretowane jako pokonanie przez pojazd dystansu równego 5 km. Rys. 3. Wycinek wykresówki – pole z zapisem pracy i przebytej odległości [5] W polu zapisów odręcznych kierowca wypełnia pola zgodnie z opisem czyli [15]: • imię i nazwisko kierowcy, • miejsce rozpoczęcia i zakończenia uŜywania wykresówki, • data rozpoczęcia i zakończenia uŜywania wykresówki, • numer rejestracyjny pojazdu, • wskazanie licznika długości drogi przed i po uŜyciu wykresówki, • długość drogi przebytej podczas uŜywania wykresówki liczona jako róŜnica długości drogi przed i po uŜyciu. Inne rejestrowane informacje to: przerwa w zasilaniu, otwarcie tachografu, awaria przetwornika drogi i prędkości [15]. 12 3. Globalny system pozycjonowania GPS 3.1. Historia Od najdawniejszych czasów jednym z fundamentalnych problemów, przed którymi stawał człowiek, był problem lokalizacji. Powstawało wiele metod, słuŜących do wyznaczania pozycji. Nawigacja, kartografia, geodezja, opierają się na udzielaniu odpowiedzi na pytania: gdzie jestem? Jak daleko jestem od celu? Jaka jest odległość pomiędzy pewnymi punktami? Globalny System Pozycjonowania (ang. Global Positioning System - GPS) jest jak dotąd najpełniejszym rozwiązaniem tych problemów. Za początek powstania satelitarnego systemu nawigacji moŜna przyjąć datę 4 października 1957 r., kiedy to wprowadzono na orbitę pierwszego sztucznego satelitę Ziemi – Sputnika 1. W laboratorium Fizyki Stosowanej Uniwersytetu Johnsa Hopkinsa w Baltimore prowadzono nasłuch transmisji nadawanych na częstotliwości 20MHz, z zamiarem rozkodowania sygnałów telemetrycznych nadawanych z satelity. ZauwaŜono szczególne własności sygnału (częstotliwości) satelity względem miejsca z którego prowadzenia nasłuch które były wynikiem efektu Dopplera. Ustalono Ŝe „wrogi” satelita nie emituje Ŝadnych danych telemetrycznych a jedynie prosty sygnał rozpoznawczy, skupiono się więc na pomiarze odchyleń częstotliwości sygnału i obliczeniu na ich podstawie głównych parametrów lotu [4]. W latach 1958 – 1962 stworzono system TRANSIT protoplastę systemu NAVSTAR GPS który przez 35 lat był uŜywany do dokładnej i niezaleŜnej od pogody nawigacji morskiej. System takŜe wykorzystywano w zastosowaniach cywilnych takich jak geodezja oraz jako wzorzec czasu. Wadą systemu był stosunkowo długi czas obserwacji i pomiaru potrzebny do wyznaczenia pozycji (średnio 4 godziny obserwacji i 6 – 18 minut pomiaru) [4]. RównieŜ w byłym ZSRR powstały podobne projekty głównie w zastosowaniu militarnym a zbliŜone koncepcyjnie do systemu TRANSIT: wojskowy Cykada–M (6 satelitów) i cywilny Cykada (4 satelity) [4]. Projekt TIMATION, od 1973 r. połączony z projektem systemu USAF 621B, dał początek projektowi DNSS (ang. Defense Navigation Satellite System). W maju 1973r. 13 marynarka USA umieściła pierwszego satelitę serii TIMATION. Trzeci satelita DNSS był prototypem systemu NAVSTAR GPS. 3.2. Elementy systemu NAVSTAR GPS (ang. NAVigation, Timing and Ranging Global Positioning System). W skład GPS wchodzą trzy główne segmenty: • segment kosmiczny, • segment nadzoru, • segment uŜytkowników. 3.2.1. Segment kosmiczny Segment kosmiczny GPS składa się z 24 satelitów, w tym 3 aktywnych satelitów zapasowych (rys. 4). W praktyce, ilość dostępnych satelitów przekracza zazwyczaj tą liczbę. Satelity rozmieszczone są na sześciu orbitach kołowych, po cztery na kaŜdej, na wysokości około 20200 km. Płaszczyzny orbit nachylone są pod kątem 55 stopni do równika. Czas obiegu orbity jest równy połowie doby gwiazdowej i wynosi trochę mniej niŜ 12 godzin (11h57m27s). Ponad dwa obiegi orbity wykonywane przez satelitę w ciągu jednej doby zostały wprowadzone celowo tak aby w dłuŜszym przedziale czasu, konstelacja widocznych satelitów nad horyzontem nieustannie ulegała zmianie. Rys. 4. Satelita NAVSTAR GPS bloku II- widok ogólny [4] 14 Satelity rozmieszczone są tak, iŜ co najmniej 5 z nich powinno być widocznych z kaŜdego punktu Ziemi z prawdopodobieństwem 0.9996. Taka konfiguracja umoŜliwia, z małymi wyjątkami, wyznaczenie współrzędnych dowolnego miejsca na powierzchni Ziemi w dowolnym momencie doby. Na nielicznych i niewielkich obszarach wyznaczenie pozycji trójwymiarowej jest niemoŜliwe w okresie nie dłuŜszym niŜ około 20 minut w ciągu doby [4]. 3.2.2. Segment nadzoru Segment nadzoru składa się z Głównej Stacji Nadzoru (ang. MCS - Master Control Station) w Bazie Sił Powietrznych Falcon w Colorado Springs i stacji monitorujących na Hawajach, w Kwajalein, Diego Garcia i Ascesion (rys. 5). Wszystkie stacje monitorujące wyposaŜone są w anteny do łączności dwustronnej z satelitami. Stacje monitorujące biernie śledzą wszystkie widoczne satelity. Dane ze stacji monitorujących przesyłane są do MCS gdzie wyznaczane są efemerydy satelitów i parametry ich zegarów. MCS okresowo przesyła satelitom efemerydy i poprawki zegara w celu ich retransmisji w depeszy nawigacyjnej [4]. Rys. 5. Rozmieszczenie stacji segmentu kontrolnego [4] 3.2.3. Segment uŜytkowników Segment uŜytkowników składa się z róŜnorodnych wojskowych i cywilnych odbiorników GPS zaprojektowanych tak, by odbierać, dekodować i przetwarzać sygnały GPS (rys. 6). Są to odbiorniki samodzielnie funkcjonujące lub wbudowane w inne systemy. Zastosowania obejmują nawigację (powietrzną, morską, lądową), wyznaczanie pozycji, transfer czasu, pomiary geodezyjne i wiele innych. Ze względu na wielorakie zastosowania odbiorniki róŜnią się funkcjami i konstrukcją. Burzliwy rozwój techniki GPS stał się moŜliwy 15 dzięki rozwojowi mikroelektroniki i elektronicznej techniki obliczeniowej. Na początku lat osiemdziesiątych, urządzenia odbiorcze Globalnego Systemu Pozycyjnego waŜyły kilkanaście kilogramów i zajmowały objętość rzędu kilkuset litrów. Przełom nastąpił w momencie, gdy postęp w wytwarzaniu układów scalonych umoŜliwił wykorzystanie cyfrowych technik przetwarzania sygnału. We współczesnych odbiornikach układy analogowe wykorzystywane są jedynie w celu wzmocnienia sygnału. Dla potrzeb cyfrowego przetwarzania sygnału wykorzystuje się specjalizowane mikroukłady próbkujące sygnał z częstotliwością do kilkudziesięciu MHz. Pracę tych mikroukładów nadzorują procesory o bardzo duŜej szybkości przetwarzania danych. Regułą jest implementowanie w odbiornikach GPS oprogramowania wielozadaniowego pracującego w czasie rzeczywistym. Przełączanie zadań odbywa się z częstotliwością rzędu 1 kHz. Współczesne najmniejsze i najprostsze odbiorniki, przeznaczone dla potrzeb nawigacyjnych waŜą nie więcej niŜ kilkaset gram i mogą być trzymane w dłoni. Odbiorniki przetwarzają sygnały z satelity na trójwymiarowe współrzędne połoŜenia, prędkość, czas itp. Ilość, dokładność oraz postać prezentowanych danych zaleŜą od przeznaczenia i rodzaju odbiornika [12]. Rys. 6. Segment uŜytkowników [12] 3.3. Zasada działania KaŜdy satelita emituje dwa sygnały o częstotliwości L1 (1575,42 MHz) i L2 (1227,60 MHz). Sygnał L1 jest przetwarzany dwoma pseudo-przypadkowymi kodami zagłuszającymi: chronionym kodem P i ogólnie dostępnym kodem C/A. Sygnał L2 zawiera jedynie kod P. KaŜdy satelita wysyła inny kod, co ułatwia odbiornikom rozpoznanie, z którego satelity pochodzi dany sygnał [4]. Zasada działania systemu opiera się na pomiarze odległości pomiędzy satelitą, który porusza się po ściśle wyznaczonej orbicie a odbiornikiem. Znana odległość od satelity lokuje 16 odbiornik na sferze o promieniu równym zmierzonej odległości. Znana odległość od dwóch satelitów lokuje odbiornik na okręgu będącym przecięciem dwu sfer. Kiedy odbiornik zmierzy odległość od trzech satelitów, istnieją tylko dwa punkty, w których moŜe się on znajdować. Jeden z tych punktów moŜna wykluczyć jako znajdujący się zbyt wysoko lub poruszający się zbyt szybko i w ten sposób wyznaczyć własną pozycję (rys. 7). NaleŜy tylko poznać odległość od satelitów emitujących bardzo słabe sygnały (o mocy zbliŜonej do szumu tła) i to z centymetrową dokładnością. Dokonuje się tego poprzez pomiar czasu. KaŜdy z satelitów posiada cztery zegary atomowe, którymi synchronizuje wysyłany sygnał. Jedyne, co pozostaje gł0.295585(w)1.5748(s)-1.22997(t)-2.16558(a)3.74(j)-23.74(h)-10.32(y)19.7162 zmierzyć odbiornikowi, to opóźnienie sygy en p 38.7471.295585( 17 3.4. Zastosowanie i uŜytkowanie GPS w początkach swojego istnienia był systemem typowo wojskowym. Stworzony został na potrzeby armii Stanów Zjednoczonych, teraz uŜywany jest równieŜ przez siły zbrojne NATO. Początkowo uŜywany był do wyznaczania pozycji okrętów podwodnych a później takŜe do lokalizacji i innych obiektów głównie sprzętu wojskowego poruszającego się zarówno po wodzie jak i w powietrzu oraz na lądzie. Oczywiście umoŜliwia on jednostkom wojskowym precyzyjną nawigację w terenie, szczególnie podczas działań wojennych. Ma więc ogromne znaczenie we wszelkich działaniach logistycznych. W warunkach cywilnych najbardziej powszechnym zastosowaniem systemu GPS jest szeroko rozumiana nawigacja. Satelitarne nawigowanie stosowane jest w Ŝegludze, przede wszystkim po wodach morskich, tak w transporcie towarów czy rybołówstwie jak i w Ŝegludze turystycznej. Odbiornik GPS zainstalowany na statku pozwala nawigować jednostkę do wybranych punktów na wodzie (np. znaki nawigacyjne na szlakach Ŝeglugowych) czy teŜ na lądzie (porty). Kolejnym powszechnym zastosowaniem systemu GPS jest monitoring. Na całym świecie są juŜ wdroŜone systemy monitoringu pojazdów drogowych. Metoda satelitarnego monitorowania jest stosowana między innymi przez przedsiębiorstwa transportowo spedycyjne, firmy kurierskie, słuŜby publiczne (policja, straŜ miejska), przedsiębiorstwa komunikacji miejskiej, krajowej i międzynarodowej. System monitoringu pojazdu opiera się na wmontowanym w pojeździe odbiorniku sygnału GPS. Zgromadzone przez odbiornik dane są przesyłane i gromadzone w mikroprocesorowym sterowniku. W kaŜdej chwili osoba upowaŜniona moŜe odczytać wcześniej zapisane dane i zobrazować je na tle specjalnej mapy komputerowej. Tym sposobem jesteśmy wstanie prześledzić całą historię trasy pojazdu. Takie teŜ zastosowanie zostało przewidziane w opisywanej pracy magisterskiej. 3.5. Odbiornik GPS SQ Lassen firmy Trimble. Odbiornik sygnału GPS SQ Lassen jest najnowszym produktem firmy Trimble w zakresie miniaturowych odbiorników przeznaczonych do urządzeniach GPS zastosowań przenośnych. w Małe wymiary, masa oraz znikomy pobór energii czynią go idealnym Rys. 8. Widok ogólny odbiornika GPS SQ Lassen 18 rozwiązaniem dla kaŜdego typu aplikacji wymagającej taniego i łatwego w obsłudze odbiornika GPS (rys. 8). WaŜniejsze parametry techniczne odbiornika GPS są następujące [9]: • 8-kanałowy odbiornik na częstotliwości L1 (1575.42 MHz), modulowanej kodem C/A, dokładność SPS (ang. Standard Positioning Service), • Dostępne protokoły o wejściowy/wyjściowy - TSIP 9600 bodów, 8 bitów, o wyjściowy - NMEA 0183 v 3.0, programowalna prędkość transmisji, 8 bitów, dostępne depesze GGA, VTG, GLL, ZDA, GSA, GSV i RMC, • Częstotliwość odświeŜania danych 1Hz dla protokołu TSIP i NMEA-0183, • Dokładność: o Pozioma <6 metrów (przez 50% czasu), <9 metrów (przez 90% czasu), o Pionowa <11 metrów (przez 50% czasu), <18 metrów (przez 90% czasu), o Prędkość – 0,06 m/s, o Czas – 95 ns, • Gotowość do pracy o Gorący start - <14 s (50%), <18 s (90%), o Ciepły start - <38 s (50%), <45 s (90%), o Zimny start - <90 s (50%), <170 s (90%), • Zasilanie o Od +3.0 VDC do +3.6 VDC (3.3 V typowo), o Pobór mocy 100mW, o Podtrzymanie bateryjne +2.5 VDC do +3.6 VDC, • Środowisko pracy o Temperatura otoczenia – od -40°C do +85°C, o Wilgotność względna – od 5% do 95%, • Cechy fizyczne o Wymiary - 26 mm (szer.) x 26 mm (dług.) x 6 mm (wys.), o Masa - 5.7 grama, • Antena – 3V aktywna antena z podstawką magnetyczną, o Zakres częstotliwości odbioru - 1575.42 ± 1.023MHz, o Impedancja wyjściowa - 50Ω, 19 o Wzmocnienie - 28 ±3 dB, o Siła przyciągania podstawki magnetycznej – 50N, o Kabel – 5m, współosiowy, ekranowany. 3.6. Protokół komunikacyjny NMEA-0183 (ang. National Marine Electronics Association) NMEA-0183 jest to standard transmisji danych nawigacyjnych uŜywany przez większość urządzeń systemów nawigacyjnych w tym takŜe GPS. Dane w kodzie NMEA zaczynają się zawsze od znaku $, następnie jest dwuliterowy identyfikator urządzenia nadającego i trzyliterowe słowo kluczowe. KaŜde zdanie jest zakończone znakiem * oraz słowem kontrolnym zapisanym w postaci heksadecymalnej. KaŜda informacja jest oddzielona przecinkiem i ma stałą zarezerwowaną długość i kolejność w zdaniu. JeŜeli któraś z danych nie występuje w informacji, wystąpi puste miejsce wypełnione przecinkami. Ilość przecinków jest stała dla danego typu depeszy niezaleŜnie od zawartych w niej informacji [9]. Trzy wykorzystywane w pracy depesze zostały przedstawione i opisane na rysunku 9. Rys. 9. Znaczenie poszczególnych pół w trzech wybranych depeszach NEMA-0183 20 Cala depesza transmitowana jest w formie znaków ASCII z prędkością 4800 bodów. Dwie pierwsze litery dla odbiorników GPS to GP (identyfikator urządzenia nadającego), natomiast moŜliwe słowa kluczowe to: o $GPGGA - Global Positioning System Fix Data o $GPGLL - Geographic Position, Latitude/Longitude o $GPGSA - GPS DOP and Active Satellites o $GPGSV - GPS Satellites in View o $GPRMC - Recommended Minimum Specific GPS/TRANSIT Data o $GPVTG - Track Made Good and Ground Speed o $GPZDA - Time & Date 3.7. Protokół komunikacyjny TSIP (ang. Trimble Standard Interface Protocol) TSIP jest standardem transmisji zaprojektowanym i wdroŜonym tylko w odbiornikach firmy Trimblle. W przeciwieństwie do standardu NMEA jest protokołem binarnym tzn. dane przesyłane są w formie bajtów a nie znaków ASCII. Do konfiguracji odbiornika SQ Lassen słuŜy tylko i wyłącznie protokół TSIP, natomiast dane wyjściowe moŜemy uzyskiwać w formacie NEMA lub TSIP. KaŜda ramka TSIP wysyłana lub odebrana do/z odbiornika GPS składa się z dwóch bajtów nagłówka oraz dwóch bajtów kończących ramkę pomiędzy którymi przesyłane są dane informacyjne [9]. Struktura ramki TSIP jest następująca [9]: <DLE> <id> <ciąg danych> <DLE> <ETX> gdzie: <DLE> jest bajtem 10 hex <ETX> jest bajtem 03 hex <id> jest identyfikatorem pakietu W opisywanej pracy protokół TSIP wykorzystywany jest tylko i wyłącznie do konfiguracji odbiornika i zapisu ustawień w jego pamięci FLASH. PoniŜej podano przykład który jest częścią programu napisanego do obsługi odbiornika GPS wbudowanego w tachograf elektroniczny. Zadaniem przykładowej części programu jest konfiguracja odbiornika SQ Lassen do transmisji danych w formacie NMEA0183 z prędkością 4800 bodów wraz z depeszami GGA, VTG i ZDA. Nowe ustawienia zostają zapisane na stałe w pamięci wewnętrznej FLASH. 21 Ciąg bajtów: <10h> <7Ah> <00h> <01h> <00h> <00h> <00h> <25h> <10h> <03h> <10h> <BCh> <FFh> <06h> <06h> <03h> <00h> <00h> <00h> <02h> <04h> <00h> <10h> <03h> <10h> <8Eh> <26h> <10h> <03h> Opis: Cała sekwencja danych składa się z trzech ramek: pakiet 7A hex konfiguruje typ depesz zawartych w transmitowanej z odbiornika ramce w standardzie NMEA, pakiet BC hex konfiguruje charakterystykę portu komunikacyjnego, natomiast 8E-26 hex dokonuje zapisu bieŜących ustawień w pamięci FLASH odbiornika. 22 4. Satelitarne systemy monitorowania pojazdów 4.1. Wiadomości ogólne Monitorowanie pojazdu w najprostszy sposób polega na cyklicznym odczycie danych nadchodzących z pojazdu o jego pozycji, archiwizacji tych danych oraz przekazywaniu ich zainteresowanym za pomocą map, wykresów lub zestawień w formie tabel [14]. Urządzenia pojazdowe obecnie dostępne na rynku budowane są jako zintegrowane układy wyposaŜone w pozycjoner GPS, układ nadawczo-odbiorczy GSM, pamięć oraz mikroprocesorowy układ sterowania. Dodatkowo cześć z nich umoŜliwia podłączenie niezaleŜnych czujników (np. otwarcia drzwi kabiny, naruszenia przestrzeni ładunkowej, itp.) oraz modułu terminala, współpracy z systemem alarmowym, komputerem, itp. Tak zbudowany system pojazdowy umoŜliwia jego zdalne sterowanie za pomocą informacji przesyłanych przez telefon GSM (SMS lub GPRS). Wysyłając odpowiednie komendy do układu samochodowego mamy moŜliwość sterowania zarówno systemem jak i pojazdem - do zatrzymania pojazdu włącznie. System samochodowy sam w odpowiednich okresach czasowych przekazuje do odbiorcy dane o aktualnej pozycji i/lub stanie czujników, a w niektórych wersjach zapisuje je we własnej pamięci. Odczyt danych z pamięci urządzenia moŜliwy jest po powrocie pojazdu do bazy a następnie dzięki odpowiedniemu oprogramowaniu przedstawienie danych w zrozumiałej formie. W systemach abonamentowych odbiorcą danych wysyłanych przez urządzenia pokładowe jest centrum monitorowania znajdujące się poza firmą właściciela pojazdu, który ma dostęp do danych o pojeździe tylko poprzez sieć Internet. W systemach nieabonamentowych (niezaleŜnych) istnieje wydzielony telefon GSM, który spełnia rolę centrum odbiorczego w firmie właściciela [14]. Monitorowanie pojazdu polega nie tylko na lokalizowaniu i śledzeniu trasy przemieszczania się danego pojazdu. Wykorzystanie systemu pozwala uŜytkownikowi równieŜ na poznanie wielu innych parametrów: • prędkość jazdy, 23 • czas jazdy, • czas postojów, • zuŜycie paliwa, • naruszenie przestrzeni ładunkowych, • przebytą drogę, • obroty silnika, • ciśnienie oleju. Dzięki zastosowaniu dodatkowych czujników podłączonych systemu moŜna określić np: • kto i kiedy otwierał drzwi kabiny, • zaŜądać autoryzacji osoby próbującej uruchomić silnik pojazdu, • przy wykorzystaniu immobilizera - zdalnie włączać lub wyłączać poszczególne elementy pojazdu, • określić temperaturę np. w chłodniach. System daje moŜliwość praktycznie kontrolowania kaŜdego elementu pojazdu po zastosowaniu odpowiedniego czujnika. Systemy monitorowania pojazdów mogą współpracować równieŜ z systemem alarmowym pojazdu co wiąŜe się ze zwiększeniem bezpieczeństwa nie tylko pojazdu i ładunku ale równieŜ kierowcy, który w kaŜdym momencie moŜe samodzielnie włączyć alarm, a sygnał o zaistniałej sytuacji natychmiast przekazywany jest do centrum monitoringu. Alarm włącza się równieŜ samoczynnie podczas prób włamania się do pojazdu, uprowadzenia pojazdu lub jego nieautoryzowanego uruchomienia [14]. Szeroka gama moŜliwości systemu monitorowania pojazdów stanowi obecnie olbrzymie narzędzie, które w sposób natychmiastowy przekazuje wszelkie dane o pojeździe umoŜliwiając w ten sposób pełną kontrolę nad transportem, pojazdem, kierowcą i ładunkiem. W dwóch następnych podrozdziałach opisane zostały najpopularniejsze rozwiązania dostępne na rynku, wykorzystujące system GPS w przedstawionych zastosowaniach. 4.2. Satelitarny system monitorowania pojazdów LIBERTY GPS System LIBERTY GPS kryje w sobie obszerny wachlarz funkcji, których dostępność jest uzaleŜniona od indywidualnych potrzeb uŜytkownika. System funkcjonuje w oparciu o najnowocześniejsze technologie GSM, GPS, Internetu a ostatnio takŜe GPRS (pakietowa transmisja danych) [14]. 24 LIBERTY GPS pozwala na szybki dostęp do precyzyjnych i aktualnych informacji zawierających następujące parametry: • połoŜenie – lokalizacja pojazdu w formie tekstowej lub graficznej, • historia – moŜliwość odtworzenia historii eksploatacji pojazdu do 60 dni, • ochrona – program ochrony pojazdu, system anty-napadowy, lokalizacja w trybie alarmowym, • komunikacja – łączność głosowa pomiędzy pojazdem a zadeklarowanymi numerami telefonicznymi lub w trybie alarmowym, z centrum monitorowania LIBERTY. • dane pojazdu – szybki dostęp do danych o pojeździe, numerów, cech, znaków szczególnych oraz fotografii pojazdu. NaleŜy nadmienić, Ŝe dostęp do powyŜszych informacji moŜe być ograniczony i kontrolowany a kaŜde logowanie do systemu komputerowego musi być poprzedzone podaniem nazwy uŜytkownika i jego hasła. Dokładne, szybkie i aktualne dane o taborze moŜna uzyskać za pośrednictwem następujących narzędzi komunikacyjnych: • telefon GSM – za jego pomocą moŜemy uzyskać aktualną i poprzednią pozycję pojazdu w formie wiadomości SMS, • telefon GSM z protokołem WAP – dzięki dostępowi do portalu WAP LIBERTY uŜytkownik jest w stanie dodatkowo zarządzać grupą pojazdów oraz korzystać z bazy danych, • Internet – uŜytkownik moŜe w pełni korzystać z funkcji systemu. Klient posiada dostęp do wizualizacji połoŜenia pojedynczego lub wszystkich swoich pojazdów na mapie wraz z odwzorowaniem tras przejazdu. Satelitarny System Monitorowania Pojazdów LIBERTY GPS oferuje takŜe Program Ochrony Pojazdów, który jest integralną częścią systemu. Jego nadrzędną rolą jest nieustanna ochrona środków transportu i przewoŜonych ładunków. 4.3. Samochodowy system alarmowy z pozycjonowaniem GPS/GSM CARFINDER System CARFINDER składa się z urządzenia przewoźnego (na stałe zainstalowanego w samochodzie) i części stacjonarnej, połączonej z przewodową linią telefoniczną lub telefonem komórkowym oraz komputerem z zainstalowanym programem mapowym, słuŜącym do określenia pozycji pojazdu [14]. 25 Podstawowe cechy systemu to: • Określenie aktualnej pozycji. • Pomiar aktualnej prędkości pojazdu oraz odtworzenie ostatniego fragmentu przebytej trasy lub miejsca postoju. • Podsłuch wnętrza samochodu w trakcie trwania połączenia telefonicznego. • Wysyłanie informacji alarmowych SMS. • Alarm o włamaniu, przekroczeniu prędkości, przekroczeniu zadanego obszaru. • Zdalne wykonywanie określonych czynności np.: unieruchomienie silnika lub włączenie dodatkowych urządzeń. • Współpraca z dowolnym alarmem samochodowym lub moŜliwość podłączenia dodatkowych czujników np.: stłuczenia szyby lub otwarcia drzwi. KaŜdorazowo po aktywacji takiego alarmu telefon komórkowy zainstalowany w samochodzie wykonuje połączenie pod wpisany numer telefonu (komórkowego lub stacjonarnego). • Sterowanie funkcjami alarmowymi wprost z klawiatury telefonu, lub komunikatorami SMS. • Współpraca z mapą cyfrową – system umoŜliwia korzystanie z dowolnej mapy cyfrowej. Optymalny do współpracy jest Atlas Samochodowy Europy Microsoft AUTOROUTE. Obecnie system wykorzystuje technologię GPS trwają jednak prace nad wdroŜeniem i wykorzystaniem systemu przesyłania informacji w postaci pakietowej GPRS [14]. 26 5. System kontroli dostępu DALLAS 5.1. Wiadomości ogólne System kontroli dostępu oparty został o pamięć półprzewodnikową, zawierającą w swojej strukturze unikatowy 64-bitowy kod. Na podstawie weryfikacji odczytanego kodu, dokonywana jest identyfikacja uŜytkownika oraz przypisywany jest mu stosowny poziom priorytetu w dostępie do urządzenia i oprogramowania. Firma Maxim® (Dallas Semiconductor®) zaprojektowała i wdroŜyła do produkcji szeroki asortyment nietypowych1 układów scalonych wykorzystujących specjalny jednoprzewodowy protokół komunikacyjny. Układy tego typu produkowane są jako pamięci półprzewodnikowe - funkcjonujące pod nazwą handlową iButton (Touch Memory, pamięć pastylkowa), termometry, przełączniki czy wspomniane kontrolery dostępu. Wspólną cechą wszystkich układów tego typu jest zastosowany jednoprzewodowy protokół wymiany informacji znany jako 1-Wire, a takŜe związany z nim unikatowy 64-bitowy adres układu. Układy z magistralą 1-Wire zyskały duŜą popularność i są chętnie stosowane głównie z powodu krańcowego zminimalizowania liczby wyprowadzeń (jedna linia danych + masa), braku oddzielnego układu zasilania, przesyłania informacji na znaczne odległości a takŜe moŜliwości dołączenia do jednej linii magistralnej teoretycznie nieograniczonej liczby urządzeń. 5.2. Opis protokołu 1-Wire Magistrala 1-Wire jest tanią siecią cyfrową bazująca na kontrolerze magistrali (ang. Master) połączonej za pomocą dwuŜyłowej skrętki z urządzeniami podrzędnymi typu 1-Wire (ang. Slave). Kontroler magistrali jest wyposaŜony w oprogramowanie sterujące które wymusza na magistrali zbocze opadające, które z kolei synchronizuje zegary wszystkich odbiorników urządzeń podrzędnych. Tylko prawidłowa synchronizacja nadajnika i odbiornika zagwarantuje poprawne i bezkolizyjne przesyłanie danych. 1 nietypowy w sensie obudowy i oraz malej liczby wyprowadzeń. 27 Wszystkie nadajniki i odbiorniki podpięte pod magistralę muszą posiadać wejścia/wyjścia typu OC lub OD, gdyŜ umoŜliwia to realizacje funkcji iloczynu logicznego typu OC (OD), która jest wymagana przy podłączeniu więcej niŜ jednego urządzenia do wspólnej linii danych. Przy braku transmisji (wszystkie nadajniki i odbiorniki znajdują się w stanie wysokiej impedancji) o wysokim poziomie logicznym na linii decyduje rezystor połączony z dodatnim biegunem zasilania. Konfigurację magistrali 1-Wire przedstawia rysunek 10. Rys. 10. Konfiguracja magistrali 1-Wire [8] Protokół 1-Wire wykorzystuje typowe przedziały logiczne wykorzystywane w standardzie TTL/CMOS, czyli zeru logicznemu odpowiada napięcie poniŜej 0,8V, zaś jedynce powyŜej 2,4V, dzięki czemu moŜliwe jest bezpośrednie sprzęgniecie obu technik bez wykorzystania jakikolwiek układów sprzęgających czy teŜ konwerterów standardów. Zarówno Master jak i Slave przygotowane są to komunikacji w obu kierunkach, jednakŜe w danym momencie dane mogą być tylko nadawane lub odbierane, co odpowiada transmisji typu half-duplex. Maksymalna prędkość transmisji wynosi 16,3kb/s i jest ograniczona sprzętowo przez wewnętrzny generator układu Slave. Prędkość ta maleje wraz ze wzrostem długości linii [13]. Dane na magistrali przesyłane są w kolejności od najmniej znaczącego bitu (LSB), w z góry zdefiniowanych przedziałach czasu tzw. oknach, w których w ściśle zdefiniowanym przedziale czasu spodziewane jest opadające zbocze na linii oraz niski stan logiczny, trwający 15 µs. Właściwy poziom logiczny jest testowany dopiero po upływie kolejnych 45 µs (rys.11 i rys.12). W przypadku zapisu Master wymusza wszystkie stany na linii i on definiuje przesyłane sygnały, zaś w przypadku odczytu Master inicjuje tylko opadające zbocze, zaś Slave określa właściwy stan logiczny. W trakcie odczytu z urządzenia podrzędnego, Slave moŜe nie podtrzymać stanu niskiego po zwolnieniu magistrali przez Mastera (w przypadku 28 stanu logicznego 1) lub podtrzymuje stan niski przez okres 45 µs co jest interpretowane po stronie Mastera jako 0 logiczne (rys. 13). Rys. 11. Stan logiczny 0 przy zapisie od urządzenia podrzędnego [8] Rys. 12. Stan logiczny 1 przy zapisie od urządzenia podrzędnego [8] Rys. 13. Stan logiczny 0 i 1 podczas odczytu z urządzenia podrzędnego [8] 29 Zanim jednak dojdzie do faktycznej wymiany informacji między Masterem a Slavem, musi najpierw nastąpić nawiązanie połączenia pomiędzy tymi układami. Układ nadrzędny powinien okresowo wysyłać zapytania o obecność układu podrzędnego generując na linii tzw. Impuls Resetu. Tylko po wykryciu Impulsu Obecności układu Slave, moŜliwa jest dalsza wymiana informacji (rys. 14). Rys. 14. Stany logiczne i przedziały czasowe Impulsu Resetu i Obecności [8] W sieci 1-Wire nie jest wymagany zegar systemowy, gdyŜ kaŜdy element typu 1-Wire jest taktowany przez własny wewnętrzny oscylator, który jest zsynchronizowany z opadającym zboczem sygnału wymuszanego przez kontroler sieci. Opisana własność daje moŜliwość dowolnie długiego przeciągnięcia transmisji przez urządzenie typu Master. Jedną z charakterystycznych cech układów wyposaŜonych w magistralę typu 1-Wire jest brak odrębnego zasilania, cała energia potrzebna na zasilenie wszystkich podzespołów pobierana jest z linii danych. Uproszczony schemat zasilania wewnętrznych układów pamięci pokazany jest na rysunku 15, zaś jego działanie jest następujące: Wystąpienie na linii napięcia bliskiego napięciu zasilania powoduje ładowanie wewnętrznego kondensatora poprzez obwód złoŜony z diody i rezystora. W momencie pojawienia się zera logicznego (napięcie bliskie zeru) kondensator zostaje odcięty poprzez spolaryzowaną zaporowo diodę, a więc zachowuje ładunek elektryczny, który jest wykorzystywany do zasilania wewnętrznych układów. NajdłuŜszy dozwolony czas trwania zera logicznego na linii 1-Wire wynosi nie więcej niŜ 240µs, a więc przez ten okres do zasilania musi wystarczyć całą energia zgromadzona na kondensatorze. 30 Rys. 15. Obwód zasilający elementu z magistralą 1-Wire [13] PoniewaŜ kaŜdy układ przyłączony do wspólnej sieci musi być odróŜnialny przez urządzenie nadrzędne chociaŜby w celu jego zaadresowania, projektanci systemu przewidzieli dla kaŜdego układu wyposaŜonego w magistralę 1-Wire unikatowy, 64-bitowy adres jednoznacznie identyfikujący dany układ w sieci. W skład adresu wchodzi 48-bitowy numer seryjny, 8-bitowy kod rodziny a takŜe 8-bitowa suma kontrolna CRC. 5.3. Kontroler dostępu z magistralą 1-Wire – układ DS1993 Kontroler dostępu DS1993 jest układem elektronicznym wyposaŜonym w magistralę 1-Wire i umieszczonym w kapsułce z przypominającej nierdzewnej z zewnątrz stali monetę (rys. 16). Tak jak wszystkie układy z rodziny DS19XX zawiera w swojej strukturze 64-bitowy niepowtarzalny adres indentyfikacyjny dzięki któremu Rys. 16. Widok zewnętrzny układu DS1993 [8] moŜliwy jest dostęp do wszystkich danych zapisanych w samej pamięci. Sam układ DS1993 jest 4kb pamięcią EEPROM, której trwałość zapisu jest gwarantowana przez co najmniej 10 lat przy zakresie temperatur uŜytkowania wahających się w granicach od –400C do +700C [8]. 31 Wewnętrznie pamięć została podzielona na 16 stron, kaŜda zawierająca 32-bajty pamięci (rys. 17). Dodatkowo wyróŜnia się jeszcze jedną stronę nazwaną notatnikiem (ang. scratchpad pamięć podręczna) która spełnia rolę bufora w operacjach zapisu/odczytu do/z pamięci właściwej. Aby móc dokonywać jakichkolwiek operacji z danymi umieszczonymi lub przeznaczonymi dla układu DS1993 jak i innych produktów firmy Maxim® (Dallas ® Semiconductor ) naleŜy najpierw wysłać do układu odpowiednią ramkę zawierającą: • Komendę ROM przeznaczoną (ang. dla ROM pamięci FUNCTION COMMANDS) • Komendę przeznaczoną dla pamięci RAM (ang. MEMORY FUNCTION COMMANDS) MoŜliwe jest Rys. 17. Podział wew. pamięci [8] pominiecie komendy przeznaczonej dla pamięci RAM jeŜeli nie interesują nas dane zapisane w niej, natomiast rezygnacja z komend przeznaczonych dla pamięci ROM jest niemoŜliwa. Algorytm postępowania w przy realizacji wymiany danych pomiędzy Masterem a Slavem na magistrali 1-Wire jest następujący [8]: • Master cyklicznie wymusza na magistrali Impuls Resetu a następnie po określonym odcinku czasu sprawdza czy którykolwiek z odbiorników odpowiedział Impulsem Obecności. JeŜeli Master nie stwierdził obecności choćby jednego Slavea przechodzi do innej czynności lub ponownie generuje na linii danych Impuls Resetu. • Po bezpośrednim wykryciu Impulsu Obecności odbiornik układu Slave oczekuje na linii komendy ROM, która zawiera informacje co do Ŝądanego trybu pracy układu podrzędnego. Dla układu DS1993 przewidziano 4 następujące komendy ROM [8]: o Czytaj ROM (ang. Read ROM) [33 hex] – komenda pozwalająca odczytać unikatowy 64-bitowy kod. Zastosowanie komendy moŜliwe tylko dla przypadku podpiętego jednego urządzenia do linii danych. 32 o Dopasuj ROM (ang. Match ROM) [55 hex] – komenda moŜliwa do zastosowania zarówno dla jednego jak i więcej urządzeń podpiętych do magistrali. Po zainicjowaniu tą komendą Master powinien przesłać adres urządzenia z którym chce nawiązać komunikacje, wszystkie Slave-y sprawdzają bit po bicie przesyłany adres z własnym. Po weryfikacji 64 bitu aktywny moŜe pozostać tylko jeden. o Omiń ROM (ang. Skip ROM) [CC hex] – komenda przeznaczona dla pojedynczego urządzenia podpitego do linii. Pozwala na bezpośredni dostęp do pamięci pominąwszy sprawdzanie 64-bitowego kodu. o Szukaj ROM (ang. Serach ROM) [F0 hex] – komenda przeznaczona do wyszukiwania kodów wszystkich urządzeń podpiętych do magistrali a takŜe identyfikowania ich liczby. • Po przesłaniu komendy ROM układ oczekuje na przesłanie komendy dotyczącej pamięci RAM definiującej właściwą operację którą zamierza dokonać Master. Jednak aby móc identyfikować poszczególne komórki pamięci oraz dokonywać na nich operacji zapisu, czytania czy teŜ kopiowania niezbędne jest wykorzystanie trzech wewnętrznych rejestrów adresowych TA1, TA2 i E/S (E/S tylko w czasie odczytu) pośredniczących w wymianie informacji (Tabela 1) [8]. Tabela 1. T7 T6 T5 T4 T3 T2 T1 T0 Rejestr TA1 T15 T14 T13 T12 T11 T0 T9 T8 Rejestr TA2 AA OF PF E4 E3 E2 E1 E0 Rejestr E/S o TA1 (T7 - T0) określa młodszy adres pierwszej komórki pamięci na której dokonywana jest operacja. o TA2 (T15 - T8) określa starszy adres pierwszej komórki pamięci na której dokonywana jest operacja. o E/S jest rejestrem adresowo-statusowym dostępnym tylko podczas operacji czytania, składa się z dwóch części. Pięć młodszych bitów (E4 - E0) określa koniec zapisanego obszaru danych w obrębie strony, 3 najstarsze bity to flagi informujące o przebiegu operacji zapisu. o Bit PF (ang. Partial Flag) – ustawiany gdy zostanie odebrany niepełny bajt danych. 33 o Bit OF (ang. Overflow Flag) – ustawiany jeŜeli ilość danych jest większa niŜ rozmiar strony (tzw. przepełnienie). o Bit AA (ang. Authorization Accepted Flag) – ustawiany w wyniku akceptacji kodu autoryzacji w czasie kopiowania danych z notatnika (pamięci podręcznej) do właściwego obszaru pamięci. • Dla DS1993 moŜliwe jest wykorzystanie 4 komend przeznaczonych dla obsługi pamięci RAM: o Zapisz Notatnik (ang. Write Scratchpad) [0F hex] – komenda pośrednicząca przy zapisie do pamięci właściwej. Bezpośrednio po podaniu komendy naleŜy przesłać do urządzenia odbierającego adres (2 bajty TA1 i TA2) od którego naleŜy zapisać dane bezpośrednio nadawane po bajtach adresowych. Flagi są ustawiane zgodnie z wynikiem operacji. o Odczytaj Notatnik (ang. Read Scratchpad) [AA hex] – komenda uŜywana do weryfikacji danych zapisanych w pamięci podręcznej. o Kopiuj Notatnik (ang. Copy Scratchpad) [55 hex] – komenda przepisująca dane z pamięci podręcznej do właściwego obszaru pamięci tylko po potwierdzeniu kodu autoryzacji który musi być identyczny z zawartością rejestrów statusowo-adresowych (TA1, TA2, E/S). o Czytaj Pamięć (ang. Read Memory) [F0 hex] – komenda umoŜliwiająca odczyt pamięci od miejsca bezpośrednio podanego po tej instrukcji aŜ do samego końca pamięci. PoniŜej podano przykładowy program napisany w języku asemblera mikrokontrolera rodziny 51, który odczytuje 64-bitowy adres układu zgodnie z algorytmem podanym powyŜej, dodatkowo zamieszczono takŜe opis jego działania oraz wykres czasowy stanów na linii danych (rys. 18). $mod517 ONEWIRE equ P1.0 FLAGA100 bit 00h org 8000h poczatek_one_wire: setb ONEWIRE nop clr ONEWIRE mov R7,#15 mov R6,#19 lcall delay_reg setb ONEWIRE odczyt_bajtu: clr A lcall czytaj rr A lcall czytaj rr A lcall czytaj rr A lcall czytaj rr A lcall czytaj rr A lcall czytaj 34 mov R7,#5 mov R6,#5 lcall delay_reg clr FLAGA100 jb ONEWIRE,nie_ma_ds setb FLAGA100 nie_ma_ds: mov R7,#14 mov R6,#19 lcall delay_reg jnb FLAGA100,poczatek_one_wire lcall jest_ds jest_ds: lcall jeden lcall jeden lcall zero lcall zero lcall jeden lcall jeden lcall zero lcall zero lcall odczyt_bajtu mov 40h,A lcall odczyt_bajtu mov 41h,A lcall odczyt_bajtu mov 42h,A lcall odczyt_bajtu mov 43h,A lcall odczyt_bajtu mov 44h,A lcall odczyt_bajtu mov 45h,A lcall odczyt_bajtu mov 46h,A lcall odczyt_bajtu mov 47h,A setb ONEWIRE sjmp $ rr A lcall czytaj rr A lcall czytaj ret czytaj: setb ONEWIRE nop clr ONEWIRE nop setb ONEWIRE nop jnb ONEWIRE,nie_ma_jedynki setb ACC.7 nie_ma_jedynki: jnb ONEWIRE,$ mov R7,#8 mov R6,#5 lcall delay_reg ret zero: setb ONEWIRE clr ONEWIRE mov R7,#6 mov R6,#5 lcall delay_reg setb ONEWIRE ret jeden: setb ONEWIRE clr ONEWIRE nop setb ONEWIRE mov R7,#5 mov R6,#5 lcall delay_reg setb ONEWIRE ret ret delay_reg: mov 57h,R6 djnz 57h,$ djnz R7,delay_reg ret end Opis: W czasie kiedy układ Slave nie jest w Ŝaden sposób podłączony do linii danych, czyli linii P1.0 portu mikrokontrolera, program cyklicznie wykonuje pętle w czasie której generuje na linii Impuls Resetu oraz sprawdza czy jakikolwiek układ odpowiada Impulsem Obecności. W momencie wykrycia układu Slave, wysyłana jest komenda ROM = 33 hex (Czytaj ROM) po której na linii danych Slave generuje 64-bitowy kod który następnie jest przepisywany do rejestrów wewnętrznych mikrokontrolera (40 hex - 47 hex). 35 Rys. 18. Stany logiczne na linii danych magistrali 1-Wire podczas odczytu adresu układu 5.4. Sprawdzanie poprawności przesyłanych danych (wyznaczenie CRC) 5.4.1. Wiadomości ogólne MoŜliwość przekłamania danych transmitowanych w łączu cyfrowym, spowodowała konieczność znalezienia metod, na postawie których odbiornik mógłby wykryć wystąpienie 36 lub brak określonego typu błędu. Wymagana na ogół duŜa wierność w przesyłaniu danych informacyjnych wynika z Ŝądania takiej wiarygodności przez stronę odbiorczą, np. obiekt realizujący telesterowanie [1]. PoniewaŜ dane cyfrowe charakteryzują się brakiem pierwotnego nadmiaru informacyjnego, na podstawie którego strona odbiorcza mogłaby ocenić poprawność odebranej informacji, stąd teŜ jedną z metod zabezpieczenia się przed błędami jest sztuczne wprowadzenie tego nadmiaru do wiadomości wysyłanej. Proces ten nazywamy kodowaniem nadmiarowym. Polega on na jednoznacznym przyporządkowaniu sekwencją k-pozycyjnych ciągów (słów) informacyjnych: ρ ρ ρ ρ hi −l , hi −l +1 ,..., hi −1 , hi (5.1) sekwencji n-pozycyjnych ciągów (słów) kodowych ρ ρ ρ ρ si −l , si −l +1 ,..., si −1 , si (5.2) przeprowadzonym wg pewnych ustalonych reguł kodowania [1]. JeŜeli długość sekwencji przyporządkowania sprowadza się do pojedynczego ciągu, to mamy do czynienia z tzw. kodowaniem blokowym, w którym proces kodowania i-tego ciągu informacyjnego hi zamyka się w całości w czasie tworzenia i-tego ciągu kodowego si . Zachodzi wówczas: ρ ρ hi ⇔ si (5.3) Otrzymany w wyniku tego procesu kod nazywamy jest kodem blokowym. NajwaŜniejsza klasę blokowych kodów namiarowych stanowią kody liniowe. Nazwę swą biorą stąd, Ŝe określane są układem r równań liniowo niezaleŜnych danych w postaci: n ∑T l =1 jl ⋅ sl = 0 o znanych współczynnikach (5.4) j = 1,2,..., r , T jl ∈ {0,1}. Symbol ∑ oznacza wieloargumentową sumę mod 2 [1]. Spośród kodów liniowych największe zastosowanie znalazły kody otrzymywane metodą kodowania wielomianowego. Geneza tej metody wiąŜe się z wielomianowym zapisem wektora informacyjnego h w postaci wielomianu h(x) o współczynnikach binarnych i funkcją suma mod 2, wiąŜącą poszczególne jego składniki [3]. 37 Głównymi przyczynami powszechnego stosowania kodów wielomianowych są [3]: • Istnienie efektywnych metod konstruowania kodów o zadanych własnościach detekcyjnych i korekcyjnych. • Mały stopień komplikacji koderów i dekoderów reguły kodowania. W ogólnym przypadku kody te otrzymuje się metodą mnoŜenia wielomianu informacyjnego h(x) przez wielomian generacyjny g(x). W wyniku tego procesu otrzymuje się wektor kodowy, nazywany wielomianem kodowym s(x) a otrzymany zbiór wektorów kodowych tworzą kod liniowy. Dlatego teŜ dla kaŜdego wielomianu kodowego s(x) słuszna jest zaleŜność: s ( x ) mod g ( x ) = 0 (5.5) Oznacza to Ŝe wielomian kodowy jest podzielny bez reszty przez wielomian generacyjny. Podklasą kodów wielomianowych są kody cykliczne w których kaŜde cykliczne przesunięcie wielomianu kodowego mod(n), gdzie n jest długością słowa kodowego, daje wielomian kodowy [3]. Ze względu na postać wielomianu kodowego s(x) moŜemy wyróŜnić dwa podstawowe reguły kodowania [3]: • Kodowanie nierozdzielne gdzie w wyniku kodowania (5.6) w ogólności nie moŜna określić pozycji informacyjnych i pozycji nadmiarowych gdyŜ są one ze sobą przemieszane h( x )g ( x ) = s ( x ) • (5.6) Kodowanie rozdzielne gdzie pierwsze pozycje słowa kodowego stanowią słowo informacyjne a pozostałe pozycje stanowią słowo nadmiarowe, wprowadzone w procesie kodowania. Postawiona tak reguła kodowania sprowadza się do określenia młodszej części wielomianu kodowego s(x) przy znanej jego starszej części którą jest wielomian informacyjny h(x) przesunięty o r pozycji (r jest to róŜnica pomiędzy stopniem wielomianu kodowego a stopniem wielomianu informacyjnego). PoniewaŜ otrzymany w wyniku kodowania wielomian kodowy ma spełniać zaleŜność (5.5) stąd teŜ sposób określania wielomianu nadmiarowego wynika z następującej zaleŜności: x r h( x ) r (x ) = A( x ) + g (x ) g (x ) (5.7) skąd po przemnoŜeniu obu stron przez g(x) otrzymuje się: 38 A( x ) ⋅ g ( z ) = x r ⋅ h( x ) + r ( x ) (5.8) gdzie: r = deg( g ( x )) - stopień wielomianu generacyjnego; x r ⋅ h( x ) - wielomian informacyjny przesunięty o stopień wielomianu generacyjnego; g (x ) - wielomian generacyjny; A( x ) - pewien wielomian powstały jako część całkowita z dzielenia x r ⋅ h( x ) przez g ( x ) , nie istotna z punktu widzenia kodowania; r (x ) - reszta z dzielenia x r ⋅ h( x ) przez g ( x ) . PoniewaŜ lewa strona równości (5.8) jest podzielna bez reszty przez wielomian g(x) zatem i prawa strona musi posiadać tą własność: A( x ) ⋅ g (z ) ∈ {s ( x )} ⇒ x r ⋅ h( x ) + r ( x ) ∈ {s ( x )} (5.9) Wynika z tego Ŝe prawa strona równania jest szukanym wielomianem kodowym ze spełnioną reguła kodowania rozdzielnego. Dla układów wyposaŜonych w magistralę 1-Wire zastosowano metodę kodowania wielomianowego rozdzielnego. 5.4.2. Kodowanie i dekodowanie wielomianowe w układach z magistralą 1-Wire KaŜde urządzenie podłączone do magistrali 1-Wire posiada swój własny niepowtarzalny adres składający się z (rys.19) [8]: • numeru seryjnego (48-bitów), • kodu rodziny (8-bitów), • sumy kontrolnej CRC (8-bitów) obliczanej z 7 pierwszych bajtów. KaŜdy kontroler magistrali 1-Wire odbierając adres urządzenia Slave musi w celu sprawdzenia poprawności odebranych danych obliczyć własną sumę kontrolną CRC a następnie porównać ją z odebraną. Tylko identyczność obu Rys. 19. Struktura adresu wyników pozwala przyjąć Ŝe nie nastąpiło przekłamanie na układu z magistralą 1-Wire [8] linii danych. 39 Zastosowany w układach z magistralą 1-Wire wielomian generacyjny ma następującą postać [8]: g(x)= x8+x5+x4+1 Praktyczną realizacją kodowania ciągu (5.10) bitów naleŜących do wielomianu informacyjnego h(x) a ciągiem bitów odpowiadających wielomianowi generacyjnemu g(x) jest operacja suma modulo 2 w układzie pokazanym na rysunku 20. Rys. 20. Kodowanie wielomianowe rozdzielne w układach z magistralą 1-Wire [8] Operacją odwrotna do kodowania jest dekodowanie które w praktyce jest realizowane jako dzielenie całego słowa kodowego (pełny kod: kod rodziny + numer seryjny + CRC) przez wielomian generacyjny. Zgodnie ze wzorem (5.5), jeŜeli na linii nie nastąpiło przekłamanie reszta z dzielenia powinna być równa zero. PoniŜej przedstawiono program napisany w języku asemblera mikrokontrolera rodziny 51, realizujący sprawdzanie odebranych ciągów bitów (adresu urządzenia) pod kątem wykrycia błędu w trakcie transmisji. Weryfikacja odbywa się na zasadzie dzielenia (operacja suma mod 2) odebranego słowa kodowego s(x) przez ciąg bitów odpowiadającemu wielomianowi generacyjnemu g(x) do momentu, kiedy w słowie kodowym wyczerpią się wszystkie pozycje z wagą 1. Krótki opis algorytmu przetwarzania jest następujący: Dane wejściowe (dane odebrane) umieszczone są w rejestrach 20 hex - 27 hex. NajwaŜniejszą częścią programu realizującym procedurę dzielenia jest podprogram „crc”. Sprawdza ona wartości poszczególnych bitów w wielomianie kodowym, jeŜeli na którejś pozycji znajduje się 1 wykonywana jest operacja róŜnicy symetrycznej (suma modulo2) pomiędzy wielomianem generacyjnym a dwoma rejestrami w których zapisany jest wielomian kodowy (20 hex i 21 hex), wynik nadpisuje poprzednie dane. Tym sposobem eliminowane są wszystkie jedynki z oryginalnego wielomianu informacyjnego. Na samym końcu sprawdzany 40 jest rejestr 21hex w którym znajduje się reszta dzielenia jeŜeli jest on równy 0 to znaczy Ŝe nie wykryto błędu w trakcie transmisji i odebrane dane naleŜy uznać za poprawne. $mod517 biblioteki org 8000h mov 20h,#06h mov 21h,#7eh mov 22h,#6ch mov 23h,#14h mov 24h,#00h mov 25h,#00h mov 26h,#00h mov 27h,#03h lcall crc lcall przepisanie lcall crc lcall przepisanie lcall crc lcall przepisanie lcall crc lcall przepisanie lcall crc lcall przepisanie lcall crc lcall przepisanie lcall crc lcall przepisanie lcall crc mov A,21h cjne A,#0,zle dobrze: setb P1.0 zle: sjmp $ ;Dołączenie crc: jnb xrl xrl skocz: jnb xrl xrl skocz1: jnb xrl xrl skocz2: jnb xrl xrl skocz3: jnb xrl xrl skocz4: jnb xrl xrl skocz5: jnb xrl xrl skocz6: jnb xrl xrl skocz7: ret 00h,skocz 20h,#00011001b 21h,#00000001b 01h,skocz1 20h,#00110010b 21h,#00000010b 02h,skocz2 20h,#01100100b 21h,#00000100b 03h,skocz3 20h,#11001000b 21h,#00001000b 04h,skocz4 20h,#10010000b 21h,#00010001b 05h,skocz5 20h,#00100000b 21h,#00100011b 06h,skocz6 20h,#01000000b 21h,#01000110b 07h,skocz7 20h,#10000000b 21h,#10001100b przepisanie: mov 20h,21h mov 21h,22h mov 22h,23h mov 23h,24h mov 24h,25h mov 25h,26h mov 26h,27h mov 27h,#0d ret end Na rysunku 21 pokazano kolejne fazy sprawdzania poprawności odebranych danych jakie realizuje powyŜszy program. W wierszu pierwszym znajduje się oryginalny 64-bitowy adres urządzenia typu 1-Wire zapisany w kolejności od najmniej znaczącego bitu (LSB z lewej strony). Jest to de facto nasze wyjściowe słowo kodowe s(x) (w przykładzie uŜyto adresu układu DS1920 (czujnik temperatury) - 1700000007654410 hex). W wierszu drugim oraz kolejnych parzystych wierszach, znajduje się wielomian generujący g(x) zapisany w formie ciągu bitów 100110001 (wzór 5.10). Pomiędzy wierszem pierwszym i drugim realizowana 41 jest operacja suma mod 2, zaś wynik (wiersz 3) stanowi wyjściowy ciąg do kolejnego dzielenia. W sumie realizowanych jest 26 dzieleń, czyli aŜ do chwili w której w oryginalnym ciągu wyjściowym zabraknie współczynników o wartości 1 (wiersz 59). JeŜeli reszta z dzielenia wyniesie 0 czyli tak jak w przykładzie to znaczy Ŝe nie wyryto błędu i odebrany ciąg naleŜy traktować jako poprawny. Rys. 21. Sprawdzenie poprawności odebranego ciągu bitów na magistrali 1-Wire 42 6. Opis tachografu elektronicznego – cześć elektroniczna 6.1. Opis ogólny W tachografie elektronicznym moŜemy wyróŜnić siedem podstawowych bloków, których prawidłowa współpraca ma zasadnicze znaczenie dla funkcjonalności całego urządzenia. W układzie wyróŜniamy (rys. 22): • blok systemu mikroprocesorowego, • blok odbiornika GPS wraz z anteną (patrz rozdział 2.5), • blok czujników obecności napięcia, • blok pamięci EEPROM z magistralą i2C, • blok pamięci pastylkowej z magistralą 1-Wire, • blok wzmacniacza sygnału binarnego, • zasilacz. Rys. 22. Schemat blokowy tachografu elektronicznego 43 6.2. Budowa 6.2.1. Blok systemu mikroprocesorowego System mikroprocesorowy został zrealizowany na minimodule MM-537 firmy WG Electronics. Jest to typowy układ mikroprocesorowy oparty o mikrokontroler rodziny 51 z zewnętrznymi pamięciami danych i programu. Układ został dodatkowo rozbudowany o typowe układy wymagane w układach sterowania takie jak: zegar czasu rzeczywistego, układ detekcji zasilania i podtrzymania bateryjnego, układ watchdog-a czy interfejs RS232C. Schemat blokowy przedstawia rysunek 23, zaś schemat ideowy rysunek 24. Rys. 23. System mikroprocesorowy minimodułu MM-537 W minimodule MM-537 zastosowano następujące typy elementów: • Mikrokontroler 80C537 Układ 80C537 firmy SIEMENS®, jest znacznie rozbudowaną wersją układu 8051 firmy Intel®, przy czym posiada on standardową architekturę swojego poprzednika oraz dodatkowe nowe elementy [10], [11]. Najbardziej istotne cechy mikrokontrolera 80C537 z punktu widzenia uŜytkownika to: • brak wewnętrznej pamięci programu; • 256 bajtów wewnętrznej pamięci RAM; • 64KB przestrzeń adresowa pamięci programu i zewnętrznej pamięci danych; • 56 linii wejść/wyjść; • dwa łącza szeregowe; • 8-bitowy przetwornik A/C z 12 wejściami analogowymi 44 • 4 poziomowy układ przerwań wykorzystujący 14 źródeł przerwań; Układ jest taktowany kwarcem o częstotliwości 14,74MHz, której wartość została dobrana tak aby moŜliwe było w łatwy sposób osiągnięcie standardowych prędkości transmisji 4800 i 9600 bodów. • Rejestr adresowy 74HCT573 Rozdziela młodszy adres i dane na multipleksowanej szynie portu P0 mikrokontrolera. • Pamięć EPROM 27C512 (64KB) Zawiera pamięć programu w której zapisany jest cały wykonywalny program. • Pamięć RAM 62C256 (32KB) Zewnętrzna pamięć danych przechowuje dane odebrane zarówno z odbiornika GPS jak i ramki rozkazowe pochodzące z zewnętrznego komputera a takŜe zmienne tymczasowe wykorzystywane w trakcie realizacji algorytmu przetwarzania. • Reprogramowalny dekoder adresowy GAL16V8 Układ typu PLD (ang. Programmable Logic Array) posiada moŜliwość dowolnego skonfigurowania zaleŜności wyjścia w funkcji wejścia (8 wyjść, kaŜde moŜe być skonfigurowane jako suma iloczynów funkcji wszystkich wejść). • Zegar czasu rzeczywistego RTC62423 Przechowywanie aktualnej daty oraz czasu, niezaleŜnie od głównego zasilania (potrzymanie bateryjne). • Konwerter sygnałów TTL/RS232C MAX232 Dopasowanie standardu sygnału TTL do RS232C oraz odwrotnie. • Układ monitorowania zasilania/zerowania/watchdog MAX695 Układ przełącza zasilanie RAMu i układu zegara czasu rzeczywistego na podtrzymanie bateryjne w momencie wykrycia spadku napięcia zasilania. Płytka drukowana minimodułu jaki i prawie wszystkie układy scalone oraz elementy bierne, zostały wykonane w technice powierzchniowej SMD. Wyjątkiem są układy scalone pamięci EPROM oraz dekodera adresowego które zostały wykonane w standardowych obudowach (DIL28, DIL20) i umieszczone poprzez podstawki w minimodule. Układy te z racji zastosowania muszą cechować się moŜliwością łatwego wyciągnięcia z modułu i zaprogramowania w specjalnych programatorach układów scalonych. Wszystkie wyprowadzenia mikrokontrolera przydatne z punktu widzenia uŜytkownika zostały wyprowadzone na obrzeŜe płytki drukowanej. 45 Rys. 24. Schemat ideowy układu mikroprocesorowego minimodułu MM-537 [6] 46 6.2.2. Blok czujników obecności napięcia Do dwóch wybranych linii portów mikrokontrolera podłączony został układ dwóch czujników obecności napięcia (rys. 25) monitorujących napięcie na dwóch wybranych zaciskach Pierwszy instalacji zacisk elektrycznej przewaŜnie pojazdu. oznaczany na schematach instalacji elektrycznej pojazdu jako „15” podaje napięcie z akumulatora na wszystkie odbiorniki po przekluczeniu stacyjki w połoŜenie I, drugi czujnik został podłączony do zacisku „50” który łączy zacisk stacyjki w połoŜeniu II (uruchomienie pojazdu) z włącznikiem Rys. 25. Schemat ideowy układu czujników obecności napięcia elektromagnetycznym rozrusznika. Oba czujniki są identyczne w budowie a ich zadaniem jest obniŜenie napięcia pobranego z instalacji pokładowej pojazdu do standardu TTL (max 5V) akceptowanego przez mikrokontroler. Zasada działania polega na wymuszeniu spadku napięcia na dzielniku rezystorowym R1 i R2 (R3 i R4), dodatkowo stabilizowanym przez diodę Zenera DZ1 (DZ2). Diodę Zenera o wartości napięcia stabilizacji równe 4.7V zastosowano w celu uniknięcia wahań napięcia na linii mikrokontrolera, jako Ŝe napięcie pokładowe w pojeździe nie jest wartością stałą, a waha się w granicach od 10,8 V (w momencie całkowicie wyładowanego akumulatora) do 14,6 V (podczas ładowania akumulatora przez alternator). 6.2.3. Blok pamięci EEPROM Pamięć AT24C256 firmy ATMEL® jest 32KB (262 144b) pamięcią nieulotną zapisywaną i kasowana elektrycznie EEPROM (ang. Electrically Erasable and Programmable Read only Memory). Pamięci tego typu są reguły są pamięciami z szeregowym zapisem i odczytem danych. Cała transmisja danych odbywa się za pomocą magistrali Rys. 26. Schemat wyprowadzeń układu i2C, tylko przy pomocy dwóch linii SDA i SCL. AT24C256 [7] Pamięć cechuje się, standardowym zasilaniem +5V, wytrzymałością do 100000 cykli zapisu oraz gwarantowaną trwałością zapisu przez co najmniej 40lat [7]. 47 Opis wyprowadzeń układu AT24C256 (rys. 26): • SDA (ang. Serial Data) - szeregowa linia danych, • SCL (ang. Serial Clock) - szeregowa linia sygnału taktującego. Pozostałe wyprowadzenia spełniają funkcje adresowe A0 i A1, ochrony danych WP oraz zasilania VCC i GND. • A0, A1 - Wejścia adresowe (młodszy i starszy bit adresu układu), • WP (ang.Write Protect) - ochrona danych zapisanych, podłączenie końcówki do wysokiego poziomu logicznego blokuje zapis do pamięci, • VCC i GND (ang. Ground) - Dodatni i ujemny biegun zasilania. Ponadto układ posiada moŜliwość współpracy z trzema dodatkowymi układami tego samego typu (kaŜdy układ posiada niepowtarzalny adres umoŜliwiający jednoznaczne zaadresowanie, zapisany na dwóch bitach) podłączonymi do jednej magistrali. Zgodnie ze specyfikacją magistrali i2C, cała wymiana danych odbywa się przy pomocy dwóch linii. Liniami sygnałowymi są linie SCL i SDA, są one podłączone do dodatniego bieguna zasilania za pomocą rezystorów podciągających. JeŜeli szyna jest zwolniona to obie linie znajdują się w stanie logicznym wysokim. Wszystkie urządzenia podłączone do obu linii muszą mieć wejścia/wyjścia typu OC (ang. Open Corrector lub Open Drain – otwarty korektor lub otwarty dren) gdyŜ umoŜliwia to realizacje funkcji AND typu OC która jest wykorzystywana m.in. w mechanizmie arbitraŜu linii [11]. Podczas transmisji danych, impulsy taktujące na szynie SCL wysyłane są w ilości jeden impuls na kaŜdy bit przesyłanych danych. Podczas wysokiego stanu na linii SCL, stan linii SDA musi być stabilny – stan linii moŜe ulec zmianie tylko podczas niskiego stanu na linii SCL. Wyjątkiem od reguły są sekwencje START i STOP, wysyłane przez urządzenie nadrzędne. Wysłanie sygnału START polega na wymuszeniu opadającego zbocza na linii SDA podczas trwania wysokiego stanu na linii SCL. Sygnał ten jest identyfikowany jako początek transmisji. Od tego momentu, linia danych SDA uwaŜana jest jako zajęta aŜ do wystąpienia sygnału STOP, identyfikującego koniec transmisji. Sygnałem STOP uwaŜamy narastające zbocze linii SDA przy stabilnym wysokim stanie linii SCL (rys. 27) [11]. 48 Rys. 27. Sekwencja STARTu i STOPu na magistrali i2C [7] Warto takŜe dodać Ŝe specyfikacja magistrali i2C w Ŝaden sposób nie ogranicza czasów trwania sygnałów na obu liniach, tak więc transmisja moŜe odbywać się z dowolną prędkością pod warunkiem Ŝe nie przekracza 100 kbit/s dla układów wersji standardowej. Aby móc odczytać i zapisać jakiekolwiek bajty informacyjne z/do pamięci naleŜy oprócz zainicjowania transmisji sygnałem START i STOP, podać takŜe adres urządzenia oraz adres komórki pamięci w obrębie układu od której rozpocznie się zapis lub odczyt. Rys. 28. Zapis x-bajtów do pamięci EEPROM począwszy od adresu n [7] Po dokonaniu inicjacji transmisji sekwencją START (rys. 28), wysyłany zostaje adres układu, który został wybrany do zapisu lub odczytu danych. Adres układu jest zapisany na 7 bitach, z tym Ŝe na 5 najstarszych bitów nie mamy wpływu, gdyŜ zostały one ustawione fabrycznie i dla tego typu układu wynoszą 10100. Wybór konkretnego układu dokonujemy dwoma najmłodszymi bitami adresu A1 i A0. Po dokonaniu wyboru urządzenia, informujemy układ czy mamy zamiar dokonać odczytu czy teŜ zapisu, bit R/W= 0 odpowiada zapisowi, zaś R/W= 1 odczytowi. JeŜeli układ został prawidłowo zaadresowany i jest prawidłowo podpięty pod linie odpowie on w 9 trakcie impulsu zegarowego linii SCL, zwierając linie SDA do masy. Urządzenie nadrzędne testując tą chwilę jest w stanie sprawdzić czy jego komunikaty mają odbiorcę. W następnych dwóch bajtach informujemy układ o adresie komórki do której 49 mamy zamiar zapisać informację. Maksymalna ilość bajtów moŜliwych do zapisania w trakcie jednej ramki to 64. Zapis odbywa się w tzw. stronach czyli obszarach o stałych rozmiarach w obrębie których dokonujemy zapisu bądź odczytu. KaŜde przekroczenie adresu poza granice strony powoduje powrót na początek tego obszaru [7]. PoniŜej podano przykładowy program napisany w języku mikrokontrolera rodziny 51, zapisujący do układu pamięci o adresie 2, dwa bajty danych 6F hex i C6 hex pod adres komórki 4000 hex i 4001 hex. $mod517 port equ 0f8h scl bit port.0 sda bit port.1 blokada_zap_0 bit port.2 blokada_zap_1 bit port.3 blokada_zap_2 bit port.4 blokada_zap_3 bit port.5 org 8000h mov port,#0d mov R7,#2d mov R6,#40h mov R5,#00h mov R1,#2d mov 25h,#06Fh mov 26h,#0C6h mov R0,#25h lcall zapisywanie_sek_bajtow_do_eeproma sjmp $ zapisywanie_sek_bajtow_do_eeproma: lcall start_i2c mov A,R7 rl A orl A,#10100000b mov 20h,A lcall wysylanie_bajtow mov 20h,R6 lcall wysylanie_bajtow mov 20h,R5 lcall wysylanie_bajtow powtorz: mov 20h,@R0 lcall wysylanie_bajtow inc R0 djnz R1,powtorz lcall stop_i2c ret start_i2c: setb sda nop setb scl nop clr sda nop clr scl ret stop_i2c: clr sda nop setb scl nop setb sda wysylanie_bajtow: mov C,07h lcall dane_na_SDA lcall impuls_scl mov C,06h lcall dane_na_SDA lcall impuls_scl mov C,05h lcall dane_na_SDA lcall impuls_scl mov C,04h lcall dane_na_SDA lcall impuls_scl mov C,03h lcall dane_na_SDA lcall impuls_scl mov C,02h lcall dane_na_SDA lcall impuls_scl mov C,01h lcall dane_na_SDA lcall impuls_scl mov C,00h lcall dane_na_SDA lcall impuls_scl setb sda lcall impuls_scl mov 20h,#0 ret impuls_scl: nop setb scl nop clr scl nop ret dane_na_SDA: jnb CY,omin_to_adresowanie setb sda sjmp omin_to_adresowanie2 omin_to_adresowanie: clr sda omin_to_adresowanie2: ret delay: mov 10h,#25 delay2: mov 11h,#100 delay3: mov 12h,#100 djnz 12h,$ djnz 11h,delay3 50 nop lcall delay djnz 10h,delay2 ret ret end Krótki opis kodu źródłowego: Po wstępnym zdeklarowaniu linii mikrokontrolera odpowiedzialnych za komunikacje z pamięcią wpisujemy do wewnętrznych rejestrów mikrokontrolera dwa bajty informacyjne (RAM 25 hex= 6F hex, RAM 26 hex= C6 hex). Rejestr R1 odpowiada za ilość zapisywanych bajtów (R1=2). Rejestr R7 zawiera adres urządzenia, zaś R6, R5 starszy i młodszy adres komórki w przestrzeni adresowej układu. Procedura „zapisywanie_sek_bajtow_do_eeproma” korzysta z powyŜszych rejestrów, a takŜe z wielu innych mniejszych procedur umoŜliwiających bezpośrednie sterowanie liniami sygnałowymi. Na uwagę zasługuje wykorzystanie rejestru 20 hex jako faktycznego miejsca w którym informacja jest przekształcana z postaci równoległej na szeregową. Rejestr 20 hex leŜy w obszarze pamięci wewnętrznej RAM mikrokontrolera, w którym istnieje moŜliwość adresowania pojedynczych bitów w komórce. Pamięci EEPROM oprócz wielu zalet mają jedną bezsprzeczną wadę, jest nią wyjątkowo długi czas zapisu do komórki który wynosi średnio 10ms. Za wprowadzenie stosownego opóźnienia odpowiedzialna jest procedura „delay”. Na rysunku 29 przedstawiono przykładowe stany linii SDA i SCL podczas zapisu i odczytu danych do/z pamięci EEPROM wyposaŜoną w magistralę i2C. Przebieg 1 jest przebiegiem przedstawiającym stany na linii SCL, czyli przebieg prostokątnego sygnału taktującego. Przebieg 2 razem z przebiegiem 1 przedstawia sekwencje stanów logicznych występujących w trakcie realizacji przedstawianego programu, czyli zapisu do układu o adresie 2, dwóch bajtów danych 6F hex i C6 hex, od komórki o adresie 4000 hex. Przebieg 3 (razem z przebiegiem 1) przedstawia kombinacje kolejnych stanów na linii SDA podczas odczytu z układu o adresie 3, jednego bajtu danych (45 hex) spod komórki o adresie 6506 hex. Przebieg 4 (włącznie z przebiegiem 1) przedstawia zapis jednego bajtu (24 hex –znak ASCII $) w komórce o adresie 0020 hex układu o adresie 0, natomiast przebieg 5 (włącznie z przebiegiem 1) przedstawia sekwencje stanów która realizuje odczyt zapisanego wcześniej bajtu (przebieg 1 i 4). Kolorem czarnym zaznaczona stany logiczne definiowane przez Mastera czyli mikrokontroler, natomiast kolorem czerwonym zaznaczona sygnały które wymusza Slave (linia jest wówczas zwolniona przez Mastera). 51 Rys. 29. Stany logiczne na liniach SDA i SCL magistrali i2C w trakcie operacji zapisu i odczytu danych 52 Przewidziano Ŝe, w układzie zastosowane będą cztery pamięci EEPROM o pojemności 32KB kaŜda, nic jednak nie stoi na przeszkodzie zastosowanie większych pojemności bądź mniejszej liczby układów. Schemat podłączenia układów czterech pamięci pokazano na rysunku 30. Rys. 30. Schemat ideowy układu pamięci EEPROM KaŜdy układ ma na stałe wybrany adres pod którym jest identyfikowany oraz jedną linie WP podłączoną do linii portu, dzięki czemu moŜliwa jest programowa ochrona danych przed przypadkowym zapisem. 6.2.4. Blok wzmacniacza sygnału binarnego Zadaniem układu zbudowanym na układzie scalonym US1 7406 (6-krotny inwerter typu otwarty kolektor) jest wzmocnienie sygnału binarnego pochodzącego z portu mikrokontrolera tak aby mógł on wysterować diodą LED oraz przekaźnikiem. Dioda D2 podłączona do zacisków cewki przekaźnika P1 została zastosowana celu rozładowania energii zgromadzonej w polu magnetycznym cewki przy jej szybkim przełączaniu. Schemat ideowy przedstawiono na rysunku 31. 53 Rys. 31. Schemat ideowy bloku wskaźników LED i przekaźnika 6.2.5. Blok pamięci pastylkowej Magistrala 1-Wire oraz urządzenia w nią wyposaŜone zostały dokładnie omówione w rozdziale 5, poniŜej ograniczono się tylko do opisu zastosowanych w układzie elementów które są następujące: • układ DS1993 będący 4kb pamięcią EEPROM o adresie 1700000007654410 hex, • układ DS1920 będący cyfrowym termometrem o adresie 03000000146C7E06 hex. Układy te nie są integralną częścią tachografu elektronicznego, a jedynie indywidualnymi identyfikatorami kaŜdego uŜytkownika urządzenia i powinny być traktowane jak klucze pozwalające uruchomić tachograf, oprogramowanie lub pojazd, dlatego teŜ powinny być noszone przy właścicielu. Układ podłączenia elementów kontroli dostępu został pokazany na rysunku 32. Rys. 32. Układ połączeń pamięci pastylkowej 54 6.2.6. Zasilacz PoniewaŜ układ jest przewidziany do zainstalowania w pojeździe, zatem całe jego zasilanie jest pobierane z pokładowej instalacji elektrycznej. Urządzenie jest zasilane z pojedynczego akumulatora ołowianego o napięciu znamionowym 12V, nic jednak nie stoi na przeszkodzie aby zasilać go z dwóch akumulatorów połączonych szeregowo (24V) lub jednego o napięciu znamionowym 24V. W tym jednak przypadku naleŜy się liczyć w większą mocą traconą na radiatorze stabilizatora układu U1 (rys. 33). PoniewaŜ w układzie przewidziane są odbiorniki zasilane z napięcia +5V (wszystkie układy scalone + diody LED) w układzie zasilania zastosowano scalony stabilizator napięcia U1 - LM7805 z którego wyjścia uzyskujemy dokładnie +5V przy maksymalnym poborze prądu 1A. Z uwagi na dość nietypowe napięcie zasilania odbiornika GPS wynoszące 3,3V (3,0 – 3,6V) zastosowano drugi scalony stabilizator o regulowanym napięciu wyjściowym U2 - LM317. Dzięki zastosowaniu dzielnika napięcia zbudowanego z rezystorów R5 i R6 uzyskujemy na wyjściu układu dokładnie +3,3V. Kondensatory ceramiczne C1, C2, C3 spełniają funkcje tłumienia szybkich przepięć łączeniowych, dioda prostownicza D1 zabezpiecza układ przed odwrotnym podłączeniem zasilania, zaś bezpiecznik B1 jest termicznym zabezpieczeniem przeteŜeniowym. Cały układ zasilacza jest przedstawiono na rysunku 33. Rys. 33. Schemat ideowy zasilacza Pobór prądu z źródła zasilania przy napięciu +12V: W stanie czuwania - ok. 130 [mA]; W stanie pracy - ok. 220 [mA]. 55 6.3. Zasada działania Algorytm działania programu został przedstawiony schematycznie na rysunku 34. Rys. 34. Uproszczony algorytm działania tachografu elektronicznego Szczegółowy opis słowny działania algorytmu jest następujący: Brak napięcia na zacisku „15” a tym samym na zacisku „50” (tzn. przewód „15” jest odłączony od dodatniego napięcia zasilania czy teŜ masy układu – pojazd jest unieruchomiony), wymusza na wyjściu zestawu czujników obecności napięcia, niski potencjał czyli zero logiczne. Cały układ tachografu elektronicznego znajduje się wówczas w stanie uśpienia i jest nieaktywny, jedynie na linii 1-Wire jest stale generowany Impuls Resetu oraz sprawdzany okres w którym jakieś urządzenie moŜe odpowiedzieć Impulsem Obecności. Zewnętrzną sygnałem Ŝe układ znajduje się w tym stanie jest okresowa zmiana stanu 56 świecenia zielonej diody LED oznaczonej symbolem DS. Stan ten moŜe trwać dowolnie długo. Praca odbiornika GPS jest niezaleŜna od jakichkolwiek stanów w jakim znajduje się pojazd. Zasilanie przez cały czas jest podawane na układ, zaś dane są cyklicznie wysyłane na linie portu mikrokontrolera w odstępach jednosekundowych. Jedynym wyjątkiem od tej zasady jest przedział czasu około 2,1 s bezpośrednio po załączeniu zasilania w którym odbiornik jest nieaktywny i nie wysyła Ŝadnych danych. Zielona dioda LED o oznaczeniu GPS pali się przez ten okres a następnie gaśnie. Warto równieŜ dodać Ŝe w układzie zastosowano potrzymanie bateryjne (bateria litowa 3V) odbiornika GPS dlatego teŜ bezpośrednio po włączeniu zasilania, okres czasu po którym odbiornik zaczyna przesyłać kompletną ramkę, zawierającą pełne dane zostaje skrócony do maksymalnie 20s (w pamięci RAM podtrzymywanej przez baterię, znajdują się dane dotyczące almanachu satelitów GPS, efemerydy oraz ostatniej pozycji satelit, a takŜe czas pochodzący z układu zegara czasu rzeczywistego) jest to tzw. ciepły lub gorący start. JeŜeli nie byłaby zastosowana bateria, średni czas oczekiwania na pełny komunikat wyniósłby od 13 do 27 minut tzw. zimny start. W momencie wykrycia napięcia akumulatora na zacisku „15” oraz przyłoŜenia do zewnętrznego gniazda, pamięci pastylkowej, a co za tym idzie wykryciu przez mikrokontroler Impulsu Obecności, mikrokontroler aktywuje wszystkie przerwania (w programie wykorzystywane są tylko dwa przerwania, pochodzące od łącza szeregowych podstawowego (oznaczone jako RS0 o wektorze przerwania 23h) i dodatkowego (oznaczone jako RS1 o wektorze przerwania 83h)). Od tej chwili wszystkie dane przychodzące zarówno od odbiornika GPS (RS1) czy teŜ z zewnętrznego komputera PC (RS0) są przepisywane do zewnętrznej pamięci danych RAM, jako Ŝe rozmiar ramki pochodzącej od odbiornika GPS moŜe maksymalnie zawierać 135 bajtów (3 kompletne depesze GGA,VTG i ZDA) nie moŜliwe było jej umieszczenie w wewnętrznej pamięci RAM. Rozmiar ramki pochodzącej z zewnętrznego komputera zawiera 44 bajty (3 bajty startu, stopu i długości ramki + 41 bajtów danych). Poszczególne pozycje w ramce pochodzącej od odbiornika GPS zostały omówione przy okazji omawiania protokołu NMEA (patrz podrozdział 3.6) natomiast format ramki rozkazowej przesyłanej łączem podstawowym RS0 jest ściśle określony bowiem zawiera: bajt startu, bajt określający ilość przesyłanych danych, bajty danych (bajt rozkazu MNEMONIK ROZKAZU_0 wraz z potwierdzeniem MNEMONIK ROZKAZU_1) oraz bajt stopu kończący transmisje (rys. 35). 57 Rys. 35. Struktura ramki rozkazowej Poszczególne pozycje mają następujące znaczenie: • START – wartość 30 hex rozpoczyna kaŜdą transmisję. • ILOŚĆ BAJTÓW DANYCH – wartość 29 hex określa ilość bajtów informacyjnych. • BZKPE_0 i BZKPE_1 – wartość 30 hex i 30 hex; Bajty śądania Kasowania całej zawartości Pamięci EEPROM. Kasowanie jest realizowane jest poprzez wskazanie jako pierwszej wolnej komórki pamięci przeznaczonej do zapisu, komórki o adresie 00 hex 0020 hex (EEPROM nr 0 i adres komórki 32) czyli bezpośrednio za rejestrem statusowym. JeŜeli operacja zostanie poprawnie wykonana urządzenie wyśle bajt potwierdzenia ACK (06 hex). • BZOPE_0 i BZOPE_1 – wartość 30 hex i 30 hex; Bajty śądania Odczytu całej zapisanej Pamięci EEPROM. Bezpośrednio po wysłaniu Ŝądania następuje odczyt całej zawartości EEPROMu od adresu 00 hex 0020 hex aŜ do ostatniego zapisanego rekordu. Format wysyłanych danych zostanie opisany dalej. • BZZOC_0 i BZZOC_1 – wartość 30 hex i 30 hex; Bajty śądania Zmiany Odstępu Czasowego uwzględnianego przy zapisie do EEPROMów kolejnych rekordów pochodzących z odbiornika GPS. Nowe wartości podawane są bezpośrednio za rozkazem w bajtach BZZOC_OH część starsza i BZZOC_OL cześć młodsza. Liczba na 16-bitach wyraŜa odstęp pomiędzy kolejnymi zapisami w sekundach. Wartość musi 58 się zawierać w granicach od 1 do 65535 s (zapis w odstępach co 1s do 18h12m15s). Bezpośrednio po wykonaniu rozkazu wysyłany jest bajt potwierdzenia ACK (06 hex). • BZODC_0 i BZODC_1 – wartość 30 hex i 30 hex; Bajty śądania Odczytu Dystansu Całkowitego. Bezpośrednim skutkiem wykonania rozkazu jest wysłanie 3 bajtów (część starsza, młodsza, najmłodsza) na których zapisany został stan licznika pojazdu (drogomierz nieskalowalny), wartość zapisana w kilometrach (3 bajty = 24-bity, moŜliwy przedział to 0 – 16 777 216 km). Np. <15 hex><7A hex><4C hex> oznacza 1 407 564 km • BZODD_0 i BZODD_1 – wartość 30 hex i 30 hex; Bajty śądania Odczytu Dystansu Dziennego. Bezpośrednim skutkiem wykonania rozkazu jest wysłanie 4 bajtów (trzy najstarsze bajty oznaczają przebyty dystans w metrach część starsza, młodsza, najmłodsza ostatni bajt to część ułamkowa dystansu zapisana jako wartość o podstawie 10, maksymalna wartość 99), wartość zapisana w metrach (3 bajty + 1bajt = 24-bity + 8-bitów, moŜliwy przedział to 0,00 – 16 777 216,99 m). Np. <01h> <23h> <26h> <03h> oznacza 74 534,03 m • BZZKP_0 i BZZKP_1 – wartość 30 hex i 30 hex; Bajty śądania Zmiany Konfiguracji Pamięci EEPROM. Bezpośrednio za rozkazem naleŜy podać 4 bajty (BZZKP_E0 – BZZKP_E3 ) określające rozmiar pamięci w KB w kolejności od nr 0 do 3. Dopuszczalne liczby to 0, 1, 2, 4, 8, 16, 32 i 64. Dla EEPROMu nr 0 niedopuszczalne jest wysłanie konfiguracji 0. • BZOKP_0 i BZOKP_1 – wartość 30 hex i 30 hex; Bajty śądania Odczytu Konfiguracji Pamięci. Bezpośrednim skutkiem wykonania rozkazu jest wysłanie 4 bajtów oznaczających rozmiary pamięci EEPROMu w kolejności od 0 do 3 zgodnie z oznaczeniem jak dla BZZKP. • BZZPT_0 i BZZPT_1 – wartość 30 hex i 30 hex; Bajty śądania Zmiany Prędkości Transmisji danych. Zaraz za rozkazem naleŜy podać nową wartość binarną która jest przepisywana do rejestru TH1 mikrokontrolera. Wartość ta określa przepełnienie Timera 1 mikrokontrolera (patrz dodatek A) i ma bezpośredni wpływ na prędkość transmisji pomiędzy tachografem a komputerem zewnętrznym. Wartość TH1 określa się zgodnie ze wzorem 6.1. TH 1 = 256 − f osc ⋅ 2 SMOD 32 ⋅12 ⋅ BR (6.1) gdzie: 59 SMOD najstarszy bit zawarty w rejestrze PCON (patrz dodatek A), fosc częstotliwość rezonansowa oscylatora (14,74MHz), BR prędkość transmisji. Np.: dla prędkości 9600 bodów, SMOD=1 i fosc=14,74MHz; TH1=248. • BZOWM_0 i BZOWM_1– wartość 30 hex i 30 hex; Bajty śądania Odczytu adresu komórki z Wolnym Miejscem do zapisu. Bezpośrednim skutkiem wykonania rozkazu jest wysłanie 3 bajtów z których pierwszy oznacza adres układu scalonego w którym znajduje się pierwszy nie zapisany rekord (0-3), następne dwa (najpierw cześć starsza) to adres komórki w obrębie pamięci która jest przeznaczona do zapisu. • BZOWD_0 i BZOWD_1 – wartość 30 hex i 30 hex; Bajty śądania Odczytu Wszystkich istotnych Danych z pamięci EEPROM. Rozkaz będący sumą wszystkich poprzednich, po jego wykonaniu przesyłanych jest (31 + 32 . ilość zapisanych rekordów) bajtów w następującej kolejności: 2 bajty odstępu zapisu rekordów (skutek identyczny jak przy podaniu rozkazu BZOPE_0 i BZOPE_1), 3 bajty określające wartość dystansu całkowitego (skutek identyczny jak przy podaniu rozkazu BZODC_0 i BZODC_1), 4 bajty określające wartość dystansu dziennego (skutek identyczny jak przy podaniu rozkazu BZODD_0 i BZODD_1), 3 bajty określające połoŜenie pierwszej wolnej komórki pamięci przeznaczonej do zapisu (skutek identyczny jak przy podaniu rozkazu BZOWM_0 i BZOWM_1), 4 bajty określające konfiguracje EEPROMów (skutek identyczny jak przy podaniu rozkazu BZOKP_0 i BZOKP_1), 7 bajtów zapisanych jako znaki ASCII oznaczających numer rejestracyjny pojazdu, 8 bajtów określających kod identyfikacyjny iButtona uŜytkownika który nawiązał połączenie z tachografem elektronicznym. Na samym końcu przesyłane są wszystkie zapisane rekordy oznaczające punkty pomiarowe, ilość bajtów jest określona wyraŜeniem 32. ilość zapisanych rekordów. • BZBDP_0 i BZBDP_1 – wartość 30 hex i 30 hex; Bajty śądania Bezpośredniego Dostępu do Pamięci EEPROM. Rozkaz wykorzystywany praktycznie raz po przypisaniu danego egzemplarza urządzenia do konkretnego pojazdu. Zapisuje on do rejestrów statusowych pamięci EEPROM nr. 0, 7 bajtów określających numer rejestracyjny wozu zapisanych jako znaki ASCII oraz 3 bajty wartości o całkowitym dystansie przejechanym przez dany pojazd (stan drogomierza nieskalowanego). • BZOKK_0 i BZOKK_1 – wartość 30 hex i 30 hex; Bajty śądania Odczytu Kodu identyfikacyjnego Klucza. Bezpośrednio po wykonaniu rozkazu wysyłanych jest 8 60 bajtów określających numer identyfikacyjny klucza jakim uŜytkownik posłuŜył się w celu komunikacji z tachografem. Dane przesyłane są w następującej kolejności: bajt CRC, 7 bajtów numeru seryjnego, bajt kodu rodziny układu. • STOP – wartość 39 hex, program po kaŜdy odebranym bajcie zwiększa liczbę wewnętrznego licznika. Po zrównaniu się wartości wewnętrznego licznika z wartością bajtu ILOŚĆ BAJTÓW DANYCH, podprogram odpowiedzialny za transmisję szeregową będzie oczekiwać bajtu STOP, jeŜeli on nie nastąpi wszystkie pozostałe dane są ignorowane a cała ramka nie zostaje zatwierdzona jako poprawna. Równocześnie z realizowaniem rozkazu pochodzącego od komputera zewnętrznego moŜe takŜe być realizowana obsługa przerwania pochodzącego od dodatkowego łącza szeregowego (RS1) czyli od odbiornika GPS. Jako ze priorytet przerwania dodatkowego łącza szeregowego jest niŜszy niŜ podstawowego (patrz dodatek A) obsługa ta jest zawsze wykonywana niejako w tle, jednak nie ma to specjalnie większego znaczenia gdyŜ obsługa przerwania łącza dodatkowego jest realizowano średnio około 135 razy w ciągu sekundy, zaś od łącza podstawowego 44 razy w ciągu dnia, tygodnia (w zaleŜności od potrzeb uŜytkownika). Z chwilą odebrania trzech poprawnych i kompletnych depesz nawigacyjnych (GGA,VTG i ZDA) wykonywane są podprogramy dotyczące obliczenia przebytej cząstkowej drogi uzyskiwane na podstawie prędkości oraz czasu, wartość ta jest następnie dodawana do wartości dystansy dziennego, obliczany jest takŜe całkowity dystans. KaŜde takia obróbka danych powoduje inkrementacje wewnętrznego licznika który jest na samym końcu sprawdzany z zapisem odstępu zapisu rekordów umieszczonym w rejestrach statusowych pamięci EEPROM nr 0. JeŜeli obie wartości są równe następuje zerowanie licznika oraz zostaje realizowany podprogram zapisu jednego rekordu do pierwszej wolnej komórki pamięci EEPROM. Zapisywany jeden rekord ma rozmiar 32 bajtów. Poszczególne pozycje pojedynczego rekordu zostały przestawione na rysunku 36 oraz opisane poniŜej. KaŜdy zapisany rekord rozpoczyna się od znaku $ (24 hex) jest to znak rozpoznawczy Ŝe od tego miejsca kolejne 31 pozycji jest traktowane jako jeden punkt pomiarowy. Bezpośrednio za znakiem $ następują 3 bajty, informujące o czasie zarejestrowanym w trakcie pomiaru, GODZINA, MINUTA, SEKUNDA (czas UTC). Kolejne 4 bajty to dane dotyczące daty w czasie pomiaru DZIEŃ, MIESIĄC oraz ROK. Ze względu na fakt Ŝe wartość roku jest stosunkowo duŜą liczbą jej wartość została podzielona na dwie części ROK_H i ROK_L. Następne 10 bajtów to informacja o pozycji odbiornika (pojazdu) w czasie pomiaru, pierwsze 5 bajtów to szerokość geograficzna zapisana w formacie STOPNIE, 61 MINUTY, ułamek minuty - DZIESIECIOTYSIECZNE MINUTY oraz ZNAK szerokości, kolejne 5 bajtów to identyczny format tyle tylko Ŝe dla długości geograficznej. LICZBA STATELITÓW to bajt informacyjny wskazujący na liczbę satelitów będących nad linią horyzontu w momencie pomiaru i widzianych przez odbiornik GPS (maksymalnie 8). Kolejne 2 bajty wskazują na wartość wysokości bezwzględnej która ze względu na moŜliwą duŜą wartość (teoretycznie max 18000 m npm) została rozbita na dwa bajty WYSOKOŚĆ BEZWZG_H i WYSOKOŚĆ BEZWZG_L. Kolejne dwa bajty określają prędkość chwilową w momencie pomiaru podawaną w kilometrach na godzinę. Pierwszy bajt oznacza część całkowitą PRĘDKOŚĆ CHWIL_CAŁK natomiast drugi dziesiętną część ułamkową PRĘDKOŚĆ CHWIL_UŁAM. Kolejne 4 bajty określają DYSTANS DZIENNY jaki został obliczony w chwili zapisu do pamięci. Wartość podawana na 3 bajtach wyskalowana jest w metrach, 4 bajt określa setną wartość ułamkową przebytego dystansu dziennego. Ostatnie wykorzystywane pole, 28 bajt - IDENTYF KIEROWCY określa numer identyfikatora uŜytkownika pojazdu który jest nadawany na podstawie priorytetu oraz klucza identyfikacyjnego. Pozostałe pola zostały jak na razie nie wykorzystane (tylko 4 bajty). Rys. 36. Struktura pojedynczego rekordu KaŜdy nowy rekord zapisywany jest od miejsca charakteryzującego się adresem układu EEPROM (0, 1, 2, 3) oraz 16-bitowym adresem komórki w obrębie danego układu. Ogólnie zapis jest dokonywany w odstępie 32 bajtowym i jest moŜliwy w całej przestrzeni adresowej układu z wyjątkiem pamięci EEPROM nr 0 gdzie jest moŜliwy dopiero od adresu 62 0020 hex, gdyŜ pierwsze 32 bajty zajmowane są przez rejestry statusowe. W rejestrach tych zapisywane są dane które określają konfiguracje urządzenia, a które nie mogą zostać zapisane w pamięci programu EPROM z uwagi na jej niemodyfikalność oraz nie mogą być zapisane w pamięci RAM ze względu na ulotność tych danych po odłączeniu zasilania, dlatego teŜ w pamięci EEPROM nr 0 wydzielono specjalny obszar 0000 hex-001F hex w którym dokonuje się zapisu danych tymczasowych i stałych a które nie mogły zostać ustalone na poziomie pisania programu. Szczegółowy opis poszczególnych pozycji jest podany poniŜej (rys. 37). Rys. 37. Struktura rejestrów statusowych w EEPROMie nr. 0 Trzy pierwsze bajty ADR.UKŁ.Z WOLNĄ PAM oraz ADR.KOM.Z WOLNĄ PAM (00 hex 0000 hex – 0002 hex) określają kompletny adres układu i komórki od której zapisywany jest nowy rekord, pierwszy moŜliwy adres to 00 hex 0020 hex natomiast ostatni to 03 hex 7FE0 hex, czyli mamy do dyspozycji 4095 rekordy moŜliwe do zapisu, co przy konfiguracji (32KB, 32KB, 32KB, 32KB) i zapisie co 2.5 minuty wystarcza na 7d02h37m30s ciągłej pracy. NaleŜy tu jednak dodać ze odstęp 2.5 minutowy nie jest minimalną ani maksymalną wartością którą moŜna ustawić, jednak ze względów eksploatacyjnych zaleca się stosować odstęp ustawiony w przedziale wartości pomiędzy 1- 60 minut. Bajty o adresie 0003 hex – 0005hex DYSTANS CAŁKOWITY odpowiadają stanowi licznika, którego wartość moŜe ulec tylko zwiększeniu o jedność po przejechaniu jednego kilometra. Pozycja ta jest elektronicznym odpowiednikiem mechanicznego układu drogomierza nieskalowanego umieszczonego na desce rozdzielczej zazwyczaj w okolicy prędkościomierza. Dalsze dwa bajty (0006 hex – 0007 hex) odpowiadają opisywanemu wcześniej odstępowi pomiędzy 63 zapisami rekordów wyraŜonymi w całkowitej liczbie sekund. Wartość ta ma bezpośredni wpływ na ilość zapisanych bajtów oraz odstęp czasowy pomiędzy kaŜdym z nich. Dwa następne bajty (0008 hex – 0009 hex) to CZĘŚCIOWY DYSTANS CAŁKOWITY, czyli ułamkowa wartość całkowitego dystansu przechowywana w trakcie kaŜdorazowego zapisu a potrzebna do odtworzenia stanu drogomierza urządzenia po chwilowym wyłączeniu zasilania. Dalsze 4 bajty to DZIENNY DYSTANS czyli zapamiętanie na okres wyłączenia zasilania wartość dystansu dziennego tak aby po ponownym załączeniu zasilania móc nadal kontynuować zapis od ostatniej wartości. Dalej mamy 4 bajty określające rozmiar zainstalowanych pamięci EEPROM (000E hex – 0011 hex). Wartości te informują urządzenie o liczbie i pojemnościach aktualnie włoŜonych pamięciach. Ostatnie 7 bajtów to znaki ASCII liter i cyfr uŜytych do zapisania numeru rejestracyjnego wozu przypisanego do danego egzemplarza urządzenia (NR REJESTRACYJNY ZNAK_1 - NR REJESTRACYJNY ZNAK _ 7; 0012 hex – 0018 hex). Z chwilą wyczerpania się wszystkich wolnych rekordów w pamięciach niemoŜliwy jest dalszy zapis punktów pomiarowych, jednak dalej jest liczona droga oraz dokonywany jest zapis do rejestrów statusowych na pozycji: dystans całkowity i dzienny. Zewnętrznym sygnałem tego stanu układu jest ciągłe świecenie diody LED RS. Wszystkie dane istotne przy pracy urządzenia są zapisywane w rejestrach statusowych urządzenia, dlatego teŜ po chwilowym zaniku zasilania moŜliwa jest dalsza kontynuacja pracy urządzenia, gdyŜ nastąpi automatyczne zerowanie mikroprocesora a wszystkie dane zostaną ponownie wczytane do wewnętrznej pamięci RAM. Konieczne jest tylko ponowne potwierdzenie indywidualnym identyfikatorem toŜsamości uŜytkownika. Cała komunikacja pomiędzy komputerem zewnętrznym a tachografem odbywa się łączem szeregowym RS232C, za pomocą skrzyŜowanego kabla trójŜyłowego (GND0-GND1; TXD0-RXD1; RXD0-TXD1) zakończonego wtykami DB-9. Prędkości transmisji zostały ustawione na 9600 bodów dla komunikacji między gniazdem RS0 a komputerem zewnętrznym oraz 4800 bodów dla komunikacji pomiędzy gniazdem RS1 a komputerem zewnętrznym (prędkość 4800 bodów podyktowana dostosowaniem do standardu NMEA0183 ver 2.0 który jest wykorzystywany przez większość map komputerowych). 6.4. Uwagi końcowe Płytka drukowana została wykonana techniką druku dwustronnego z przewlekaniem. Układ mikroprocesorowy został dołączony do płytki głównej za pomocą jednorzędowych gniazd typu SIL. Wszystkie układy scalone zostały umieszczone w precyzyjnych 64 podstawkach co ułatwia ich późniejszą wymianę lub ewentualną zmianę konfiguracji (w przypadku pamięci EEPROM). Zastosowany przekaźnik zasilany napięciem 12V ze stykami o obciąŜalności 10A ma za zadanie przerywać przewód „50” łączący stacyjkę z włącznikiem elektromagnetycznym rozrusznika. Na płytce zastosowano podwójne złącza ARK łączące płytkę drukowaną z zewnętrznym gniazdem podłączeniowym typu Cannon. Bateria litowa 3V o pojemności 240mAh ma za zadanie podtrzymać dane zapisane w pamięci RAM odbiornika GPS przez maksymalnie długi czas. Na rysunku 38 pokazano układ ścieŜek płytki drukowanej, zaś rozmieszczenie elementów na rysunku 39. Wszystkie zastosowane elementy zostały zestawione w tabeli 2. Tabela 2. R1 – R4 R5 R6 R7 – R11 R12 R13 – R14 C1 – C3 U1 U2 B1 DZ1, DZ2 1kΩ/0,25W 240Ω/0,25W 390Ω/0,25W 1kΩ/0,25W 4,7kΩ/0,25W 4,7kΩ/0,25W 100nF LM7805 LM317 500mA 4,7V/0,1W US1 UCY7406N US2 – US5 AT24C256 D1 1N4001 D2 1N4148 Bat 3V (litowa) 240mAh P1 Przekaźnik 12V/10A LED1 – LED5 CQYP41 RS0, RS1 DB-9 Złącze ARK, podstawki DIL8 i DIL14,Obdiornik GPS SQ Lassen, moduł MM-537 Rys. 38. Układ ścieŜek płytki drukowanej 65 Rys. 39. Rozmieszczenie elementów na płytce drukowanej Program mikrokontrolera zapisany w pamięci EEPROM, został napisany w języku asemblera mikrokontrolera 8051. Wszystkie instrukcje, rozmieszczenie rejestrów SFR oraz przerwania zostały ujęte i opisane w Dodatku A. 6.5. Obudowa i wyprowadzenia zewnętrzne Wszystkie układy elektroniczne za wyjątkiem gniazda pamięci pastylkowej zostały umieszczone wewnątrz plastikowego pudełka (rys. 40 i rys. 41). Rys. 40. Rysunek obudowy tachografu elektronicznego wraz z opisem 66 Rys. 41. Widok ogólny obudowy Na zewnątrz wyprowadzone zostały: • 2 gniazda DB-9 słuŜące do komunikacji szeregowej z komputerem zewnętrznym: o RS0 słuŜy do komunikacji tachografu z komputerem zewnętrznym. Przy pomocy tego gniazda dokonujemy identyfikacji własnej osoby, konfigurujemy wszystkie ustawienia tachografu oraz odczytujemy zapisane dane. o RS1 przesyła dane GPS w formacie NMEA-0183 prędkością 4800bodów, dzięki podłączeniu tego gniazda do komputera wraz z zainstalowaną mapą cyfrową jesteśmy w stanie obserwować swoje połoŜenie w czasie rzeczywistym. MoŜliwe jest jednoczesne korzystanie z obu gniazd. • 5 diod LED (3 zielone i 2 czerwone) informujących uŜytkownika o aktualnym stanie pracy urządzenia: o dioda DS (zielona) migająca informuje uŜytkownika o trybie uśpienia urządzenia, pracuje tylko odbiornik GPS; zapalona w trybie biernym oznacza przekluczenie stacyjki w połoŜenie I oraz oczekiwanie na przyłoŜenie pamięci pastylkowej do gniazda; zgaszona oznacza akceptacje kodu uŜytkownika oraz przejście do aktywnego trybu pracy; zapalona w trybie aktywnym oznacza koniec wolnej pamięci do zapisu o dioda WR (zielona) 67 zapalona oznacza wykonywanie operacji zapisu na pamięci EEPROM o dioda GPS (zielona) zapalona oznacza uaktywnienie się odbiornika GPS po włączeniu zasilania przez okres 2,1s; zgaszona normalna praca odbiornika GPS; o dioda RD (czerwona) zapalona oznacza wykonywanie operacji odczytu z pamięci EEPROM; migająca na przemian z diodą RS podczas zapisu oznacza niepełne lub błędne odebrane dane z odbiornika GPS; o dioda RS (czerwona) zapalona oznacza wykonywanie operacji przesyłania danych po łączu szeregowym w obie strony; migająca z częstotliwością 1Hz oznacza odebranie poprawnej depeszy nawigacyjnej z odbiornika GPS; nierównomierne naprzemienne migotanie z diodą RD oznacza odebranie niekompletnej depeszy nawigacyjnej, dane nie są zapisywane. • Gniazdo anteny słuŜy do podłączenia zewnętrznej anteny sygnału GPS • Przycisk RESET słuŜy do zerowania mikroprocesora, czyli bezzwłocznego przejścia do trybu biernego • Gniazdo połączeniowe słuŜy do podłączenia urządzenia do zasilania, zacisków 15 i 50 instalacji elektrycznej samochodu oraz gniazda pamięci pastylkowej. Niektóre połączenia mają dwa wyprowadzenia (obwody sygnałowe bądź małego prądu) inne cztery (obwody silnoprądowe) (rys. 42). Rys. 42. Widok gniazda przyłączeniowego od strony zewnętrznej 68 Schemat podłączenia tachografu do instalacji elektrycznej pojazdu został przedstawiony na rysunku 43. Rysunek ten przedstawia klasyczny główny obwód zasilania pojazdu wyposaŜonego w silnik o zapłonie iskrowym. Przedstawiony schemat jest takŜe obowiązujący takŜe dla pojazdów wyposaŜonych w silnik o zapłonie samoczynnym (silnik Diesla) (przewaŜnie wszystkie samochody cięŜarowe oraz autobusy są w niego wyposaŜone), gdyŜ cały montaŜ sprowadza się do przecięcia kabla „50” i wprowadzenia jego końcówek do zacisków „P1” i „P2” tachografu. Oczywiście konieczne jest takŜe podłączenie zasilania oraz końcówek przewodów „15” i „50”. Zasilanie z dodatniego bieguna powinno być poprowadzone bezpośrednio z zacisku akumulatora, zaś masę układu naleŜy brać bezpośrednio z karoserii nadwozia. Rys. 43. Przykładowy schemat podłączenia tachografu elektronicznego w pojeździe (silnik z zapłonem iskrowym) 69 7. Opis tachografu elektronicznego – cześć programowa 7.1. Opis ogólny Uzupełnieniem części elektronicznej (sprzętowej) jest część programowa, realizująca obsługę wszystkich funkcji urządzenia. Cześć programowa została napisana w języku C++ w środowisku Borland® Builder 5.0 pracującego pod kontrola systemu operacyjnego MS Windows® 95/98/2000/XP. Zadaniem PROGRAMu OBSŁUGI TACHOGRAFU ELEKTRONICZNEGO (POTE) jest zbieranie, przetwarzanie, wizualizacja i archiwizacja wszystkich danych zgromadzonych i przechowywanych w tachografie elektronicznym. Dzięki wbudowanym w program mikrokontrolera funkcjom, dostęp do oprogramowania jest moŜliwy tylko i wyłącznie przy współpracy z częścią zainstalowaną w pojeździe lub po potwierdzeniu hasła. Druga opcja została dołączona w celu umoŜliwienia konfiguracji i przeglądania danych w miejscu nie związanym z wnętrzem kabiny kierowcy (np. konfiguracja bazy uŜytkowników w biurze). Program daje moŜliwość wizualizacji wszystkich danych zapisanych w tachografie elektronicznym takich jak: wykres przebiegu prędkości chwilowej w funkcji czasu, wykres przebiegu przyrostu pokonanego dystansu dziennego w funkcji czasu, przedział i długość czasu jazdy i postoju. PowyŜsze funkcje są dostępne takŜe w zwykłych tachografach mechanicznych, jednak przy pomocy tachografu elektronicznego wraz z oprogramowaniem otrzymują one nową jakość. Ponadto mamy moŜliwość sprawdzenia profilu trasy dzięki wykresowi przebiegu zmian wysokości bezwzględnej w funkcji czasu, a takŜe wykreśleniu samej trasy na komputerowej mapie samochodowej. Dodatkowo istnieje takŜe moŜliwość obserwowania aktualnej pozycji geograficznej w czasie rzeczywistym co jest dość przydatne jeŜeli poruszamy się pierwszy raz w terenie nieznanym. Program POTE takŜe jest przewidziany do tworzenia i zarządzania prostą bazą danych uŜytkowników uprawnionych do korzystania z części programowej i sprzętowej, a takŜe zmiany wszystkich ustawień w pracy samego tachografu. 70 Dzięki opcji archiwizacji wszystkie dane zapisane w tachografie moŜemy przepisać do specjalnego pliku, dzięki czemu jest moŜliwe ich późniejsze ponowne przejrzenie i weryfikacja danych. Przewidziana jest takŜe współpraca oprogramowania z elektronicznymi mapami samochodowymi Microsoft AutoRoute oraz Nawigator Mapa Polski. Dzięki opcji generacji plików z danymi geograficznymi (*.txt i *.wpt) a następnie zaimportowaniu ich przez wspomniane wyŜej mapy jesteśmy w stanie prześledzić całą trasę pokonaną przez pojazd. ZałoŜono Ŝe osoba obsługująca program jest właścicielem firmy transportowej bądź osobą odpowiedzialną w firmie za rozlicznie kursów i kierowców lub teŜ urzędnikiem państwowym uprawnionym do kontroli pojazdu w trasie (Policja lub Inspekcja Transportu Samochodowego czy teŜ inne słuŜby). Osoba ta posiada indywidualny klucz identyfikacyjny (pamięć pastylkową) której kod jest identyfikowany przez program i na podstawie wewnętrznej bazy danych jest jej przypisywany konkretny poziom priorytetu. Osoby z niskim poziomem priorytetu nie mogą obsługiwać programu lub teŜ mają ograniczoną wiedzę o funkcjach i zapisach urządzenia. I tak osoba zidentyfikowana jako KIEROWCA1 bądź KIEROWCA2 (poziom priorytetu 0) nie moŜe obsługiwać programu (po zidentyfikowaniu toŜsamości program automatycznie stanie się nieaktywny). Osoba zidentyfikowana jako POLICJANT czy teŜ INSPEKTOR TRANSPORTU SAMOCHODOWEGO (poziom priorytetu 1) będzie miała wgląd w niektóre dane dotyczące jazdy takie jak prędkość chwilowa, czas jazdy i postoju, natomiast nie będzie znała przebiegu trasy. Osoba zidentyfikowana z priorytetem 2 ma dostęp do wszystkich funkcji przewidzianych w trakcie normalnego uŜytkowania, natomiast z poziomem priorytetu 3 i wyŜej moŜe konfigurować tachograf i odbiornik GPS na płaszczyźnie programowej tzn. moŜe zmieniać przypisanie danego urządzenia do konkretnego pojazdu (zmiana numeru rejestracyjnego zapisanego na stałe w pamięci tachografu lub teŜ zmieniać wartość licznika drogomierza nieskalowanego). Z racji specyficznego zainstalowania urządzenia załoŜono Ŝe osoba posługująca się opisywanym oprogramowaniem będzie wyposaŜona w przenośny komputer (laptop) oraz kabel przystosowany do transmisji szeregowej w obie strony. 7.2. Program Obsługi Tachografu Elektronicznego (POTE) 7.2.1. Interfejs uŜytkownika Okno główne programu POTE przedstawia rysunek 44. W oknie głównym moŜemy wyróŜnić trzy podstawowe interfejsy słuŜące do komunikacji z uŜytkownikiem: • pasek menu, 71 • pasek narzędzi podręcznych, • pole robocze. Rys. 44. Okno główne programu POTE Dzięki zastosowaniu rozwijanego paska menu, uŜytkownik otrzymuje dostęp do najwaŜniejszych funkcji programu. Takie rozwiązanie jest bardzo przydatne dla uŜytkownika rzadko lub pierwszy raz korzystającego z programu. Pasek menu umoŜliwia dostęp do następujących opcji: Menu Plik: • Nowy (klawisze skrótu CTRL+N) – tworzy nowy formularz, • Otwórz (klawisze skrótu CTRL+O) – otwiera istniejący plik archiwum (*.tah), • Zapisz jako... (klawisze skrótu CTRL+S) – zapisuje bieŜący formularz (*.tah), • Zamknij (klawisze skrótu CTRL+Z) – zamyka istniejący formularz, • Wczytaj dane (klawisze skrótu CTRL+W) – wczytuje dane do formularza, • Wyjście (klawisze skrótu CTRL+X) – wyjście z programu. Menu Ustawienia: • UŜytkownicy (klawisze skrótu CTRL+K) – konfiguracja bazy uŜytkowników, 72 • Komunikacja (klawisze skrótu CTRL+C) – wymiana danych z tachografem, • Tabela danych (klawisze skrótu CTRL+B) – dane tachografu w formie tabeli, • Strefa czasowa – ustawienie strefy czasowej (UTC+1h lub UTC+2h), • Konfiguracja rejestru statusowego –dla uŜytkowników z wysokim priorytetem, • Konfiguracja odbiornika GPS – dla uŜytkowników z wysokim priorytetem. Menu Wykres: • Prędkości chwilowej (klawisz skrótu F2) – wykres prędkości chwilowej, • Przebytej drogi (klawisz skrótu F3) – wykres przebytej drogi, • Wysokości bezwzględnej (klawisz skrótu F4) – wykres profilu trasy, Menu eMapa: • Generuj plik znaczników (klawisze skrótu CTRL+A) – generacja pliku znaczników, Menu Hasło: • Dostęp do wszystkich funkcji – dla uŜytkowników z wysokim priorytetem. Menu Pomoc: • O programie (klawisz skrótu F1) – ogólna informacja o programie. W celu szybszego dotarcia do powyŜszych funkcji oraz umoŜliwienia wygodnego przeglądania wykresów, naleŜy skorzystać z paska narzędziowego (rys. 45). Rys.45. Pasek narzędzi podręcznych Na pasku narzędziowym znajdują się przyciski którym przypisane są te same polecenia które znajdują się w głównym menu programu. Dodatkowo w dolnym pasku znajdują się przyciski i pola słuŜące poruszaniu się po obszarze wykresu. Opis poszczególnych przycisków jest następujący: • 1 – „Utwórz nowy formularz”, • 2 – „Otwórz istniejący plik archiwum”, • 3 – „Zapis bieŜący formularz do pliku archiwum”, 73 • 4 – „Zamknij bieŜący formularz”, • 5 – Przyciski nie aktywne, • 6 – „Konfiguracja bazy uŜytkowników”, • 7 – „Komunikacja oprogramowania z tachografem”, • 8 – „Tabela danych tachografu”, • 9 – „Wczytanie danych do pustego formularza”, • 10 – „Wykres prędkości chwilowej”, • 11 – „Wykres przebytej drogi”, • 12 – „Wykres profilu trasy”, • 13 – „Generacja pliku znaczników” • 14 – „Konfiguracja rejestrów statusowych” (uŜytkownicy o wys. priorytecie), • 15 – „Konfiguracja odbiornika GPS” (uŜytkownicy o wysokim priorytecie), • 16 – „Wykres rozciągnięty na całą dobę”, • 17 – „Przejście do następnego dnia prezentowanego na wykresie”, • 18 – Aktualny dzień prezentowany na wykresie, • 19 – „Przejście do poprzedniego dnia prezentowanego na wykresie”, • 20 – „Przesuniecie wykresu o cztery godziny w przód”, • 21 – Aktualny przedział czasowy wykresu, • 22 – „Przesuniecie wykresu o cztery godziny w tył”, • 23 – Czas wskazanego punktu pomiarowego. W polu roboczym wyświetlane są okna słuŜące do realizacji wymienionych funkcji. 7.2.2. Obsługa programu PoniŜej został przedstawiony krok po kroku schemat postępowania w trakcie normalnego uŜytkowania tachografu elektronicznego i programu z nim współpracującego z uwzględnieniem specyfiki róŜnych uŜytkowników. • Obsługa urządzenia przez kierowcę pojazdu (poziom priorytetu 0) Praktycznie tachograf elektroniczny z punktu widzenia kierowcy jest urządzeniem bezobsługowym, jedyną czynnością jaką musi dokonać kierowca pojazdu przed uruchomieniem silnika jest potwierdzenie własnej toŜsamości przy pomocy klucza identyfikacyjnego (pamięć pastylkowa). W tym celu przekluczamy stacyjkę w połoŜenie I (dioda DS przestanie mrugać a zacznie świecić ciągłym światłem) po czym przykładamy 74 własny klucz identyfikacyjny do specjalnego gniazda umieszczonego na desce rozdzielczej. JeŜeli identyfikacja przebiegła pomyślnie, wewnętrzny przekaźnik zostanie pobudzony i będzie moŜliwe uruchomienie silnika (przekluczenie stacyjki w połoŜenie II spowoduje zadziałanie rozrusznika). JeŜeli odbiornik GPS przesyła kompletną depeszę nawigacyjną, dioda RS będzie mrugać z częstotliwością 1Hz, zaś w równych odstępach czasu określonych ustawionym odstępem czasu pomiędzy zapisami do pamięci, mrugnie dioda WR oznaczająca faktyczny zapis do pamięci EEPROM. JeŜeli antena odbiornika znajdzie się w miejscu w którym istnieje ograniczona widoczność satelitów (tunel, wysokie budynki, gęsty las) moŜe nastąpić odbiór niekompletnej depeszy nawigacyjnej, wówczas zapis nie jest dokonywany a cały stan objawia się przemiennym mruganiem diod RD i RS. • Obsługa urządzenia przez Inspektora Transportu Samochodowego lub Policjanta SłuŜby Drogowej (poziom priorytetu 1) w trakcie kontroli drogowej. Przy wyłączonym silniku pojazdu, łączymy gniazdo RS0 tachografu przy pomocy kabla szeregowego z tylnim gniazdem COM1 bądź COM2 przenośnego komputera (laptopa). Uruchamiamy program POTE.exe klikając na ikonę programu umieszczoną w katalogu instalacyjnym. Na ekranie monitora ukaŜe się okno komunikacyjne (rys. 46). Rys. 46. Widok ekranu monitora komputera podczas uruchamiania programu POTE 75 Przekluczamy stacyjkę w połoŜenie I (zasilone wszystkie odbiorniki elektryczne), dioda LED DS przestanie mrugać a zacznie świecić światłem ciągłym, następnie przykładamy klucz identyfikacyjny (pamięć pastylkową) do gniazda umieszczonego na desce rozdzielczej lub innym stosownym miejscu. JeŜeli klucz jest zidentyfikowany przez tachograf to dioda LED DS zgaśnie, zaś dioda LED RS zacznie mrugać z częstotliwością 1Hz co świadczy o pracy odbiornika GPS, w przeciwnym przypadku dioda LED DS będzie się nadal palić. JeŜeli dioda DS zgasła i numer klucza jest zdefiniowany w bazie danych uŜytkowników, to po naciśnięciu przycisku <SPRAWDŹ KLUCZ> w oknie komunikacyjnym programu POTE nastąpi automatyczne rozpoznanie uŜytkownika i uruchomienie części głównej aplikacji. Po uruchomieniu okna głównego, poleceniem Plik –>Nowy (CTRL+N) lub klikając na ikone „Utwórz nowy formularz”, tworzymy nowy formularz (rys. 47). Zawiera on puste pola które w trakcie zbierania danych zostaną wypełnione uŜyteczną informacją. Rys. 47. Okno pustego formularza Kolejną czynnością jest ponowne nawiązanie połączenia z tachografem elektronicznym w celu odczytania wszystkich zapisanych rekordów jak takŜe danych o ustawieniach i parametrach jazdy. Z menu wybieramy polecenie Ustawienia –>Komunikacja (CTRL+C) lub klikając na ikonę „Komunikacja oprogramowania z tachografem”, ukaŜe się 76 ponownie wcześniejsze okno komunikacyjne tym razem z udostępnionymi niektórymi funkcjami (poziom priorytetu aktualnego uŜytkownika wynosi 1 i jest niewystarczający do prezentacji wszystkich danych). Wybieramy przycisk <ODCZYTAJ WSZYSTKO> który spowoduje wysłania ramki rozkazowej, w wyniku wykonania której odbieramy wszystkie zapisane rekordy wraz z danymi o stanie i ustawieniach tachografu. Diody LED RD i RS migotają z duŜą częstotliwością, co świadczy od odczycie i wysyłaniu danych po łączu szeregowym. Stopień zaawansowania odczytu moŜna prześledzić na pasku postępu. Przy zapisanych duŜych ilościach danych, odczyt moŜe trwać nawet kilkadziesiąt sekund. Po zakończeniu operacji automatycznie wyświetlana jest tabela zawierająca wszystkie odczytane które są istotne z punktu widzenia Inspektora czy teŜ Policjanta. Prezentowane dane w formie tabeli zawierają następujące informację (rys. 48): o data i czas zarejestrowane w trakcie pomiaru, o prędkość chwilowa, o przebyty dystans w chwili zapisu, o imię i nazwisko kierowcy, o numer rejestracyjny wozu, o poziom priorytetu kierowcy. Rys. 48. Widok tabeli z odczytanymi danymi (poziom priorytetu 1) 77 Osoba ta takŜe moŜe wykorzystać któraś z udostępnionych funkcji oprogramowania: o moŜliwość odczytu wartości całkowitego i dziennego dystansu pokonanego przez pojazd (odpowiednik mechanicznego drogomierza nieskalowanego i skalowanego), o moŜliwość zmiany prędkości transmisji, o moŜliwość odczytu wartości klucza identyfikacyjnego. Zamykamy oba okna i wracamy do formularza głównego. Poleceniem Plik –>Wczytaj dane (CTRL+W) lub klikając na ikonę „Wczytanie danych do pustego formularza”, dokonujemy zapisania formularza obrobionymi danymi. Znajdują się tutaj informacje identyfikujące kierowcę, pojazd, obliczone zostają czasy jazdy i postoju oraz wiele innych informacji mogących mieć istotne znaczenie dla uŜytkownika. Jednocześnie z prezentacją danych proponowany jest zapis do pliku *.tah który jest plikiem archiwum i umoŜliwia późniejszą powtórną analizę. JeŜeli dokonamy zapisu, uaktywnione zostaną przyciski pozwalające na obejrzenie na wykresach czasowych przebiegu prędkości, przebiegu przyrostu drogi, oraz profilu trasy. Wybranie z menu polecenia Wykres –>Prędkości chwilowej (F2) lub klikając na ikonę „Wykres prędkości chwilowej”, uzyskujemy moŜliwość obserwacji przebiegu prędkości w interesującym nas przedziale czasu (rys. 49). Rys. 49. Widok okna z wykresem czasowym przebiegu prędkości chwilowej 78 Wykres prędkości chwilowej jest czterokolorowy, ciemna zieleń oznacza punkt pomiarowy w obrębie prędkości od 0 do 50km/h (dozwolona prędkość danego pojazdu) który to następnie kolor przechodzi w fiolet dla wyŜszej prędkości. Jasna zieleń (do 50km/h) oraz czerwień (powyŜej 50km/h) oznacza pozycje pośrednie prędkości pomiędzy dwoma punktami pomiarowymi, a której wartość jest przyjęta od poprzedniego punktu pomiarowego. Podobne wykresy zostały przyjęte dla przebytej drogi i profilu trasy. • Obsługa urządzenia przez właściciela (poziom priorytetu 2) po powrocie pojazdu z trasy Wszystkie procedury postępowania w trakcie uŜytkowania urządzenia i oprogramowania są identyczne jak dla uŜytkownika z poziomem priorytetu równym 1, z tym Ŝe wszystkie funkcje dotychczas niedostępne zostają uaktywnione oraz mamy moŜliwość obejrzenia pełnych danych o trasie podróŜy (rys. 50). Rys. 50. Widok okna z wszystkimi danymi prezentowanymi w formie tabeli Dodatkowe dane wyświetlane w formie tabelarycznej to: o współrzędne geograficzne odbiornika w trakcie pomiaru, o wysokość bezwzględna odbiornika w trakcie pomiaru, RównieŜ udostępnione zostają funkcje które wcześniej były nieaktywne: 79 o moŜliwość kasowania całej zawartości pamięci, o moŜliwość ustawiania odstępu czasowego pomiędzy zapisami do pamięci, o moŜliwość odczytu i konfiguracji układu i typów pamięci EEPROM, o moŜliwość odczytu stanu zapełnienia pamięci. W oknie formularza głównego po wypełnieniu danymi udostępniona zostaje opcja moŜliwości generacji dwóch plików *.txt oraz *.wpt będących plikami przeznaczonymi do eksportu dla komputerowych map samochodowych Microsoft AutoRoute i Nawigator Mapa Polski. Poleceniem eMapa–> Generuj plik znaczników (CTRL+A) lub klikając na ikonę „Generacja pliku znaczników”, dokonujemy tworzenia i zapisu na dysku we wskazanym miejscu, dwóch plików tekstowych zawierających dane niezbędne do wykreślenia przebiegu trasy na komputerowych mapach samochodowych. Plik *.txt jest przeznaczony do eksportu do komputerowej mapy Europy Microsoft Auto Route (2000, 2002, 2004), natomiast plik *.wpt jest przeznaczony dla cyfrowej mapy Polski – Nawigator Mapa Polski. Po zaimportowaniu w tych programach danych zapisanych w plikach, jesteśmy w stanie określić dokładny przebieg trasy. • UŜytkownicy specjalni (poziom priorytetu powyŜej 2) Dla uŜytkowników z poziomem priorytetu większym niŜ 2 (np. osoba zarządzająca bazą danych uŜytkowników, projektant, osoba odpowiedzialna za wdroŜenie systemu i inni), udostępnione zostały wszystkie opisane wcześniej funkcje oraz dodatkowo kilka nowych opcji, które umoŜliwiają ominięcie wszystkich zastosowanych w programie zabezpieczeń, chroniących niektóre dane identyfikacyjne urządzenia przed ingerencją osób niepowołanych. Udostępnione specjalne funkcje to: o MoŜliwość ominięcia procedury identyfikacji klucza elektronicznego przy uruchamianiu programu. W oknie komunikacyjnym (rys. 46) wpisujemy specjalne hasło, po czym potwierdzamy przyciskiem <HASŁO>. o MoŜliwość wpływu na dane identyfikacyjne konkretnego egzemplarza tachografu poprzez zmianę indywidualnych zapisów w pamięci EEPROM. Np. zmiana numeru rejestracyjnego pojazdu przypisana do danego urządzenia lub zmiana wartości elektronicznego odpowiednika całkowitego licznika kilometrów. W oknie głównym programu POTE dostęp do wspomnianych funkcji uzyskujemy poleceniem Hasło –>Dostęp do wszystkich funkcji 80 (CTRL+A), po czym wpisujemy indywidualne hasło. Po potwierdzeniu hasła mamy dostęp do wszystkich funkcji. 7.3. Komputerowa mapa samochodowa Europy – Microsoft AutoRoute 2002 Program Microsoft AutoRoute 2002 jest elektroniczną mapą samochodową Europy. Oprogramowanie to umoŜliwia automatyczne planowanie trasy, wyliczenie czasu oraz kosztów podróŜy. Punkty początkowe i końcowe trasy, potrzebne do określenia przejazdu wskazuje uŜytkownik, zaś oprogramowanie zaproponuje mu optymalną trasę pod kątem najszybszej lub najkrótszej drogi. MoŜliwe jest takŜe automatyczne pobranie punktów przejazdu z zewnętrznego źródła danych jakim jest plik. Wówczas cała trasa pojawia się na ekranie monitora w formie punktów do których moŜna dołączać informację o trasie, godzinę podróŜy a nawet zdjęcia z podróŜy (rys. 51). Rys. 51. Widok okna komputerowej mapy samochodowej Microsoft AutoRoute 2002 W celu przedstawienia trasy zarejestrowanej przez tachograf postępujemy następująco: • Uruchamiamy program poleceniem systemowym (dla Windows 98) MenuStrat–> Programy–> Microsoft AutoRoute2002. 81 • Poleceniem menu Data–> Import Data Wizard (CTRL+ I) otwieramy okienko dialogowe i wskazujemy na wcześniej wygenerowany plik *.txt po czym naciskamy „Otwórz”. • Otwiera się nowe okno które zatwierdzamy przyciskiem „Dalej” (okno ustawiające separator danych, domyślnie jest ustawiony średnik) a następnie po kolejnym otwarciu tego samego okna, potwierdzamy przyciskiem „Zakończ” (okno ustawiające kraj oraz wyświetlane informacje). • Nastąpi krótkie ładowanie bazy danych (w zaleŜności od szybkości komputera) po czym na mapie uzyskamy dokładny przebieg trasy przestawiony w postaci punktów, który moŜemy dowolnie powiększać i przesuwać. Program daje takŜe moŜliwość współpracy bezpośrednio z odbiornikiem GPS (protokół NMEA-0183 v 2.0, 4800bodów), aby uruchomić ta opcję wystarczy tylko podłączyć kablem szeregowym gniazdo RS1 tachografu elektronicznego z gniazdem COM1 lub COM2 przenośnego komputera a następnie poleceniem menu Tools–> GPS–> Configure GPS Reciver dokonać wyboru portu komunikacyjnego, po czym za pomocą polecenia menu Tools–> GPS–> Track Position moŜemy oglądać na mapie komputerowej aktualną pozycje odbiornika (pojazdu). 7.4. Komputerowa mapa samochodowa Polski – Nawigator Mapa Polski JeŜeli pokonana trasa odbywała się 82 • Po wprowadzeniu ostatniego punktu naciskamy przycisk „Zakończ”, po czym na mapie ukazuje nam się pełen przebieg trasy wraz z opisem (rys. 52). Rys. 52. Widok okna komputerowej mapy samochodowej Nawigator-Mapa Polski Mapę moŜna powiększać i pomniejszać, dokonywać obliczeń optymalnych przejazdów i symulować wszystkie koszty związane z przejazdem. 83 8. Badania terenowe Przeprowadzone badania terenowe miały na celu: • sprawdzenie poprawności przyjętej koncepcji tachografu elektronicznego, • sprawdzenie działania urządzenia w prawdziwym środowisku pracy (wstrząsy, zakłócenia, zmienne napięcie zasilania, brak widoczności satelitów, warunki pogodowe (deszcz, wiatr), pora dnia i inne), • sprawdzenie poprawności wyznaczanej pozycji, prędkości i obliczanej drogi. Urządzenie zostało zainstalowane w samochodzie osobowym i testowane w trakcie kilkugodzinnej jazdy po róŜnych typach nawierzchni (nawierzchnia bitumiczna, szutrowa, kamienista i piaszczysta) a takŜe w róŜnym otoczeniu (wysokie budynki mieszkalne, pola, gęsty las). Zasilanie zostało poprowadzone z gniazda zapalniczki samochodowej poprzez dodatkowy bezpiecznik. Zainstalowanie anteny na zewnątrz samochodu równieŜ nie sprawiło Ŝadnych trudności gdyŜ dzięki magnetycznej podstawce moŜna ją było umieścić w dowolnym miejscu na dachu (kabel został wpuszczony do środka poprzez szczelinę w uchylonym oknie). Z uwagi na stosunkowo niewielki planowany dystans do pokonania (ok. 60 km) czas pomiędzy zapisami został ustawiony na 15 sekund jaka wartość najbardziej odpowiednią dla tej długości podróŜy. Wnioski: ZałoŜona koncepcja tachografu elektronicznego okazała się trafna a samo urządzenie nie sprawiało najmniejszych problemów w czasie eksploatacji. W czasie całej jazdy po terenach odkrytych urządzenie w regularnych odstępach czasu dokonywało zapisu do pamięci, co pozwala przypuszczać Ŝe antena odbiornika regularnie odbierała silny sygnał GPS z co najmniej czterech satelitów. Nieco odmiennie wyglądała sytuacja w trakcie pokonywania wąskich dróg gęsto porośniętego lasu liściastego, w czasie której tracono część ramek (około 30%). Utrata 84 choćby jednej ramki wiąŜe się z traconą informacją oraz przyczynia się do powstania błędu w obliczaniu całkowitej drogi. Kilkakrotnie w czasie postoju zostało celowo odłączone napięcie zasilania, celem sprawdzenia poprawności procedury odzyskania danych i wznowienia rejestracji po ponownym załączeniu. Próba zakończyła się pozytywnie. Urządzenie poprawnie wczytało wszystkie zapisane na taka ewentualność dane po czym kontynuowało poprawną pracę. Sam układ elektroniczny pozostał takŜe nie wraŜliwy na wstrząsy, zmienne napięcie zasilania oraz podwyŜszoną temperaturę będącą skutkiem wydzielania się ciepła na radiatorze stabilizatora napięcia. Po zakończeniu rejestracji połączono tachograf za pomocą kabla szeregowego z przenośnym komputerem, który bezproblemowo odczytał wszystkie parametry trasy oraz je wizualizował. Ostatecznie naleŜy przyznać Ŝe z uwagi na utratę kilkudziesięciu ramek obliczenia przebytej drogi przez tachograf nieco się róŜniły od wskazania drogomierza samochodowego. Trasa wyliczona przez tachograf wyniosła 55.19 km, zaś wskazanie drogomierza samochodowego które takŜe jest obarczone pewnym błędem wyniosło 56.1 km, czyli róŜnica wyniosła 910 m co jest wartością dość prawdopodobną gdyŜ mniej więcej taki odcinek drogi był pokonywany w gęstym lesie. JednakŜe niewielka róŜnica pomiędzy dwoma wskazaniami oraz dość specyficzny teren podróŜy z którym wiąŜe się duŜe ryzyko utraty danych GPS pozwala uznać cały wynik za satysfakcjonujący. W czasie całej jazdy z kilkoma postojami zarejestrowano 309 rekordów co odpowiada 7.5 % zajętości całej pamięci i przebyto dystans równy 55.19 km. Przebieg zarejestrowanej trasy zawiera dodatek C. 85 9. Porównanie systemów tachografu mechanicznego i elektronicznego Prezentowana praca stanowi uzupełnienie istniejących dotychczas rozwiązań w dziedzinie rejestracji i zapisu parametrów jazdy. Urządzenie to jednak ze względu na odmienny sposób pozyskania i rejestracji danych naleŜy uznać za całkowicie nowe rozwiązanie konstrukcyjne w tej dziedzinie. PoniŜej podano w formie tabeli porównanie podstawowych cech szeroko stosowanego obecnie systemu tachografu mechanicznego z proponowanym w pracy elektronicznym tachografem (Tabela 3). Tabela 3. lp Cechy Tachograf mechaniczny 1. • • • • Rejestrowane i zapisywane dane 2. 3. 4 Rozdzielczość wskazań: • Prędkość • Droga • Czas Zakres wskazań: • Prędkość • Droga • Czas rejestracji Zasilanie • Napięcie • Pobór prądu 1 2 Prędkość chwilowa Przebyta droga Okres jazdy i odpoczynku Czas Tachograf elektroniczny z odbiornikiem GPS • • • • • • • Prędkość chwilowa Przebyta droga Droga całkowita Okres jazdy i odpoczynku Pozycja geograficzna Wysokość bezwzględna Czas UTC 5 km/h 100 m 5 minut 0,1 km/h1 0,01 m2 1 sekunda1 25 – 140 km/h 0,1 – 999 999,9km 0,0 – 255,9 km/h 0,01 – 16 777 216,00 m 24 godziny nieograniczony Akumulator 12/24V Akumulator 12V/2.12V/24V Max 1 A Max 0,25 A (dokładność odbiornika GPS) (dokładność oparta o pomiar prędkości odbiornika GPS) 86 lp Cechy 5. 8. 9. Tachograf elektroniczny z odbiornikiem GPS Źródło danych pomiarowych Przetwornik indukcyjny lub hallotronowy umieszczony w skrzyni biegów Odbiornik sygnału GPS Nośnik danych Jednorazowego uŜytku krąŜek papierowy - wykresówka Pamięć EEPROM wielokrotnego zapisu Odczyt danych Wzrokowy lub za pomocą specjalnego przyrządu Za pomocą laptopa i specjalnego oprogramowania Kontrola dostępu do danych Brak Pamięć pastylkowa 6. 7. Tachograf mechaniczny MoŜliwość konfiguracji pracy Brak urządzenia 10. MoŜliwość zablokowania uruchomienia pojazdu 11. Czynności obsługowe kierowcy 12. MoŜliwość Programowa Brak Istnieje w przypadku nie zatwierdzenia kodu identyfikacyjnego przez tachograf elektroniczny Ustawienie zegara, wymiana wykresówki Praktyczna bezobsługowość ingerencji w ustrój DuŜa pomiarowy Praktycznie niemoŜliwa Całe powyŜsze zestawienie jednoznacznie wskazuje, Ŝe rozwiązanie oparte o system GPS w połączeniu z systemem mikroprocesorowym proponowanym w pracy, jest jednoznacznie najlepszym rozwiązaniem mogącym być zastosowane w celu kontroli stanu pojazdu i czasu pracy kierowcy. Urządzenie dodatkowo wyposaŜone w przetworniki A/C z czujnikami poziomu, temperatury, ciśnienia, przyspieszenia lub inne umoŜliwiałoby np. pomiar poziomu paliwa, pomiar temperatury w chłodni w przypadku samochodu chłodni, pomiar temperatury silnika, pomiar ciśnienia w układzie hamulcowym lub smarowania oraz wiele innych wielkości w roŜnych zastosowaniach. Dołączając przystawkę GSM/GPRS umoŜliwiamy pełne monitorowanie stanu i pozycji pojazdu w czasie rzeczywistym z centralnej stacji nadzorczej lub indywidualnie za pomocą Internetu lub telefonii komórkowej GSM. Jedną z niewielu wad dostrzeŜoną w trakcie uŜytkowania tachografu jest moŜliwość utraty sygnału GPS a co za tym idzie punktu pomiarowego na skutek utraty widoczności 87 większego obszaru nieba. Sytuacja taka zdarzyła się kilkakrotnie w czasie przejazdu wąska drogą pośród gęstego liściastego lasu. Problem ten jest równieŜ powiązany z problemem umieszczenia anteny w miejscu w którym nie była by naraŜona na świadoma ingerencje osób postronnych a jednocześnie gwarantowało by odpowiednią widoczność sfery nieba. Istotnym mankamentem całego systemu moŜe się takŜe okazać wyposaŜenie wszystkich uŜytkowników systemu w indywidualne klucze identyfikacyjne oraz przenośne komputery przeznaczone do odczytu danych. 88 10. Zakończenie Wykonany tachograf elektroniczny jest prostym i w miarę tanim urządzeniem pozwalającym na dokładny zapis wszystkich parametrów jazdy oraz połoŜenia geograficznego obsługiwanego pojazdu. W połączeniu z oprogramowaniem POTE (Program Obsługi Tachografu Elektonicznego) jak i Komputerową Mapą Samochodową stanowi system, który przewidywany jest do zastosowania przez firmy transportowe, wycieczkowe, kurierskie lub teŜ urzędy państwowe takie jak Policja i Inspekcja Transportu Samochodowego w celu zbierania informacji o stanie pracy pojazdu i kierowcy. Informacje z tachografu poza bieŜącą kontrolą pracy kierowców mogą takŜe posłuŜyć do wyznaczania bardziej optymalnych tras przejazdu, wielkości obszaru obsługiwanego przez dany pojazd czy teŜ wyboru najkorzystniejszej pory podróŜy, co przyczyni się do obniŜenia kosztów funkcjonowania całego przedsiębiorstwa. Sam układ moŜna jeszcze znacząco rozbudować o układy kontroli i sygnalizacji parametrów jazdy takich jak: • Sygnalizacja dźwiękowa lub świetlna przekroczenia dopuszczalnej prędkości jazdy dla danego typu pojazdu. • Przekroczenie dopuszczalnego czasu jazdy. • Sygnalizacja zmiany aktualnej trasy w stosunku do zaprogramowanego w pamięci dozwolonego obszaru poruszania się pojazdu w trakcie kursu. • Wykrycie nieupowaŜnionego naruszenia przestrzeni ładunkowej pojazdu itp. Po rozszerzeniu o dodatkowe moduły takie jak przetworniki analogowo-cyfrowe, układy wejść cyfrowych czy teŜ moduł GSM/GPRS jesteśmy w stanie z dowolnego miejsca na Ziemi monitorować w czasie rzeczywistym aktualne połoŜenie pojazdu oraz wszystkie interesujące nas informacje o stanie pojazdu. Zastosowanie to idealnie nadaje się dla firm ochrony mienia czy teŜ obsługi transportu zbiorowego (komunikacja miejska, kolej, itp.). 89 11. Literatura [1] DróŜdŜ J. Podstawy kodowania nadmiarowego. Wydawnictwo Politechniki Warszawskiej 1978r. [2] Dziubiński M., Ocioszyński J., Walusiak S., Elektrotechnika i elektronika samochodowa, Wydawnictwo uczelniane Politechniki Lubelskiej, Lublin, 1999 r. [3] Karczmarewicz A. Zabezpieczenie transmisji przed błędami. Rozdział 3 pracy zbiorowej pt. Transmisja danych, pod red. J. Sochackiego. Problemy telekomunikacji. Zeszyt 10 WkiŁ 1966. [4] Lamparski J, NAVSTAR GPS OD teorii do praktyki, Wydawnictwo Uniwersytetu Warmińsko-Mazurskiego, Olsztyn,2001. [5] Materiały reklamowe firmy Actia-Poltik sp. z o.o. [6] Minimoduły z mikrokomputerami jednoukładowymi MM-xx, Instrukcja obsługi, WG Elektronics, Warszawa, 1992r [7] Nota katalogowa firmy Atmel® 2-wire EEPROMs AT24C128/256. [8] Nota katalogowa firmy Atmel® DS1992/DS1993 1kb/4kb Memory iButton. [9] Nota katalogowa firmy Trimble Lassen SQ GPS Reciver [10] Pełka R, Mikrokontrolery architektura programowanie zastosowania, WKŁ , Warszawa, 2000 [11] Starecki T., Mikrokontrolery jednoukładowe rodziny 51, Nozomi, Warszawa, 1996. Materiały internetowe: [12] www.colorado.edu/geography/gcraft/notes/gps/gps_f.html [13] www.maxim-ic.com MicroLAN Design Guide Tech Brief no.1. [14] www.psm.pl [15] www.tacho.com.pl 90 Dodatek A – mikrokontroler 80C537 • F8 F0 E8 E0 D8 D0 C8 C0 B8 B0 A8 A0 98 90 88 80 Rozmieszczenie rejestrów SFR mikrokontrolera 80C537 [11] P5 P6 11111111 00000000 B CML6 CMH6 CML7 CML7 CMEN CMSEL 00000000 00000000 00000000 00000000 00000000 00000000 00000000 FF P4 MD0 MD1 MD2 MD3 MD4 MD5 ARCON 11111111 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 0xxxxxxx ACC CTCON CML3 CMH3 CML4 CMH4 CML5 CMH5 00000000 0xxx0000 00000000 00000000 00000000 00000000 00000000 00000000 ADCON0 ADDAT DAPR P7 ADCON1 P8 CTRELL CTRELH 00000000 00000000 00000000 xxxxxxxx xxxx0000 xxxx 00000000 00000000 PSW CML0 CMH0 CML1 CMH1 CML2 CMH2 00000000 00000000 00000000 00000000 00000000 00000000 00000000 T2CON CC4EN CRCL CRCH TL2 TH2 CCL4 CCH4 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 IRCON CCEN CCL1 CCH1 CCL2 CCH2 CCL3 CCH3 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 IEN1 IP1 00000000 xx000000 F7 EF E7 DF D7 CF C7 BF P3 B7 11111111 IEN0 IP0 00000000 00000000 AF P2 A7 11111111 SCON S0BUF IEN2 S1CON S1BUF S1REL 00000000 xxxxxxxx xxxx0xx0 0x000000 xxxxxxxx 00000000 P1 DPSEL 11111111 xxxxx000 9F 97 TCON TMOD TL0 TL1 TH0 TH1 00000000 00000000 00000000 00000000 00000000 00000000 P0 SP DPL DPH WDTL WDTH 11111111 00000111 00000000 00000000 8F WDTRL PCON 00000000 00000000 87 91 • Wektory przerwań i ich naturalne priorytety [11] Źródło przerwania Wskaźnik przerwania Wektor Priorytet przerwania przerwania Przerwanie zewnętrzne INT0 IE0 0003 hex 1 Układ licznikowy T0 TF0 000B hex 4 Przerwanie zewnętrzne INT1 IE1 0013 hex 6 Układ licznikowy T1 TF1 001B hex 8 Łącze szeregowe RI + TI 0023 hex 11 Układ licznikowy T2 TF2 + EXF2 002B hex 13 Przetwornik A/C IADC 0043 hex 3 Przerwanie zewnętrzne INT2 IEX2 004B hex 5 Przerwanie zewnętrzne INT3 IEX3 0053 hex 7 Przerwanie zewnętrzne INT4 IEX4 005B hex 10 Przerwanie zewnętrzne INT5 IEX5 0063 hex 12 Przerwanie zewnętrzne INT6 IEX6 006B hex 14 Dodatkowe łącze szeregowe RI1 + TI1 0083 hex 2 Układ CCU ICMP0 - 7 0093 hex Licznik porównawczy CTF 009B hex Układ CCU COMSET ICS 00A3 hex Układ CCU COMCLR ICR 00AB hex • 9 Wykaz rozkazów mikrokontrolera 80C537 pogrupowanych funkcjonalnie [11] Objaśnienia: Rr – rejestr R0 – R7 Ri – rejestr R0, R1 ad – 8-bitowy adres bezpośredni n – 8-bitiwy argument bezpośredni nn – 16-bitowy argument bezpośredni adr11 – adres 11-bitowy adr16 – adres 16-bitowy d – przesunięcie bit – 8-bitowy adres RAM lub SFR 92 Mnemonik Operacja Przesłanie mov A, Rr A ← Rr mov A, ad A ← (ad ) mov A, @Ri A ← (Ri ) mov A, #n A←n mov Rr, A Rr ← A mov Rr, ad Rr ← (ad ) mov Rr, #n Rr ← n mov ad, A (ad ) ← A mov ad, Rr (ad ) ← Rr mov ad1, ad2 (ad1) ← (ad 2) mov ad, @Ri (ad ) ← (Ri ) mov ad, #n (ad ) ← n mov @Ri, A (Ri ) ← A mov @Ri, ad (Ri) ← (ad ) mov @Ri, #n (Ri ) ← n mov DPTR, #nn DPTR ← nn xch A, Rr A ↔ Rr xch A, ad A ↔ (ad ) xch A, @Ri A ↔ (Ri ) A3−0 ↔ (Ri)3−0 xchd A, @Ri movx A, @Ri (Ri ) ← A movx @Ri, A A ← (Ri ) movx A, @DPTR A ← (DPTR ) movx @DPTR, A (DPTR ) ← A movc A, @A+ DPTR A ← ( A + DPTR ) movc A, @A+PC A ← PC Operacje arytmetyczno - logiczne add A, Rr A ← A + Rr add A, ad A ← A + (ad ) add A, @Ri A ← A + (Ri ) add A, #n A ← A+ n addc A, Rr A ← A + Rr + CY addc A, ad A ← A + (ad ) + CY addc A, @Ri A ← A + (Ri ) + CY addc A, #n A ← A + n + CY subb A, Rr A ← A − Rr − CY subb A, ad A ← A − (ad ) − CY subb A, @Ri A ← A − (Ri ) − CY subb A, #n A ← A − n − CY inc A A ← A +1 inc Rr Rr ← Rr + 1 inc ad (ad ) ← (ad ) + 1 inc @Ri (Ri ) ← (Ri ) + 1 inc DPTR DPTR ← DPTR + 1 dec A A ← A −1 dec Rr Rr ← Rr − 1 dec ad (ad ) ← (ad ) − 1 dec @Ri (Ri ) ← (Ri ) − 1 B, A ← A × B mul AB div AB A ← [A / B ] da A Korekcaja dziesiętna anl A,Rr A ← A ∧ Rr anl A,ad A ← A ∧ (ad ) anl A,@Ri A ← A ∧ (Ri ) anl A, #n A← A∧n anl ad, A (ad ) ← (ad ) ∧ A anl ad, #n (ad ) ← (ad ) ∧ n orl A,Rr A ← A ∨ Rr orl A,ad A ← A ∨ (ad ) orl A,@Ri A ← A ∨ (Ri ) orl A, #n A ← A∨ n orl ad, A (ad ) ← (ad ) ∨ A orl ad, #n (ad ) ← (ad ) ∨ n xrl A,Rr A ← A ⊕ Rr xrl A,ad A ← A ⊕ (ad ) xrl A,@Ri A ← A ⊕ (Ri ) xrl A, #n A ← A⊕n xrl ad, A (ad ) ← (ad ) ⊕ A xrl ad, #n (ad ) ← (ad ) ⊕ n clr A A←0 cpl A A← A A3−0 ← A7−4 swap A rl A przesun. w lewo rlc A przesun. w lewo z CY rr A przesun. wprawo rrc A przesun. w prawo z CY rrc A Kod] [hex Bajty/ /cykle E8 - EF 75 E6, E7 74 F8 - FF A8 – AF 78 –7F F5 88 – 8F 85 86, 87 E5 F6, F7 A6, A7 76, 77 90 C8 – CF C5 C6, C7 D6, D7 E2, E3 F2, F3 E0 F0 93 92 1/1 2/1 1/1 2/1 1/1 2/2 2/1 2/1 2/2 3/2 2/2 3/2 1/1 2/2 2/1 3/2 1/1 2/1 1/1 1/1 1/2 1/2 1/2 1/2 1/2 1/2 28 – 2F 25 26,27 24 38 – 3F 35 36, 37 34 98 – 9F 95 96, 97 94 04 08 –0F 05 06, 07 A3 14 18 – 1F 15 16, 17 A4 84 D4 58 – 5F 55 56, 57 54 52 53 48 – 4F 45 46, 47 44 42 43 68 – 6F 65 66, 67 64 62 63 E4 F4 C4 23 33 03 13 13 1/1 2/1 1/1 2/1 1/1 2/1 1/1 2/1 1/1 2/1 1/1 2/1 1/1 1/1 2/1 1/1 1/2 1/1 1/1 2/1 1/1 1/4 1/4 1/1 1/1 2/1 1/1 2/1 2/1 3/2 1/1 2/1 1/1 2/1 2/1 3/2 1/1 2/1 1/1 2/1 2/1 3/2 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 Skoki i rozkazy sterujące ajmp adr11 ljmp adr16 sjmp d jmp @A+DPTR jc d jnc d jz d jnz d PC10−0 ← adr11 Gdy CY=1 to 04, 21 41, 61 81, A1 C1, E1 02 80 73 40 3/2 2/2 1/2 2/2 Gdy CY=0 to 50 2/2 Gdy A=0 to 60 2/2 Gdy A ≠ 0 to 70 2/2 Gdy (bit) =1 to 20 3/2 Gdy (bit) =0 to 30 3/2 Gdy (bit) =1 to 10 3/2 Gdy A ≠ (ad) to B5 3/2 Gdy A ≠ n to B4 3/2 Gdy Rr ≠ n to B8 – BF 3/2 Gdy (Ri) ≠ n to B6, B7 3/2 D8 – DF 3/2 D5 3/2 00 1/1 11, 31 51, 71 91,B1 D1, F1 2/2 12 3/2 22 1/2 32 1/2 C0 2/2 D0 2/2 C3 C2 D3 D2 B3 B2 82 B0 72 A0 A2 92 1/1 2/1 1/1 2/1 1/1 2/1 2/2 2/2 2/2 2/2 2/1 2/2 PC ← adr16 PC ← PC + d PC ← A + DPTR PC ← PC + d PC ← PC + d PC ← PC + d 2/2 PC ← PC + d jb bit, d jnb bit, d jbc bit, d PC ← PC + d PC ← PC + d PC ← PC + d (bit ) ← 0 cjne A, ad, d PC ← PC + d cjne A, #n, d PC ← PC + d cjne Rr, #n, d PC ← PC + d cjne @Ri, #n, d djnz Rr, d PC ← PC + d Rr ← Rr − 1 i gdy Rr ≠ 0 to PC ← PC + d djnz ad, d (ad ) ← (ad ) − 1 i gdy Rr ≠ 0 to PC ← PC + d nop Nie rób nic Podprogramy i operacje na stosie acall adr11 SP ← SP + 1 (SP ) ← PC7−0 SP ← SP + 1 (SP ) ← PC15−8 PC10−0 ← adr11 lcall adr16 SP ← SP + 1 (SP ) ← PC7−0 SP ← SP + 1 (SP ) ← PC15−8 PC10−0 ← adr16 ret PC15−8 ← (SP ) SP ← SP − 1 PC 7−0 ← (SP ) SP ← SP − 1 reti push ad pop ad PC15−8 ← (SP ) SP ← SP − 1 PC 7−0 ← (SP ) SP ← SP − 1 SP ← SP + 1 (SP ) ← (ad ) (ad ) ← (SP ) SP ← SP − 1 Operacje na bitach clr C clr bit setb C setb bit cpl C cpl bit anl C, bit anl C, /bit orl C, bit orl C, /bit mov C, bit mov bit, C CY ← 0 (bit ) ← 0 CY ← 1 (bit ) ← 1 CY ← CY (bit ) ← (CY ) CY ← CY ∧ (bit ) CY ← CY ∧ bit CY ← CY ∨ (bit ) CY ← CY ∨ bit ( ) ( ) CY ← (bit ) (bit ) ← CY 93 Dodatek B – tablica znaków ASCII Dec Hex Znak Dec Hex Znak Dec Hex Znak 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 D 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A H Ctrl-@ (NUL) Ctrl-A (SOH) Ctrl-B (STX) Ctrl-C (ETX) Ctrl-D (EOT) Ctrl-E (ENQ) Ctrl-F (ACK) Ctrl-G (BEL) Ctrl-H (BS) Ctrl-I (HT0 Ctrl-J (LF) Ctrl-K (VT) Ctrl-L (FF) Ctrl-M (CR) Ctrl-N (SO) Ctrl-O (SI) Ctrl-P (DLE) Ctrl-Q (DC1) Ctrl-R (DC2) Ctrl-S (DC3) Ctrl-T (DC4) Ctrl-U (NAK) Ctrl-V (SYN) Ctrl-W (ETB) Ctrl-X (CAN) Ctrl-Y (EM) Ctrl-Z (SUB) Ctrl-[ (ESC) Ctrl-\ (FS) Ctrl-] (GS) Ctrl-^ (RS) Ctrl-_ (US) spacja ! " # $ Q & ' ( ) * Znak 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 D 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 H V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 D AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 H ¼ ¡ » « ░ ▒ ▓ │ ┤ ╡ ╢ ╖ ╕ ╣ ║ ╗ ╝ ╜ ╛ ┐ └ ┴ ┬ ├ ─ ┼ ╞ ╟ ╚ ╔ ╩ ╦ ╠ ═ ╬ ╧ ╨ ╤ ╥ ╙ ╘ ╒ ╓ Znak s t u v x y z { | } ~ Del Ç Znak 94 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 84 54 T 170 AA 85 55 U 171 AB ü é â ä á å ç ê ë è ï î ì Ä Å É æ Æ ô ö ò û ù ÿ Ö Ü ¢ £ ¥ ƒ á í ó ú ñ Ñ ª ° ¿ ⌐ 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF ╫ ╪ ┘ ┌ █ ▄ ▌ ▐ ▀ α ß Γ π Σ σ µ Φ δ Ω δ ∞ Ø ε ∩ ≡ ± ≥ ≤ ⌠ ⌡ ÷ ≈ ° • · √ ⁿ ² ■ ½ 95 Dodatek C – wydruk mapy z zaznaczoną trasą 96