Actuators

Main Relay

Accessories Relay

Starter Relay

Immobilizer

Throttle Valve

Fuel Pump

Fuel Pressure Regulator

Fuel Injectors

Ignition Coil / Spark Plug

Glow Plugs

Fan

Secondary Air Injectors

EGR actuator


Sensors

 

 Accelerator Pedal Position Sensor

  • This can be a Potentiometer or a non-contacting Hall sensor as angular-position sensor.
  • This sensor calculates the movement and the position of the accelerator pedal.
  • From this information, the engine management calculates the required torque and accordingly addresses the throttle device and the injection system.
  • Normally comes along with accelerator-pedal module (APM).

 

Brake Position Sensor

- Digital Switches - Half press & Full press

 

Brake Vacuum Pressure Sensor

 

Clutch Position Sensor

- Digital Switches / Analog Sensors

 

Gear Position Sensor

  • This can be a Potentiometer or a Hall sensor as angular-position sensor for gearbox.
  •   Gear position is used by ECU for different control operations, like starter motor engagement with Neutral gear, torque limitation for each gear for gearbox protection, tuning drivability filters in software etc.

Battery Sensors

- SOC / SOH / SOF

 

Starter Engagement Sensor 

 

Ambient Pressure & Temperature sensor 

 

Manifold Air Pressure & Temperature sensor

  • Measures the absolute pressure & temperature in the intake manifold.
  • Enables the air mass to be precisely calculated.

 

Hot-Film Air Mass (HFM) Sensor

 

Throttle Position Sensor

  • Used to calculate the angle of rotation of the throttle valve and the rate of change.
  • Used for controlling engine idle speed.

 

Engine Temperature Sensors

There are 3 different types of engine temperature sensors, used based on the type of cooling used for engine and mounting of sensor.
  • Oil Temperature Sensor (used in Oil-Cooled Engines) 
  • Coolant Temperature Sensor (used in Liquid-Cooled Engines) 
  • Cylinder Head Temperature Sensor (used in Air-Cooled Engines)

 

Engine Speed Sensor

 

Fuel Level Sensor

 

Water in Fuel Sensor

 

Differential Pressure Sensor

 

Knock Sensor

  • These are basically vibration sensors and are suitable for detecting structure-borne acoustic oscillations. 
  • Knock occurs in engine when uncontrolled ignition takes place.
  • These are converted into electrical signals by the sensor and inputted to the ECU. 
  • As a rule, 4 cylinder in-line engines are equipped with one knock sensor; 5 and 6 cylinder engines, with two; and 8 and 12 cylinder engines have two or more. They are switched in accordance with the ignition sequence.
Location of Knock Sensor

 

Exhaust Gas Temperature Sensor

1. PreOxyCat
2. DPF

Lambda (Oxygen) Sensor

  • Detects the amount of oxygen in the exhaust gas and sends it to the engine control unit (ECU).
  • ECU adjusts the air fuel mixture to the optimal level. 
  • Too much oxygen in the exhaust gas indicates a lean mixture, which can cause performance problems, including misfires. 
  • Too little oxygen indicates a rich mixture, which wastes fuel and results in excess exhaust emissions.

 

EGR Position Sensor

 

Cabin Temperature Sensor

Used for Climate Control System - For maintaining the required temperature in the cabin of the vehicle.

Cruise Control

Engine Start-Stop System

Engine Start-Stop functionality is basically turning-off the engine when the vehicle is not moving for a certain pre-defined duration (ex situations - while waiting in the road signals, or during traffic jam situations) to save the fuel.



Vehicle will be started automatically by pressing clutch or accelerator pedal, without the need for cranking again.

Passenger safety and comfort are considered before going to engine auto-stop or auto-start of the engine.

Auto-Stop of the Engine

Auto-Stop of the engine will be initiated if all of the below conditions are satisfied.

  • Acceleration pedal is not being pressed.
  • Vehicle speed is lesser than threshold.
  • Clutch is not pressed.
  • Gear is in Neutral.
  • Brake is pressed (non-MT)

