Creating A CANOE Configuration.: Technical
Creating A CANOE Configuration.: Technical
Technical search
[https://3.bp.blogspot.com/-vq-
yv16DFK0/WHdteRdgijI/AAAAAAAADcg/moaGm_arKL88ipgn6g_066rws74YS6S2wCLcB/s1600/1.jp
g]
[https://3.bp.blogspot.com/-
qww3N3J_v04/WHdtz5GarwI/AAAAAAAADck/kTSY5-TcQAYU-
y6SxKmynyj6XUzskwdZgCEw/s1600/1.jpg]
http://raviprashanthsn-technical.blogspot.com/ 1/19
3/22/2019 Technical
Technical search
[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]
[https://4.bp.blogspot.com/-
qYjxBvhzIy8/WHdvbRa67-I/AAAAAAAADc8/bIvxbUTLnXYgE-
futr5HdUgyuZ4DErMMgCLcB/s1600/1.jpg]
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]
[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
[https://1.bp.blogspot.com/-
Aviq6QCve0w/WHd1KUPg4BI/AAAAAAAADdg/qkXeCrxTbe8WeNM1XDf73oKWyOyktTCIwCLcB/s1
600/1.jpg]
[https://2.bp.blogspot.com/-
FkQIt0kqgcY/WHd1cMKc5AI/AAAAAAAADdk/vS7w8TUu4NkHcTVj4O2GNf44mubaSrp6gCLcB/s160
0/1.jpg]
[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]
è 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]
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.
[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.
1 View comments
http://raviprashanthsn-technical.blogspot.com/ 6/19
3/22/2019 Technical
Technical
8th October 2013 KWP2000 - Basic Information.
search
[http://1.bp.blogspot.com/-U9uVpggRwMM/UlQD9iLGPDI/AAAAAAAAADU/LKeuyxb6-
n8/s1600/KWP_MessageFormat.png]
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.
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
Fast Initialization
[http://1.bp.blogspot.com/-
-5BC89BuXoA/UlQIoGkX4LI/AAAAAAAAADw/akVbF_umY28/s1600/KWP_FastInit.png]
http://raviprashanthsn-technical.blogspot.com/ 8/19
3/22/2019 Technical
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
What is KERS?
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.
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
http://raviprashanthsn-technical.blogspot.com/ 9/19
3/22/2019 Technical
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.
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.
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
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.
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.
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
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
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
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
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.
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.
0 Add a comment
[http://4.bp.blogspot.com/-
n2fXbrJfyAc/UlKNT4KAUoI/AAAAAAAAAC0/yUb70EhfHFA/s1600/SingleFrame.JPG]
http://raviprashanthsn-technical.blogspot.com/ 15/19
3/22/2019 Technical
Technical search
[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
http://raviprashanthsn-technical.blogspot.com/ 16/19
3/22/2019 Technical
http://raviprashanthsn-technical.blogspot.com/ 17/19
3/22/2019 Technical
2 View comments
Technical search
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.
1 View comments
http://raviprashanthsn-technical.blogspot.com/ 18/19
3/22/2019 Technical
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.
ð 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.
0 Add a comment
http://raviprashanthsn-technical.blogspot.com/ 19/19