0% found this document useful (0 votes)
209 views19 pages

Creating A CANOE Configuration.: Technical

This document provides instructions for creating a configuration in CANoe software. It discusses choosing a configuration template, setting network parameters like baudrate, adding measurement traces to monitor CAN messages, setting up simulation with nodes and channels, adding a database (.dbc) file, and setting up an interactive generator block to transmit and receive CAN messages. The overview is provided in less than 3 sentences.

Uploaded by

krishna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
209 views19 pages

Creating A CANOE Configuration.: Technical

This document provides instructions for creating a configuration in CANoe software. It discusses choosing a configuration template, setting network parameters like baudrate, adding measurement traces to monitor CAN messages, setting up simulation with nodes and channels, adding a database (.dbc) file, and setting up an interactive generator block to transmit and receive CAN messages. The overview is provided in less than 3 sentences.

Uploaded by

krishna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

3/22/2019 Technical

Technical search

Classic Flipcard Magazine Mosaic Sidebar Snapshot Timeslide

12th January 2017 CANoe Configuration.

Creating a CANOE configuration.


1. Choosing the Configuration Template
è Click on CANoe Application.
è Go to File -> New Configuration, then choose appropriate configuration template for specific
application usage. To start with choose “Default”

[https://3.bp.blogspot.com/-vq-
yv16DFK0/WHdteRdgijI/AAAAAAAADcg/moaGm_arKL88ipgn6g_066rws74YS6S2wCLcB/s1600/1.jp
g]

2. Choosing the options for enabling Number of Channels required for


communication

è Go to Configuration -> Options


è Choose the number of CAN channels required accordingly

[https://3.bp.blogspot.com/-
qww3N3J_v04/WHdtz5GarwI/AAAAAAAADck/kTSY5-TcQAYU-
y6SxKmynyj6XUzskwdZgCEw/s1600/1.jpg]

Traverse through other options required and enable/disable accordingly.

3. Setting up the Network parameters


è Go to Menu “Configuration” -> Network Hardware configuration
è Update the Baudrate used in the option given.

Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 1/19
3/22/2019 Technical

Technical search

Classic Flipcard Magazine Mosaic Sidebar Snapshot Timeslide

[https://2.bp.blogspot.com/-9XZ7Rb5KBhc/WHduYLk5mAI/AAAAAAAADcs/IWqxCJ0EYN4iArhfgMKA
gxo-ol-m07LKwCLcB/s1600/1.jpg]

è Select the “Driver” option available at the bottom of the above window to assign the channels
assigned, This is regarding supported CAN ports and channels assigned for usage.

[https://3.bp.blogspot.com/-
F9v2D78Ylo0/WHduuXUO-7I/AAAAAAAADc0/9zW-gHmvySsKGoZE1zG-CMA-
C16WIP4NACLcB/s1600/1.jpg]

4. Setting up the Measurements


è Measurements menu is used enable the traces and get the logs for analysis of transmission
and reception messages.
è Go to View -> Measurement Setup

[https://4.bp.blogspot.com/-
qYjxBvhzIy8/WHdvbRa67-I/AAAAAAAADc8/bIvxbUTLnXYgE-
futr5HdUgyuZ4DErMMgCLcB/s1600/1.jpg]

Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 2/19
3/22/2019 Technical

Technical
è For adding new traces, Right click on “Trace” option, Select “Insert Trace Window” ->CAN
search
settings, (Other options to be selected accordingly as per the requirement)
è Change the Name accordingly(right click and change the name on new “Trace” window
Classic Flipcard Magazine
generated) Mosaic
for example Sidebar Snapshot Timeslide
“CAN1”

[https://1.bp.blogspot.com/-
oCdd9WVhlmU/WHdzn-
YVH0I/AAAAAAAADdM/jVr0ad3yVZ8d3GB0QC61xywCtpq5wYKoACLcB/s1600/1.jpg]

è Filter can be added to the trace “CAN1” by right click on box besides, See the diagram below

[https://4.bp.blogspot.com/-
JMAUPeMLqfc/WHd0BYUMw7I/AAAAAAAADdQ/1pGfaJC-
BxMdfsgbTYLD3B2aj9xCsYIngCLcB/s1600/1.jpg]

è Select Channel Filter for choosing CAN1 or CAN2 message monitoring

[https://3.bp.blogspot.com/-
eg1ewArdCO0/WHd05CyDIxI/AAAAAAAADdc/69cSJJtuptkO4zsWB-E0F6JZQPpL-
9BJwCLcB/s1600/1.jpg]
Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 3/19
3/22/2019 Technical

Technical
è Select Event Filter for choosing specific CAN message to be filtered. search

Classic Flipcard Magazine Mosaic Sidebar Snapshot Timeslide