Auto-Stop Release Conditions
Once the auto-stop request has been detected, following are the conditions to allow the stop to happen.
If any one of the below conditions are not satisfied, auto-stop will be inhibited.
  • Gear should not be in Reverse.
  • No fault in Gearbox start-stop request signal.
  • SOC, SOH, SOF and battery temperature are within the calibrated thresholds, which are determined by IBS.
  • AC switch is ON and cabin temperature is less than threshold.
  • Coolant temperature is less than threshold.
  • Brake booster pressure is greater than threshold.
  • Engine speed is lesser than threshold.
  • Minimum waiting time for engine stop after the engine was started last.
  • Minimum velocity the vehicle should reach for the engine stop, after the engine was started last.
  • Minimum engine speed the vehicle should reach for the engine stop after the engine was started last.
  • If slow movement of vehicle is detected, then it is considered as traffic jam situation, and auto-stop will be inhibited.
  • If panic braking is detected, then auto-stop of the vehicle will be disabled. (Panic braking is detected based on the time for the vehicle to come to halt from the current speed. If the vehicle comes to halt before the remaining brake duration timer reaches zero, then it is considered as panic braking)

Auto-Start of the Engine

Engine will start automatically if any of the below conditions are satisfied.

Driver requests
  • If accelerator pedal is pressed more than the calibrated threshold
  • If clutch is pressed 10% and there is no fault in the 10% clutch signal Or Clutch is pressed 90% (In MT)
  • If Brake pedal is active (In AT/CVT)

System requests
  • If AC switch is ON and cabin is becoming hotter/cooler than set temperature.
  • If coolant temperature is greater than threshold.
  • Re-check whether engine stop is passed status.
  • Certain time is elapsed after engine is stopped successfully.If SOC, SOH, SOF and battery temperature fall outside the calibrated thresholds, which are determined by Intelligent Battery Sensor(IBS)
  • If the brake booster pressure falls OR if there is any error in the brake booster pressure sensor
  • Vehicle is moving and speed is more than calibrated threshold.

Driver presence is determined based on Cranking input, Accelerator pedal, clutch and brake inputs.

Auto-Start Release Conditions
Once the auto-start request has been detected, following are the conditions to allow the start to happen.
If any one of the below conditions are not satisfied, auto-start will be inhibited.

Driver releases
  • Gear should be in Neutral position.
  • Clutch should be pressed 90% - to ensure the drivetrain open.

System Releases
  • Driver presence is detected.
  • Driver door is closed.
  • Driver seat belt is closed.
  • Hood is closed.
  • If SOC, SOH, SOF and battery temperature are within the calibrated thresholds, which are determined by IBS
  • Start enable from thermal systems.
  • Start enable from CoEng
  • Brake pedal should be pressed during start in non-MT vehicles.
  • If first engine auto-start is successful.
  • If number of engine start aborts are greater than the calibrated count




RTOS



RTOS Question:

What is RTOS?
Real-Time Operating System is a multitasking operating system intended for real-time applications. It is used on every device/system needing real time operations that means operations based not only on correctness but also upon the time (clock cycles) in which they are performed.
In general, an operating system (OS) is responsible for managing the hardware resources of a computer and hosting applications that run on the computer. An RTOS performs these tasks, but is also specially designed to run applications with very precise timing and a high degree of reliability. This can be especially important in measurement and automation systems where downtime is costly or a program delay could cause a safety hazard. To be considered “real-time”, an operating system must have a known maximum time for each of the critical operations that it performs (or at least be able to guarantee that maximum most of the time). Some of these operations include OS calls and interrupt handling. Operating systems that can absolutely guarantee a maximum time for these operations are commonly referred to as “hard real-time”, while operating systems that can only guarantee a maximum most of the time are referred to as “soft real-time”.
Example: Imagine that you are designing an airbag system for a new model of car. In this case, a small error in timing (causing the airbag to deploy too early or too late) could be catastrophic and cause injury. Therefore, a hard real-time system is needed; you need assurance as the system designer that no single operation will exceed certain timing constraints. On the other hand, if you were to design a mobile phone that received streaming video, it may be ok to lose a small amount of data occasionally even though on average it is important to keep up with the video stream. For this application, a soft real-time operating system may suffice. An RTOS can guarantee that a program will run with very consistent timing. Real-time operating systems do this by providing programmers with a high degree of control over how tasks are prioritized, and typically also allow checking to make sure that important deadlines are met.
 How Real-Time OSs Differ from General-Purpose OSs?
