Unlike fullpassing, where an ECU is completely replaced by the prototyping system, function bypassing is used to develop parts of the ECU software, such as single control functions, from scratch or modify them. These parts run either on a prototyping system that is synchronized with an existing ECU (external bypassing) or directly on the ECU itself (on-target bypassing). dSPACE offers a wide range of hardware and software products that make it easy to establish real-time connections between ECUs and dSPACE systems. dSPACE products support a number of ECU interfaces needed to execute different bypass scenarios.
An external function bypassing scenario with dSPACE tools.
To use external and on-target function bypassing, you first have to edit the existing ECU code. With service-based bypassing as supported by dSPACE, you can prepare virtually any number of functions in the ECU code for bypassing by integrating service calls, also known as bypass hooks. You can use these service calls for a number of tasks in the MATLAB®/Simulink® modeling environment; for example, for the synchronous measurement and calibration of ECU variables and parameters, for ECU flash programming, function bypassing, function-in-the-loop testing, and also to log ECU-internal data. The dSPACE ECU Interface Manager with the Binary Code Management Module helps you prepare the ECU code for bypassing. An easy-to-use tool with an intuitive, graphical view of the code structure of an ECU, it provides a convenient and flexible way to implement bypass services directly and automatically in the binary code of the ECU. The ECU supplier no longer has to modify the source code and route it through the entire production development process and tooling again. This approach saves time and cuts costs while increasing flexibility. You can also integrate bypass services into the ECU source code manually. dSPACE provides its generically designed bypass services and service calls as C sources, so they can be compiled and linked with the existing ECU code. Using dSPACE ConfigurationDesk, you can conveniently develop new model-based bypass functions in Simulink.
External function bypassing is an efficient way to develop new control functions and optimize existing controller strategies. ‘External’ means that a dedicated rapid control prototyping (RCP) system is connected to an ECU. The RCP system executes a new control function f(x)’ synchronously to the original code running on the target ECU. RCP systems have almost no resource constraints with regard to available RAM, ROM (flash) as well as processor performance, and they also provide additional I/O channels. Therefore, even complex Simulink models can be executed as external bypass functions. Correct real-time behavior is ensured by specific synchronization mechanisms of the ECU interface.
An external bypassing scenario with dSPACE tools.
When you perform vehicle-in-the-loop simulation, where an ECU is tested in a real vehicle but in a (partly) virtual environment, e.g., using virtual traffic or camera object lists, the same method allows you to simulate the environment on a dSPACE real-time system and feed this environment into the ECU in real time (external environment bypassing).
You can also connect multiple ECUs to an RCP system. For example, you can use bypassing to inject values into one ECU, modify the controller algorithm on another ECU, and capture internal variables of a third ECU, all at the same time. Again, the synchronization mechanisms of the ECU interfaces ensure the correct real-time behavior of the entire setup. The number of ECUs that can be bypassed in parallel is limited only by the available data processing resources on the RCP system.
dSPACE supports numerous interfaces for connecting the prototyping system to the ECU. If the ECU has standard CAN, CAN FD, or Ethernet interfaces, direct access via the XCP protocol without further hardware is possible. If such bus interfaces are not available for bypassing and stronger real-time performance with a high bandwidth is required, you can use the Generic Serial Interface (DCI-GSI2), which is connected to the ECU’s on-chip debug interface, such as NEXUS or DAP. If using such an interface is not possible either, dSPACE also supports ECU-specific plug-on devices (PODs).
If an ECU provides all relevant I/O interfaces and has sufficient free resources, new functions can also be developed directly on the ECU. This reduces development costs because you do not need additional hardware or a wiring harness. The new functions are executed directly on the target hardware, thereby avoiding communication latencies to external development hardware. This means that new functions can be integrated into very fast control loops. The code generator dSPACE TargetLink allows for a seamless transition to series production and makes more efficient use of the limited ECU resources. It also lets you determine the additional resource consumption on the ECU early in the development process. Lastly, using the certified TargetLink code generator with an ECU that was already cleared for production can improve overall operational safety in the prototyping phase, e.g., during fleet tests.
Making efficient use of the limited EC resources: An on-target bypassing scenario with dSPACE tools.