Event driven CAN & Video logger for unambiguous vehicle diagnostics

Sven
Van Dyck



EVENT DRIVEN CAN & VIDEO LOGGER FOR UNAMBIGUOUS

VEHICLE DIAGNOSTICS

1.1 De opdrachtgevers

1.1.1 CIT

Het CIT is gesitueerd in de Kleinhoefstraat 6 te Geel en staat voor “Centrum voor

Industriële Toepassingen”. Als spin-off van de KHK zijn ze gestart en ze hebben

ondertussen vestigingen in België, Polen en Nederland. Ze hebben o.a. een grote

expertise in LabVIEW opgebouwd.

Meer informatie vind u op www.citengineering.com.

1.1.2 DAF Trucks Eindhoven

DAF Trucks is onderdeel van de PACCAR groep waar o.a. ook Kenworth en Peterbilt toe

behoren. Deze 2 laatste vrachtwagenmerken genieten het meeste aandacht in Amerika.

DAF staat voor “van Doorne's Automobiel Fabriek” en werd in 1932 opgericht door de

Nederlander Hub Van Doorne. Na een bewogen geschiedenis werd DAF in 1996

overgenomen door PACCAR.

De productie van motoren en componenten gebeurt in Eindhoven, waar het

hoofdkwartier van het bedrijf gevestigd is. De cabines en de assen krijgt de

assemblagelijn in Eindhoven toegeleverd vanuit Westerlo.

Meer informatie vind u op www.daftrucks.com.

1.2 De opdracht

De opdracht bestond er in om een synchrone video/CAN-bus logger te maken. Deze

logger zal ingebouwd worden in een testvrachtwagen. Die vrachtwagen dient uitsluitend

om testen/proeven uit te voeren op nieuwe systemen, bijvoorbeeld een nieuwe

versnellingsbak.

Wanneer een nieuw systeem dient getest te worden, wordt dit ingebouwd in de

testvrachtwagen. Waarna die er mee gaat rondrijden. Zodra de chauffeur iets raar

opmerkt, zoals bijvoorbeeld het even niet functioneren van het te testen systeem, dan

dient dit gelogd te worden. De trigger voor het starten van een logfile wordt gegeven

door het indrukken van een hardware-knop die de chauffeur ter beschikking heeft.

Wanneer de testvrachtwagen, bijvoorbeeld na een week, terugkeert van zijn rit, is het de

bedoeling dat de testingenieurs bij DAF de gelogde data kunnen analyseren.

Een “Viewer” is daarom noodzakelijk om de gelogde data op een overzichtelijke manier

op het scherm weer te geven. Hij verzorgt ook de synchronisatie tussen video en CANdata.

De Viewer is dus een onmisbare tool om de gelogde data te analyseren.

Er zullen 2 zaken moeten gerealiseerd worden:

• Logger

• Viewer

Van Dyck Sven

1.3 De oplossing

1.3.1 De logger

1.3.1.1 Onderdelen

• een embedded PC met speciale voeding voor gebruik in een vrachtwagen

• een USB-webcam

• een hardware trigger-knop met status LED’s

• een USB-CAN DAQ kaart

• een USB DAQ kaart met digitale in –en uitgangen (aanstuurbaar vanuit LabVIEW)

• een externe USB hard disk

• een USB2.0 Hub

Alle onderdelen worden in de vrachtwagen geplaatst en op de embedded PC aangesloten.

De software is volledig in LabVIEW geschreven.

1.3.1.2 Algemene werking logger

Men start met het inbouwen van het te testen systeem in de testvrachtwagen. In deze

vrachtwagen is de logger al reeds ingebouwd, behalve de externe HD.

Voor het starten van de proef stelt de testingenieur de pretrigger en posttrigger tijd in.

Dit gebeurt door het manueel aanpassen of aanmaken van een .ini bestand. In Figuur 1

kan men de inhoud van zo een bestand waar de post –en pretrigger tijd op 60 seconden

zijn ingesteld, zien.

[TriggerSettings]

PreTrigger=60

PostTrigger=60

Figuur 1: Voorbeeld van het configuratiebestand

Vervolgens hernoemt de testingenieur het bestand naar

“DataLoggerConfiguration.experiment” en kopieert het naar de volgende folder op de

externe schijf: \Configuration\. Als deze map nog niet bestaat, dan dient de testingenieur

deze zelf aan te maken. Wanneer deze procedure afgehandeld is, plaatst de testingenieur

de externe HD in de vrachtwagen en koppelt hij hem aan de embedded PC via USB. De

logger weet nu welke instellingen hij moet gebruiken voor de post –en pretrigger tijd.

De logger is op dit moment operationeel en de proef kan starten. Wanneer de chauffeur

zijn vrachtwagen start, zal de embedded PC automatisch mee opstarten. De logger start

op zijn beurt mee op. Het programma zal meteen beginnen met het bijhouden van een

buffer op de interne schijf van de embedded PC. De buffer bestaat uit video en CAN-data

en bedraagt x-aantal(instelbaar) minuten. Deze instelbare tijd wordt vanaf nu de

pretrigger time genoemd.

Wanneer de logger een trigger detecteert, die gegeven wordt door de hardware-knop, is

het de bedoeling dat hij de data van de webcam en de CAN-bus gaat loggen op de

