Published: October 12, 2016
Chris Manning, HIL Applications Engineer, dSPACE Inc.
As a dSPACE applications engineer, I have worked on projects that utilize many buses, including CAN, CAN FD, J1939, LIN, FlexRay, and any number of Ethernet variations, just to name a few. Embedded control systems are getting more and more complex, so distributed networks like these help modularize the systems and reduce in-vehicle wiring. Each of these networks has its own set of pros and cons, from data redundancy, bus speed, and bandwidth to reliability and cost. As a result, a combination of the buses can be found on any vehicle platform.
Due to the critical nature of the bus system for overall vehicle electronics, it is vitally important that the bus communication is validated. Engineers commonly use the dSPACE HIL systems or the VEOS virtual validation platform to perform this validation and verification task. In setting up the simulation environment, engineers often have to configure the messages to be sent, received and tested for in the environment.
However, each of these bus networks typically comes with its own configuration tool. In the dSPACE realm, the Real-Time Interface board library for CAN (RTI CAN Blockset) and its sibling RTI CAN MultiMessage Blockset are the configuration tools for CAN. RTI LIN MultiMessage Blockset is the LIN-equivalent configuration tool. And for FlexRay, there is the dSPACE FlexRay Configuration Tool. A variety of options is also available for Ethernet configuration, depending on the exact protocol you want to use (UDP, TCP, etc.). Each one of these tools has different interfaces, and it can get confusing to keep track of all the differences.
dSPACE has recently introduced a new tool to help manage the challenge of differing bus interfaces. The dSPACE Bus Manager is a universal bus simulation configuration tool. It is designed to be a single, central tool for dSPACE systems to configure bus communication using CAN, CAN FD, and LIN. Future versions will support additional buses such as FlexRay, Ethernet etc. The Bus Manager aims to be independent of the modeling environment and to provide a common interface for multiple bus types and dSPACE simulation platforms.
I recently got the opportunity to work with the new Bus Manager. Here are some of the significant things I found that might be important to you.
One of the primary goals of the Bus Manager is to reduce the number of configuration tools required to set up your bus communication for different protocols. The same workflow is used for any bus type that you want to configure.
1. Import your communication matrices.
The Bus Manager can handle various file formats commonly used for bus communication matrices such as DBC, LDF, FIBEX, and AUTOSAR files.
2. Add elements from your communication matrices to your bus configuration.
You can drag & drop nodes, messages, or signals to a bus configuration for simulation on dSPACE platforms. All of the related parent and child elements will automatically be added as well. You can even use elements from multiple databases for the same bus configuration. You can also filter for the messages or signals that you want to see.
3. Change the settings for your bus configuration.
You can change settings, such as cycle timing of a CAN message, a LIN schedule table, model access for a signal, raw data access for a message, or any other configuration settings.
4. Generate a structured Simulink® model.
Then connect that model to your existing Simulink implementation. This can be a plant model or a control algorithm.
5. Then build your model and load to VEOS or SCALEXIO.
This common process makes it easier to configure different bus protocols at the same time.
Another major new feature of the Bus Manager is the ability to simulate bus communication with VEOS. VEOS is a dSPACE product that allows function developers, software architects and ECU testers the ability to test functionality and develop test procedures before they even have access to the real ECU hardware or a HIL simulator.
Using the Bus Manager, you can generate a bus simulation container. This bus simulation container can be imported into a VEOS offline simulation application, along with virtual electronic control unit (V-ECU) implementation containers or Functional Mock-Up Units. Once all of the required units have been loaded into VEOS, you can configure the communication clusters. To modify the connections, simply drag & drop from the list of available communication controllers to the communication cluster you want to connect to (see image below). This way, you can connect a V-ECU implementation to a rest bus simulation (a model simulating all of the other nodes on your network).
After starting your offline simulation, you can use dSPACE’s other tools, such as ControlDesk or AutomationDesk, to start testing your ECU functionality or developing your test procedures. I was able to generate a model where my rest bus simulation was connected to my ASM plant model. Using ControlDesk, I was then able to view my CAN communication, using a monitor in the ControlDesk Bus Navigator Module, and I was able to start my ASM maneuvers, and I saw my CAN signals updating. I was also able to enable and disable different CAN nodes to simulate the loss of an ECU. I then saw this reflected in my CAN monitor. And I was able to do this all in a simulation running on my PC − no HIL and no ECU.
Probably my favorite new feature with Bus Manager is the tool automation capability. Many programs in the dSPACE software suite allow for tool automation. You can, for example, generate ControlDesk layouts through scripting instead of by hand. Similarly, with Bus Manager, you can now programmatically load communication matrices, generate bus configurations, and modify settings all through Python scripting. This feature allows you to be able to handle bus communication variations quite easily and saves you the hassle of having to reconfigure your bus settings for every potential configuration.
New features are added to Bus Manager with each dSPACE release. Look for FlexRay and Ethernet support, more bus manipulation options, and support for new SCALEXIO bus boards in upcoming releases.
Interested in trying out Bus Manager or a demo? Talk to your dSPACE account manager.
Thank you for reading everyone, and enjoy setting up your bus communication with Bus Manager.
Subscribe to our newsletters, or manage or delete your subscriptions