Operating systems such as Microsoft Windows and Mac OS can provide an excellent platform for developing and running your non-critical measurement and control applications. However, these operating systems are designed for different use cases than real-time operating systems, and are not the ideal platform for running applications that require precise timing or extended up-time. This section will identify some of the major under-the-hood differences between both types of operating systems, and explain what you can expect when programming a real-time application. 
Interrupt Latency
Interrupt latency is measured as the amount of time between when a device generates an interrupt and when that device is serviced. While general-purpose operating systems may take a variable amount of time to respond to a given interrupt, real-time operating systems must guarantee that all interrupts will be serviced within a certain maximum amount of time. In other words, the interrupt latency of real-time operating systems must be bounded
 Unanswered Interview Questions :(If you know comment as reply)
What is the use of Passive error node?
Error Passive receivers can no longer interrupt the data transfer as a recessive Error Flag does not influence the bus levels. An Error Passive transmitter can still interrupt its own message by sending a passive Error Flag. Attention, if one Receiver is in error passive mode no data consistency is guaranteed any more.
How to find the bug in code using debugger if pointer is  pointing to a  illegal value?
If two CAN messages with same ID sending at a same time, different data which can node will gain arbitration? How to test it?
Is it possible to declare struct and union one inside other? Explain with example
  1. Spi and I2C difference.?
  2. What is UDS advantages?
  3. What is cross compiler
  4. Unit/integration/all testings.
  5. Regression testing.
  6. Test case types.
  7. Malloc calloc
  8. Function pointers Advantage where it is used?
How many can database files are required for CAN Network simulation in CANoe tool.
what is the difference between CANalyzer,CANoe and CANape tools?
Mention the few uses of the CANoe tool?
what is a panel is CANoe Tool and its Use?
Why CAPL scripting is used in CANoe tool?
Is it possible to simulate other ECU’s Except Test ECU without CAPL Scripting in CANoe tool?
what is purpose of CCP protocol which is also used in CANape tool?
Embedded Development Documents:




RTOS

1. What is a Real-Time System?

2. Does the RTOS give you a flexible set of scheduling policies?

3. Does the RTOS use the dynamic object’s address as its identifier?

4. Are interrupts handled with a macro/function or do you have to write your own prologue (entry) and epilogue (exit)?

5. How does the RTOS synchronize with events? Do your event synchronization objects automatically clear with a task release or can events be missed? Can multiple tasks wait on a single event? Can a single task wait on multiple events?

6. Does the RTOS allow you to count both periodic or aperiodic ticks?

7. Can the RTOS count ticks other than time?

8. Are Timers/Alarms globally available so that they can be used by multiple tasks or are they tied to a single task? Does the RTOS allow you to define future actions to be taken when any counter reaches a predefined value?

9. Does the RTOS manage RAM with a heap that can create non-deterministic response and fragmentation?

10.Does the RTOS provide multiple data passing options?

11. Does the RTOS allow data to be passed between tasks and ISRs (or just between tasks)?

12. How does the RTOS provide exclusive access to resources? Does it use binary semaphores or mutexes?

13. Does the RTOS have a mechanism to prevent priority inversion—when a low priority task has control of a resource that is required by a higher priority task?

14. How the RTOS is coded. Is it designed for deterministic operation? Does it ensure low system overhead? Low latency? Responsive services?

15. Write a code to connect Hardware interrupt to ISR?

16. What is priority inversion ? and What is the solution ?

17. Explain Priority Inheritance

18. Explain various types of Scheduling

19. Which RTOS supports Non-Preemptive scheduling ? Why other scheduling methods are supported by such Oses?

20. RTOS vs OS

21. what is a non re-entrant code?

22. Is unix a multitasking or multiprocessing operating system? whats the difference between the two?

23. What is stack overflow and heap overflow?

24. What is a core dump?

25. Windows also has multiple processes has process priotities switches between multiple process, how RTOS is different from that?

26. what is paging, segmentation Why do we need it?

27. write a code to check wther a stack grows upwards or downwards?

28. Why do we require semaphore mutex?

29. write a small piece of code protecting a shared memory variable with a semaphore?


