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

Podobne dokumenty