ESKÉ VYSOKÉ UTECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ K
DIPLOMOVÁ PRÁCE !"#"
leden 2010
Michal Novotný
PROHLÁŠENÍ $%&'() * (! +,&%*% %& !%""- * (! ,& ' %*" .%!/ ,%( %&, "%,3! %! % ,%,*%"3#++-%%'%&3-/34
V Praze dne ………………..
……..…………………….. podpis
I
II
P6 7689 !"% "-& %,-%" ,%! ,&%!% :;4 <+! %%i $4 &,3 +" ' %"" .%!4 & "-& %,-%" :;4 $" =&! %!% návrhem desky plošného %(4 -( >4 <%. 7%/! -&% %& tomto projektu. A v %&,+,-,-(%,-'!)"+!-",%,%%&4
III
ANOTACE "% ( %/" + % ! !"# " %,&4 =+ ! %,%" %&%) 3' &%" %!% ?$@) %,%" & B&% &%" %!% "+%% /% % a záznam %! - G4 J,( (% ! !-Q% !,!%%"%%&+"%%4$3! ,W%% +' +%( ,3 %# a tvorbou aplikace pro jejich obsluhu.
ANNOTATION This work is a part of project for car route parameter recorder. The device records location, altitude and speed using GPS. It also monitors acceleration and angular rate using a tri-axis accelerometer and records the information using CAN data bus. Data are saved on data medium or are transferred online via network interface. This work deals with the project of hardware solution for the connected sensors and by inventing the application for its operation.
IV
OBSAH 1
Úvod ...............................................................................................- 1 -
2
Návrh Hardware ................................................................................- 2 2.1
Požadavky..................................................................................- 2 -
2.2
První idea a %/+' ..........................................................- 2 -
2.3
$%*"%/" ..........................................................................- 2 -
2.3.1 Procesorová deska TS-7260.......................................................- 2 2.3.2 LCD displej LCM-S02402DSF......................................................- 3 2.3.3 :/% :@{|}~ .........................................................- 4 2.3.4 GPS modul LR9548SLP..............................................................- 6 2.3.5 CAN rozhraní ...........................................................................- 7 2.4
Návrh desky periferií ...................................................................- 8 -
2.4.1 $%"+. .......................................................................- 8 2.4.2 $%*"+' ..........................................................................- 8 2.4.3 $+%(G+,/#-$G{
......................................- 8 2.4.4 $%*",&%%%&G$ +,}............................- 10 2.4.5 Schéma zapojení ....................................................................- 10 2.4.6 Návrh desky plošného spoje ....................................................- 11 2.4.7 ,W%.%'+(" ....................................- 13 3
@%."W%+' ...........................................................................- 16 3.1
Popis komunikace s GPSD ..........................................................- 16 -
3.2
Popis komunikace s démonem LCDproc........................................- 17 -
3.2.1 Ukázka zaslaných zpráv pro zobrazení jedné obrazovky ..............- 17 3.2.2 Ukázka zaslaných zpráv pro nastavení položky v menu ...............- 18 3.3
Popis použití driveru LinCAN .......................................................- 18 -
3.3.1 $%*"""+%! LinCAN .................................- 18 3.3.2 $%*".+%! LinCAN.....................................- 19 3.3.3 Nastavení ..............................................................................- 20 3.4
$%%!%@$:-................................................- 21 -
3.4.1 "%,%";"#%%% ..........................- 21 3.5
886<68$ 6@ ..............................................................- 21 -
3.6
Popis programu.........................................................................- 21 -
3.6.1 $%%*"3%%#((. .....................................- 22 3.7
Obsah nastavovacího souboru settings.ini ....................................- 23 V
3.8
Popis menu ..............................................................................- 24 -
3.8.1 Seznam položek menu a jejich význam .....................................- 25 3.9
Ovládání programu....................................................................- 26 -
3.10 Zobrazované obrazovky .............................................................- 26 3.10.1 Seznam a ukázka daných obrazovek ......................................- 26 3.11 Popis ukládaných dat .................................................................- 29 3.11.1 $%&/%% .........................................................- 29 3.11.2 ukázka záznamu každého senzoru .........................................- 30 4
=%!&"%+8 .............................................................- 31 -
5
"%+ ...........................................................................- 33 -
6
Zhodnocení ....................................................................................- 34 -
7
Literatura .......................................................................................- 35 -
8
Obsah CD.......................................................................................- 37 -
9
$+&% ...........................................................................................- 38 9.1
Schéma zapojení VDL board .......................................................- 38 -
9.2
Schéma zapojení ostatních desek ................................................- 39 -
9.3
Deska plošného spoje VDL board.................................................- 40 -
9.4
Ostatní desky plošného spoje .....................................................- 41 -
VI
1 ÚVOD $(%/"+%8& "%;; /viz Obrázek 1/, které slouží pro záznam !"# (, %,& % (%%& (% ,%%%"+,4=+!%*(!"B,( ¾ o polo%!%;/%"!?$@ ¾ B,("+%%&%!";%% ¾ !%!-G Veškerá ta"% ," (% ! (% ""%3 %% !-Q% !,!)%(%%,&%!%"%%%"!%;!#!% jejich následné zobrazení a zpracování. $ 3 3-! %,3 %!%" &,3! ! (( propojení. $%+%(+,/#-G(,&%"+*",&%%& %;%+,; a jejich multiplexaci mezi nimi. Dále je zde popis naprogramovaných obslužných rutin pro jejich komunikaci a pro zpracování !-+3 B,(#4 < také uv, % %&, &% + %!% klávesnice se zobrazením na displeji a popis nastavovacího souboru. % ( %,% -%& ""# % ('"- 3%% %/%" %& -G &%"!/%%," GPS.
OBRÁZEK 1. CELKOVÝ POHLED NA VDL
-1-
2 NÁVRH HARDWARE 2.1
POŽADAVKY
=+ ( &%*% &! %% " , který obstarává veškeré %&*"+%(3%#4 &(%"+!%*"*"&3" & % " + %!% -%& ,%, % %!% %%% ,&(4 =+ !%*( !" %,%" ,% /% %) %,%" ?$@ !%*( - ,"
; @, %W @,-G4
2.2
P591Ë,'($$.21(ý1eě(â(1Ë
=%/" &% %/"% ! &% + %&! % ,%""/- 3%% %% +, 4 %"% "% &% "+ * jedné %",)"%%&'%"+.4 8%/!+'(*"%!&%#!&%%%/"/3%„Single Board Computer“ ,& ( @>G4 7 ""% , ( * %'+( " pro +%( ' %"+3 %#4 7 % " + &%* ,%+,%3,&()%,"3!(!"-&%*"&3"4
2.3
P28ä,7e628ýÈ67,
2.3.1
PROCESOROVÁ DESKA TS-7260
@>G % %, .! %&%; @"! +, , @-7200, která se /( %%! Girrus Logic EP9302 ARM920T s frekvencí 200MHz.
%,& ! (,%"&3! " (% +&, &%" %/ !-" @ ) &%" !-" &) !%*%" +%( ,&' !-Q%3 !,) %! "% -") %/"! %3 %"#4 8' rianty však %(#!&%%-$G{
)&""%3%")-@$:@>4 &!%*(+%(""%%G )"33%"-!"%"!4 $% & ,#&*" - $G{
) % %) - @$: -%& vstupn- 3" # % +%( &4 & &% %"+ ,%"" !-" % %/ "!4 Protože !-Q & !#* 3" !!&- {>) %*(%%*"3%/"!!&%)&%%"+%&"" možností +%( " !-"4 S t!"% %*,! & !%*%" &%* !-Q "G%!"& %@ "4 !-"G%!" &!%*%& napájení pouze 5V DC. Proto jsme se rozhodli pro desku TS-7260 [1] /viz Obrázek 2/ %.; @ "%) " ! " % -"
4~8 * 8 G4!%,,"%"%"+%u návrhu napájecího obvodu.
-2-
OBRÁZEK 2. MIKROPROCESOROVÁ DEKSA TS-7260
2.3.1.1 P ARAMETRY ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾
Procesor Cirrus EP9302 typu ARM920T s frekvencí 200MHz $!-Q 64MB SDRAM $!-Q 32MB Flash @-$G{
Sítové rozhraní 10/100 Ethernet 2x @>4)!!&+%%%&%"{" 3x COM port SD socket Watchdog timer @-e SPI Podpora LCD Teplotní senzor >"%-&%%3 &"!%, Napájeni 4.5 – 8 G)%"+%%&!
2.3.2
LCD DISPLEJ LCM-S02402DSF
K SBC je dodáván alfanumerický display LCM-S02402DSD [2] / viz Obrázek 3/. ( +%( +!% G %"4 &( !%*( nastavení jasu pomocí !--",!4(& konektoru SBC +%(+"% na nulový potenciál a tím je nastavena maximální hodnota kontrastu. Pro " %"" ,% %"!& %,%" & +%,! & "%+ %,%%3 ,-&/ 3"! -"! {{ (% -" (5V). A vstup z %%%,&+'4 -3-
OBRÁZEK 3. ALFANUMERICKÝ 2X24 LCD DISPLEJ
2.3.3
I1(5ý1Ë6(1=25ADIS16350
Dalším prvkem, který nebylo možné %&") & / % %, .! &%; Devices ADIS16350 [3] /viz Obrázek 4/4"%%(,+%(%!% @$: %4 $+ s'"- , ,% e /" ," @$: !-" @>G, a %"% ( " ;& /" % ""% ,%- %"&/"4 < ,%ází k rušení a systém není možný ""4"%%&!(+'+%(m signálu G@ + ,&%3 %%,) "3 %%& +% ," * % s'"- "! nastavením daného registru.
OBRÁZEK 4. I1(5ý1Ë6(1=25$',6350 NA KONEKTOROVE REDUKCI
2.3.3.1 P OPIS I/ % %( B&3 / "! | " %&%"4 +%3! gyroskopem a akcelerometrem. Jedná se o MEMS (Mikro Elektro Mechanický @"!£ "!) "3 %!( !%*%" &) +,% a %"" !-+3 ," + %!/ - @$:4 !%*( !-+ hodnot z akcelerometru, gyroskopu, teploty gyroskopického systému a vstupní -4-
(-"4 &%((, G(, G+%,%&,% "- 3" #4 %,noty úhlové rychlosti je možné zaznamenávat v -%& %4 "% % "( požadovanou hodnotou filtru v +&'! ;"4 $ro nastavení nulových hodnot k %"&/ %." akcelerometru a gyroskopu máme k dispozici 6 ofsetových registr#4 & "" ¤ +!%, nebo pomocí automatické kalibrace, která však nastavuje pouze ofsetové hod%" ;%%4 ! !%*%" ¤ rychlé kalibrace, která "!%!"&-!-+%,%", %+&) která trvá 30s a &,#!-%%,%"'%,%"!-+3""%,%4
2.3.3.2 P ARAMETRY ¾ ¾ ¾ ¾
%&%!"¥{;%&'!{
"#
%;%%¥}¦)¥{~¦)¥§~¦%&'!{
"# Rozsah vzorkovací frekvence od 0.413 – 819.2 Hz (-"~8 G
2.3.3.3 K 2081,.$ý1Ë52=+5$1Í $%"%/"'%,%"&%*%@$:47%!% 16 bitových cyklech. Tabulka 1 (3!(,%"&3"#4 Komunikace se skládá z dvou by"#4 $rvní udává adresu registru a bit rozlišující % /" ,". Druhý v +,- ,% % obsahuje zapisovaná data. 8 +,- /" ""% %,%" +"&4 1 bit v 1 bytu rozlišuje !/"!!,"4%;ká 1 znamená &%;!/"4 V p+,- /" %!,+,&'!%!/!&," z adresy poskytuje. $+,"(*,!%*"%"#48 +,- /"(%%"signálu MISO /%,", a p%"%(+%(,% 16 bitu. 8 +,- /" (, %,%" ( %"+ ,% %!/ "% %&! & %,, + %% %!) , & ,%"( !-+%,%"4
TABULKA 19é=1$0%,7ģ63,=PRÁVY SIGNÁLU MOSI A MISO
DATA4
DATA3
DATA2
DATA1
DATA0
DATA4
DATA3
DATA2
DATA1
DATA0
16
DATA5
15
DATA5
14
DATA6
13
DATA6
12
DATA7
11
DATA7
10
ADDR 0
9
DATA8
ADDR 2 DATA10
8
ADDR 1
ADDR 3 DATA11
7
DATA9
ADDR 4 DATA12
6
ADDR 5
5
DATA13
4
0
3
DATA14
2
pis
význam MISO
1
DATA15
bit
MOSI
signál
-5-
2.3.3.4 N ASTAVENÍ
SENZORU
$+ '"- % ( %"+ " %% . v registru SMPL_PRD = 0x0B4""%%,%"-/%-@$:%"+ %4=&%!%%%,%"%(+&*-150Hz. Dále je vhodné nastavit registr 3- !-+% % ;%% SENS/AVG a použitého filtru. Výchozí " /( % }¦. Dále je možné nastavit hodnoty ofsetu XGYRO_OFF a XACCL_OFF !-+3%,%"4"%%,%"(%,.&"! stavu nulové. V této & * & %,-" !-+ ,%"%! ;"# XGYRO_OUT a XACCL_OUT.
2.3.4
GPS MODUL LR9548SLP
Pro záznam GPS slouží modul LR9548SLP [4] od firmy LEADTEK. Jedná se o malý integrovaný obvod /viz Obrázek 5/ %%!-
4!!%,+@ ) "3/(%%"&%"%%"+%4"%&%3?$@ +(!/ ( * % '% *" 6 aplikacích a je založen na (%-('!@ ":::"4$+%("%%"%!%,&(&!(,%, (%./%""/+%("%%"%)(!%,&" anté +%( %% %"4 7 &%*! -" ( / "p pro +%( " ") "3 ! % "% -" {4|~¨~48 G4 K tomu je využita baterie CR2025. Ostat&"+%(4
OBRÁZEK 5. GPS MODUL LR9548SLP
2.3.4.1 P ARAMETRY ¾ ¾ ¾ ¾ ¾ ¾ ¾
Chipset GSC3f, SIRFstarIII &%3+(!/).©{~§~4
Citlivost -159dBm $+%"%%"&{!*! @ $+%"&%"4{! $+%"/{!%,%%3?$@ %"+3%+(!%,%"%&% ¾ Studený start – 42s ¾ Teplý start – 38s ¾ Horký start – 1s ¾ (-"}4}8%~8%"+%ª{|~! -6-
¾ Sériové rozhraní TTL s protokolem NMEA-0183 ¾ Obnovovací frekvence platných dat = 1Hz
2.3.4.2 K 2081,.$ý1Ë52=+5$1Ë $% %! ( / %3 %" B% 4 $%,%( jak protokol NMEA-{} " @ +%% &%" %,
,% ~§| ,4 $% +%(,3%3%"%!*"-%&!-+B,(4Protože je sériový port v úrovních TTL, ( %"+ +, +%(! @>G ""% B%- +" B%- @}2. K "%! & %*" (3%& +%, B% @}4 8 '!+,-(,%%%,AX3221 [5].
2.3.5
CAN ROZHRANÍ
2.3.5.1 P OŽADAVKY $% ! - G & %*, & !-+ *
#3 fyzických vrstev. Další požada&!%*%"!-+(;Speed tak Low @, "4 (% %&' %*"3! "! ,/#4 !& +%% &%"-je 1Mbit/s.
2.3.5.2 P 28ä,7eě(â(1Ë 83&, +' ( &%*% &! %'+3 +,/ @<{ [6] od firmy $4 %"( '% %! - !%*( " '3 %"+3 !"#4 <% +%( + ,&% %& - PC/104, která !%*(+"(,%"&3!,"%3!;"#!,3+,/# +!%"!,%!!"--4$+3%%%( /% % ( % v kapitole 2.4.3. 7 '! +,/#! (% +%( ; @, ,/ $GG~ [7]) !"% "3 & %*" %-(' variantu TJA1050 [8]4,%,/#(;& ,/+%(,&% %&) "! ( !%*-% +%( ,&' ,% %W @, ,/#4 -!"% ,/ jsou obvody TJA1054 [9]4 $% ('"- % "# ( " +%( %3 %%,) "3 * % % +-" &"%" ". Pro * " "-* (% "& +%( + ,%,% !#") " (% ,* -! " %!% +,*% -"4 $+ %( , uvedeno v návrhu celé desky.
-7-
2.4
NÁVRH DESKY PERIFERIÍ
<, % %'+( " +%(% @>G '! %"+! % konektory. Tato deska byla nazvaná VehicleDataLogger board dále jen „VDL board“.
2.4.1
P27ě(%1e)81.&(
%'+( , !%*( +%( ' %"+3 %*"3 %#4 !%*( +%(-$G{
)+%(%%%"%%! ?$@%!)+%(@$:%"%/%%"(%"%% +%( &4 & %(
%"% G6 +%( G ,%"%%+%(?$@"4
2.4.2
P28ä,7eě(â(1Ë
$%"%* ( %,) , +%(%&a +!% %%%% ,esku, vychází její velikost z velkosti SBC47%"%-$G{
)%%%" %" @$: :6 (% !"- +- %,& & ,, a tak veškeré +%( !%*( +- ,( %"%4 %"%% "- , bylo nutné u konektoru USB portu a Ethernetu velikost dané desky zmenšit pro zamezení dotýkání konektoru. 8,& "-"% %"%# ( !"- %"% ?$@ antény. $%!%*-!"-%"%#-G%"%%%" bylo nutné navrhnout samostatnou desku, která by byla o kus výše, než VDL board. Proto ( %"%% , G %"%# +%( až do VDL board, /!* se zvýšila její poloha a lépe zapadá do konektorové strany. Pro !!&% &%" %"+ / & " " !%"" deska p% +%( /% %4 % % &%" VDL board 3- 3'& %"+% 3' /4 $%"% ( !"- ,& samo""! &%'! %( +%(3 %!% & %'+( desce. $%&,! %"+3! &%'3! %(! ( , % vyvedenou klávesnici. Ta %( % "&/" %"% % +%(4 $%*"3 %" @>G %( PULL UP rezistory, které drží port v logické 1, p%"%(%"&/"%(% k danému pinu, který je po stisknutí uzemní.
2.4.3
Pě,32-(1ËCAN ě$',ýģ1$6%ċ51,&,PC/104
$%+%(G+,/#-$G{
&%"%*",&%%%&4 @- $G{
[10] %( ( ,% " ,"% %,/4 ,/ - G ' %"( % "- 3" #) "é slouží jak pro adresy, tak % +% ,"4 $% !%*%" !% G +,/# ,% ,%% prostoru od adresy 0, byl použit "%3 +" :6 &. $+ %*" {| "%3 % !%*% *" ,%% " &% %"+ , adresy posu%"!!&-%{"47%!+,/!G%,% &4 8 ! ( +,/ +, %*,% , ,! (% zapisována n%/",,"4$+á ukázka /%%+"je zobrazena %/"Obrázek 6/ a pro zápis /viz Obrázek 7/.
-8-
OBRÁZEK 6. 35ģ%ċ+ý7(1Ë'$7
OBRÁZEK 7. 35ģ%ċ+=È3,68'$7
2.4.3.1 ý $629È1Ë6%ċ51,&( PC/104
$ě$',ý( CAN
S- $G/104 poskytuje jak datové tak adresové signály. V +,- +chodu ;& % :(+,!",odle signálu RD nebo ," ¤ poskytuje, % ( /"4 8 +,- +,/ G je adresa a data /%- +natelná. Proto ( %"+ (,+ "" ,) " ( +, a vstupní bránu a signálem ALE zaznamenána. Poté je požadován ;&G@)"3,3/;& %/","% %,". "% / +" ( ;% %!% (,%,% /"/ ,&%ém %&4 $+ ,% - ;& % : - $G{
( '"- /"/) "3 prv! % ;( ;& - G +,/ ( +%( ,4 8 druhém kroku je signál ale zruše "%+ %"+ pa!;&G@48"+"!%(%%%(,"%- vygenerovány signály CS a WR nebo RD. V +,-(%;&G@ -9-
vráceny do výchozí polohy /""!&a v pátém kroku jsou odpojena data. V +,- /" (% ;& G@) ,*% ,% ,% %/ & - $G{
4 ! ( /%) * ,% +,/ G ( proveden v !!&! !%*! /4 <,%"& % "( ,% %, ;& CLOCK, který je 24MHz.
2.4.4
POUŽITÍ HRADLOVÉHO POLE CPLD ě$'<MAX3000A
$+%&-%%(+,/@$:-$G{
&%!%**"%%,$? a CPLD. Protože se v "%!"%+,-,(,"%&"-(,%,%%) , %"+ 3 !%*" &%3 %%,#) %%,& (! % %*" %%, G$ ) "3 %,, "%" +%( " !-"4 $%"% byl zvolen obvod s 5V tolerancí na vstupních pinech s maximálním množstvím # %,+ @ 4 <, % radlové pole EPM3256A [11], které se /( ~| !%! "%& ~8 " 4 "% B%- (% ,.% % - $G{
% %%, @<{4 $%"( {|{ "- 3" # v %,+e 144TQFP a maximální použitelná frekvence mezi piny je 126.6 MHz. 7 ,&%! %& (% +%( ' - $G{
|
%% %"%4 & ' ;& % %&, +,/ G) ;& %W @, ,/# - G) !&"&% ;& ,/# - G %%& +"-@$: %/%)+-(,%;&G@4$%;& hodin je použit programovatelný oscilátor [12] s frekvencí 24MHz, který je + ,&%%&+%('!+,/#! CAN.
2.4.4.1 N ÁVRH
PROGRAMU HRADLOVÉHO POLE
$+ %;!% ,&%% %& (! %*& %;!% %"+, ® @ %"%3%!48"%!"%%"+,&%%"+,.%"%*"3/ +%( (,%"&3 #4 $%" * & (" %;! -%& (4 Protože jsem vycházel %,%")"!-&%;!%;!%3 jazyku ABEL, vycházel jsem z daného kódu)"3(!"+/-&%'i aplikaci.
2.4.5
SCHÉMA ZAPOJENÍ
@! %( ( %,-&% !" (,%"&3 %"+ebných desek. $+ ! ( %% +&% 8.2. Návrh byl proveden v programu OrCAD Capture. Návrh zapojení jednotlivý %%,# *, z ,%%/% zapojení výrobce podle dostupné dokumentace. Zapojení %"%#G+-Q%%e starších školních %("#4 Pro zjednodušení %( +-Q% % je -" % držení diod v -! " % ' - %&/4 Veškeré navrhované desky !( "+, +%" ~ %,& (% +,,.% 3% "&%'Q %(#4 V +,-&, CPLD hradlem byl návrh propojení konektoru PC/104 a %%, G$ !!&- %"!&% % %,-(' &%'% %() ro ,%* !!&% %/" %%#4 Tabulka 2 %( 3! %"%# ,3%'+("-4
- 10 -
TABULKA 2. 9é=1$0.21(.725ģ3(5IFERNÍ DESKY
Konektor K1 K2 K3 K4 K5 K6 K7
Funkce
! "#$% &!$' "# ( "#) )( z( *$+,+
-./ : ;<
"# &
Zapojení Viz [10] Viz Tabulka 3 Vi [1] Viz Tabulka 4 [1] Viz [11] Viz Tabulka 5
TABULKA 3. ZAPOJENÍ KONEKTORU K2
pin
1
2
3
4
5
6
7
8
signál
=>
=;
/<
+=>
+=;
,->$=>
,->$=;
pin
9
10
11
12
13
14
15
signál
->$=>
->$=;
,-;$=;
,-;$=>
/<
-;$=;
-;$=>
Popis významu CANx-HS_L, CAN_L CANx-HS_H, CAN_H CANx-LS_L CANx-LS_H -
signálu -G+,/;@,);&%W -G+,/;@,);&; -G+,/%W@,);&%W -G+,/%W@,);&;
TABULKA 4. ZAPOJENÍ KONEKTORU K3523ě,32-(1Ë,16SENZORU
Pin Signál
2 $%-@%$B
4 /<
6 /<
8 /<
10 /<
Pin Signál
1 $%-;B
3 $%-@B
%$5 $%-$
7 $%-*C$C.
9 5V
TABULKA 5. ZAPOJENÍ KOENKTORU K3523ě,32-(1Ë./È9ESNICE
Pin Signál
2 <%B-1
4 <%B-3
6 <%B-5
8 <%B-7
10 /<
Pin Signál
1 <%B-0
3 <%B-2
5 <%B-4
7 <%B-6
9 /<
2.4.6
NÁVRH DESKY
PLOŠNÉHO SPOJE Návrh desky byl proveden v programu OrCAD Layout. Veškeré navrhované desky jsou dvouvrstvé s "+,% +%" ~4 & , &% %"+ ,%,*t !"- %"%# SBC, k /!* %&%*& 3 , @>G [13]. Dále bylo %"+ +% !"- ,- /3 % '%% ,4 83%, "%%"% ?$@!%,&&!"-" konektory SBC desky ve stejné vzdálenosti. Poslední +- !"-% %/"% ( %"% 7 /3 % +%( %"%% , G %"%#, u které také musely ,-" %"% % 4 6"" %/" & &%%&- %!"- % %"!& *" & ,4 G$ %%, & !"- % (&*e konektoru PC/104, z "% &% ,% ( "4 & &% %, " ,%""/- - 11 -
tlusté napájecí cesty s !!&! %/"! %%#4 8-"' ;&%3 " byla vedena v %"-,%,&*"%!4
OBRÁZEK 8. NAVRŽENÁ OSAZENÁ ROZâ,ě8-Ë&Ë'(6.$
Deska pro "&/"a &*%+%(%"%,!"&/")"á by vycházela po dílce displeje. Konektor nakonec nebyl využit z ,#%, &% '"- "&/" ,% "- /4 $%"% & +!% +&"% %(% & , "&/" /viz Obrázek 9/4 $%+, %( (,%"&3 "&/" &% optimalizováno pro rozvedení kabelu, protože jejich výsledná funk/%" & / %;!%-3&,!¯,.
OBRÁZEK 93ě,32-(1Ë7/$ýË7.2VÉ DESKY
% +%( /% % %%& % , %"%, kde (, &%*& % +%( ,% % ,3 % +%( ,% %"% 7
4 $+ !"- ,- % + % z výkresu senzoru [3]. - 12 -
$%+%(:@ %(%"+&%"%, "3(%/%24-2. Deska s +%(3!%!(%Obrázek 4/. Poslední, konektorová deska obsahuje 4 konektory Cannon9, které slouží pro +%( G -4 =%( %"%# /viz Tabulka 6/. %"%# ${)$ jsou vyvedeny pouze signály High Speed. TABULKA 6. =$32-(1Ë.21(.725ģ&AN
Pin 1 Signál -;$=;
2 ->$=;
3 /<
4 X
5 X
6 -;$=>
7 ->$=>
8 /<
9 X
OBRÁZEK 10. KONEKTOROVÁ DESKA S 3ě(3ċ729282&+5$128&$1%8',ýģ
83&,3,+&%8.2. a 8.3.
2.4.7
HARDWAROVÁ SPECIFIKAC(52=â,ě8-Ë&Ë.$57<
2.4.7.1 A DRESOVÝ
PROSTOR
Adresový prostor / adrese 0x0. Na tuto adresu je mapován adresový %"% % +,/ G4 7*,3 +,/ ! /&- %"%r 256 B. Od adresy
/(%.;/"%;"4,%3%"%%/, 0x40A.
2.4.7.2 P ě(58â(1Ë $+' ( %&% &%" " :"" ;"4 $+' ( vyvoláno +,-;&:""(,%"&3+,/#GN.
2.4.7.3 M APOVÁNÍ
ADRESOVÉHO PROSTORU
Tabulka 7 %(,%3%"%,"4 ,/G(%+, {>*,%~|>46"";"/(%,%"-
!%*ují "%"+3.4
- 13 -
TABULKA 7. $'5(6<5(*,675ģ352OVLÁDÁNÍ KARKTY
Relativní adresa 0x0 0x100 0x200 0x300 0x400 0x402 0x404 0x406 0x408 0x40A
Velikost segmentu 0x100 0x100 0x100 0x100 0x2 0x2 0x2 0x2 0x2 0x2
Popis
Typ
! "! ! "!+ ! "!, ! "! ** % * % $* * $* $%CF*
[6] [6] [6] [6] E E E E E E
2.4.7.4 P 23,65(*,675ģ Reset Register 0x400 BIT Reset hodnota název Reset
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0 *
hodnota vstupu RST všech +,/#G
Interupt Control Register 0x402 BIT
7
6
5
4
3
2
1
0
Reset hodnota název Cx_IE
0
0
0
0
0
0
0
0
+=%C
=%C
EIS[2..0]
GIE
/%C
C%$G+H C%$GH C%$GH =%C ,=%C 0 -°;&G+' 1 -> %%&;&G+' 001 -°;%+': ®~ 010 -°;%+': ®| 100 -°;%+': ®§ 0 -°';&+' 1 -°%%&';&+'
- 14 -
Interupt Status Register 0x404 BIT
7
6
5
4
3
2
1
0
Reset hodnota název Cx_INT
0
0
0
0
0
0
0
0
,=%.
+=%.
=%.
=%. 1 -°"+'+,/G 0 -°"+'+,/G
CAN Control Register 0x406 BIT
7
6
5
4
3
2
1
0
Reset hodnota název RXx
0
0
0
0
0
0
0
0
RX4
RX3
ENx STBx
%,%""%W@,,/-G %,%""@>%W@,,/-G
$.' $.', C C, 1 -°"%W@,,/-G 0 -°";@,,/-G
CAN Status Register 0x408 BIT
7
6
5
4
3
2
1
0
Reset hodnota název EPRx
0
0
0
0
0
0
0
0
C* %,%"3"$ %W@,,/-G
C*,
SPI Enable Register 0x40A BIT
7
6
5
4
3
2
1
0
Reset hodnota název EN
0
0
0
0
0
0
0
0 C
0 -°%%&;&G@@$:-:@% 1 -°;&G@@$:-:@%
- 15 -
3 S2)7:$529eě(â(1Ë V této práci je popisován jen program komunikující s %"+3! .!4 =%%- %.; &%% (, &% %/% "! ( náplní druhé práce [14] tohoto projektu. Ta se zabývá také konfigurací GPSD [15] démona pro obsluhu a zpracování GPS dat z protokolu NMEA. Dále démonem LCDproc [16] pro obsluhu LCD displeje a klávesnice. Komunikace a následné využívání "-"% ,!%# probíhá + TCP/IP, GPSD na portu 2947 a LCDproc na portu 13666. Pro komunikaci s G - ( *" driver LinCAN, který zjednodušuje správu komunikace.
3.1
POPIS KOMUNIKACE
S
GPSD
< (* &% !-%) ,!% %"( ," ?$@ + G$:$ %"
§4 S "!"% +"! %! %/" +%( (3%& $G +%(3 dané , !#* ""% &* *"4 $% +%( ( %,* +"- ?$@ 4 Pro ," % %&%) 3') %&% ,&' B,(# ( " &" ,3 4. +&, % %&% '&! , pro výšku znak „a“. Veškerá možná komunikace je popsána v &""+ [15]4'*!,%%/3 mód pro klienty nazývaný „WATCHER“. V tomto módu s'"-3!%!% znaku „w“ jsou data automaticky odesílána klientovi. Je %,&% -%& "# rozlišujících +"-!GPSD,0=“. 5R]GČOHQtW\SĤ]SUiY ¾ RMC ¾ GGA ¾ GSA ¾ GSV
-
!!&,%%/.%!%; !-,&'+);%,"3')// %+, aktivní satelity a DOP informace o družicích
My využíváme data v +"- G, které mají následující podobu: GPSD,O=RMC X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 Tabulka 8 popisuje význam jednotlivých hodnot.
- 16 -
TABULKA 8. 9é=1$0=1$.ģ9*36=PRÈ9ċ
znak
význam
jednotky
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14
&(KF :L M" :L !) !:" M !(! &(KF(K !(! &(KFM K z ( K&( K&( !(! &(KF !(! &(KF( K&( !(! &(KF K&( mó!
I : J. s ° ° m m m ° : : ° : : N=IOP+N+
3.2 POPIS KOMUNIKACE LCDPROC
S DÉMONEM
Komunikace s démonem LCDproc % %,%- jako u GPSD. Jen je použit %"{}|||4$%+%(("&"&&%%/"%!4 $%%&'+%(%&"("""(!%+!client_set name „Jméno“. "% ,!% !%*( *" "%+ ! (,%,3! ,.%! ,3 %&%*) " !%% 3" %*" % # B/&4 Pro , /&) "") :$ , % ( 3- %&%*4 8' !%*%" nastavení jsou popsány v &""+ [16]. $% % B,(# ( %*" !¯, "-%&%%)"!%%%%""");.(# data. Tyto o%!%%3"+"%!"%%!%"&/"4
3.2.1
UKÁZKA ZASLANÝCH
ZPRÁV PRO ZOBRAZENÍ JEDNÉ
OBRAZOVKY 3ĜtND] screen_add screen1 widget_add screen1 widget1 title widget_set screen1 widget1 „VehicleDataLogger“
Funkce "%+%%,%%% "%+%)"3!%*(""" typu title (text zobrazení na celém !+,£ zobrazí na první obrazovce text VehicleDataLogger
- 17 -
3.2.2
UKÁZKA ZASLANÝCH ZPRÁV PRO NASTAVENÍ POLOŽKY
V MENU 3ĜtND] menu_add_item "" test menu "Test" menu_add_item "test" test_action action "action" menu_set_main ""
Funkce "%+%&%*" menu typu menu Vy"%+%&%*"% podmenu test typu action "3%%++%,,% menu
!"% #%! ( ,.% & ! & zobrazované obrazovky s údaji, k"(%,&-aktualizovány.
3.3
POPIS
POUŽITÍ DRIVERU
LINCAN
Driver LinCAN [17] !%*uje komunikaci s (,%"&3! +,/ + + složce /dev/canx, k, , /&% +,/4 $+ %"+ "-"% + !! k disp%-%&. nastavení a komunikaci s nimi.
3.3.1
P28ä,7e6758.785<3ě, KOMUNIKACI S LINCAN
Struktura jednpRGHVtODQpQHERSĜLMtPDQp]SUiY\ struct canmsg_t { int flags; - typ zprávy: MSG_RTR – žádost o data, MSG_EXT – %'+3.%!":D, MSG_OVR – ,+"/.%", MSG_LOCA – lokální int cob; - reservovaný znak unsigned long id; - ID zprávy canmsg_tstamp_t timestamp; - /%/+% unsigned short length; - délka +'3," unsigned char data[CAN_MSG_LENGTH]; - %&+'3," };
Struktura filtru nastavení pro filtrování zpráv. struct canfilt_t { int flags;
- MSG_RTR,MSG_EXT,MSG_OVR MSG_RTR_MASK,MSG_EXT_MASK MSG_LOCAL, MSG_LOCAL_MASK - parametr pro rozlišení fronty zprá+*.%" jedním uživatelem - nevyužito - požadované ID
int queid;
int cob; unsigned long id; - 18 -
unsigned long mask;
- nastavená maska, 1 pro porovnání s ID
}; Struktura pro nastavení baudrate struct can_baudparams_t { long flags; - nevyužité long baudrate; - požadovaná rychlost v Hz long sjw; - viz literatura [6] long sample_pt; - %%,-%,%""&%" };
3.3.2
P28ä,7e)81.&(3ě,.2MUNIKACI S LINCAN
OPEN "%+deskriptoru pro systémové volání int open (const char * pathname, int flags); Argumenty pathname /dev/can0 flags O_RDWR Návratová hodnota V +,- %% %,%" ( .& ,criptor pro message object CLOSE +,"%%"!%%& int close (int fd); Argumenty fd file deskriptor pro daný message object Návratová hodnota V +,-%%%,%" READ 8+("% message object ssize_t read(int fd, void * buf, size_t count); Argumenty fd file deskriptor buf ukazatel na strukturu canmsg_t count velikost pole zpráv v bytech Návratová hodnota Záporná hodnota v +,-%/&%
- 19 -
WRITE Zapisuje zprávu do message object pro odeslání ssize_t write(int fd, const void * buf, size_t count); Argumenty fd - file deskriptor buf - ukazatel na strukturu canmsg_t odesílané zprávy count - velikost Návratová hodnota Záporná hodnota v +,- % &%" B-'- uložených dat v message object v bytech IOCTL Slouží pro nasta .&")%"!"# +,/%+" ,%!¯,%&%-4 int ioctl(int fd, int command, struct * str); Argumenty fd - file deskriptor comamand - !"%/%,&"": CANQUE_FILTER - odeslání struktury canfilt_t CONF_BAUDPARAMS - pro odeslání struktury nastavení baudrate CONF_LISTENONLY - % " !%,# " %&) parametr str je ukazatel na 1 nebo 0 str - ukazatel na odesílanou strukturu závislou na argumentu command Návratová hodnota =%%,%"+,-
3.3.3
NASTAVENÍ
Pro komunikaci s ,3!+,/!(". OPEN "%+".&,"%, který dále slouží pro komunikaci s daným objektem. Poté nastavíme rychlost baudrate pomocí funkce IOCTL s %,&! &- "" can_baudparams_t s požadovanými parametry. V posledním kroku je nastaven filtr zpráv funkcí IOCTL s ukazatelem na strukturu canfilt_t. Pro možnost " +,/# G ,% !¯, :@, kdy dochází pouze k poslouchání - ,% !-+eného vedení, +la možnost odeslání adresy hodnoty 1 nebo 0 s +! CONF_LISTENONLY. V této chvíli funkcí READ /"!%,%vídající nastavenému filtru.
- 20 -
3.4
POPIS KOMUNIKACE
PO
SPI 6%ċ51,&,
Protože k dané SBC není žádný driver pro SPI rozhraní, &% %"+ daným rozhraním zacházet na úrovni proceso4"%+"!!%*(!-Q%- +";"%ního sériového portu. V "-"%;"(%"+ " ;& G6G7) "3 ! %,%," %*,#! /% %4 Dále je nutné vybrat správný typ sériové komunikace, který odpovídá specifikaci SPI. Dále je nutné nastavit 16 bitový formát dat. $%*"3 +,/ %% %"( .. % +% %,& 4 $%"%* &%" +(! /%%(!!&-{|¹, není možné buffer pro odesílání využít, %-,* !%*( " %,& ! (,%"&3! !4 Tato %,&("%+%."W%-+%,"4<'"-("%/"" tím, že +% ," (% % (, & %"4 $%"%* / (,%" ," poskytuje vždy v &,(! %4 $+3 % ;"# ( /" Synchronous Serial Port dokumentu [18].
3.4.1
NASTAVENÉ HODNOTY REG,675ģSÉRIOVÉHO ROZHRANÍ
SSPCR0 = 0xCF
- ,-&.) SPH=1, SPO=1 º"/%%-&"%"@$: -£) FrameFormat = 00, {|"%3%!/&us SSPCPSR = 0x4A - ",-&"&;&&% SSPCR1 = 0x10 - zapnuti SPI
3.5
VÝVOJOVÉ 35267ě('Ë
Celý návrh programu byl proveden v %"+, Eclipse Genymede. Výhodou jeho použití je možnost návrhu v %/!"!,%W4$%"+, "%!";(!.&%%%+&,4$+"%%("% vývoj mé aplikace je nutné nastavení cest pro crosstoll našeho použitého procesoru a použitého systému. V !!+,-(,%%"%&&literatura [19]. Protože je program více vláknový, ( %"+ ,& "" flag -lpthread -lpt a flagy -mtune=arm920t -march=armv4t pro zvolení typu %%%&%"/, +&,/&4
3.6
POPIS
PROGRAMU
Celý program je poskládán z -%& !' /") " (% %- & ,&3! %!-3! a fronty zpráv. V +,- s'"- %;! ,% k %"! "%+ &) "á !%""- (4 #&*"3! & jsou CAN_handler, GPS_handler, ADIS_handler, data_processing, display_handler, client_handler a watchdog_handler. Jediné vlákno, které není %"&- '"-, je CAN_handler. Ten je vyvolán jen v +,- /" ," - 21 -
z CAN. Tedy v +,-&,%po +%(&"+G$:$ na daném nastaveném portu4 6"" &) " %( ," %#, provádí %"&%,-,")%%+%,", pro uložení jsou tato data vkládána do FIFO fronty. Vlákno data_procesing %,/"""%:6fronty a daná data zpracovává pro zobrazení na displeji. Rozeznává, z kterého senzoru tyto zprávy pochází) %&, !-+ %,%" a ukládá do lokálních %!-3)"&,-&%*%%4$%,&"%*,%3 ," , ," &, % & + G$:$ +%(! &ntovi. Vlákno dispaly_handler slouží pro komunikaci s démonem LCDproc a slouží pro % "& !-+3 %,%"4 8&% watchdog_handler slouží pro ""%-(,%"&3&),,&%&(,&-. funkci watchdog_handlar. Data z tohoto vlákna slouží pro zobrazení stavu (,%"&3%#4 Pro správnou funkci programu jsou nutné pomocné skripty %&;&+!--!-Q%3!,í +"&"%% souboru z webového rozhraní.
3.6.1
POPIS 328ä,7é&+628%25ģ$JEJICH
FUNKCÍ
vdl.C Tento soubor obsahuje funkci main) " ( %& + s'"- %;!4 Tímto vláknem jsou s'"- ' %"" &4 $+ %"! '"- &% / %/ ' &4 8 +,- %/ &,- %/ %;!%&+%""!4
fifo.C 8"+ :6.%"/%+%!-+3,"!%&!% %4 &%(:6.%"%+%%3,spleji v +,--(,#&*",&%"4 display_handler.c O("%%%&,"!%!%"&/"48 hlavní funkci ( ;% ! (,%"& % %%4 & ( "%+% &%) " &%* % & +&% %%ných obrazovek, a & &% &%* % .%! % ""3 "&/" % " hodnot v položkách menu. Podle vyvolané akce volá požadované obslužné rutiny. load_settings.c 6( " % /" !"# !-+ !"# %raze4 $+ absenci daného souboru je soubor vygenerován s defaultním nastavením. Dále !%*(&%*,%%%#+%*,&%*,"4
load_USB.C 6( " % /" B&%*3 !, , , ,+ !,4 "% . (% %& + '"- %;! % + %,* ;& % !-- !-"!,4$+/"%% parametry daného USB.
- 22 -
can_handler.c Obsa( . % "%+ rušení vláken a samotné funkce vláken pro %& ! (,%"&3 +,/# G4 "( %"+ !" %+(" data, které vkládá do FIFO. adis.c Po"( . % " /% % % !-+3 ,"4 3 / % ( ") ," %%%& frekvencí 144Hz. $%*,%%%./&{*{)"3(;% +3!/"/! danou frekvencí. =!-+,"&,,%:64 gps_handler.c Tento soubor obstarává komunikaci s ?$@ )"%+ijímá data GPS. K "-! +,/%%/&,(,%:64 data_procesing.c O( " % "%+ %% %% + "" !4 7%"&- zpracovává data z FIFO. Podle typu je rozkládá a ukládá do lokálních %!-34a"%,"%,&"&,%(&+G$:$4 spi.c Obsahuje rutiny pro komunikaci s @$: +,/!4 "% . *ají pouze funkce ze souboru adis.c. watchdog.c @&%* % ""% - !-+3 ,"4 7*, &% ,&- !"( ,% %,%" W",%; %,& !"% %,%" /( " ,% vlákna. Tyto data jsou poté použita pro zobrazení stavu na výstupní obrazovce. socket_handler.c Umožuje +%( &" +4 $+ +%( ( + "! ! G '"- »;& ' ," (% %,& "(! .%!" (% + @> !,!4 $% ,". " ( + %"+ %!&&/a s "!"(&/"+! do souboru.
3.7
OBSAH NASTAVOVACÍHO SETTINGS.INI
SOUBORU
Tento soubor má strukturu specifikovanou soubory s koncovkou ini. Obsahuje "!-+3."%4 Je zde také uveden port pro +%( &" %,- !-+3 ,"4 @%% ( %,-& ,% -%& &%# pro daný typ nastavení.
- 23 -
TABULKA 9. VÝZNAM HODNOT V SOUBORU SETTINGS.INI
Text [GPS] Record Altitude Speed Course Eperr [CAN] Record CANx_ON CANx_LO CANx_BR CANx_AC_RTR CANx_AM_RTR CANx_AC_EXT CANx_AM_EXT CANx_AC_ID CANx_AM_ID CANx_LOWSPEED [INS] Record Period [ADIS] XGYRO_OFF YGYRO_OFF ZGYRO_OFF XAKC_OFF YAKC_OFF ZAKC_OFF SENS [VIEW] Gps_pos Gps_spe_alt Gps_cou_err Ins_akc Ins_gyr [SYS] auto_record port
3.8
Význam Uvádí blok o nastavení GPS záznamu GPS =!,!%+3' Záznam rychlosti Záznam kurzu Záznam chyby, polohy,výšky,kurzu Uvádí blok o nastavení CAN Záznam CAN Záznam CANx Mód Listen 6&+,/G >,"+,/ CANx N"%*, +,/G Nastavení masky signá& +,/G $%*,+,/G +,/G $%*,%: +,/G : +,/G Záznam z %W@,-G Uvádí blok o nastavení INS Záznam INS !,"/%% Uvádí blok o nastave/%% Hodnota registru offsetu Hodnota registru offsetu Hodnota registru offsetu Hodnota registru offsetu Hodnota registru offsetu Hodnota registru offsetu %,%";"@@»8?;"/% senzoru Uvádí blok nastavení zobrazení Zobrazení obrazovky s pozicí Zobrazení obrazovky s rychlostí a výškou Zobrazení obrazovky s kurzem a hodnot chyb Zobrazení obrazovky akcelerace =%%%&%"%"/ Uvádí blok nastavení systému "%!"3!+'"- &%%"%+%(&"
Typ Bool Bool Bool Bool Bool Boolean Boolean Boolean Integer Boolean Boolean Boolean Boolean Hexa Hexa Boolean Boolean Integer Hexa Hexa Hexa Hexa Hexa Hexa Hexa
Boolean Boolean Boolean Boolean Boolean Boolean Integer
POPIS MENU
Položky v menu jsou navrženy tak)!%*%& základní nas"!-+3 !"#, volbu zobrazovat požadované %%) + ! !, kdy SBC :$ , +,-&(, ! &"!) , , ,%"4 =!- nastavení záznamu provedené v menu se projevují * + s'"- %% !%%"""&/"%/""ení. V +,-%(ícího
- 24 -
! !%* ""% %,%" &%"4 < %"+ (,+ "" záznam.
3.8.1
SEZNAM POLOŽEK MENU A JEJICH VÝZNAM
Nastavení zobrazení ¾ @%+, ¾ Rychlost + výška ¾ Kurz + E.P.Error ¾ Akcelerometr ¾ Gyroskop Nastavení záznamu ¾ ¾ ¾ ¾
Záznam GPS Záznam INS Záznam CAN Parametry záznamu Výška Rychlost Kurz E.P.Error Vzorkování INS Záznam CAN1 Záznam CAN2 Záznam CAN3 Záznam CAN4 CAN3 Low Speed CAN4 Low Speed ¾ Automatický záznam ¾ Kalibrace GYR rychlá ¾ 7&?¾ + ¾ Uložit nastavení Ano Ne USB media ¾ =-" ¾ Jméno USB velikost
Odpojit Zaznamenávat sem
- %,!/%3- zobrazovaných obrazovek ¼ ¼ ¼ ¼ ¼ - pod menu pro nastavení zaznamenávaných hodnot ¼ ¼ ¼ ¼ ¼ ¼ ¼ /&% ¼ ¼ ¼ ¼ ¼ ¼ ¼ akce akce
- toto podmenu je zobrazeno v +,p+%(% média s daným jménem a velikostí %( !!&- ,- ""% podmenu akce - odpojí dané médium ¼
- 25 -
Systém ¾ Zapnout klient mód ¾ Zapnout server mód adresy Vypnout ¾ Ano ¾ Ne
akce - +,%!ó,&"/:$ adresu akce - + ,% G$ +,-luje IP
Druhý sloupec udává typ položky v menu. ¼ akce /&%
3.9
- ""%%&%*&%*%3-,%!" - položka s tímto typem vyvolá danou akci - slouží pro zobrazení nebo nastavení dané hodnoty
OVLÁDÁNÍ
PROGRAMU
Pro %&, &%* & !"- %, ,&(!4 6( § "&/", jejichž základní funkce je popsána /viz Tabulka 10/. TABULKA 10. VÝZNAM POUŽITÝCH TLAýË7(.
T 1 2 3 4 5 6 7
Popis !:I &L"(KF : V :Q FL !)Q KP # F "! &(F < V : # !P# "!&(F ( :# ( P# !MF $ : $ML : :L PK:LK# K "!L : !S " KP : #F K &(F S
3.10
Funkce @L $"!L
ZOBRAZOVANÉ OBRAZOVKY
"% %% &%* % % "& !-+3 %,%"4 -" z obrazovek je možné zakázat v menu „nastavení zobrazení“. Veškeré obrazovky %!- %% % ," /% %) , %!%&% !%*%" zobrazení, mají v ! %! % %% ,) " ;&( -* systém.
3.10.1
SEZNAM A UKÁZKA DANÝCH OBRAZOVEK
Titulní obrazovka
- 26 -
=%( / +,- '"-% ! %( $% !¿4 $+ "" ,#&*ité události s %( %, +, s danou zprávou. Ta je ¤ zobrazena do doby potvrzení, a nebo je zobrazena /"%,%4 Zobrazují se zprávy: $+%(@> Odpojené USB Kalibrace GYR Probíhá kalibrace GYR 7&,%%/ Ukládání nastavení Web konfigurace
-
.%!(%+%(@>!, informuje o odpojení USB media informuje o rychlé kalibraci gyroskopu .%!(%#-+& gyroskopu ,%,,%%/4 - .%!(%%+& - informuje o ukládání aktuálního nastavení do souboru - .%!(%!--"%!% webového rozhraní
V +,- /" %% % &%* %% % -jaké chyby jsou tyto zprávy také zobrazeny. 2EUD]RYNDVWDYXVHQ]RUĤ
=%("(,%"&3%#4 U GPS zobrazuje OK v +,- ,%"3 ," %&%) : +,- špatného signálu a OFF v +,- " & %( ?$@ data. U INS zobrazuje OK v +,- &"3 !-+3 ,"4 : +,- &"-!-+3,"6 +,-"&. Cx zobrazuje OFF v +,-!,% +,/4+,/#}
( % !-+ -4 >, (% ; @, o l jako Low Speed. V +,- %%& ! ( %% /&% +("3%&,,4 Obrazovka zobrazující polohu
@&%* % % %+,4 8 +,- špatného signálu je zobrazen „?“.
- 27 -
2EUD]RYND]REUD]XMtFtQDGPRĜVNRXYêãNXDU\Fhlost
@&%* % % "& ,!%+ 3' &,%% "& rychlostí. V ,!+,(%&%" km/h. Obrazovka zobrazující kurz DFK\E\PČĜHQt
Zobrazuje kurz ve stupních. V ,! +, %( %,& %%"&%&%!),!%+3' m a kurzu ve °. Obrazovka zobrazující hodnoty akcelerometru
Zobrazuje hodn%" "&% +"*í jednotlivých os. Osy X a Y mají maximální hodnotu 1G. Na osu Z #% ! +"*&%" "! #- & "& maximální výchylce, proto je osa Z nastavena na maximální hodnu 2G. Obrazovka zobrazující hodnoty gyroskopu
=%( &%" %"/ (,%"&3 %4 <( !!& %,%" ( závislá na nastav!!-+!%4
- 28 -
3.11
POPIS UKLÁDANÝCH DAT
Jak již byl% !-%, ," (% &, ¤ !-Qové médium, nebo jsou %,& + G$:$4 8 %% +, (% ," "(! .%!" (3 ( "4 $+ ;% %% %% ( ;% &/ka souboru, která obsahuje cestu k ,! %%) / "" ! !" nastavení jednotlivých s%#4 "% &/ ( " %,& + +%( nového klienta pro identifikaci nastavení.
3.11.1
P23,6+/$9,ý.<628%25U
1. ,," danému souboru. V '!+ je jméno souboru generováno z data a z "&% /su, %"% !#* ,%(" +ání záznamu stejného názvu. # soubor: /media/sda1/2009.12.22-22.03.11.txt 2. ,//"!4 # cas:2009.12.22-22:03:11 3. Udává formát zaznamenávání GPS zprávy P – poloha A – ,!%+3' V – rychlost T – kurz E – odhadované chyby polohy, výšky, kurzu # Format GPS: G time P=? ? A=? V=? T=? E=? ? ? 4. ,.%!":@)%+,!3B,(#4 # Format INS: I time XG YG ZG XA YA ZA 5. Udává parametry INS. Vzorkovací frekvenci a nastavení rozsahu a použitého filtru gyroskopu. # Nastaveni INS: SMPL_PRD=50 Hz, SENS/AVG=0x402 6. Formát CAN zprávy. # Format CAN: C time +,/ ID Length EXT RTR DATA[0] .. DATA[8] 7. 8. 9. 10. Nastaveni filtru (,%"&3G+,/# # Nastaveni CAN: CANx REC =? ID=? EXT=? RTR? MASK_EXT=? MASK_RTR=? MASK=? LowSpeed=? BaudRate=? Samotné záznamy pak odpovídají formátu uvedeného v &/4
- 29 -
3.11.2
UKÁZKA ZÁZNAMU KAŽDÉHO SENZORU
,!:@ I 0074894
-14
6
6
-37
11
-391
,!?$@ G 0078776 P=49.889760 12.597887 A=568.0 V=0.00T=142.56 E=39.20 38.40 ?
,!G C 0078796 1 100 8 no no 1 2 3 4 5 6 7 8
- 30 -
4 Z.203/(729$1e=$ěË=(1Í VDL Poskládání jednotlivý , 3&,! + ( %% Obrázek 114 $%&, ,% + / je zobrazen /viz Obrázek 124 7/ & vyrobeny na míru z &%3%.((%("%/", [14] v projektu. $%"%*-!3%(+'&%%-('(,ro linuxu, v ,%už navržené desky, vznikl problém s .%%%"%/"?$@,"4$+ použití driveru byl systém neustále vytížen 30 procenty. Proto musel být sériový %"+%( druhému sériovému portu, který není poskytován obvodem CPLD na SBC, & ( +%( +!% ,3 %%4 Proto vznikla mezi deskami ,"% %%() " ( , 3' ! ,! (,%,' +%( druhý sériový port.
OBRÁZEK 11. ULOŽENÍ JEDNOTLIVÝCH DESEK V .5$%,ý&(
- 31 -
OBRÁZEK 12. POHLED DO SESTAVENÉ .5$%,ý.<
Obrázek 13 %(%"%/%%#/&!+4
OBRÁZEK 13. ZIBRAZENÍ ORIENTAC(26&(/e+2=$ěË=(1Ë
- 32 -
5 T(6729È1Ë=$ěË=(1Ë 83&, + (! -%&" %*& + (,- "! "! "%+& -%& !# "4 =!& (! %,%" ?$@ /% %4 8 "-"% +, (sem se nesetkal s *,3! 3,! !-+3 ,"4 = /" & jen problém s kontaktem na napájecím konektoru. $% !-+ 3%%" + /" ," G - (! %*& . sendburst a readburs obsažené v driveru G4 <,% + %,ílalo vždy 100000 zpráv v !!&! !%*! "* - , ( zaznamenávalo. Tabulka 11 (%%"/","+#3&%"ch a využitých CAN +,/4 <, ", % !!& !-+ %,%" ,&'% "* "!4 < ,-") * + ! (, - ,% k !!&! ""! ,"4 & * + %*" ,% - ( rostoucí rychlostí ""(~%"4$+!#'-*&"!""*) *+!!&&%"""&(%"4"%%,%"('"- "- * + ! ," /% %4 =! ?$@ * "+ %&( ""% &%"4 @!%"3 -* %;! "-*( procesor se %! ," ?$@ :@ %&! ~ %"4 < ", ,-", že ostatní výkon je použit pro zpracování dat z G-4 $+!#,"(%,%*"!,! formátem FAT32 oproti NTFS, který + % "-* ,&- ," &,) "!% + *" .%!" @ &a data z +* -"' * % %/ !-+, a tím docházelo k W%!-"4
TABULKA 11. ZOBRAZENÍ STRÁTOVOSTI CAN ZPRÁV
VEČUQLFH CAN1 CAN2 CAN3 CAN4 prĤPČU zrátovost [%] CAN1 CAN2 prĤPČU ztrátovost [%] CAN1 ztrátovost [%]
100KBd 100000 100000 100000 100000 100000 0,0 100000 100000 100000 0,0 100000 0,0
125kBd 99686 99825 99865 99898 99819 0,2 99996 99995 99996 0,0 100000 0,0
- 33 -
rychlost 250kBd 95866 99751 99784 99777 98795 1,2 9837 99451 54644 45,4 99913 0,1
500kBd 10966 10935 10462 10759 10781 89,2 77687 8868 43278 56,7 99735 0,3
1MBd 7922 7633 7556 6680 7448 92,6 50791 4208 27500 72,5 99459 0,5
6 ZHODNOCENÍ $#-+8 /&%,%*"+3 3%(%3!%, ,+ %3 %!%3 ,) "3 &% %,%ušeno samotné "&,%!4$%"&%'+(,8 %,) " ""% !%,& (,%"& ,& (,% %'+( "%4 >-! se tak"&(&%/"!!%"é SBC, který byl v poslední chvíli !-- (, 4
(,% 4|4 ! " !-& !& %;!% realtimových funkcí, protože odpadla nutnost modulového návrhu. $+ (! " %'& -%& %;amovacími jazyky. Jako je jazyk ABEL a C. Nyní bych pro programování obvodu CPLD použil jazyk VHDL, "3 !%*( +-"-('%;!%4 Výsledkem ( +, " %( ' %"+ .4 $+ !G-%/" +%(!,%-"%!%),+&, rychlost 500kBd s "*! } %"4 $%"% %/ ""%%" + ""% &%" !-& 3" ( &4 $+ %*" %W @, " * "+ !-&% ,%(" ""- *,3 dat. 7, & &, ,# stoprocentní ! G -, &% " *" 3%-('% %%, a nebo "( %/% "! +!3m programováním obsluhy všech +4! 3-"*&%%;!%&%%;!4
- 34 -
7 LITERATURA [1] Technologic Systems. TS-§| ,W !&4 Ä6&Å -" 4 http://www.embeddedarm.com/documentation/ts-7260-manual.pdf. [2] LUMEX. LCM-S02402DSF Specification. [Online] http://www.lumex.com/specs/LCM-S02402DTF.pdf.
24.
srpen
1998.
[3] Analog Devices. :@{|}~{|}~~ ""4 Ä6&Å + 4 http://www.analog.com/static/importedfiles/data_sheets/ADIS16350_16355.pdf. [4] LEADTEK. ?$@ ~
@$ @."% @"4 Ä6&Å |4 +( 4 ftp://ftp.leadtek.com.tw/gps/9548s/Leadtek%209548S%20Spec.%20Sheet%20v 2.1_090929.pdf. [5] MAXIM. }{) }}) }
} ,""4 Ä6&Å +( }4 http://datasheets.maxim-ic.com/en/ds/MAX3221-MAX3243.pdf. [6] Philips Semiconductor. SJA1000 - Stand-alone CAN controller. [Online] 4. Leden 2000. http://www.nxp.com/documents/data_sheet/SJA1000.pdf. [7] NXP. PCA82C250 - G %"%&& ".4 Ä6&Å |4 + 4 http://www.nxp.com/documents/data_sheet/PCA82C250.pdf. [8] Philips Semiconductors. TJA1050 - High-speed CAN transceiver. [Online] 22. listopad 2003. http://www.nxp.com/documents/data_sheet/TJA1050.pdf. [9] NXP. TJA1054 - Fault-"%&" G "4 Ä6&Å
4 +( 4 http://www.nxp.com/documents/data_sheet/TJA1054.pdf. [10] PC/104 Embeadded Consortium. PC/104 Specification. [Online] 13.
(4""WWW4{
4%;{
»44 [11] ALTERA. MAX 3000A Programmable Logic Device Family Data Sheet. Ä6&Å/|4""WWW4&"4%!&"",!}4,.4 [12] EPSON. PROGRAMMABLE HIGH-FREQUENCY CRYSTAL OSCILLATOR SG8002JA. [Online] http://www.spezial.cz/pdf/sg8002ja.pdf. [13] Technologic Systems. TS-§| & W;4 Ä6&Å {§4 / 2007. http://www.embeddedarm.com/documentation/ts-7260-mechanical.pdf. [14] .Rþt -RVHI 3URJUDPRYp Y\EDYHQt ]iSLVQtNX SDUDPHWUĤ WUDV\ Praha : 8){4 &%!%4 [15] Global Positioning System daemon. GPSd. [Online] http://gpsd.berlios.de. [16] Guillaume, Filion a Marschall, Peter. LCDproc Developer's Guide. [Online] 2006. http://lcdproc.sourceforge.net/docs/current-dev.html. - 35 -
[17] Píša, Pavel. Linux/RT- G ,4 Ä6&Å / ~4 http://cmp.felk.cvut.cz/~pisa/can/doc/lincandoc-0.3.pdf. [18] CIRRUS LOGIC. Cirrus Logic EP9301 User Manual. [Online] 2004. http://www.embeddedarm.com/documentation/third-party/ts-7000_ep9301ug.pdf. [19] CodeSourcery. GNU Toolchain for ARM Processors. CodeSourcery. [Online] http://www.codesourcery.com/sgpp/lite/arm/. [20] Google. [Online] Google. http://www.google.cz. [21] Bílek, Petr. Programování v jazyku C/C++. Sallyx. Ä6&Å4+(4 http://www.sallyx.org/sally/c/. [22] Saloun, Petr. Programování v jazyce C. [Online] 3. prosinec 1996. http://docs.linux.cz/programming/c/c_saloun/. [23] Matys, Jakub. Seriál Programování pod Linuxem pro všechny. ROOT.cz. [Online] 6. srpen 2004. http://www.root.cz/serialy/programovani-pod-linuxempro-vsechny/.
- 36 -
8
OBSAH CD
6G (%,-&,%&,(,+%""4
¾ datasheets - veškerá dokumentace použitá v DP ¾ Eclipse - obsahuje projekt a crosstool pro výsledný program ¾ Quartus - obsahuje projekt pro CPLD ¾ OrCAD - obsahuje schéma zapojení a návrh plošného spoje - dokument této práce ¾ DP_2010_novotm5.pdf
- 37 -
9 PěË/2+< 9.1
SCHÉMA ZAPOJENÍ VDL BOARD
- 38 -
9.2
SCHÉMA ZAPOJENÍ
OSTATNÍCH DESEK
Konektorová deska s YêYRG\&$1DSĜHSČĢRYRXRFKUDQRX
Deska ineUþQtKRVHQ]RUX
- 39 -
7ODþtWNRYiGHVND
9.3
DESKA PLOŠNÉHO
TOP
BOT
- 40 -
SPOJE
VDL BOARD
9.4
OSTATNÍ
DESKY PLOŠNÉHO SPOJE
7ODþtWNRYiGHVND
Deska ineUþQtKRVHQ]RUX TOP
BOT
Konektorová deska s YêYRG\&$1DSĜHSČĢRYRXRFKUDQRX TOP
BOT
- 41 -