What is RTOS?
Real-Time Operating System is a multitasking operating system intended for real-time applications. It is used on every device/system needing real time operations that means operations based not only on correctness but also upon the time (clock cycles) in which they are performed.
In general, an operating system (OS) is responsible for managing the hardware resources of a computer and hosting applications that run on the computer. An RTOS performs these tasks, but is also specially designed to run applications with very precise timing and a high degree of reliability. This can be especially important in measurement and automation systems where downtime is costly or a program delay could cause a safety hazard. To be considered “real-time”, an operating system must have a known maximum time for each of the critical operations that it performs (or at least be able to guarantee that maximum most of the time). Some of these operations include OS calls and interrupt handling. Operating systems that can absolutely guarantee a maximum time for these operations are commonly referred to as “hard real-time”, while operating systems that can only guarantee a maximum most of the time are referred to as “soft real-time”.
Example: Imagine that you are designing an airbag system for a new model of car. In this case, a small error in timing (causing the airbag to deploy too early or too late) could be catastrophic and cause injury. Therefore, a hard real-time system is needed; you need assurance as the system designer that no single operation will exceed certain timing constraints. On the other hand, if you were to design a mobile phone that received streaming video, it may be ok to lose a small amount of data occasionally even though on average it is important to keep up with the video stream. For this application, a soft real-time operating system may suffice. An RTOS can guarantee that a program will run with very consistent timing. Real-time operating systems do this by providing programmers with a high degree of control over how tasks are prioritized, and typically also allow checking to make sure that important deadlines are met.
 How Real-Time OSs Differ from General-Purpose OSs?
Operating systems such as Microsoft Windows and Mac OS can provide an excellent platform for developing and running your non-critical measurement and control applications. However, these operating systems are designed for different use cases than real-time operating systems, and are not the ideal platform for running applications that require precise timing or extended up-time. This section will identify some of the major under-the-hood differences between both types of operating systems, and explain what you can expect when programming a real-time application. 
Interrupt Latency
Interrupt latency is measured as the amount of time between when a device generates an interrupt and when that device is serviced. While general-purpose operating systems may take a variable amount of time to respond to a given interrupt, real-time operating systems must guarantee that all interrupts will be serviced within a certain maximum amount of time. In other words, the interrupt latency of real-time operating systems must be bounded
 Unanswered Interview Questions :(If you know comment as reply)
What is the use of Passive error node?
Error Passive receivers can no longer interrupt the data transfer as a recessive Error Flag does not influence the bus levels. An Error Passive transmitter can still interrupt its own message by sending a passive Error Flag. Attention, if one Receiver is in error passive mode no data consistency is guaranteed any more.
How to find the bug in code using debugger if pointer is  pointing to a  illegal value?
If two CAN messages with same ID sending at a same time, different data which can node will gain arbitration? How to test it?
Is it possible to declare struct and union one inside other? Explain with example
  1. Spi and I2C difference.?
  2. What is UDS advantages?
  3. What is cross compiler
  4. Unit/integration/all testings.
  5. Regression testing.
  6. Test case types.
  7. Malloc calloc
  8. Function pointers Advantage where it is used?

CAN Tools / HIL



CANoe Tool Questions:

01. What is difference the between IG and G block in CANalyzer/CANoe tool?

Answer:  There are two limitations to the Generator block that limit its effectiveness in complex tasks. The block is misleading for some people because it requires multiple windows for setting up the transmit message list. The second problem is the block settings have to be set before the CANalyzer measurement starts. No changes can be made if the measurement is running.
Fortunately, CANalyzer has another transmission block that eliminates both practical limitations: the Interactive Generator block (IG). The IG block combines the configuration windows of the Generator block into one window; therefore, everything can be setup in one spot. In addition, changes can be made with the IG.
Without CAPL,can we simulate the other ECU’s CAN Messages except Test ECU in the CAN Simulation Network in CANoe tool without using IG or G blocks.

02. How to change the baud rate in CANoe without changing the code?

The bit rate may be changed by either changing the oscillator frequency, which is usually
restricted by the processor requirements, or by specifying the length of the bit segments in “time quantum” and the prescaler value.
In Canoe tool, we can change the bus timing register 0 & 1 values for correcting the baud rate.
In Autosar, we can use post build configuration for CAN baudrate values.

03. What is environment variable?

Environment variables are data objects global to the CANoe environment and are used to link the functions of a CANoe panel to CAPL programs. 

04. What is HIL and SIL testing?

