automated validation of diagnostics in ecus...u let’s look at a ‘simple’ service, such as...

22
V1.1 | 2019-03-13 CANoe.DiVa Diagnostic Integration and Validation Assistant Automated validation of diagnostics in ECUs

Upload: others

Post on 26-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

V1.1 | 2019-03-13

CANoe.DiVa Diagnostic Integration and Validation Assistant

Automated validation of diagnostics in ECUs

Page 2: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

u Introduction

CANoe.DiVa for Automated Diagnostics Validation

Summary

Agenda

2/22

Page 3: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five context sensitive “bad cases”:

Source: ISO 14229-1:2013

u But consider, e.g. NRC 0x13, this is sent if the request is too long, too short or if too many DIDs are requested!> NRC 0x31 may also be provoked by a number of cases

u So, if we only check that we receive a positive response to a request, how much of the total diagnostic functions do we cover?

Why Might We Want to Automate Validation?

Introduction

3/22

Page 4: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

The Mission

Introduction

CANoe.DiVa

data driven diagnostic tests

test generation

reproducible

automated

broad and detailed

test run

documented

4/22

Page 5: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

CANoe.DiVa

Introduction

ECU Specification

ECUSystem under

Test

CDD

Test Module

CANoeXML/CAPL

CANoe.DiVaCANdelaStudio

DiagnosticAuthoring Tool

ODX

Configurator

Generator

RuntimeLibrary

ReportAnalyzer

Test Report

CANoeHTML/

XML

CANoeTest Feature Set

5/22

Page 6: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Where might we want to insert faults?

Introduction

Bus access:Communication

Transport protocol (CAN):ISO network layer, parameters, timings, Flow Controls,…

CANoe/CANalyzer

Diagnostic „communication“: Timings, message format, request/ response dependencies

CANoe.DiVa

Diagnostic „exchange“: Supported services and sub-functions, data content, state dependencies,...

CAN LIN FlexRay DoIP K-Line

6/22

Page 7: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Protocols to consider during fault insertion

Introduction

u ISO 14229 Unified Diagnostic Services (UDS): 2006/2013

u ISO 15765 Diagnostics on CAN

u ISO 14230 Keyword Protocol 2000 (KWP)

u ISO 15031/J1979 On Board Diagnostics (OBD)

u ISO 27145 World-wide harmonized OBD (WWH-OBD)

u GMW3110 (including GM Node Verification Procedures)

u Various manufacturer specific test extensions (e.g. for Daimler, GM, VW, FCA, …)

7/22

Page 8: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Automated Tests – Scalability of Automation

Introduction

Diagnostic Console CAPL Browser vTESTStudio CANoe.DiVa

test creation

test execution

n/a editing CAPL tool supported generated

interactive automated automated automated

8/22

Page 9: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Introduction

u CANoe.DiVa for Automated Diagnostics Validation

Summary

Agenda

9/22

Page 10: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Overview

CANoe.DiVa for Automated Diagnostics Validation

u Automated generation of a CANoe test based on a diagnostic specification

u User interface to configure tests

u Generation of a test specification

u Clear and detailed report of test results

u Support of test report analysis

u Requirement traceability

u Extensible test functionality

10/22

Page 11: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Protocol Testing

CANoe.DiVa for Automated Diagnostics Validation

u Diagnostic Message Flow

u Physical, functional addressing and timing

u Diagnostic Protocol Format

u Valid, Combined and Invalid Requests

u Response (single, none, multiple)

u Data Type Checks

u Sessions and Security Levels

u Service execution in the different sessions and security levels

u Session and security state transitions

DiVa ECU

11/22

Page 12: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Application Testing: Diagnostic Parameter

CANoe.DiVa for Automated Diagnostics Validation

u Passive parameter validation against

u Diagnostic values (e.g. read/write)

u Configured data ranges

u Expectation values

u CCP/XCP values

u CANoe System Variables

u Active control of I/Os to validate diagnostic parameter content

u CAN messages using CANoe rest bus simulation

u HW I/Os via VT System channels

u Any I/O using CANoe system variables

12/22

Page 13: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Application Testing: Fault Memory

CANoe.DiVa for Automated Diagnostics Validation

u Provoke network signal failures

u Communication timeouts

u Data consistency failures

u Provoke hardware failures using the VT System:

u Short-circuits (Ground, UBatt, Pins)

u I/O failures (interruption, resistance, voltage)

u Individual error settings

u Any other failures using user scripts

simul.node 2

realnode 1

simul.node 3

13/22

Page 14: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Application Testing

CANoe.DiVa for Automated Diagnostics Validation

CANoe ILECU

System under Test

txMsgTemp

Temp.Sensor

Read

(19,22)

IO

Control

(2F)

control

measure

control

check

CANoe.DiVa

VT System

14/22

Page 15: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Software Download Test

CANoe.DiVa for Automated Diagnostics Validation

Supported Download Tests*

u Valid Flashing

u Overvoltage and under voltage tests

u Cancel data transfer (stop transmission or clamp reset)> Check that valid flashing is possible afterwards

u Flash process-related testing:

u Security Access: Do no Security Access during flash sequence

u Security Access: Send an invalid Key during flash sequence

u Erase Memory: Do not send Erase Memory Routine during flash sequence

u Erase Memory: Cancel after Erase Memory

u Erase Memory: Cancel erasing after X milliseconds

u TransferData: Increment one bit of data during flash sequence (CRC check must fail)

u TransferData: Increment one bit of data during flash sequence (Signature check must fail)

u Fingerprint: Do not send the specified Fingerprint

u Additional flash tests available for selected OEM extensions

* With Vector vFlash

15/22

Page 16: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

User Interface

CANoe.DiVa for Automated Diagnostics Validation

16/22

Page 17: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Test Reporting

CANoe.DiVa for Automated Diagnostics Validation

17/22

Page 18: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Test Result Analysis

CANoe.DiVa for Automated Diagnostics Validation

u Compare test runs

u Different Views on the test report

u Result (Pass/Fail)

u Service

u ECU State

u Issue Classification/Comment

u Requirements

u Identify error situations by combining Views

u Comment and classify test results

u Get one-page summary reports

u Forward and archive a complete test report or an excerpt

18/22

Page 19: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Requirements Tracking

CANoe.DiVa for Automated Diagnostics Validation

u Link CANoe.DiVatests with test- or specification requirements (automatically and manually)

u Documentation of requirements within test cases/results via prose, document references or links (e.g. DOORS, html)

u Requirement View for test analysis: In which tests is a requirement verified?

u Requirement Overview to document the verification result

19/22

Page 20: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

Introduction

CANoe.DiVa for Automated Diagnostics Validation

u Summary

Agenda

20/22

Page 21: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

u Significant savings of time and effort

u Further quality improvement of the ECU Software

u All development stages supported

u Excellent test coverage

u Efficient, generation-based approach

u Automated tests without user interaction

u User-defined tests allow tailoring

u Widely used by OEMs and suppliers already with a proven record of success

u Continuously enhanced features through implementation of customers’ requirements

Benefits

Summary

21/22

Page 22: Automated validation of diagnostics in ECUs...u Let’s look at a ‘simple’ service, such as “ReadDataByIdentifier”, this has one “good case”, and (at first glance) five

© 2019. Vector GB Limited. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V1.1 | 2019-03-13

Author:Iain CunninghamVector UK

For more information about Vectorand our products please visit

www.vector.com