[https://1.bp.blogspot.com/-
Aviq6QCve0w/WHd1KUPg4BI/AAAAAAAADdg/qkXeCrxTbe8WeNM1XDf73oKWyOyktTCIwCLcB/s1
600/1.jpg]

5. Setting up the Simulation


è Simulation Setup is for creating simulation from the tester/client part.

[https://2.bp.blogspot.com/-
FkQIt0kqgcY/WHd1cMKc5AI/AAAAAAAADdk/vS7w8TUu4NkHcTVj4O2GNf44mubaSrp6gCLcB/s160
0/1.jpg]

è It contains different items


[https://www.blogger.com/blogger.g?blogID=2312882402298831494]
to be configured – Node to be added, Channel assignment, Database creation, Interactive
generator inclusion.

[https://4.bp.blogspot.com/-
ISnMtdFU5DQ/WHd1xwvasVI/AAAAAAAADds/g0epIll5xcsPM6bQ180BvD0XEQzZA9yHQCLcB/s160
0/1.jpg]

5.1
[https://www.blogger.com/blogger.g?blogID=2312882402298831494] Adding Database
[https://www.blogger.com/blogger.g?blogID=2312882402298831494]to the configuration
[https://www.blogger.com/blogger.g?blogID=2312882402298831494]
Setting up the
[https://www.blogger.com/blogger.g?blogID=2312882402298831494]
Interactive
[https://www.blogger.com/blogger.g?blogID=2312882402298831494] Generator Block
Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 4/19
3/22/2019 Technical

Technical[https://www.blogger.com/blogger.g?blogID=2312882402298831494]
è Database
search (*.dbc) file
contains the
[https://www.blogger.com/blogger.g?blogID=2312882402298831494]information about the
Classic Flipcard Magazine Mosaic Sidebar Snapshot Timeslide message and Signal
[https://www.blogger.com/blogger.g?blogID=2312882402298831494]information from
different ECUs. It
[https://www.blogger.com/blogger.g?blogID=2312882402298831494]contains the
information about the
[https://www.blogger.com/blogger.g?blogID=2312882402298831494]Transmit/Receive
[https://www.blogger.com/blogger.g?blogID=2312882402298831494]message and each signal
associated with the
[https://www.blogger.com/blogger.g?blogID=2312882402298831494]Message. Database
provided by customer
[https://www.blogger.com/blogger.g?blogID=2312882402298831494]and can be created
for internal Automation (CAPL) usage also.
è To add a database to the configuration, go to View->Simulation Setup , Right Click on
Databases option to select and add the .dbc(database) file.

[https://1.bp.blogspot.com/-
hr0V8pws8MA/WHd2L_gXaRI/AAAAAAAADd0/kttHMmR4yIwilQRnlN5p7iTKzCEnufGcACLcB/s1600/
1.jpg]

5.2 Setting up the interactive Generator Block

è Interactive Generator Block is the block used to transmit/receive the data/signal in the
message to/from the end target. Message and Signal can be chosen from the database
integrated in the configuration.
è Right Click on Interactive Generator Block and press on Insert Interactive Generator Block to
create IG Block

[https://3.bp.blogspot.com/-
qUDBc8k5gGE/WHd2d-8tQRI/AAAAAAAADd8/15-
RV83SVYIj_IiteDXQmlRboavFPF4wgCLcB/s1600/1.jpg]

Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 5/19
3/22/2019 Technical

Technical search
è Click on Message Name Box to include the message from the database.

Classic Flipcard Magazine Mosaic Sidebar Snapshot Timeslide

[https://4.bp.blogspot.com/-
aeU27u54j_g/WHd2qP6W2mI/AAAAAAAADeA/_FYEFz0HZMYhRYFC4Amqdb-
2gTjrVst5gCLcB/s1600/1.jpg]

[https://www.blogger.com/blogger.g?blogID=2312882402298831494]
[https://www.blogger.com/blogger.g?blogID=2312882402298831494]
è Choose Message and Signal [https://www.blogger.com/blogger.g?blogID=2312882402298831494]
and update the value required to transmit on CAN Bus.
è Choose the Cycle Time or automatically obtained from the Database configuration.
è Use Send Now to transmit the message on press or Select option next to send to send the
message periodically mentioned in the Cycle Time section.

6. Saving the configuration


è Go to File, Choose Save Configuration as and save the project in the appropriate project
location as required.

Posted 12th January 2017 by Ravi Prashanth

1 View comments

Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 6/19
3/22/2019 Technical

Technical
8th October 2013 KWP2000 - Basic Information.
search

Classic Flipcard Magazine Mosaic Sidebar Snapshot Timeslide


KWP2000 is a Uart based data link protocol uses ISO 9141 K and L line for signal communication.
K - Line” is used for communication and initialization, “
L - Line” (optional) is used for initialization only.

KWP2000 – Message Structure


The message structure consists of three parts
1. Header
2. DataBytes
3. Checksum

[http://1.bp.blogspot.com/-U9uVpggRwMM/UlQD9iLGPDI/AAAAAAAAADU/LKeuyxb6-
n8/s1600/KWP_MessageFormat.png]

Fmt - Format byte


Tgt - Target Address
Src - Source Address
Len – Total length of the telegram
SId - Service Identification byte
CS - Check Sum - 8 bit sum services of all bytes, excluding Checksum

The format byte contains 6 bit length information and 2 bit address mode information. The client
(tester) is informed about use of the header bytes by the key bytes
2 bit address mode information:
Bit 7 Bit 6
0 0 no address information
0 1 Exception mode -CARB
1 0 physical addressing
1 1 functional addressing

Target address byte : This is the target address for the message and is always used together with the
source address byte.
Source address byte : This is the address of the transmitting device.
Length byte :This byte is provided if the length in the header byte (L0 to L5) is set to 0. It allows
the user to transmit messages with data fields longer than 63 bytes. With shorter messages it may be
omitted.

Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 7/19
3/22/2019 Technical

Data Bytes : The data field may contain up to 63 or up to 255 bytes of information, depending on
Technical
the use of length information. The first byte of the data field is the Service Identification
search Byte.
Checksum Byte : The checksum byte (CS) inserted at the end of the message block is defined as the
simple 8-bit sum series of all bytes in the message
Classic Flipcard Magazine : Addressing
Physical Addressing Mosaic Sidebar Snapshot
used to initialize SingleTimeslide
server/ECU’s.
Functional Addressing : Addressing used to initialize many servers/ECU’s

KWP2000 – Initialization
5 Baud Initialization

[http://2.bp.blogspot.com/-
oWS7xeYLtOE/UlQH_nqFXcI/AAAAAAAAADo/2eUlm3KRO_w/s1600/KWP_5BaudInit.png]
It operates at 5 baud.
Address byte from Tester – ECU
Sync Byte = 55 from ECU – Tester
Keybyte1 and Keybyte2 from ECU – Tester
Inverse of Keybyte2 from Tester - ECU
Inverse of Addressbyte from ECU to Tester

Address byte : Target Initialization Address (1 byte). Target (Module) specific.


Sync Byte = 55 : This sync Byte is used to calculate the actual communication baudrate.
Keybyte1 and Keybyte2 from Tester – With these bytes the ECU informs the tester about the
supported header, timing and length information

Fast Initialization

[http://1.bp.blogspot.com/-
-5BC89BuXoA/UlQIoGkX4LI/AAAAAAAAADw/akVbF_umY28/s1600/KWP_FastInit.png]

It operates at 10400 Baud.


Initial state – Tidle .
Tlow for 25ms and Thigh for 25ms
Start communication request fromDynamic
Tester to ECU
Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 8/19
3/22/2019 Technical

Start communication response from ECU to Tester.


Technical
Normal Communication/Diagnostics
search

Normal Communication or Diagnostics are carried out according to the protocol defined at Network
Classic Flipcard Magazine
layer i.e. ISO - 14230 Mosaic Sidebar Snapshot Timeslide
Posted 8th October 2013 by Ravi Prashanth

2 View comments

7th October 2013 Kinetic Energy Recovery System


In today’s world, one of the major technological invention is happening in
Automotive is on conserving the energy and use it for different purposes in a best
way. In line with this, Regenerative Braking is the technology that involves
generating energy when brakes are used while vehicle is moving. KERS is one of the
applications based on this technology.

What is KERS?

KERS stands for “Kinetic Energy Recovery System”.

This is system designed to recover kinetic energy from the moving vehicle during
braking, then store that energy in a source and make it available to propel the car.

The idea behind a Kinetic Energy Recovery System is to capture the deceleration
energy that is produced or rather actually lost during braking and is converted into energy
and then release the converted power during the next acceleration period.

Currently, the KERS is used in F1 CARS

How KERS Works?

KERS can be either Mechanical (Flywheel) or Electrical (Super-Capacitors) or Hydraulic


(Pressure).

The Mechanical KER system consists of a flywheel connected by a continuously variable


transmission (CVT) to the drivetrain. Moving the CVT towards a gear ratio that would speed
the flywheel up enables it to store energy, while moving towards a ratio that would slow it
down allows it to release energy. A hydraulic clutch separates the drive if the flywheel’s revs
exceed the system’s limits.

In Electrical KER system, the electrical power generated by braking is stored for later use
through a motor situated between the engine and the transmission. Being as the time the
charge is held in storage is very short, super-capacitors designed to store a high charge for
short periods of time are used rather than heavy batteries. This is the most popular system
and the one most F1 teams including BMW Sauber will make use of. Battery usage as

Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 9/19
3/22/2019 Technical

storage device is at avoid because of electric shock and fire incidents.


Technical search

Classic Flipcard Magazine


The Hydraulic KER Mosaic Sidebar
system doesn't Snapshot
differ too much Timeslide
from the mechanical one, only it uses a
pressurized hydraulic fluid to carry the kinetic energy obtained after braking into an
accumulator and then back into the car's drive train. However, such a system has the main
disadvantage of using larger and bigger (therefore heavier) hydraulic accumulators, making
it unsuitable for an F1 car.

What are the Regulations placed currently on the use of KERS?

As of now, the regulations permit the systems to impart a maximum of 60kw (approximately
80bhp), while the storage capacity is limited to 400 kilojoules. That is 80bhp is available for
anything up to 6.67s per laps, which can be released either all in one go, or at different
points around the circuit. This depends on the strategy of the team and is in driver’s control.
Lap time benefits range from approximately 0.1 to 0.4s.

How the stored energy is released by the driver?

The regulations stipulate that the release must be completely under the driver’s control.
There is a boost button on the steering wheel which can be pressed by the driver to release
the stored Energy.

What are the aims of KERS?

Below are the aims for the KERS introduction.


Firstly to promote the development of environmentally friendly and road car-relevant
technologies in Formula One racing;
Secondly to aid overtaking. A chasing driver can use his boost button to help him pass
the car in front, while the leading driver can use his boost button to escape. In line with the
regulations, there are limits on the device’s use and therefore tactics - when and where to
use the KERS energy - come into play

Notes : All the contents mentioned here is based on the facts and information
colleted from the Internet and public domain.
Posted 7th October 2013 by Ravi Prashanth

0 Add a comment

7th October 2013 Intelligent Transportation System


Synergy of new information technology with communication networks, real
time applications and simulations to address issues related to Traffic congestion,
fuel consumption, Pollution, accident rate is one of the technological advancement
materializing in Automotive Industry. This collaboration of Intelligence systems
which aims at safer, better, coordinated and smarter transportation is termed to be
Intelligent Transportation System.
Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 10/19
3/22/2019 Technical

Technical
Intelligent Transportation System (ITS) embrace a wide variety of communications-related
search
applications intended to increase travel safety, minimize environmental impact, and improve
traffic Management and maximize the benefits of transportation to both commercial users
Classic Flipcard Magazine
and the General Mosaic Sidebar Snapshot Timeslide
public.

ITS Technologies and trends:


Sensing technologies: Infrastructure sensors are indestructible (such as in-road
reflectors) devices that are installed or embedded in the road or surrounding the road.
Vehicle-sensing systems include deployment of infrastructure-to-vehicle and vehicle-to-
infrastructure electronic beacons for identification communications.
Wireless Communications: Short range technologies like Dedicated Short Range
Communication (DSRC), IEEE802.11, Infrared beacons, Long range technologies like GPS,
GSM, WImax and 3G or 4G.

Navigation systems: Advanced digital maps, route calculation techniques (fuel efficient
path, safe path etc.), optimum route using real time and predictive (statistical) traffic data
V2V / V2I technology: Collision avoidance, Intersection assistance, Real time traffic &
weather (avg. travel time, speed limits), Intelligent Speed Adaptation etc.
Active Safety Systems: Curvature warning, Speed alert, Night Vision, Traffic Sign
recognition, Lane Departure Warning, Driver drowsiness, Blind spot detection etc.
Transportation Pricing Systems: Electronic Toll Collection, Congestion Pricing /Electronic
Road Pricing, Vehicle-Miles Travelled Usage Fees, Variable Parking Fees.
Transportation Information Systems: Real-time Status Information for
Public Transit System (e.g. Bus, Subway, and Rail), Automatic Vehicle Location, and
Electronic Fare Payment (for ex: Smart Cards)

ITS Applications:
Intelligent Vehicle Based Applications
– Collision Avoidance: This to improve the ability of drivers to avoid accident,
Also Alerts the driver when conditions arise that could lead to a collision.
Ex: Forward collision warning, Obstacle detection systems, Road and lane departure
warning systems, Lane changing assistance, Rear impact warning system, Roll over
warning systems
– Driver Assistance: Assist the driver in operating the vehicle safely: Aid with navigation,
Drowsy driver warning systems, Object detection, and Driver communication with other
drivers or dispatch. Also enables safe driving in adverse conditions by Vision enhancement,
Speed control systems.
– Collision Notification: In an effort to improve response times and save lives, collision
notification systems have been designed to detect and report the location and severity of
incidents to agencies and services responsible for coordinating appropriate emergency
response actions.

Intelligent Infrastructure Based Applications


– Transit Management
• Public transit surveillance and communications, automated vehicle location system,
Computer-aided dispatch systems, Remote vehicle and facility surveillance cameras
– Emergency Management
• Include hazardous materials management, the deployment of emergency medical
services, and large and small-scale emergency response and evacuation operations.
– Electronic Payment and Pricing
• Communication and electronic technologies to facilitate commerce between travellers and
transportation agencies, typically for the purpose of paying tolls and transit fares
– Traveller Information
Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 11/19
3/22/2019 Technical

• Includes Internet websites, telephone hotlines, as well as television and radio, to allow
Technical
users to make more informed decisions regarding trip departures, routes,
travel.
and mode of
search

– Crash Prevention and Safety


Classic Flipcard
• DetectsMagazine Mosaic and
unsafe conditions Sidebar
provide Snapshot
warnings toTimeslide
travellers to take action to avoid
crashes. Also provides alerts for traffic approaching at dangerous curves, off ramps,
restricted overpasses, highway-rail crossings, high-volume intersections, and also provide
warnings of the presence of pedestrians, and bicyclists, and even animals on the roadway.
System employs sensors to monitor the speed and characteristics of approaching vehicles
and frequently also include environmental sensors to monitor roadway conditions and
visibility

Above mentioned and still many more technologies, applications of Intelligent


Transport system which are aiming at improving Transport Safety, Comfort and
smarter Transportation system.

Notes : All the contents mentioned here is based on the facts and information
colleted from the Internet and public domain.
Posted 7th October 2013 by Ravi Prashanth

0 Add a comment

Testing In Automotive Product


7th October 2013
Development
Testing of any product before release is as important as other main aspects like
requirement collection or software development for the product. Terms like verification,
validation is used for testing along with other levels, types of testing. To keep it is easy,
verification is verifying the software during each phase of software development to ensure
we are heading in the correct direction and validation is validating the software during and
at the end of the development phase that as a product it satisfies the requirements as a
whole.

Levels of Testing:
Based on the phase and setup for which testing is carried out, it can be categorized into
- Unit Testing
- Component Testing
- Integration Testing
- Sub/System Testing
- Vehicle Level Testing

Types of Testing:
Below listed are types of testing based on stage or need or release requirement, depth of
testing
- White Box Testing
- Black Box Testing
- Mixed Mode Testing(Grey Box Testing)
- Warning Testing(Yellow Testing)
- Smoke Testing
- Sanity Testing
- Exploratory Testing
- Regression Testing Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 12/19
3/22/2019 Technical

- Performance Testing
Technical
-
-
Load Testing
Random Testing(Monkey Testing)
search

Classic Flipcard
Levels of Magazine
Testing: Mosaic Sidebar Snapshot Timeslide
- Unit Testing – Involves testing of each source code item is tested to determine
implemented logic for the associated requirements and all the boundary conditions and
checks cases are considered. Unit tests are typically written and run by software
developers on the development tool (emulator, debugger) to ensure that code meets its
design and behaves as intended.
- Integration Testing - Involves testing of integrated modules within an ECU. The inputs
are given at input side of the module and output are verified after passing though several
modules which are integrated.
- Component/ECU Testing - Involves testing of individual ECUs in a Network/System.
Component testing involves functionality testing of an ECUs and it is more considered to be
a functional testing, where the criteria would be functionality verification rather than logic
how it is implemented.
- Sub/System Testing - Involves testing of different networks integrated. Each network
constitutes number of ECUs, and there could be several networks (Safety, infotainment...)
involved in this kind of testing. The testing is carried out mainly on system where all ECUs
for a network and different networks are integrated. The end to end functionality which is
exact simulation for vehicle level testing is carried out.
- Vehicle Level Testing - Involves testing of functionalities on actual vehicle.

Types of Testing:
- White Box Testing – Involves testing of internal working of the code that means, tester
has the access to the program that is under test. This involves testing of boundary
conditions, different path coverage, checking for different ranges.
- Black Box Testing – Involves, for the given set of inputs, outputs are tested. Here the
importance is not given the program/ECU arrives at those outputs. This type is testing can
be carried out on Module level or also on ECU level, where expected behavior
(functionality) is tested for given set of inputs.
- Mixed Mode Testing (Grey Box Testing) – Involves combination of white box and black
box testing. The testing is carried out to examine issues with code and also functionality of
the module.
- Warning Testing (Yellow Box Testing) – Involves testing of warning messages
displayed during different testing types/levels. The testing involves the message (or error or
warning) displayed or thrown during testing (or debugging) to understand the type of issue
encountered. This to make sure the message (or error or warning) displayed on
encountering some issue during testing (or debugging) should convey good amount of
information for the user.
- Smoke Testing – Involves testing of the software during the initial stages that software
does not crash. This type of testing is carried out during initial download of the software into
a hardware and make sure no major issues with the hardware circuit(shorting, burning out,
crashing)
- Sanity Testing – Involves testing of basic level of functionality for the given software.
This involves the very basic level testing to make sure the system works as expected
before going for further extended testing.
- Exploratory Testing – Involves testing based on the experience obtained on similar (or
same) kind of testing. This involves testing based on the expertise obtained (running similar
kind of test before) and with less preparation. This kind of testing involves skilled specialists
which involves creativity while running tests.
- Regression Testing – Involves testing on a specific in and around place of modified
program. The testing involves the modified program and also indirectly affected area

Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 13/19
3/22/2019 Technical

because of modification in the program. This test is run when some bug fix or new updates
Technical
-
in the program is done. search
Performance Testing – Involves testing carried out to examine the timing associated
with the program. The test examines effectiveness of a program for any response or
Classic Flipcard Magazine Mosaic Sidebar Snapshot Timeslide
communication.
- Load Testing – Involves testing to examine the system behavior/response during peak
load. This test involves testing a system or ECU above normal working conditions where
maximum resources for the ECU are enabled to perform different functionality request.
- Random Testing (Monkey Testing) – Involves testing of a system in a very random
way. This involves performing testing randomly from a whole set of tests.
Acceptance Testing (Red Box Testing) – Involves testing of a system prior to its delivery. This
involves running a set of tests on a system for final acceptance of the product.
Posted 7th October 2013 by Ravi Prashanth

0 Add a comment

Priority Based Scheduler design basic


7th October 2013
concepts
Scheduler invokes/schedules the functions based on specific time/period. This
basically aims at Synchronizing and message communication between the tasks.

Mainly two types of scheduling can be defined. One is Round robin scheduling and
the other one is priority based scheduling.

Round robin scheduling involves scheduling of tasks one by one based on first
come first service and queued there on.

Priority based scheduling involves scheduling of tasks based on the priority of the
tasks. This priority of the tasks is user defined and can be also dynamically changed based
on the specific requirements.

Priority based scheduler development concept is described as below.


ð => Controller Frequency is initialized for the selected microcontroller. This can be done
setting the appropriate registers (information obtained from the datasheet). This to be done
because for most of the other peripheral initialization, the selected frequency is one of the
inputs.
ð => Register a NMI (Non Maskable Interrupt) for every xx ms (Say 10 ms). Attach a ISR-
Interrupt Service Routine. This ISR schedules the Tasks based on the priority. Thus acting
as a Priority based scheduler.
ð => For each task, one of the parameter attached would be Priority of the task.
ð Whenever New task is newly created (can be event based or timer based), this will be
moved to table which contains tasks that are invoked and waiting for its round.
ð => On NMI ISR invocation, the check is done for higher priority task based on the parameter
defined for priority for the task. This check is done for all the tasks in the list. The lower the
number of the task, the higher the priority of the task, accordingly task with highest priority
is put on the top of the list and next with next priority and so on.
ð =>The task that is present at the top of the list will be invoked, after the completion of ISR
routine.
ð Now for the task which got invoked will have time (10 ms) to complete before NMI ISR is
called again next time. Incase the task is run and if it is completed within the 10 ms, then
Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 14/19
3/22/2019 Technical

rest of the time will be run by IDLE task. And task is still running when NMI ISR is serviced,
Technical this task will be serviced before scheduling next higher priority task. search

Same way every time the NMI ISR is invoked, the routine is run and according to the priority
Classic Flipcard Magazine
of the task, Mosaic and
the list is updated Sidebar
the top Snapshot
of list task isTimeslide
scheduled.

Posted 7th October 2013 by Ravi Prashanth

0 Add a comment

7th October 2013 Transport Protocol in CAN


Transport Protocol in CAN
Purpose for Transport Protocol: Transport Protocol (TP) is required when message to
be transmitted or received is more than 8 bytes. Normally single frame transmission
involves message transmission for 8 bytes or less than that. Otherwise in case a message
transmission/reception contains more than 8 bytes then transport protocol will be used.
Single Frame: The message that contains 8 bytes or less than 8 bytes.
First Frame: The frame that indicates first message while transmitting/receiving the
message that contains more than 8 bytes of information.
Consecutive Frame: The frame/s that indicates remaining bytes while
transmitting/receiving the message that contains more than 8 bytes of information.
Flow Control Frame: The frame that regulates or controls the flow and rate of
Consecutive frames that is communicated.

Single Frame Transmission:

[http://4.bp.blogspot.com/-
n2fXbrJfyAc/UlKNT4KAUoI/AAAAAAAAAC0/yUb70EhfHFA/s1600/SingleFrame.JPG]

Multiple Frame Transmission:

Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 15/19
3/22/2019 Technical

Technical search

Classic Flipcard Magazine Mosaic Sidebar Snapshot Timeslide

[http://4.bp.blogspot.com/-WDMYIm-
YAVM/UlKUxvAveJI/AAAAAAAAADI/VQ1ZZFKF7ao/s1600/MultipleFrame.JPG]

Protocol Control Information: The Protocol Control Information (PCI) specifies the type
of information that is being communicated. The PCI information occupies the First Nibble of
First byte in the data message. PCI for Single Frame is 0, First Frame is 1, Consecutive
Frame is 2, Flow Control is 3.
Data Length: The Data length information gives the information about number of bytes
that is being transmitted (excludes itself). The Data Length for Single Frame ranges from 1
to 7 approx. For Single Frame the Data Length information will be in 2nd Nibble of first
byte. For First Frame the Data Length information will be 2nd Nibble of First byte + Second
byte. For Consecutive frame and Flow Control frame, Data length information is not
applicable.
Sequence Number: The sequence Number gives the information about sequence while
communicating Consecutive frame. This will present only in the 2nd nibble of First byte in
Consecutive frames. Initially it always starts with 1 and once it reaches 9, then next time
onwards starts with 0.
Flow Control: Flow Control contains information about Flow Status, Block Size and
Separation Time Min. Flow Status (FS) indicates whether the sending network can proceed
with the message transmission. Block Size (BS) indicates total number of frames in the
Block(Message). Separation Time Min (STMin) specifies the minimum time gap allowed
between the transmission of consecutive frames.
Posted 7th October 2013 by Ravi Prashanth

7 View comments

Fault Code Status Bits in Automotive


7th October 2013
Diagnostics
Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 16/19
3/22/2019 Technical

Status bits in Automotive Diagnostics


Technical
Diagnostic Trouble Code: When Fault occurs in vehicle, associated ECU captures it and
search
stores it in memory as fault code. This is specific number for type of Fault and is called
Diagnostic Trouble Code. This information can be retrieved either by tools at service station
Classic Flipcard Magazine
or by in vehicle Mosaic Sidebar Snapshot Timeslide
methodologies.
Operation Cycle: Operation Cycle is the state in which ECU is operational. This is
designer specific and it can be based on specific vehicle modes also. (Ex: Running, Pre-
Running, Cranking)
Monitor Routine: Monitor Routine or Test Routine is the program which runs every
operation cycle at some periodicity. They check whether the fault is still injected or active or
not. Accordingly counter for the maturity of the fault for active and inactive will be decided.
Maturity of the fault confirms the DTC for active and inactive state.
Clearing the DTC: DTC clearing is done using the ISO command for requesting Clear
from the tester. The service ID is 14 for clearing the current DTCs(Fault code).
DTC status Bits: Each DTC will have Status byte that provides the status information of
DTC. Each bit in the status bytes has meaning and provides different information. Let’s
start with LSB
Bit0 => This Bit is “testFailed”. This bit provides the information about the fault (Error) is still
active (injected) or not. If Fault is still injected or Active, then the value is 1 otherwise the
value is 0. Ex: Fault “Short Circuit” is still active.
Bit1 => This Bit is “testFailedThisOperationCycle”. This bit indicates whether the fault is
occurred anytime during the current operation cycle. If Fault has occurred in the current
operation cycle, then the value is 1 otherwise the value is 0.
Bit2 => This Bit is “pendingDTC”. This bit indicates whether the fault is occurred anytime
during the current operation cycle. The only difference between
“testFailedThisOperationCycle” and “pendingDTC” is “testFailedThisOperationCycle” is
cleared at the end of current operation cycle (least bothering whether the fault is still active
or inactive) and “pendingDTC” is cleared only when in next operation cycle the monitor
routine is run and the result shows pass(fault is not present). So if Fault is still injected or
Active in the current operation cycle, then the value is 1 otherwise if the Fault was active in
previous operation cycle and is inactive (i.e monitor routine is run and fault is inactive) in
the current operation cycle, then the value is 0.
Bit3 => This Bit is “confirmedDTC”. This bit informs that fault is continuously active for
specific monitor routines and is matured enough in the current operation cycle so that it can
be said Confirmed. If fault is active and matured, then the value is 1 otherwise the value is
0.
Bit4 => This Bit is “testNotCompletedSinceLastClear”. This bit informs that monitor routine
is not run in the current operation cycle(once after Clearing the DTC is done). The reason
for not running in the current operation cycle can be because particular pin is inactive in the
operation cycle(Ex: Parked or hibernate vehicle mode). If the monitor routine is not
completed this operation cycle, then the value is 1 otherwise the value is 0.
Bit5 => This Bit is “testFailedSinceLastClear”. This bit informs monitor routine has reported
that test has failed (at least once Bit0 is set) in any operation cycle at least once after
clearing the DTC action is performed. If the fault has occurred after clear DTC is performed,
then the value is 1 otherwise the value is 0.
Bit6 => This Bit is “testNotCompletedThisOperationCycle”. This bit informs that the monitor
routine is still not run during this current operation cycle. This is because the pin is not
active for this operation cycle or when the request is sent from the tester, the monitor
routine is not run. If the monitor routine is not run this operation cycle, then the value is 1
otherwise the value is 0.
Bit7 => This Bit is “warningIndicatorRequested”. This bit is used to bring into the attention of the
user or driver when the fault occurs. If fault occurs and any monitor is required for specific fault,
then the value is 1 otherwise the value is 0.
Posted 7th October 2013 by Ravi Prashanth
Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 17/19
3/22/2019 Technical

2 View comments
Technical search

Classic Flipcard Magazine Mosaic Sidebar Snapshot Timeslide

7th October 2013 Gateway Devices in Automotive


Diagnostics
Gateway Devices in Automotive Diagnostics:

Gateway Device in general is used for converting the input to expected output. I.E, it
obtains/receives the input, changes the input form to required output form and
sends/transmit it.

The gateway devices are connected between Tester (Client) and ECU (Server).
PC or Laptop which is a user interface acts as a Tester. The connection between the tester
and Gateway devices normally would be Ethernet or USB or also wireless. The connector
and required stack can be bought off the shelves and integrated. The connection between
Gateway devices and ECU is specific for the ECU supported connector (Mostly J1962 OBD
Connector) i.e. CAN or K-Line or J1850.

GUI which is the User Interface can be specific for the functionality and can be either
internally developed or can be tailored with Off the Shelves market tools.

User interfaces are created in GUI for initiating the specific functionalities to be carried out
for diagnostics. For Ex: Configuration settings, Protocol Selection, Software download,
Diagnostic commands.. The commands invoked are transmitted over Ethernet or USB to
Gateway Devices.

Gateway Devices performs all the presetting’s required for establishing communication with
ECU. The specific function in gateway devices would be Protocol adaption required to
communicate with ECU. The required timing configurations for functionalities need to be
adhered in the Gateway.

Below are some specific scenarios


1. Configuration Settings: This information is for Gateway devices and will not be
communicated to ECU. The configuration setting required to setup the gateway devices
with respect to protocol, baud rate, timings which are required for communication with ECU.
2. SWDL: All required pre-settings and protocol information (as required in ECU)
would be pre-configured by specific command from Tester.
The input for download is referenced from Tester and the protocol which is defined in
Gateway device specific for ECU is used for downloading the software to the ECU.
3. Diagnostic Commands: Specific Diagnostic command request can be invoked
from GUI in Tester, which will be communicated to Gateway Devices. In gateway Devices,
the message format is established as per the standard and required protocol is used to
communicate diagnostic commands with ECU. The response from the ECU is analyzed
and accordingly forwarded to GUI for display.
Posted 7th October 2013 by Ravi Prashanth

1 View comments

Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 18/19
3/22/2019 Technical

7th October 2013 Designing a Simple Round Robin


Technical Scheduler search

Scheduler is the one which invokes/schedules the functions based on specific time/period.
Classic Flipcard Magazine
Also other Mosaic
functionalities Sidebar can
that scheduler Snapshot
manageTimeslide
is synchronization and communication
between tasks

The design and selection of the Scheduler depends on the requirement, complexity,
measurability, criticality of the activity/functionality.

Basic scheduler development concept understanding is described as below.

ð Step 1: Controller Frequency is initialized for the selected microcontroller. This can be done
setting the appropriate registers (information obtained from the datasheet). This to be done
because for most of the other peripheral initialization, the selected frequency is one of the
inputs.

ð Step 2: Initialize the Timer (Say Timer1) for the period ( 1 ms ). This to be done by setting the
specific values in the registers specific for this. (Information about the registers and values
to be obtained from the data sheet).

ð Step 3: After initializing the Timer1, call a function say OS_Schedule in while loop.

ð Step 4: As Timer1 is initialized for 1ms(Step 2), this means we have a Timer function defined
say Timer1_func gets invoked for every 1 ms. In this function Set a variable say
Timer1_Invoke to TRUE.

ð Step 5: In OS_Schedule function (Step 3), check the variable Timer1_Invoke for TRUE, if
TRUE, then create a logic with counter to invoke Sceduler_01ms_func,
Scheduler_05ms_func, Scheduler_10ms_func, Scheduler_20ms_func as per the
requirements. Now all the application functions can be placed inside the required scheduler
function so that that function will be invoked on a periodic basis.

ð Step 6: In all the Scheduler_xxms_func, the variable Timer1_Invoke is made FALSE. This is
required for measurement and invoking of scheduler functions in OS_Schedule whenever is
invoked from Timer1_func.

So above steps gives the simple creation of scheduler implementation.


This description is just an idea which can be used to create a robust scheduler for your
requirement.
Posted 7th October 2013 by Ravi Prashanth

0 Add a comment

Dynamic Views theme. Powered by Blogger.

http://raviprashanthsn-technical.blogspot.com/ 19/19

You might also like