Answer: Hardware-in-the-loop (HIL) simulation is a technique that is used in the development and test of complex real-time embedded systems. HIL simulation provides an effective platform by adding the complexity of the plant under control to the test platform. The complexity of the plant under control is included in test and development by adding a mathematical representation of all related dynamic systems. These mathematical representations are referred to as the “plant simulation”. The embedded system to be tested interacts with this plant simulation.
Hardware-In-the-Loop System is an effective platform for developing and testing complex real-time embedded systems. HIL system provides the complexity of the plant under control using mathematical representation, called “plant simulation”, of all related dynamic systems. It also includes electrical emulation of sensors and actuators which act as the interface between the plant simulation and the embedded system under test.
  Advantages of HIL System
  • Provides Cost Savings by Shortened Development time
  • Complete, consistent test coverage.
  • Supports automated testing
  • Enables testing the hardware without building a “plant prototype”
  • Simulator performs test outside the normal range of operation
  • Supports reproducible test runs that can assist in uncovering and tracking down hard to find problems.
  • Enables testing with less risk of destroying the system
  SIL: SIL refers to the kind of testing done to validate the behavior of the C-code used in the controller.  That code can be auto-generated from the model used in algorithm development.  Emmeskay has a deep understanding of SIL testing and auto-code generation from the many SIL projects we have performed for our customers.
 Testing and Validation
  • Plant model developed in vehicle simulation environment is imported to Simulink as a library.
  • Controller is tested in loop with the plant for different routes and speed profiles.
  • Controller is tested for different fault modes of the system using GUI VisualConnex

RTOS Question:

What is RTOS?
Real-Time Operating System is a multitasking operating system intended for real-time applications. It is used on every device/system needing real time operations that means operations based not only on correctness but also upon the time (clock cycles) in which they are performed.
In general, an operating system (OS) is responsible for managing the hardware resources of a computer and hosting applications that run on the computer. An RTOS performs these tasks, but is also specially designed to run applications with very precise timing and a high degree of reliability. This can be especially important in measurement and automation systems where downtime is costly or a program delay could cause a safety hazard. To be considered “real-time”, an operating system must have a known maximum time for each of the critical operations that it performs (or at least be able to guarantee that maximum most of the time). Some of these operations include OS calls and interrupt handling. Operating systems that can absolutely guarantee a maximum time for these operations are commonly referred to as “hard real-time”, while operating systems that can only guarantee a maximum most of the time are referred to as “soft real-time”.
Example: Imagine that you are designing an airbag system for a new model of car. In this case, a small error in timing (causing the airbag to deploy too early or too late) could be catastrophic and cause injury. Therefore, a hard real-time system is needed; you need assurance as the system designer that no single operation will exceed certain timing constraints. On the other hand, if you were to design a mobile phone that received streaming video, it may be ok to lose a small amount of data occasionally even though on average it is important to keep up with the video stream. For this application, a soft real-time operating system may suffice. An RTOS can guarantee that a program will run with very consistent timing. Real-time operating systems do this by providing programmers with a high degree of control over how tasks are prioritized, and typically also allow checking to make sure that important deadlines are met.
 How Real-Time OSs Differ from General-Purpose OSs?
Operating systems such as Microsoft Windows and Mac OS can provide an excellent platform for developing and running your non-critical measurement and control applications. However, these operating systems are designed for different use cases than real-time operating systems, and are not the ideal platform for running applications that require precise timing or extended up-time. This section will identify some of the major under-the-hood differences between both types of operating systems, and explain what you can expect when programming a real-time application. 
Interrupt Latency
Interrupt latency is measured as the amount of time between when a device generates an interrupt and when that device is serviced. While general-purpose operating systems may take a variable amount of time to respond to a given interrupt, real-time operating systems must guarantee that all interrupts will be serviced within a certain maximum amount of time. In other words, the interrupt latency of real-time operating systems must be bounded
 Unanswered Interview Questions :(If you know comment as reply)
What is the use of Passive error node?
Error Passive receivers can no longer interrupt the data transfer as a recessive Error Flag does not influence the bus levels. An Error Passive transmitter can still interrupt its own message by sending a passive Error Flag. Attention, if one Receiver is in error passive mode no data consistency is guaranteed any more.
How to find the bug in code using debugger if pointer is  pointing to a  illegal value?
If two CAN messages with same ID sending at a same time, different data which can node will gain arbitration? How to test it?
Is it possible to declare struct and union one inside other? Explain with example
  1. Spi and I2C difference.?
  2. What is UDS advantages?
  3. What is cross compiler
  4. Unit/integration/all testings.
  5. Regression testing.
  6. Test case types.
  7. Malloc calloc
  8. Function pointers Advantage where it is used?
How many can database files are required for CAN Network simulation in CANoe tool.
what is the difference between CANalyzer,CANoe and CANape tools?
Mention the few uses of the CANoe tool?
what is a panel is CANoe Tool and its Use?
Why CAPL scripting is used in CANoe tool?
Is it possible to simulate other ECU’s Except Test ECU without CAPL Scripting in CANoe tool?