externe harde schijf. De gelogde data per trigger zal bestaan uit een tijdsspanne van de

Van Dyck Sven

pretrigger time + x-aantal instelbare minuten nadat de trigger gegeven is. De instelbare

tijd na de trigger wordt de post-trigger time genoemd. Dus met andere woorden, de

tijdspanne van de gelogde data van een trigger bestaat uit de pretrigger time + de

posttrigger time.

Tijdens het loggen worden van zowel de video als van de CAN data, timestamps

bijgehouden. Zo is het mogelijk om nadien in de “Viewer” te bepalen welke videoframe er

bij welke CAN-data hoort. Op die manier kan men video met CAN synchroniseren.

Dus samengevat: wanneer de chauffeur een fout in het te testen systeem detecteert,

duwt hij op de hardware-knop, waarna de logger de data begint te loggen op een wijze

die hierboven beknopt beschreven staat (met pre –en posttrigger).

Alle gelogde data komen op de externe HD te staan onder de folder: \Logs\. Voor elke

trigger wordt een nieuwe map aangemaakt die als naam het formaat heeft van

<Trigger_”jaar”-“maand”-“dag”_”uur”-“min”-“microseconden”>. Het volledige pad is

bijvoorbeeld \Logs\Trigger_2008-02-28_14-20-36.375.

In elke triggermap komen 3 bestanden te staan:

• Een videobestand met de extensie .avi

• Een bestand dat een tijdstip bijhoudt van de start van elk videoframe. Men noemt

dit de timestamp file met de extensie .ts

• Een bestand waarin alle data van de CAN-bus vervat zit. (extensie .CANlog)

Trigger_2008-02-28_14-20-36.375.avi

Trigger_2008-02-28_14-20-36.375.ts

Trigger_2008-02-28_14-20-36.375.CANlog

Figuur 2: Voorbeeld van de triggerbestanden in een triggermap

Men hoeft voor het CANlog bestand geen aparte timestamp file bij te houden, omdat de

timing bij in het CANlog bestand zit. Een CANlog bestand wordt in een binair formaat

opgeslagen op de harde schijf.

Als de chauffeur zijn vrachtwagen afzet, detecteert de logger dit en zorgt het programma

ervoor dat de embedded PC correct afgesloten wordt.

Na de proefrit wordt de externe HD uit de vrachtwagen gehaald en aangesloten op een

gewone PC waar de Viewer op geïnstalleerd staat. De Viewer herkent alle triggers op de

externe HD en de testingenieur kan beginnen met zijn analyse.

Van Dyck Sven

1.3.2 De Viewer

Zoals reeds vermeld, wordt (wanneer de vrachtwagen teruggekeerd is van zijn test) de

externe harde schijf uit de vrachtwagen genomen en aangesloten op een computer waar

de Viewer is geïnstalleerd.

In de Viewer zal men moeten specificeren waar het experiment, dat men wil analyseren,

zich bevindt. In dit geval staat het dus op de externe harde schijf. Voor archief

doeleinden kan men het ganse experiment, dat bestaat uit gelogde data en configuratie

bestanden, verplaatsen naar een meer geschikte locatie.

Eenmaal het experiment gekozen, detecteert de Viewer alle triggers, waarna men kan

selecteren welke trigger men van naderbij wil bekijken. De Viewer heeft een grafiek en

een videovenster. Zo kan men CAN en video gesynchroniseerd bekijken. Een "play"

functie mag natuurlijk ook niet ontbreken. Bovendien bestaat de mogelijkheid om een

tweede scherm met het videobeeld op te roepen. Op deze manier is het mogelijk om met

een “dual screen setup” te werken, dewelke het analyseren vereenvoudigt.

Bibliografie

BOSCH. (1991). CAN specification version 2.0. 73 p.

Cia. (s.a.). Controller Area Network. 46 p.

Cia. Can In Automation: http://www.can-cia.org (2008).

Colleman, P. (2007). Datacommunicatie, 298 p.

Colleman, P. (2007). Datacommunicatie: Digitale communicatie

Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC, Philips. (2000). Universal

Serial Bus Specification: Revision 2.0, 622 p.

Corrigan, S. (2003). Introduction to the Controller Area Network (CAN). 16 p.

Johansson, K., Törngren, M., Nielsen L. (s.a.). Vehicle Applications of Controller Area

Network 25 p.

Martin, T. (2006). CAN Controller. In the insider’s guide to the Philips ARM 7. (pp.105 -

119).

National Instruments. (s.a.). CAN: Controller Area Network. In LabVIEW Introduction

Course Manual. (pp.9-1 - 9-49).

National Instruments. (2006). CAN: NI-CAN Hardware and Software Manual.

National Instruments: http://www.ni.com (2008)

Peacock, C. (2002). USB in a Nutshell: Making Sense of the USB Standard. 30 p.

http://www.beyondlogic.org

Renesas. (2006). Introduction to CAN. 44 p.

VECTOR. (2004). Introduction to J1939: Version 1.0, 6 p.

Universal Serial Bus. http://www.usb.org (2008)

Wikipedia. http://en.wikipedia.org (2008)

Zeltwanger, H. J1939-based application profiles. 15 p.

 

Download scriptie (4.99 MB)
Universiteit of Hogeschool
Thomas More Hogeschool
Thesis jaar
2008