Generisk felkodsfunktionalitet
|
|
- Birgitta Andersson
- för 6 år sedan
- Visningar:
Transkript
1 Sida 1 av 40 School of Mathematics and Systems Engineering Reportsfrom DFM Generisk felkodsfunktionalitet Av: Ideal Berisha och Jesper Svensson
2 Sida 2 av 40 Organisation/ Organization Linnéuniversitetet Institutionen för datavetenskap, fysik och matematik. The School of Computer Science, Physics and Mathematics Författare/Authors Ideal Berisha and Jesper Svensson Typavdokument/Type of document Examensarbete/ Thesis Titelochundertitel/Title and subtitle GFK - GeneriskFelKodsfunktionalitet via CAN-bus och K-line GFK Generic FaultCodefunctionality through CAN-bus and K-line Sammanfattning (på svenska) BSR Svenska AB har gett oss uppgiften är att göra deras Portable Programming Carrier 3 (PPC 3) till en felkodsläsare som klarar av att läsa och radera generiska felkoder. Felkodsläsaren kommer kallas för PPC Diagnostic System och kommer att kunna användas till alla bilar med OBDII-uttag. Meningen är att vem som helst ska kunna kontrollera och radera felkoder i sin bil. De generiska felkoderna är mestadels lagstadgade och har oftast koppling med drivlina eller miljöklassificerade värden på bilen. Nyckelord CAN, K-line, fordonsdiagnostik, generiska felkoder Abstract (in English) BSR Svenska AB have developed a diagnostic device for cars and the task at hand is to develop this device called PPC diagnostic to make it compatible with generic OBDII codes. This will make it easier for the ordinary person to control their cars and check if there is anything wrong, that is contained in the generic protocol. This includes mostly a lot of probes weather they are ok or not and also a lot of values for temperature and similar stuff, but the most important part of the generic fault codes is the environmental fault codes. Key words CAN, K-line, car diagnostics, generic faultcodes Utgivningsår/Year of issue Språk/Language Sidor/Number of pages 2012 Swedish Internet/WWW
3 Sida 3 av 40 Abstract This abstract describes the bachelor degree thesis in computer technology at Linnaeus University in Växjö written by JesperSvensson and Ideal Berisha during the spring term of 2012 at the company BSR in Växjö, Sweden. They have developed a diagnostic device for cars and the task at hand is to develop this device called PPC diagnostic to make it compatible with generic OBDII codes. This will make it easier for the ordinary person to control their cars and check if there is anything wrong, that is contained in the generic protocol. This includes mostly a lot of probes weather they are ok or not and also a lot of values for temperature and similar stuff, but the most important part of the generic fault codes is the environmental fault codes. To complete the task it was needed to read in on the CAN-bus and K-line to understand them properly therefore the thesis contains data that describes both the CAN-bus and K-line. Also the use of the OBDII standard is needed and that is why there is also a chapter about this. The project was successful for both us and the company. We learned a lot of new and interesting stuff and got the software to work properly on the diagnostic unit.
4 Sida 4 av 40 INNEHÅLLSFÖRTECKNING Förkortningar Inledning 1 Problemformulering 1.1 Uppgiftsbeskrivning Mål med uppgiften 1.2 Projektbeskrivning Mål Modell över systemets tre delar Meddelanden som skickas Design av PPC Systemstruktur för PPC Grafikhantering Menysystem Minneshantering 2 On-Board Diagnostics 2.1 Inledning 2.2 OBDII 2.3 Generiska Protokollet 3 CAN-Controller Area Network 3.1 Introduktion 3.2 CAN-Protokoll 3.3 Frames Data Frame SOF Arbitration Field Control Field Data Field CRC Field ACK Field EOF Remote Frame Error Frame Bit Error Stuff Error CRC error Form Error Acknowledgement Error Overload Frame 3.4 ExtendedFrame Format 3.5 Arbitration 4 K-line 4.1 Introduktion 4.2 Initiering ISO 9141 med 5-baud initiering KWP med 5-baud intiering KWP med snabb initiering
5 4.3 Error handling 4.4 First data exchange 4.5 Data kollisioner 4.6 Checksumman 5 Utförande 5.1 Teoretisk förberedelse 5.2 Verktyg, material samt en fungerande koppling 5.3 Kommunikation och logganalys 5.4 Programmerings tillämpning i C# 5.5 Programmering i C++ för PPC Diagnos 6 Resultatdiskussion 7 Slutdiskussion 8 Källförteckning Sida 5 av 40
6 Sida 6 av 40 Förkortningar ACK ASCII CALID CAN CiA CRC DLC ECU ECM EDAB EEPROM EOF GPRS I-bussen ICM IDE IFS ISO LSB MAP MIL NRZ OBD-II OPS PID PPC RAM REC REC RTR SJW SOF SRR TEC USR VAG WBD VIN Acknowledgement American Standard Code for Information Interchange Calibration Identification Controller Area Network CAN in Automation CyclicRedundancy Check Data LengthCode Electronic Controller Unit Engine Control Module Elektronik Design AB Electrically Erasable Programmable Read-Only Memory End offrame General Packet Radio Services Instrumentbussen Infotainment Control Module Identifier Extension Interframe Space International Organization for Standardization LeastSignificant Bit Manifold Absolute Pressure = Insugningsrörets Absoluta Tryck Malfunction Indicator Light Non-Return-to-Zero On Board Diagnostics-II Order Processing System Parameter ID Portable Programming Device Random Access Memory ReceiveErrorCounter Rear Electrical Center Remote Transmission Request ResynchronizationJumpWidth Start offrame SubstituteRemoteRequest Transmit ErrorCounter Universal Scripting Real Time Language Volkswagen Auto Group Web Based Diagnostics Vehicle Identification Number
7 Sida 7 av 40 Inledning Elektronik i bilar är en självklarhet för de flesta men fungerande bra elektronik är relativt nytt. För att kunna läsa av bränslenivå och motortemperatur m.m. började givare användas. När elektroniken i bilarna blev mer avancerad utvecklades styrenheter. En styrenhet är en liten dator som hanterar kommunikation sinsemellan och till den utrustning som behövs. Kommunikationen sköttes länge genom K-line, en kommunikationstyp som är väldigt lik RS232. Vanlig K-line blev senare inte effektiv nog. För att effektivisera K-line höjdes överföringshastigheten från 10400bps till bps. Detta gör visserligen överföringar av data snabbare men ändå inte fullt tillräcklig för avancerade system. CAN-bussen började användas för att klara av prioritering av data och på så sätt göra effektivisera systemet ytterligare. I nya bilar används nästan uteslutande CAN-bussen. Det här arbetet handlar om generisk felkodsavläsning och är gjort på företaget BSR i Växjö- I arbetet beskrivs hur ett program görs för PPC3 Diagnostic System samt hur det fungerar. Programmet kommer att kunna läsa och radera generiska felkoder som ofta är miljörelaterade och därför får anmärkningar vid besiktning och liknande. Meningen är att även privatpersoner ska ha tillgång till felkodsläsning för att kunna se vad som är fel på deras bilar och kunna radera felkoder när felen är lösta. Det generiska protokollet följer en standard vilket gör att det är i princip lika dant på alla bilar. Arbetet innehåller avsnitt om CAN-bussen och K-line för att läsaren ska få förståelse för kommunikationen i bilar.
8 Sida 8 av 40 1 Problemformulering 1.1 Uppgiftsbeskrivning Företaget BSR i Växjö har en enhet för trimning som de kallar för Portable Programming Carrier 3 (PPC 3). De har även en enhet för att diagnostisera vad som är fel eller håller på att bli fel i bilen. Enheten för diagnostik behöver kunna hantera generiska felkoder, d.v.s. felkoder som är lagstadgade och ska finnas i alla bilar. Syftet med detta arbete är att uppgradera diagnosenheten (PPC 3 diagnos). Uppgraderingen ska bestå utav generisk felkodsläsning. Med felkodsläsning menas att läsa av de felkoder som visar på att något är fel i bilen. Ett exempel är när ett värde från en givare är för högt eller för lågt. Ibland syns detta fel på instrumentpanelen i form av att en lampa lyser (MIL). Oftast kan felkoderna hittas långt innan MIL tänds genom att skicka rätt kommandon för att sedan kunna läsa av svaret, alltså läsa av de generiska felkoder som skickas efter förfrågan via CAN-bussen/K-line. Svaret ska sedan tas till vara på och omvandlas så att det blir användarvänligt för privatpersoner och verkstadsarbetare. Styrenheten är kopplad till OBD-II uttaget i bilen. PPCn kopplas in utifrån och överför data via CAN-bussen/K-line. Uttaget sitter oftast precis under ratten, enligt standard högst 61 cm från ratten. För utförandet krävs kunskap om CAN-bussen och K-line och tillhörande protokoll. Vidare fodras förståelse för PPCn och dess operativsystem för att kunna följa den arkitektur som finns i systemet. Felkoderna registreras när enheten kopplas till datorn och sparas i BSRs databas. Varje användare har en inloggning på BSRs hemsida där historiken för felkodsläsningar visas. Arbetet inriktar sig inte på någon särskild bilmodell utan meningen är att det ska fungera på alla bilmodeller som följer OBD-II standarden. OBD-II standarden infördes 1996 i USA men kom lite senare i Europa. På förbränningsmotorer kom standarden 2001 och på dieselmotorer blev det standard Trots de sena standarderna så är det vanligt att biltillverkare använde sig av OBD-II tidigare Mål med uppgiften Målet med uppgiften är att utveckla BSRs produkt så att den hjälper privatpersoner att diagnostisera fel i sina bilar. De generiska felkoderna består oftast av miljörelaterade koder. Vanliga felkoder är för högt eller lågt co2 värde eller fel på luftmassamätaren. PPC3 Diagnostic System kommer vara perfekt för privatpersoner. Bara för att problemet är löst behöver det inte betyda att felkoderna är borta. Felkoden försvinner antingen efter ett förutbestämt antal mil eller vid användning av ett diagnosverktyg för att radera den. 1.2 Projektbeskrivning I detta avsnitt beskrivs diagnosenhetens uppbyggnad, hur koden är strukturerad samt hur systemet fungerar och interagerar med bil och server Mål Målet med projektet är att privatpersoner ska kunna diagnostisera och radera felkoder på sina bilar så att gamla felkoder inte ligger kvar.
9 Sida 9 av Modell över systemets tre delar Systemet består av tre delar: PPC diagnos, en server och ett datorprogram vid namn PPC sync som skickar data mellan PPC och server. Systemets grundläggande struktur och de olika delarnas funktioner visas nedan. Lagrar information Verifiering av moduler genom chassinummer (VIN) Lagrar information om alla PPCer som är registrerade, varje PPC har ett konto med användarnamn och lösenord Tar emot information från PPC som ansluts via PPC sync Användarna har ett användarkonto på servern som har inloggning med lösenord och där har de vissa rättigheter för sin enhet. Används för kommunikation mellan PPC och server Inloggning sker med användarnamn och lösenord Visar vilka fel du har haft på bilen tidigare samt de fel som finns nu, de tidigare felen hämtas från servern PPC Sync PPC Diagnos Kopplas från PPCns HDMI-utgång till fordonets OBD-II-uttag Använder sig av PPC sync för att koppla upp mot server Skickar meddelande till fordon och läser av svar Skriver ut färdiga felkoder till användaren Vid eventuella kommunikationsfel sparas printscreen och sänds till servern vid synkronisering för att BSR ska veta hur det såg ut när felet uppstod Meddelanden som skickas Meddelanden som skickas och läses av görs via antingen K-line eller CAN-buss. Största skillnaden mellan K-line- och CAN-buss-meddelanden är hur längd, mottagare och sändare representeras. I K-line finns även en checksumma som inte finns med i ett CAN-bussmeddelande. Detta görs för att förhindra bit- och kommunikationsfel. I CAN-bussen, där säkerheten är större, kontrolleras istället det antal databytes som står angivet.
10 Sida 10 av Design av PPC Till skillnad från SAABs diagnosverktyg är PPCn handanpassad med en storlek på 13x8 cm i jämförelse med SAABs 30x15 cm. OBD-II uttaget är beläget högst en meter ifrån ratten enligt rekommendationer, oftast under ratten. Anslutningen mellan PPC och OBDII-uttaget är en HDMI till OBD-II kabel. HDMI änden kopplas i diagnosenheten och OBD-II i fordonets OBD-II uttag Systemstruktur för PPC För att kunna göra ändringar i PPCns kod utan att förstöra något behövs kunskap om nedanstående: Grafikhantering Grafiken i PPC hanteras i olika nivåer som beskrivs i tur och ordning nedan. På lägsta nivån ligger display_lowlevel.cpp/.hpp och det är hårdvarulagret som har kommunikation med processorn och grafikkontrollen. Allt som används i den grundläggande grafikhanteringen, så som kommandon, register och funktioner för att skicka och ta emot data mellan grafik kontrollen och processorn men även skärmuppdaterings- och initieringsrutiner finns här. En nivå upp finns display_draw.cpp/.hpp där uppritningsrutiner för enhetens GUI är beläget. På denna nivå hanteras uppritning av sådant som ska synas för användaren. Exempelvis skärmareor, geometriska objekt och utskrift av text. Rutinerna för utskrift är uppdelade beroende på om det som ska skrivas eller ritas ut kommer från internt eller externt minne. Högsta nivån utgörs av display_classes.cpp/.hpp. Där det finns många olika klasser definierade. Dessa klasser används för att göra grafikhanteringen smidigare och enhetlig. Då det inte finns dubbelbuffring i display kontrollkretsen används delarna flitigt för att grafiken ska fungera på ett användarvänligt sätt. Skärmhantering Skärmhanteringen kontrolleras via menu.cpp/.hpp där det grafiska initieras efter att det har specificerats med hjälp av objekt från klasserna i display_classes.cpp/.hpp. Klasserna som används finns beskrivna i listan nedan: CScreenArea Den grundläggande byggstenen i GUI:t som specificerar upp yta, bakgrund och andra grundläggande egenskaper. Alla andra komponenter placeras i en CScreenArea. CImage Hantering av bildobjekt CButton En knapp för flerval, t.ex. OK/Cancel/Yes/No CProgressbar En förloppsindikator främst använd vid de mer omfattande operationerna som läsning/skrivning av kalibreringsdata. CTextArea Text kan skrivas ut på skärmen från antingen internminnet eller externt flash CClock Klocka på formatet hh:mm:ss visas under operationen för att visa hur lång tid som förflutit sedan operationen startades. Objekt i CScreenArea är väldigt minneskrävande eftersom att de är statiskt allokerade och Display_CreateScreenArea skapar inte ett nytt objekt utan returnerar pekaren till nästa lediga objekt
11 Sida 11 av 40 Det är fyra objekt av klassen CScreenArea som används för att bygga upp GUI:t i PPC. Dessa är: MenuScreenArea Huvudarean där GUI:t är placerat PopupScreenArea Används för uppritning av popupfönster DescriptiveTextScreenArea Ett område på skärmen där information om respektive menyval visas MenuHeaderTextScreenArea Titelarean belägen i den översta delen av skärmen och innehåller meny-/funktionstitel. Layoutsystem Systemets layout sätts av objekt skapade i CScreenArea där egenskaperna består av area och bakgrund. Arean anges i CArea med parametrarna X, Y, bredd och höjd. X och Y anger positioneringen för arean. Klassen Color anger färgen i RGB skala, värden för röd, grön och blå från 0 till 255. Objekten skapas i menu.cpp/.hpp för att hanteras därifrån Menysystem Menysystemet tillåter att användaren styr vad som ska hända i PPC-enheten. Exekvering startar i main.cpp genom att initiera de olika beståndsdelarna och lyssna efter knapptryckningar. Varje knapphändelse är ihopkopplat med menysystemet i menu.cpp/.hpp. Grundläggande hantering av menysystem från OPS OPS hanterar menysystemet där alla menyer och texter skapas. Formatering sköts av servern så att formatet kan hanteras av PPC-enheten. Systemet består av MenuSet och MenuItem, definierade i flash_structure.hpp. Ett MenuSet består av ett eller flera MenuItems och det är länkat bakåt i kedjan via grundstrukturen. Parallellt med varje MenuSet kan det finnas ett eller flera alternativa MenuSet som också är länkade från grundstrukturen. MenuSetStates bestämmer vilket av dessa menusets som ska användas. Ett MenuItem består av adresser i form av två texter, ett namn och en beskrivning. Beskrivningen pekar vidare mot antingen ett menyset eller FunctionID som används för att anropa en funktion i menu_function.cpp/.hpp. Språkhantering Texterna som visas i PPC-enhetens display läses från externt flash och är angett i koden med en enumerator som definierats i general_texts.hpp. Alltså är texterna dynamiska och enumeratorvärdet översätts via en tabell. Tabellen ligger i externt flash. All översättning av standardspråket engelska sker genom adminsidor i OPS Minneshantering I en PPC finns det olika typer av minnen som lämpar sig för olika delar av systemet. Det finns ett programminne, RAM, EEPROM och ett externt flashminne. I programminnet ligger all kod samt konstanta variabler. RAM används till temporära värden och variabler som uppdateras under exekvering. EEPROM och externt flash är mer komplexa, nedan följer en beskrivning utav dessa samt CommBuffManager.
12 Sida 12 av 40 EEPROM Till skillnad från RAM minnet behåller EEPROM all inskriven data även när den blivit strömlös. I EEPROM finns variabler som styr eller kontrollerar programflödet. Exempel är checksumma för firmware. Kodstrukturen är lik den som finns för eeprom. CommBuffManager/Externt Flash När data läses från bilens styrenhet är det oftast mycket data som ska flyttas från externt flash ut på CAN-bussen/K-line via processorns RAM minne. På grund av att det finns begränsningar i en mikroprocessorarkitektur måste överföringen ske på ett effektivt sätt. Därför används CommBuffManager som förhindrar att minnet fylls och hastigheten sänks. Klassen comm_buff_manager.cpp/.hpp har till uppgift att förmedla data till eller från flash genom en av tre möjliga rambuffrar: o BT_FILE_BUFFER Används för att hantera data till och från bilens ECU o BT_MSG_BUFFER Används för att spara ner meddelandelog för CAN/Kline o BT_MENU_SELECTION_BUFFER Används för att spara ner de menyval CommBuffManagern hanterar data genom den bakomliggande rambuffer. Buffern fylls eller töms, beroende på om den används för läsning eller skrivning. Genom att kontrollera index för var data har lagrats och vilken riktning CommBuffManagern är initierad för kommer data att föras över från rambuffern till flash eller tvärtom.
13 Sida 13 av 40 2 On-Board Diagnostics 2.1 Inledning År 1977 tillkännagav General Motors världens första motor med integrerad mikrokontroller anpassad för OBD (On Board Diagnostik). Stora delar av den tidigare hårdvaran kunde nu ersättas av mjukvara från mikrokontrollers. Detta ledde till att fler biltillverkare började använda sig av mikrokontrollers med stöd för självdiagnostik. (Jurgen, 2000:4) 2.2 OBDII OBD protokollet förbättrades och standarder förtydligades vilket ledde till nästa generations självdiagnostik, OBDII som används än idag. Standarden består av ett hårdvaruinterface även kallat för diagnosuttag. Detta uttag är direkt kopplat till bilens styrenheter vilket möjliggör för utomstående att enkelt kunna kommunicera med dessa. Kommunikationsmöjligheterna ges genom ett flertal standardiserade kommunikationsprotokoll. CAN och K-line är några utav dessa och kommer förklaras senare i arbetet. Det är via OBDII uttaget dagens bilverkstäder utför digitala undersökningar på bilar med hjälp av olika verktyg. Vart uttaget är utplacerat kan varierar mellan olika bilmodeller, oftast sitter den under ratten. 2.3 Generiska Protokollet Inom OBDII finns det något som kallas generiska felkoder som ingår i det generiska protokollet. Dessa koder är lagstadgade och ska finnas tillgängliga för varje bil. Det finns även koder som är tillverkarspecifika men de behandlas inte i denna uppgift. Det generiska protokollet består av tio olika diagnostik lägen (modes) där de flesta har olika PID (Parameter Identification). Ø Mode 1 Här får man fram olika värden. Varje typ av värde representeras av en PID. Några exempel på typiska värden är motor varv, hastighet, olika temperaturer och information om diverse givare. Totalt inom mode 1 finns det 140 PIDs (se bilaga). Data som varje PID visar är antingen konkret information eller information som måste bearbetas med hjälp av någon formel för att få ut den konkreta informationen. Ett exempel kan vara temperaturavläsning, de flesta temperaturer beskrivs som en byte eller åtta bitar där värdet kan variera från 00 till FF i hexadecimalt eller 0 till 255 i decimalt. Värdet för dessa temperaturer börjar från -40 och uppåt. Om en avläsning visar 82 i hexadecimalt vilket ger 130 i decimalt skulle uträkningen för temperaturen vara: = 90 grader. Skulle kunna vara vattentemperaturen i detta fall. Ø Mode 2 Här returneras fast data eller ögonblicksdata från en DTC. När ECm detekterar problem så registreras sensorernas data precis det ögonblicket som problemet uppstår. Ø Mode 3 Current DTC returnerar generiska felkoder som har blivit registrerade. Dessa felkoder kan delas in i olika kategorier: o P0XXX används för data som handlar om Powertrain exempel är motor eller växellåda. o C0XXX används för data som associeras med chassit. o B0XXX används för data som associeras med Body. o U0XXX används för data som associeras med UderNetwork. Ø Mode4 Raderingsläge, när detta mode skickas så raderas felkoderna. Ø Mode 5 Det som returneras från mode 5 är automatiska diagnoskörningar på syre/lambda sonderna.
14 Sida 14 av 40 Det är mestadels för bensindrivna fordon. På nyare bilar är detta mode ersatt av mode 6. Ø Mode 6 Det som returneras från mode 6 är automatiska diagnoskörningar på system som inte omfattas av standardkörningar. Ø Mode 7 Pending DTC. Returnerar felkoder på något fel som ännu inte har bekräftats. När ett fel har bekräftats sätts den som Current DTC (Mode 3). När man raderar felkoder kan vissa av dessa försvinna från Current DTC trotts att problemet inte är löst. Felkoderna kommer med stor sannolikhet att komma tillbaka när bilen startas och börjar köra. Dessa felkoder kommer däremot inte att raderas från Pending DTCs förrän grundproblemet är fixat. Ø Mode 8 Returnerar resultatet från auto diagnostik Ø Mode 9 Bilens chassi id (VIN) och styrenhetens mjukvaru ID (CALID.) returneras. Ø Mode 10 Permanent DTC. Dessa är precis som current och pending DTC, skillnaden är att de inte kan raderas med mode 4 utan raderas av sig självt när bilen har kört en längre sträcka utan att felet upptäcks.
15 Sida 15 av 40 3 CAN-Controller Area Network 3.1 Introduktion I takt med teknikens snabba utveckling ökade också behovet för större och mer komplicerade elektronik- och datorlösningar inom bilindustrin. Detta ledde bland annat till komplexa och svårhanterade system vilket bidrog till både tidskrävande och kostsamma lösningar. Lösningen på dessa problem kom 1986 då CAN introducerades utav det tyska bolaget Bosch. CAN står för Controller Area Network och är ett seriellt kommunikationsprotokoll som på ett enkelt och smidigt sätt hanterar kommunikationen mellan processorer, sensorer och andra digitala enheter i ett nätverk. Till en början var CAN-bussen endast anpassad för fordon, men under åren har den tillämpats i medicinsk utröstning och även inom industrin. Anledningen till CAN-bussens breda tillämpningsområde är på grund av låga utvecklings- och underhållskostnader samt systemets stabila och pålitliga funktionalitet trotts tuffa miljöer. CAN-bussens lilla och smidiga storlek är också en bidragande faktor till dess popularitet. Här nedan visas en översiktsmodell på hur kopplingar i ett fordon kan se ut, både med och utan CAN-buss. Utan CAN-buss Med CAN-buss CAN-bussen består utav två ledningar, CAN High respektive CAN Low. Spännings skillnaden mellan dessa ledningar ger två olika lägen. Recessiv nivå beskrivs med en logisk etta, där spännings skillnaden är 0V. Dominant nivå beskrivs med en logisk nolla, där spännings skillnaden är >0V. På detta sätt skickas information på CAN-bussen genom längre bitsekvenser. Ifall en enstaka nod skickar en dominant bit kommer hela bussens nivå sättas till dominant oavsett vad andra noder skickar. Detta är väldigt viktigt för att prioriteringshanteringen ska fungera, detta kommer att tas upp under rubriken Arbitration.
16 Sida 16 av 40 Figure 3. Typical CAN Connection Diagram (REC, 2010: 9-10). 3.2 CAN-Protokoll CAN-Protokollet använder OSI standardens tre första protokollskikt, Transport, Data link och Physical. Datalänk lagret är det viktigaste lagret för CAN-Protokollet, dess uppgift är att ta emot signalerna från det fysiska lagret och bearbeta dessa till ett meddelande enligt CANstandarden. Detta lager delas in i två del lager, LCC och MAC. LCC (Logical Link Control) har till uppgift att både välja vilka utav alla broadcast meddelanden som ska tas upp och att meddela ifall förberedelserna inför meddelandemottagning inte är fulländade. Om ett försök till att skicka ett meddelande misslyckas så sköter LCC det genom att skicka om meddelandet på nytt. MAC (Medium Access Control) ser till att forma informationen som LCC tar upp till vettiga meddelanden som ska följa CAN-standarden. Det finns fyra olika meddelande typer (MessageFrames): Data frame, Remoteframe, Errorframe och OverloadFrame. MAC är också ansvarig för att prioritetshanteringen sköts på ett korrekt sätt då fler meddelanden skickas ut på CAN-bussen samtidigt (Arbitration). Den ska även kunna hitta och meddela ifall något fel inträffar (REC, 2010: 9-10).
17 Sida 17 av 40 Bilden tagen från (REC, 2010:10) 3.3 Frames Kommunikationen i ett CAN-nätverk är uppbyggt så att de sammankopplade noderna hela tiden utbyter information mellan varandra i form av meddelanden (Frames). Noderna själva innehåller inga adresser, istället broadcastas varje meddelande så att alla noder i nätverket har tillgång till meddelandet, det är då upp till noderna själva ifall de ska ignorera eller ta emot och bearbeta meddelandet. Totalt finns det fyra stycken olika Frames: Data Frame, RemoteFrame, ErrorFrame och OverloadFrame (Keith 2002: 2) Data Frame Data Frame är meddelandet som bär på den viktiga informationen vilket möjliggör kommunikationen mellan noderna i CAN-nätverket. Om CAN-bussen inte är belastad med något meddelande befinner den sig i recessiv nivå vilket betyder att det inte finns något hinder för andra noder att skicka ut något meddelande SOF När ett meddelande tillträder bussen, kommer SOF (Start Of Frame) som alltid är låg (dominant) att sätta hela bussen till dominant nivå vilket indikerar att ett meddelande är redo för att skickas ut på CAN-bussen Arbitration Field
18 Sida 18 av 40 Direkt efter SOF följer Arbitration Field, detta fält kan förekomma i två olika format, standard eller extended. Standardformatet är vanligast förekommande och består utav 12 bitar. Extended formatet är ett format med ett utökat fält på 32 bitar, mer information om detta förklaras senare i arbetet. Bilden ovan ger en översikt för hur Arbitration Field i standardformat kan se ut. De 11 mest signifikanta bitarna beskriver meddelandets ID medan den 12e och sista biten, RTR (Request To Remote) talar om ifall meddelandet är ett data eller remote frame. Mer information om RTR kommer senare i arbetet. Fältets viktigaste syfte är att sköta prioritetsordningen bland alla meddelande ute i CANnätverket. IDt för varje meddelande scannas in bit för bit från den mest signifikanta biten för att enkelt och smidigt kunna identifiera meddelanden med lägst ID och där med prioritera dessa i första hand Control Field Kontrollfältet består utav sex bitar, den första biten IDE (Identifier Extension) talar om ifall meddelandet är i standard eller extended format. Om IDE är en etta (recessiv) innebär det att meddelandet är i standardformat. Nästa bit r0 är en reserverad bit som alltid är recessiv, följt av 4 bitar DLC (Data LengthCode). Dessa fyra bitar talar om datafältets storlek i byte, 0 till 7 byte. DLC för ett meddelande med 8 bytes data ser då ut: 1000, endast DLC3 som är dominant resten recessiva Data Field Datafältet består utav maximalt 8 bytes, om det krävs större datamängd kommer noden att skicka fler meddelanden efter varandra. Hos ett datafält med en storlek på mindre än 8 bytes tillkommer utfyllnadstecken, dessa utfyllnadstecken kan variera men oftast är det nollor. Som tidigare nämnt beskriver DLC datafältets längd, denna längd är inklusive alla utfyllnadstecken. Byte 1 talar däremot alltid om datafältets längd exklusive utfyllnadstecken. Simpelt exempel på två olika datameddelanden följer nedan. Det första meddelandet skickas ut från klientens sida genom CAN-bussen till bilens styrenhet, styrenheten i detta fall kan ses som en nod i CAN-nätverket. Det andra meddelandet är i form av ett svar från styrenheten på det första meddelandet som skickades.
19 Sida 19 av 40 KVASER Navigator Log ======================================== Time ID DLC Data Counter df e be 3f b Dessa meddelanden är klippta ur en loggning från ett datorprogram kallat KVASER Navigator. Det första meddelandet har ett meddelande ID på 7df, och DLC på 8. Direkt därefter följer datafältet där första byten 02 står för datafältets längd exklusive utfyllnadstecken. Detta betyder att datafältet betydelsefulla bytes är 01 00, de resterande nollorna är utfyllnadstecken. Datafältet på det mottagna meddelandet börjar med 06 vilket betyder att endast sista byten är utfyllnadstecken. Resterande bytes är viktig information från styrenheten. Mer detaljerade beskrivningar om loggning kommer att tas upp senare i arbetet CRC Field Innan något datameddelande skickas iväg kalkyleras en CRC (CyclicRedundancy Check) sekvens med hjälp utav polynomdivision. Själva meddelandet som inkluderar SOF, Arbitration, Control och Data betraktas som ett polynom G(x) =bnxn + bn-1xn b1x1 + b0x0 Där b är en bit som antingen är 1 eller 0, och n är antalet bitar. Vid standardformat kan n enkelt räknas ut: 12 (arbitration) +6(control) + 64(data) = 82 bitar. Motsvarande beräkning i extended format ger n = 102 bitar. G(x) kommer i sin tur att divideras med annat polynom som redan är förutbestämd i CAN 2.0. P(x) = x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1 Efter divisionen får man ut en rest, genom denna rest får man ut den 15 bitar långa CRC sekvensen som kommer att skickas med i datameddelandet. Rest polynomet har därför maximalt 14 gradig potens. R(x) = b14x14 + b13x13+ +b1x1 + b0x0 CRC sekvens: b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 När meddelandet har skickats ut på CAN-bussen kommer mottagarnoden att genomföra exakt samma beräkning och jämföra det med de mottagna CRC. Om jämförelsen inte
20 Sida 20 av 40 stämmer kommer noden att sända en Error Frame för att på nytt begära meddelandet. CRC Delimiter är en singel bit som alltid är en etta för att tillåta alla lyssnande noder att kontrollera ifall checksumman stämmer ACK Field Innan ett meddelande skickas ut på CAN-bussen kommer båda bitarna i ACK fältet att sättas till ettor d.v.s. recessiv nivå. När ett meddelande tas emot utav en nod i nätverket kommer den att jämföra meddelandets egna CRC med det egna beräknade, ifall jämförelsen matchar kommer ACK Slot biten att sättas till en nolla som en bekräftelse på att inget fel har inträffat under transporten av meddelandet. ACK delimiter är alltid recessiv och behövs för att fastställa en lyckad acknowledgement EOF EOF (End Of Frame) indikerar slutet på datameddelandet, detta fält är sju bitar långt där alla är recessiva om det inte har inträffat något fel. Intermission är ytterligare ett fält på tre bitar som är till för att separera meddelanden från varandra. Även dessa ska vara recessiva Remote Frame Remote frame är i stort sätt identisk med data frame, det enda som skiljer de åt är att datafältet saknas hos remote frame och att RTR biten i arbitration fältet övergår från dominant till recessiv. En nod skickar ut en remote frame för att begära ett visst data frame. Noden som tar emot denna remote frame svarar med att skicka en data frame med motsvarande ID. Skulle det hända att en remote frame och tillhörande data frame skickas ut samtidigt på bussen, då vinner data frame arbitrationen på grund utav att RTR biten är dominant.
21 Sida 21 av Error Frame Om något fel skulle inträffa i CAN-nätverket kommer noderna att svara med en error frame för att hantera felet på ett säkert och lämpligt sätt. Det finns fem olika fel som kan inträffa, här nedan beskrivs dessa Bit Error Varje nod som skickar ut meddelanden på CAN-bussen påverkar också bussens status. Det vill säga ifall noden skickar en recessiv bit och bussen har en dominant status kommer en error frame att genereras och vice versa, meddelandet kommer därför skickas om på nytt. Detta fel kan endast upptäckas utav skickande noder och felet kan endast inträffa hos SOF-, kontrol-, data-och CRC fälten Stuff Error Bit stuffing rule är en standardiserad regel som gäller alla fält från SOF till och med CRC fältet. Regeln säger att var sjätte bit måste ha omvänd polaritet. Det får därför inte förekomma sex dominanta eller recessiva bitar i följd efter varandra. Alla skickande noder som upptäcker fem bitar i följd efter varandra med samma polaritet skickar därför med en extra bit med omvänd polaritet. Den extra biten kommer att ignoreras utav mottagarnoden. Om ett fel utav detta slag upptäcks kommer en error frame att genereras och ett nytt försök att skicka meddelandet kommer att ske CRC error Skickande noder beräknar ett CRC värde vilket egentligen är en rest utav en polynomdivision av två bitsekvenser. Täljaren i divisionen inkluderar alla bitar från SOF biten till sista biten i datafältet medan nämnaren redan finns förutbestämd i CANstandarden, x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1 vilket motsvarar bitar. De kalkylerade CRC-värdet skickas med varje data frame, motagarnoden gör en likadan beräkning och jämför den med de mottagna CRC:t. Om det inte stämmer då kommer en error frame att genereras för att på nytt begära meddelanden Form Error Alla bitar i dessa fält: CRC Delimiter, ACK Delimiter, EOF och Intemission Frame ska vara recessiv ifall allt går som det ska. Skulle en mottagarnod upptäcka en dominant bit i någon utav dessa fält kommer Form Error att ske, en error frame kommer då att genereras ut på CAN-bussen Acknowledgement Error När en data frame skickas ut på CAN-bussen kommer ACK Slot biten alltid att vara recessiv. Som en bekräftelse på att minst en nod har tagit emot meddelandet korrekt kommer ACK Slot biten att sättas till dominant. Skulle detta inte ske kommer en error frame att genereras.
22 Sida 22 av 40 En error frame består utav två fält, ett sex bitar fält kallat error flag och en åtta bitars fält kallat delimiter error. Det första fältet informerar alla andra noder i nätverket om felet genom att antingen bryta mot stuffing rule och eller förändra de statiska fälten ACK eller EOF. (Zeng, 12: 21 22) CAN-Protokollet har en möjlighet att förse varje nod med ett visst tillstånd för att undvika negativ påverkan utav busstrafiken. Det finns tre möjliga tillstånd: error active, error passive och bus off. Error active är standardtillståndet för en fungerande nod, detta tillstånd känns igen då alla sex bitarna i error flag fältet är dominanta. En nod i error passive tillstånd kan fortfarande delta i kommunikationen, till skillnad från error active består error flag utav sex recessiva bitar. Noder i buss off tillstånd deltar inte i buss kommunikationen Overload Frame Overload frame används för att informera noderna i ett nätverk om att en viss nod inte kan delta i kommunikationen. Noden ses som överbelastad och kommer därför att förses med en tidsfördröjning innan den kan vara delaktig igen. Till skillnad från en error frame avbryts inte något meddelande, istället skickas en overload frame ut på CAN-bussen direkt efter ett fullständigt meddelande, antingen data eller remote frame. Overload frame har även möjligheten att upptäcka vissa illegala tillstånd: Ifall någon utav ISF fältets två första bitar är dominanta Ifall sista biten i EOF fältet är dominant 3.4 Extended Frame Format
23 Sida 23 av 40 Den huvudsakliga skillnaden mellan standard och extended format ligger i Arbitrations fältet. Meddelande IDt är utökat från 11 till 29 bitar vilket ger över en halv miljard unika IDn. IDt är uppdelat i Base ID (11 bitar) och Extended ID (18 bitar). RTR biten flyttas sist i Arbitrations fältet och ersätts istället med en SRR bit. SSR biten har till uppgift att prioritera ett standardmeddelande före ett extended ifall deras Base IDn är identiska. Detta sköts automatiskt då SRR biten alltid är recessiv. 3.5 Arbitration Den nod som först sänder iväg ett meddelande då CAN-bussen är i viloläge kommer att få meddelandet skickat. Om nu fler noder ska skicka iväg ett meddelande vid samma tidpunkt behövs särskilda åtgärder då dessa noder är anslutna till samma fysiska ledning. Det är då en så kallad förhandlingsprocess börjar för att bestämma vilken nod som först har rätt till att skicka iväg sitt meddelande. Alla dessa noder börjar med att skicka iväg varsin SOF bit följt av den mest signifikanta biten utav meddelande ID. Varje nod kommer att jämföra sin egen skickade bit med CAN-bussens nivå. De noder vars bit har omvänd polaritet till CAN-bussen, dvs ifall en nod skickar en recessiv bit medan bussen ligger på en dominant nivå förloras förhandlingsprocessen och noden sätts till avlyssningsläge. De noder som fortfarande är med i förhandlingsprocessen kommer på nytt skicka nästa bit i meddelande ID för att på så sätt få en ensam vinnare till slut. Den vinnande noden vilket också är den nod med lägst meddelande ID (högst prioritet) kommer att kunna skicka ett fullständigt meddelande ut till CAN-bussen. De noder som inte fick sina meddelanden skickade kommer på nytt gå med i en ny förhandlingsprocess, detta kommer att hålla på tills alla meddelanden har skickats. (Zeng, 12: 21-22)
24 Sida 24 av 40 4 K-line 4.1 Introduktion Innan CAN standardiserades var det K-line som skötte kommunikationen mellan styrenheter. Denna kommunikationsledning finns som pin 7 i OBDII kontakten. K-lina består i huvudsak av två olika standarder: ISO 9141 ISO ISO även känd som KeywordProtocol 2000, eller förkortat KWP2000. Termen KWP kommer att användas som generell referens medans den specifika ISO delen kommer att behövas för förtydligande. 4.2 Initiering Dessa två ISO standarder stödjer tre olika kommunikationsprotokoll. Nedan förklaras hur en initiering kan se ut när BSRs diagnosverktyg kommunicerar med en styrenhet som stödjer dessa K-line protokoll ISO 9141 med 5-baud initiering Totalt krävs 10 bitar för att begära en initiering av K-line protokollet, precis som bilden ovan visar. Meddelandet inleds med en recessiv start bit och avslutas med en dominant stop bit. Mellan dessa bitar skickas en hel byte (8 bitar) med hexadecimaltalet 33, eller i binär form, För att begäran av initieringen ska uppfattas korrekt ska kommunikationshastigheten vara 5 bit/s, vilket motsvarar en totaltid på 2 sekunder. Styrenheten tar sedan emot meddelandet för att bearbeta och validera det, denna process tar mellan 20 och 300 millisekunder. Efter en lyckad validering svarar styrenheten med en byte på 55 för att informera om den nya kommunikationshastigheten, 10,4 kbps. Styrenheten väntar ytterligare 5 till 20 millisekunder så att diagnosverktyget hinner anpassa sig efter den nya hastigheten. 20 ms senare skickar styrenheten två key bytes som antingen är eller beroende på styrenhet. Som ack (acknowledgement eller bekräftelse) på dessa två bytes svarar diagnosverktyget efter ms med inverterade bytes, dvs blir F7 F7 och blir 6B 6B. Styrenheten avslutar initieringsprocessen med att skicka ett byte på CC som är inverteringen på initieringsbyten KWP med 5-baud intiering Första delen av initieringsprocessen fungerar precis som ovannämnda, ISO baud. Skillnaden ligger i de key byts som styrenheten svarar med direkt efter att kommunikationshastigheten sätts (10,4 kbps). KWP har stöd för 19 olika key byts där endast fyra av dessa används för OBD kommunikation:
25 Sida 25 av 40 8F E9 8F 6B 8F 6D 8F EF Alla key byts beskrivs i formatet 8F XX, där XX definierar vilken typ av header som ska användas. Oavsett vilken utav dessa fyra bytes som mottas från styrenheten måste diagnosenheten alltid svara med 8F E9 för ett lyckad avslut på initieringsprocessen KWP med snabb initiering Detta protokoll kräver aldrig någon kommunikationshastighet på 5-baud, utan enbart 10,4 kpbs. Diagnosenheten påbörjar initieringsprocessen genom att skicka ett så kallat wake up meddelande följt av StartCommunication förfrågan. Förfrågan består av följande bytes: C1 Format byte 33 Styrenhetens adress F1 Diagnosenhetens adress 81 Service ID 66 Checksumma Styrenheten förväntas svara med ett StartCommunication svar där key bytes inkluderas. Ett sådant svar kan se ut enligt följande: 83 Format byte F1 Diagnosenhetens adress 33 Styrenhetens adress C1 Service ID YY Key byte XX Key byte CC Checksumma 4.3 Error Handling Det vanliga är att det görs ett försök av fast init först och sedan testas 5-baud init. I detta fall fungerar det inte då de två initieringsmetoderna inte kan skickas för snabbt inpå varandra. När försök görs med fast init mot bilens motorstyrenhet och det misslyckas väntar motorstyrenheten fortfarande två sekunder med att använda fast init. Därför måste man som klient vänta tre sekunder för att ha säkerhetsmarginal innan 5-baud init påbörjas. Skulle nytt kommunikationsförsök påbörjas tidigare kommer det att misslyckas. Det finns två sätt att undvika detta: 1) Använda 5-baud init. På detta sätt hålls timingarna rätt. 2) Använda fast init följt av en fördröjning för att undvika problem. 4.4 First Data Exchange När initieringen är slutförd görs ett simpelt test på att kommunikationen fungerar som väntat. Detta kan göras på många sätt men lämpligtvis används mode 1 och PID 00 då alla motorstyrenheter ska ha stöd för detta. Samma protokoll som användes vid initieringen används även under detta test. Exempel på vad som skickas vid mode 1 PID 00 visas nedan: - Key bytes eller 94 94: 68 6A F C4 - Key bytes (8F E9, 9F 6B, 8F 6D eller 8F EF): C2 33 F E7
26 Sida 26 av 40 Om man inte får något svar är det en indikation på att ett fel har inträffat under initieringen och den behöver göras om. F1 i de meddelanden som skickas ovan är diagnosenhetens adress. Adresser är inte standardiserat enligt ISO-standarden men används av biltillverkarna för att underlätta kommunikationen. Bilens motorstyrenhet har adress Data Kollisioner Kollisioner kan inträffa under vanlig kommunikation av K-line. Det är ovanligt och lätthanterat. Efter att kollision inträffat så använder sig bilens motorstyrenhet utav arbitration (skiljeförande). Vid upptäckt fel så skickar diagnosenheten om meddelandet. Därefter skickar motorstyrenheten som vanligt tillbaks korrekt svar. Allt fortsätter därefter som vanligt. 4.6 Checksumman Checksumman är simpel och räknas ut genom addition av allaföregående bytes. Den är 1 byte lång och då används sista byten i summan av additionen. Som exempel används mode 1 PID 00 för key bytes som visades tidigare. 68 6A F C4 Hexadecimalt (68 + 6A + F ) = decimalt( ) = decimalt 452 som i hexadecimalt blir 1C4. Där är sista byten C4 som stämmer med exemplet.
27 Sida 27 av 40 5 Utförande 5.1 Teoretisk förberedelse Då det saknades viss kunskap om CAN-buss, K-lina, OBDII och utrustning så behövdes detta studeras. Hjälpmaterial så som böcker och olika dokumentationer användes. 5.2 Verktyg, material samt en fungerande koppling Moderna bilar innehåller flera olika styrenheter som hanterar allt från insprutning till blinkers. De generiska felkoderna kan man endast läsa från bilens motorstyrenhet. Därför används en lös motorstyrenhet för att underlätta arbetet. För att loggning och kommunikation mellan dator och motorstyrenhet ska fungera korrekt används ett antal hårdvarukomponenter samt två olika program. 1) VCDS Ett diagnosverktyg för bilar i VAG-koncernen. VCDS har stöd för generiska felkoder. 2) VCDS OBDII kabel
28 Sida 28 av 40 Information från VCDS till motorstyrenheten transporteras via denna kabel som är USB till OBDII-kontakt. Här i ligger även licensen för programmet VCDS. 3) OBDII splitter Kopplas in så att informationen som skickas delas upp och går till flera mottagare. På så vis kan en logger kopplas in i ena änden. 4) Motorstyrenhet Bilens hjärna, härifrån styrs allt motorn gör. Det är även här de generiska felkoderna lagras. 5) CAN-bus logger eller K-Line logger (på bilden CAN-bus logger). Loggern hanterar den data som skickas och laddar upp den till datorn för visning i tillhörande loggprogram. 6) Kvaser Navigator för CAN eller Docklight för K-Line Datorprogram som visar upp det som loggern skickar. 5.3 Kommunikation och logganalys
29 Sida 29 av 40 När kopplingen är korrekt kan loggning ske. För CAN används Kvaser Navigator och det ser ut så här: KVASER Navigator Log ==================== Time CAN Id DLC Data Counter =================================================================== df //Initierar styrenheten e be 3f b //Positivt initiering df //Öppnar mode e //Positivt svar på mode df //Mode 9 PID 1 ej svar df //Läser VIN e //Positivt svar på VIN e //Ack e //VIN e //VIN df //Mode 9 PID 3 ej svar df //Läser Calibration ID e //Positivt svar e //Ack e //Calibration ID e //Calibration ID df //Mode 9 PID 5 ej svar df //Läser Calibration e a //Positivt svar e //Ack e f 03 0c //Calibration e //Calibration df //Pending DTC e c //Positivt svar e //Ack e //DTC df //Current DTC e a //Positivt svar e //Ack e //DTC =================================================================== Initiering
30 Sida 30 av 40 Här presenteras VCDS lite närmare. Nedan visas en printscreen från startmenyn i programmet. Genom alternativet OBD-II så används det generiska protokollet och initiering startar df //Initierar styrenheten e be 3f b //Positivt initiering Längst till vänster visas tiden i decimal form då meddelandet skickades. Tiden startar samtidigt som loggens. Därefter följer IDt på den som skickar meddelandet. Första avsändaren är klienten i det här fallet VCDS som enligt den generiska standarden använder sig av 0x7df. Innan meddelandet sedan börjar visas längden (DLC) av meddelandet som är 8 bytes. Första byten som skickas visar antalet bytes i meddelandet, 2. De nästkommande två bytes är data och därefter följer utfyllnad som inte hanteras. Utfyllnaden är medräknad i DLC. Byten efter längden visar vilket mode man försöker initiera, här mode 1. I svaret från motorstyrenheten använder den sig av ID 0x7e8. Här görs samma tolkning och då blir det 6 bytes långt. Nästa byte, 41 är svaret på 01 vilket är ett positivt svar. Positivt svar tillkännages alltid med 0x40 över det efterfrågade. Här blir det 0x01 + 0x40 = 0x41. Resterande bytes talar om vilka PIDs i mode 1 som stöds av motorstyrenheten. Mode 9 När initieringen är slutförd finns alternativet att läsa av olika modes. Mode 9 innebär allmän information om bilen. Det intressanta här är att få ut Mode 9 PID 2, som är VIN, så att diagnosenheten kan bestämma vilken bil det är. Kontroll av vilka PID som bilen har stöd för görs genom Mode 9 PID 0. Kommunikationen för Mode 9 PID 0 ser ut så här: df //Öppnar mode e //Positivt svar på mode 9
31 Sida 31 av 40 För att tolka loggen ovan så skickar VCDS en förfrågan på vilket begär information om vilka PID bilen har stöd för i mode 9. Svaret 49 visar på positivt svar och 54 ugör en bitmask som visar vilka PID som stöds enligt: 0x PID Bitmasken visar att PID 6 (Calibration Verification Number), 4 (Calibration ID) samt 2 (VIN) stöds utav styrenheten df //Läser VIN e //Positivt svar på VIN e //Ack e //VIN e //VIN Här tas loggen för VIN-läsning i beaktande. Det som kan uttydas är att svaret är för långt för att få plats i ett meddelande. Detta talas om genom att svaret börjas med 10. Därefter följer totala längden, i det här fallet 14 hexadecimalt. Efter ett sådant här förstameddelande så måste ett acknowledgement eller ack skickas för att visa att kommunikationen kan fortsätta. Meddelandet ska skickas med ett ID som är 0x8 lägre än föregående meddelande, här 0x7e8 0x08 = 0x7e0. Byte 3 och byte 4 är positivt svar. Efter positivt svar så visas hur många svar som fås av den aktuella operationen, här 1. Första byten i efterföljande meddelande fungerar som räknare, se 21 och 22, de följs av data. Snabb analys av VIN som skickas görs genom att slå data i en ASCII-tabell. Data: VIN: YS3FD49S
32 Sida 32 av 40 Det går att utläsa en del intressanta saker ur VIN. - YS3 visar att det är en Saab. - F ger modellen 9-3 SS/SC. - 9 på plats 7 säger vilken växellåda bilen har i detta fall femväxlad automat. - S på plats 8 anger motor, här 2,0t 175 hästkrafter. - 3 på plats 10 är årsmodell alltså DTCs För att få ut felkoder används mode 3 för current DTC och mode 7 för pending DTC df //Pending DTC e c //Positivt svar e //Ack e //DTC Det går att läsa av detta på samma sätt som tidigare med VIN. Den intressanta skillnaden här är att antalet svar är 5. En felkods struktur är uppbyggt av en bokstav, antingen P, B, U eller C, följt av fyra siffror. Första siffran kan ha ett värde från 0x0 till 0x3 medans resterande kan ha 0x0-0xF. I kommunikationsloggen kan det tydas ut att en felkod består av två bytes. Av dessa två bytes så används de första två bitarna för att bestämma bokstaven och de nästkommande två bitarna för att bestämma första siffran. Resterande bitar är som vanligt 4 bitar för att få ett hexadecimalt tal. Tolkning av första två bitarna sker enligt följade: 00 = P, 01 = C, 10 = B och 11 = U. Den första felkoden i loggen ovan tas som exempel ger de fyra första bytesen 0000 översatt till P0. Sedan läggs resterande bitar på rakt av och resultatet blir P0107 som står för MAP-sensor låg.
33 Sida 33 av 40 Loggningar som dessa samt i de olika protokollen för K-line gör att arbetet med PPC diagnos kan sättas igång på riktigt. Allt tidigare är gjort i rent forsknings- och analyseringssyfte. Målet är att tillverka en felkodsläsare som fungerar bättre än VCDS. 5.4 Programmeringstillämpning i C# När det fanns tillräckligt med kommunikationsloggar för att ha grunden till ett program så påbörjades programmeringen. För att felsöka på ett bra sätt och från en enklare övergång från java så användes C# i Visual Studio. Programmet använde sig utav CANlib-biblioteket och hanterade endast CAN. Metoden public static void CanSendMessage(int handle, int CANNode, int CANId, byte[] data, int datalength) används för att skicka data ut i CAN-bussen. Metoden skickar den data som skickas med i parametrarna, med den längd som anges och fyller ut resten med nollor. För att ta emot data finns två olika varianter: public static Canlib.canStatus CanReceiveMessage(int handle, out int id, int CANNode, byte[] data, out int datalength) är den simplare varianten som bara tar emot nästa meddelande på CAN-bussen. public static Canlib.canStatus CanReceiveSpecificMessage(int handle, int CANNode, int CANId, byte[] data, out int datalength) väljer ut ett ID och lyssnar endast efter det. I main-metoden frågar programmet efter vilket mode den ska köra och hanterar sedan svaret genom att skicka programmet vidare till korrekt metod. För att ta mode 7 som exempel så ser hela metoden ut så här: private static void handlemode7(int handle, int channel, int canid, byte[] data) { String msg; String tempmsg = ""; currentpin = 0;
34 Sida 34 av 40 } data = new byte[] { datalength, currentmode, currentpin, 0, 0, 0, 0, 0 }; CanSendMessage(handle, channel, canid, data, datalength); CanGetAnswer(handle, channel, data, canid); msg = getmessage(); for (int i = 0; i < msg.length; i++) { if (i == 0) tempmsg += "P"; else if (i % 4 == 0) tempmsg += " P"; tempmsg += msg[i]; if (i == msg.length - 1) Console.WriteLine(tempMsg); } Thread.Sleep(250); Metoden skickar den data som kommer in i arrayen byte[] data. Därefter tar den emot data via CanGetAnswer som använder sig av CanReceiveSpecificMessage men även skickar ut ett ack och fortsätter ta emot meddelanden om det behövs. Sedan görs det hexadecimala talet om så att det blir användarvänligt och skrivs ut. Nedan följer tre olika bilder som visar resultatet för några modes. Mode 01 PID 00 skickas för att få svar på all data (PIDs) som finns tillgänglig för styrenheten. Nu går det enkelt att fråga om bränslenivån hos ett fordon genom att skicka mode 1 följt av PID 47: <7DF >
35 Sida 35 av 40 Bilden ovan visar resultatet utav felkodsläsning via mode 7 (Pending DTCs) Den sista bilden beskriver resultatet utav Mode 9: VIN (PID 2), Calibration ID (PID 4) och Calibration (PID 6) 5.5 Programmering i C++ för PPC Diagnos När programmet fungerar tillfredställande på datorn ska allt flyttas över och omprogrammeras till PPC Diagnos-enheten. Där programmeras allt i C++. Kompilatorn som används till PPC-programmet är Tasking, eclips-baserad kompilator. I Tasking hanteras endast rena kodningsfel och det finns ingen hjälp att få när det gäller logiska fel. Det finns heller inga bra sätt för felsökning av koden utan det görs i PPCns synkroniseringsprogram med hjälp av debug-utskrifter. PPC-programmet använder sig av CANlib-biblioteket samt ett eget bibliotek för K-lina. Förklaring av PPCns funktioner följer här. Det är framförallt i tre olika cpp/hpp-filer som programmeringen gjorts. Filerna app_generic_obdii.cpp/.hpp hanterar CAN-protokollet. Funktionerna i dessa filer beskrivs nedan. GENERIC_OBDII_CAN_InitSession(CAN_NodecanNode, uwordecucid, uwordclientcid) Denna funktion tar in data på vilken CAN-nod kommunikation ska ske, samt ECU- och klient-id. Funktionen skickar ut till och från det ID som valts. Om positivt svar fås enligt så returnerar funktionen positivt svar och session är initirad. GENERIC_OBDII_CAN_SendEntireStream(CAN_NodecanNode, const far ubyte *data, uword length)
CAN ett kommunikationsprotokoll för realtidssystem MOP 12/13 1
CAN ett kommunikationsprotokoll för realtidssystem 1 Seriekomunikation- Datanät- Topologi Buss Ring Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Stjärna Masknät 2 Seriekomunikation-
Swema 05. Bruksanvisning vers 1.01 MB20130530
Swema 05 Bruksanvisning vers 1.01 MB20130530 SWEMA AB Pepparv. 27 SE-123 56 FARSTA Tel: +46 8 94 00 90 Fax: +46 8 93 44 93 E-mail: swema@swema.se Hemsida: www.swema.se Innehållsförteckning: 1. Introduktion...
BSR Diagnostic tool Communcation over CAN and K-line bus
School of Mathematics and Systems Engineering Reports from MSI - Rapporter från MSI BSR Diagnostic tool Communcation over CAN and K-line bus Vladimir Jukic Thom Wikingsson Aug 2008 MSI Report 08088 Växjö
Styrteknik: Binära tal, talsystem och koder D3:1
Styrteknik: Binära tal, talsystem och koder D3:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik :Binära tal, talsystem och koder
Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.
Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning
WBD Web Based Diagnostics Identifying parameters on the CAN-bus
School of Mathematics and Systems Engineering Reports from MSI - Rapporter från MSI WBD Web Based Diagnostics Identifying parameters on the CAN-bus Philip Albertson Oct 2007 MSI Report 07144 Växjö University
Swema 03. Bruksanvisning vers 1.01 MB
Swema 03 Bruksanvisning vers 1.01 MB20130530 SWEMA AB Pepparv. 27 SE-123 56 FARSTA Tel: +46 8 94 00 90 Fax: +46 8 93 44 93 E-mail: swema@swema.se Hemsida: www.swema.se Innehållsförteckning: 1. Introduktion...
VERKTYG FÖR BILKOMMUNIKATION VIDA ALL-IN-ONE
VIDA ALL-IN-ONE INNEHÅLL 1 OM VERKTYG FÖR BILKOMMUNIKATION... 3 1.1 DiCE... 3 1.2 J2534... 3 1.3 VCT2000... 3 1.4 Volvo System Tester (VST)... 3 2 DICE... 4 2.1 Support... 4 2.2 Komponenter... 4 2.3 Produktöversikt...
Antares Användning och installation
Antares Användning och installation Sidan 1 av 13 Innehåll 1. Introduktion...... 2. Antares programvara installation...... 3. Antares programvara uppdatering...... 4. Data Linker anslutning... 5. Funktioner...
HF0010. Introduktionskurs i datateknik 1,5 hp
HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se
Kihl & Andersson: , 4.5 Stallings: , , (7.3)
Kihl & Andersson: 4.1-4.3, 4.5 Stallings: 6.1-6.5, 7.1-7.2, (7.3) (eller digital signal) Om en sändare bara skickar en bitström över länken skulle mottagaren ha väldigt svårt för att tolka datan. Det krävs
Introduktion till integrering av Schenkers e-tjänster. Version 2.0
Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen
Sirius II Installation och Bruksanvisning
Sirius II Installation och Bruksanvisning Innehåll 1. Introduktion... 2. Installation av Sirius II programvara... 3. Anslutning Data Linker interface.... 4. Sirius II funktioner.... 5. Bruksanvisning....
Tentamen PC-teknik 5 p
Tentamen PC-teknik 5 p Namn:. Klass:... Program: Di2, Em3, Et3 Datum: 03-08-15 Tid: 13:30-18:30 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C
Cache coherence hos multicoreprocessorer
Cache coherence hos multicoreprocessorer Benjamin Holmqvist, EDT621 December 5, 2016 1 Contents 1 Inledning 3 2 Syfte 3 3 Cache Coherence 3 3.1 Implementering.......................... 4 3.2 Snoop baserade..........................
Datorbaserad mätteknik
Datorbaserad mätteknik Distribuerade mät- och kontrollsystem I 1:32 Mätbuss för instrumentering - GPIB (IEE-488) Skapades av Hewlett-Packard vid sent 60-tal HP-IB (Hewlett-Packard Interface Bus) Kom att
Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik
Digitalteknik 3p, vt 01 Struktur: Elektroteknik A Kurslitteratur: "A First Course in Digital Systems Design - An Integrated Approach" Antal föreläsningar: 11 (2h) Antal laborationer: 4 (4h) Examinationsform:
Läs anvisningarna noga, och följ dem!
LUNDS TEKNISKA HÖGSKOLA Institutionen för elektro- och informationsteknik EITA55 Kommunikationssystem 2018-10-29 14:00-19:00 version 2018-10-29 Anvisningar Svara kortfattat och tydligt på varje fråga.
DATALINK-NÄTVERK. Hårdvarubyggklossar
2.1 DATALINK-NÄTVERK Fysisk koppling av värdar Hårdvarubyggklossar Ett nätverk uppbyggs av noder och länkar Noder: CPU Cache nätverks adaptor Minne I/O buss Nätverks adaptorn överför data mellan nätets
Länkhantering (feldetektering, felhantering, flödeskontroll) Maria Kihl
Länkhantering (feldetektering, felhantering, flödeskontroll) Maria Kihl Läsanvisningar Kihl & Andersson: 4.1-4.3, 4.5 Stallings: 6.1-6.5, 7.1-7.2, (7.3) 2 Repetition (eller digital signal) 3 Att skicka
Instruktioner för uppdatering av enheter med ISP
För AP produkter som använder ISP måste flashuppdateringen göras med hjälp av den medföljande MPC Manager. För att utföra en firmware uppdatering, följ dessa instruktioner: 1. Ladda ner och installera
Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document
Programutvecklingsprojekt 2003-04-24 Projektgrupp Elvin Detailed Design Document Björn Engdahl Fredrik Dahlström Mats Eriksson Staffan Friberg Thomas Glod Tom Eriksson engdahl@kth.se fd@kth.se d94-mae@nada.kth.se
Autocom Fordonsdiagnostik
Autocom Fordonsdiagnostik En komplett diagnostiklösning. CDP+ är ett snabbt och tillförlitligt diagnosverktyg som fungerar som en länk mellan fordon och dator. Det fungerar med såväl äldre som nyare fordon.
CanCom Bluetooth BLUETOOTH V5.6. Specifikation Specification LED. transceiver
CanCom Bluetooth transceiver BLUETOOTH V5.6 Specifikation Specification Matningsspänning Power supply 10-30 VDC Spänningsrippel Voltage ripple
Programmering av. PADDY mini
multimedia Programmering av PADDY mini art. nr: CCS037 PRODUKTER SOM ANVÄNDS I DETTA EXEMPEL: PADDY mini CCS037 PADDY mini CCS012 PADDY mini CCS500 VSCOM USB TILL SERIELL DB9 LAPTOP MED WINDOWS 7 QUICKPAD
The Intelligent Timer
The Intelligent Timer Linnea Karell och Oscar Bagge, I10 Handledare: Bertil Lindvall 2013-05-20 Abstract The objective of this project was to build a prototype of a digital timer. The product design specification
Aktivitetsschemaläggning för flerkärninga processorer
Lunds Tekniska Högskola Datorarkitekturer med Operativsystem EDT621 Aktivitetsschemaläggning för flerkärninga processorer Tobias Lilja 5 december 2016 Innehåll 1 Inledning 3 1.1 Syfte................................
Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit
Vad är en UART? Beteckningen UART är en förkortning för det engelska uttrycket Universal Asynchronous Receiver Transmitter, vilket översatt till svenska blir ungefär Universell Asynkron Mottagare/Sändare.
Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder. Jens A Andersson
Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder Jens A Andersson Digitalisering av ljud Omvandling av ljud till binär data sker i tre steg: 1) Sampling 2) Kvantisering 3) Kodning Detta
Användarguide: Pagero Web Portal Skapa och skicka fakturor till Volvo Car SE
Användarguide: Pagero Web Portal Skapa och skicka fakturor till Volvo Car SE Registrera er för er Pagero Free Web Portal till Volvo Car För att effektivisera hanteringen av leverantörsfakturor har Volvo
Grundläggande datavetenskap, 4p
Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1 Innehåll CPU ALU Kontrollenhet Register
MESI i Intel Core 2 Duo
MESI i Intel Core 2 Duo Sammanfattning Denna rapport beskriver en processor (Intel Core 2 Duo) vars cache coherence protokoll är MESI. Rapporten beskriver hur processorn är uppbyggd, hur många kärnor den
Inledande programmering med C# (1DV402) Tärningarna ska kastas
Tärningarna ska kastas Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll
SVAR TILL TENTAMEN I DATORSYSTEM, VT2013
Rahim Rahmani (rahim@dsv.su.se) Division of ACT Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Tentamensdatum: 2013-03-21 Tentamen består av totalt
BICT:01 BICT. sv-se. Användarinstruktion Gäller från BICT 2.24. Utgåva 5. Scania CV AB 2015, Sweden
BICT:01 Utgåva 5 sv-se BICT Användarinstruktion Gäller från BICT 2.24 339 837 Scania CV AB 2015, Sweden Introduktion 3 Om BICT 3 Inställningar 4 Översikt 5 Beskrivning av termer 6 Grafiska symboler i programmet
Beijer Electronics AB 2000, MA00336A, 2000-12
Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this
Filleveranser till VINN och KRITA
Datum Sida 2017-04-25 1 (10) Mottagare: Uppgiftslämnare till VINN och KRITA Filleveranser till VINN och KRITA Sammanfattning I detta dokument beskrivs översiktligt Vinn/Kritas lösning för filleveranser
PROGES PLUS THERMOSCAN RF. Instruktionsmanual V. 061115
ThermoScan RF användarinstruktioner 1 PROGES PLUS THERMOSCAN RF Instruktionsmanual V. 061115 Viktigt! Den här manualen innehåller ett antal lösenord som endast är avsedda för administratörerna. Glöm inte
TETRIS. LTH, Campus Helsingborg EITA15 Digitala System
TETRIS LTH, Campus Helsingborg EITA15 Digitala System Handledare: Bertil Lindvall Författare: Isak Shamun, Viktor Kulle, Mark Slipac och Dennis Järnåsen Datum: 2019-05-09 Abstract This report concerns
Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler
Exempeluppgift i Logikstyrning Inledning Idén med detta papper är att ge en allmän beskrivning av labbutrustningen och tips för hur man kan lösa olika praktiska problem i samband med laborationen. Läs
Kapitel 3 o 4. Tillförlitlig dataöverföring. (Maria Kihl)
Kapitel 3 o 4 Att skicka signaler på en länk Tillförlitlig dataöverföring Jens A Andersson (Maria Kihl) Att sända information mellan datorer 11001000101 värd värd Två datorer som skall kommunicera. Datorer
DIG IN TO Nätverksteknologier
DIG IN TO Nätverksteknologier CCNA 1 Nätverksskikt Agenda Host-till-host kommunikation IPv4 protokoll förbindelselös IPv4 protokoll otillförlitlig leverans IPv4 protokoll media oberoende Styrinformation
MAC-(sub)lagret. Nätlagret. Datalänklagret. Fysiska lagret LLC MAC. LLC = Logical Link Control-sublager MAC = Media Access Control-sublager
MAC-(sub)lagret Datalänklagret är uppdelat i två sublager, LLC (Logical Link Control) och MAC (Media Access Control). MAC-sublagret har till uppgift att hantera anslutningen mot valt nät och LLC döljer
F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!
F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Roger Henriksson Von Neumann-arkitekturen Gemensamt minne för programinstruktioner och data. Sekventiell exekvering av instruktionerna.
Ladda upp filer fra n PLC till PC
Supportdokument Ladda upp filer fra n PLC till PC Synpunkter, felaktigheter, önskemål etc. för dokumentet meddelas Fil: Malthe_Suppo_Ladda upp filer från.docx Innehållsförteckning 1. Allmänt... 2 2. Installation
PUBLICERINGSNOTISER TRIMBLE ACCESS SOFTWARE. Version 2013.31 Revidering A Oktober 2013
PUBLICERINGSNOTISER TRIMBLE ACCESS SOFTWARE 1 Version 2013.31 Revidering A Oktober 2013 Juridisk Information Trimble Navigation Limited Engineering Construction Group 935 Stewart Drive Sunnyvale, Kalifornien
Lösningar till tentan i ETS052 Datorkommunikation 131022
Lösningar till tentan i ETS052 Datorkommunikation 131022 1. a. Det finns olika typer av störningar. De som finns beskrivna i boken är dämpning, distortion, och brus. Välj en av dessa och ge en kortfattad
KomSys Hela kursen på en föreläsning ;-) Jens A Andersson
KomSys Hela kursen på en föreläsning ;-) Jens A Andersson Detta är vårt huvudproblem! 11001000101 värd Två datorer som skall kommunicera. värd Datorer förstår endast digital information, dvs ettor och
Typ Beskrivning Kraftmatning
ergoflex Webserver: SAS0120 är en Linux-baserad webbserver avsedd för distansövervakning av Modbusenheter ex. ergoflex eller EQJW värmeregulatorer eller andra Modbusenheter som kopplats i system. SAS0120
AirPatrol WiFi Version 2 Fullständig Manual. for ios V4.2
AirPatrol WiFi Version 2 Fullständig Manual for ios V4.2 Index 3 - Vad gör AirPatrol WiFi? 4 - Lampor och knappar 5 - WiFi-nätverk. 6 - Installation av AirPatrol WiFi 7 - Steg för Snabb Inställning 8 -
Introduktion - LAN Design och switching concepts Basic Switch Concepts and Configuration Frågor? Referenser. Nätverksteknik 2
DT113G - Nätverksteknik 2, 7,5 hp Nätverksteknik 2 Lennart Franked email:lennart.franked@miun.se Tel:060-148683 Informationsteknologi och medier / Informations- och Kommunikationssystem (ITM/IKS) Mittuniversitetet
Handbok Dela Skrivbord. Brad Hards Översättare: Stefan Asserhäll
Brad Hards Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Protokollet Remote Frame Buffer 6 3 Använda Dela Skrivbord 7 3.1 Dela Skrivbords huvudfönster............................... 7 3.1.1
Dokumentation för funktionsblocksbibliotek MwaCOMLI
Dokumentation för funktionsblocksbibliotek MwaCOMLI 1. Allmänt... 2 1.1. Versionshistoria... 2 1.2. Implementerade Telegram... 3 1.3. Adressering Flaggor... 4 1.4. Registervärden... 5 2. Fboxar... 6 2.1.
Tillförlitlig dataöverföring. Jens A Andersson
Kapitel 4: Tillförlitlig dataöverföring Kapitel 5:Lokala nät Jens A Andersson (Maria Kihl) Repetition Protokoll: Överens om vilket språk vi pratat Paket: Dela upp datamängden i småbitar Tillförlitlig dataöverföring
DEEP SEA ELECTRONICS PLC DSE7410 MKII Snabbstartguide
DEEP SEA ELECTRONICS PLC DSE7410 MKII Snabbstartguide 057-263 ISSUE: 1 DSE7410 MKII & DSE7420 MKII Operator Manual Section TABLE OF CONTENTS Page 1 BESKRIVNING AV PANELEN... 3 1.1 PANELENS KNAPPAR... 5
3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost.
Routingprocessen Vid kommunikation mellan datorer måste de känna till var och hur de skall skicka paketen, om de datorer som ska kommunicera ligger på samma IP-nät är det ju inget problem. Men är det så
Certifikattjänsten - testbädd. Anläggningsprojekt för ett nationellt inkomstregister
Certifikattjänsten - testbädd Anläggningsprojekt för ett nationellt inkomstregister 2 (9) INNEHÅLL 1 Inledning... 3 2 Testmaterial... 3 2.1 Parametrar som används i testbäddens tjänster... 3 2.2 Testbäddens
Läsminne Read Only Memory ROM
Läsminne Read Only Memory ROM Ett läsminne har addressingångar och datautgångar Med m addresslinjer kan man accessa 2 m olika minnesadresser På varje address finns det ett dataord på n bitar Oftast har
GPS-Link version 1.7 Användarhandledning Kort & Matrikelstyrelsen och Chips Development Team
GPS-Link version 1.7 Användarhandledning Kort & Matrikelstyrelsen och Chips Development Team 14 november 2006 All support av GPS-Link hänvisas via e-mail till dlssupport@sjofartsverket.se Vad är GPS-Link?
BSR Prestandaverktyg Prestandamätning via diagnosuttag över CAN BSR Performance tool Performance measure through diagnostic socket over CAN
School of Mathematics and Systems Engineering Reports from MSI - Rapporter från MSI BSR Prestandaverktyg Prestandamätning via diagnosuttag över CAN BSR Performance tool Performance measure through diagnostic
Din manual CANON LBP-3300 http://sv.yourpdfguides.com/dref/536449
Du kan läsa rekommendationerna i instruktionsboken, den tekniska specifikationen eller installationsanvisningarna för CANON LBP-3300. Du hittar svar på alla dina frågor i CANON LBP-3300 instruktionsbok
Användarmanual - OVK. Användarmanual OVK Version 1.5 Daterad: 2014-09-09
1 Användarmanual - OVK 2 Inloggning... 3 Allmänt... 4 Öppna protokoll... 6 Fylla i protokoll... 7 Skriva ut protokoll... 16 Returnera protokoll... 17 Uppföljning anmärkningar/åtgärder... 17 3 Inloggning
Parrot UNIKA. Quick start guide
Parrot UNIKA Quick start guide Parrot UNIKA Installationsscheman... Installation... Parrot MKi Mode A... Mode B... Mode C... Mode D... Parrot ASTEROID Mode A... Mode B... Mode C... Mode D... Mode E...
KALIBRERINGS MENY. För att komma tillbaka till Mätfunktionerna håll inne M -knappen 3s. eller vänta 1 min. 1 =MOD. 9.6 KBaud
1 (6) FUNKTION HDH-C kalibrerings/konfigureringsverktyg behövs för drifttagning av HDH-M transmittrarna. Med HDH-C kan följande utföras: - Modbus inställningar - Regulator parametrar - Mät kalibrering
DIG IN TO Administration av nätverk- och serverutrustning
DIG IN TO Administration av nätverk- och serverutrustning CCNA 1 1.- CISCO 2.- Router 3.- IOS 4.- Grundkonfigurationer 5.- Routing - Ethernet 6.- Dynamisk routing 7.- Distansvektor routingprotokoll Agenda
WAGO IO System Service Seminar. Diagnostik
WAGO IO System Service Seminar Diagnostik 1 Dioder på Controller Link 1/2 Ethernet Länk status Av - ingen ethernet anslutning grön - Ethernet anslutning blinkande grön - Ethernet anslutning skickar / tar
SGH-A400 WAP Browser Användarhandbok
* Vissa innehåll i denna handbok kan skilja sig från din telefon beroende på mjukvaran som installerats eller din operatör. SGH-A400 WAP Browser Användarhandbok ELECTRONICS Behöver du hjälp eller har frågor,
Tentamen PC-teknik 5 p Lösningar och kommentarer
Tentamen PC-teknik 5 p Lösningar och kommentarer Program: Di2, Em3, Et3 Datum: 04-08-10 Tid: 13:30-18:30 Lokal E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific
FIRSTCLASS. Innehåll:
FIRSTCLASS Innehåll: Hämta klient...2 Installera klient...2 Konfigurera klient...2 Koppla upp...3 Skrivbordet...3 Mailbox...3 Presentation...3 Skapa ett nytt meddelande...4 Söka mottagare för nytt meddelande...4
Pulsmätare med varningsindikatorer
Pulsmätare med varningsindikatorer Elektro- och informationsteknik Projektrapport, EITF11 Digitala Projekt Charlie Hedhav Sofia Johansson Louise Olsson 2016-05-17 Abstract During the course Digitala Projekt
Wöhler CDL 210 CO2-logger
Wöhler CDL 210 CO2-logger Allmänt Wöhler CDL 210 CO 2 mäter koldioxidhalten, luftfuktigheten och temperaturen. CDL kan logga och överföra mätdata online till PC. PC:n kan visa de loggade värdena som värden
Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE
SVENSK STANDARD SS-ISO/IEC 26300:2008 Fastställd/Approved: 2008-06-17 Publicerad/Published: 2008-08-04 Utgåva/Edition: 1 Språk/Language: engelska/english ICS: 35.240.30 Information technology Open Document
Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,
Snake Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola, 2015-05-18 Oskar Petersen, I-12 Handledare: Bertil Lindvall Abstract Denna rapport beskriver ett projekt där ett klassiskt
PNSPO! Adressering i Omrons PLC. 14 mars 2012 OMRON Corporation
PNSPO! 14 mars 2012 OMRON Corporation 2/19 Läs detta innan du bläddrar vidare PNSPO! Denna bok är avsedd som ett tillägg till de ursprungliga manualerna för OMRONs produkter. Använd den som en hjälp att
Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018
. Vad är en dator? Introduktion till datorer och nätverk Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 Översikt 2/23 Datorns historia von Neumann-arkitekturen Operativsystem Datornät
F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen
68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder
WebViewer Manual för administratör. 2013 Nova Software AB
WebViewer Manual för administratör 2 Manual WebViewer Innehållsförteckning Innehållsförteckning... 2 1 Introduktion... 3 2 Inställningar... 4 2.1 Uppdatera licensinformation... 4 2.2 Inmatning av användaruppgifter...
ALEPH ver. 16 Introduktion
Fujitsu, Westmansgatan 47, 582 16 Linköping INNEHÅLLSFÖRTECKNING 1. SKRIVBORDET... 1 2. FLYTTA RUNT M.M.... 2 3. LOGGA IN... 3 4. VAL AV DATABAS... 4 5. STORLEK PÅ RUTORNA... 5 6. NAVIGATIONSRUTA NAVIGATIONSTRÄD...
Innehållsförteckning. Sidan 2 (24)
Innehållsförteckning 1. Ansvarig i föreningen.. 2 1.1 Internetadress... 3 1.2 Inloggning och glömt lösenord... 3 1.3 Låst lösenord... 5 1.4 Huvudmeny i Aktivitetsstöd... 7 2. Administration 8 2.1 Föreningens
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod
Klassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
WEB KLIENT användarmanual
WEB KLIENT användarmanual sida 1 av 11 Innehåll ANVÄNDARMANUAL... 3 LOGGA IN PÅ BOOMERANG... 4 SKAPA RAPPORTER... 8 HANTERA AVVIKELSER... 9 SUPPORT, FÖRSÄLJNING OCH INSTALLATION ETC.... 11 sida 2 av 11
Instruktioner för uppdatering från Ethiris 5.x till 6.0
Instruktioner för uppdatering från Ethiris 5.x till 6.0 Nedan följer instruktioner för hur man går till väga vid uppdatering av ett Ethirissystem version 5 till version 6. När man uppdaterar Ethiris från
Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)
Datorsystem 2 CPU Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur CPU Visning av Akka (för de som är intresserade) En dators arkitektur På en lägre nivå kan vi ha lite olika
Telia Connect för Windows
Telia Connect för Windows Version 3.0 Användarguide Updaterad: 3 juli 2007 Innehåll Ansluta till Internet...3 Information som presenteras av Telia Connect...4 Konfiguration av Telia Connect...7 Fliken
DEPARTMENT OF INFORMATION TECHNOLOGY. Digitala Projekt. Redovisning av Projekt - Grupp 14
DEPARTMENT OF INFORMATION TECHNOLOGY Digitala Projekt Redovisning av Projekt - Grupp 14 Carl Hoffstedt (c03cho@student.lth.se) & Gustaf Lund (d02gl@student.lth.se) 5/19/2007 How can you construct an embedded
1 Kravspecifikation Snake App
Kravspecifikation Snake App - Kravspecifikation Snake App Utskriven/PDF Export: 2011-09-07 Copyright 2011 Sidan 1 av 7 1 Kravspecifikation Snake App 1.1 Vad är Snake App? Vi skall gör ett Snake Spel för
TEKNISK NOTIS TN AT006
TEKNISK NOTIS INDEX DATE AMENDMENTS BY CHECK BY 00 27/12/05 CREATION C. VIAL E. CHABANEIX 01 01/12/06 TRANSLATION TO SWEDISH P-U S 02 Säkerhets information: De instruktioner som föreslås i denna tekniska
Instruktioner för uppdatering från Ethiris 4.10 till 5.x
Instruktioner för uppdatering från Ethiris 4.10 till 5.x Nedan följer instruktioner för hur man går till väga vid uppdatering av ett Ethirissystem version 4 till version 5. När man uppdaterar Ethiris från
Det finns en handledning till kortet på hemsidan. AVR STK500.
Laboration 1 (ver 1) Uppgifter: AVR Studio 4.lnk Bli bekant med utvecklingskortet, och AVR studio. Skriva in program för binärräknare. Simulera detta samt ladda ner det till kortet. Förse ovanstående program
LABORATION. Datorteknik Y
LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.03 Februari 2019 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering
Grundläggande datavetenskap, 4p
Grundläggande datavetenskap, 4p Kapitel 4 Nätverk och Internet Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-23 IT och medier 1 Innehåll Nätverk Benämningar Topologier Sammankoppling
Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...
Abstract Syftet var att konstruera en väder station som håller koll på temperaturen. Huvudfunktionen var att få en grafisk visning av temperaturen över ett visst tidsintervall eftersom vi valde den grafiska
Manual Sportident Onlinekontroll via GPRS
Manual Sportident Onlinekontroll via GPRS 2010-08-22 Komponenter För att använda onlinekontroll över GPRS behövs tre delar: GPRS modul (GPRS-modem med samlingsbox och batterier). PC-mjukvara BBRClient
Användarhandbok. Trio Visit Web. Trio Enterprise 4.1
Användarhandbok Trio Visit Web Trio Enterprise 4.1 COPYRIGHT NOTICE: No part of this document may be reproduced, distributed, stored in a retrieval system or translated into any language, including but
Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:
Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60 Superscalar vs VLIW Cornelia Kloth IDA2 Inlämningsdatum: 2018-12-05 Abstract Rapporten handlar om två tekniker inom multiple issue processorer
Talsystem Teori. Vad är talsystem? Av Johan Johansson
Talsystem Teori Av Johan Johansson Vad är talsystem? Talsystem är det sätt som vi använder oss av när vi läser, räknar och skriver ner tal. Exempelvis hade romarna ett talsystem som var baserat på de romerska