CANbeddedBasic Software for ECU Communication
CANbedded - OEM-Specific Embedded Software Components
Since 1992, Vector has been offering CANbedded software components, which are now used globally by nearly all OEMs. There is hardly a vehicle with CAN or LIN networking that does not utilize any CANbedded software components. This makes CANbedded a very reliable foundation for your ECU.
Vector CANbedded basic software lets ECUs exchange information over the CAN bus. As a part of the ECU software, it handles communication-related tasks as specified by the OEM. With CANbedded, your ECU is able to efficiently communicate with other ECUs in the vehicle and with an external service tester. CANbedded is available in variants for most OEMs and for a large number of microcontrollers.
CANbedded lets users focus their efforts completely on their functional software, because the CANbedded stack handles OEM-conformant sending and receiving of messages over CAN. Vector offers OEM-specific CANbedded variants for most OEMs.
- Generated source code that is scalable and application-specific
- Low memory requirement and fast runtimes
- Supports most hardware platforms
- Available in platform-specific and OEM-specific variants
- Clearly defined and uniform interfaces
- Easy to port to other platforms and OEMs
- Easy to integrate in your ECU software
The use of uniform communication protocols is absolutely necessary when setting up networks in a vehicle. The use of standardized software components ensures easy portability and reliable integration of ECUs in the vehicle’s network for the automotive OEM and its suppliers. In addition, the software components lead to a substantial reduction in development costs.
The use of CANbedded in all of a networks ECUs assures compatibility of all communication stacks. This reduces development costs and test efforts. The CAN driver as a hardware-specific component is available in an optimized version for many different hardware platforms (8 to 64 bit controllers).
An alternative to CANbedded is the use of AUTOSAR basic software. With the associated Vector product MICROSAR you get a mature solution with many useful extensions. We support you in selecting the best solution for your specific use case.
CANbedded provides simple interfaces (APIs) that are identical for all applications. If possible, the API is standardized over all OEM and hardware variants. This lets the user quickly and conveniently integrate CANbedded in the ECU software. The CANbedded components route asynchronous events such as receiving of CAN messages, bus wake-up or different error states (Assertions) to the application by means of configurable callback functions. You can configure the precise set of generated APIs and callbacks to ideally adapt them to the needs of your specific application. The Vector tool chain optimally supports you here.
The CAN driver provides an interface for higher software layers that is as hardware independent as possible. This enables platform-independent use or re-use of the higher software layers.
All necessary settings such as parameters for the hardware acceptance filter or Bus Timing Register are made at configuration time. The configuration tool GENy from Vector offers preselections for configuring these filters and registers. The following basic functions are provided by the CAN driver:
- Initialization of the CAN controller
- Sending of CAN messages
- Receiving of CAN messages
- Overrun and error handling (Bus-off)
- Notification via wake-up events
The IL is available in OEM-specific variants and operates signal-oriented. It is responsible for:
- Sending messages depending on the send types of the signals they contain (Cyclic, OnEvent, IfActive, etc.)
- Timeout monitoring of Rx messages and signals
- Notification of sending and receiving of signals
The main task of Network Management is to manage the sleep and wake-up states of a network’s ECUs. This functionality is handled by the NM CANbedded software component, which is available in different variants. Depending on OEM requirements, either OSEK NM, AUTOSAR NM or another OEM-specific NM algorithm is used.
By default, the CANbedded Transport Protocol conforms to ISO 15765-2. OEM-specific TP variants are also available, e.g. VWTP or MCNet. The ISO 15765-2 conformant variant is available in either the 1999 variant or the 2004 variant and can be delivered with different addressing methods (Normal, Extended, Normal fixed, Mixed).
The CCL simplifies integration of the CANbedded software components in your ECU software, such as CAN driver, IL, TP, NM, and other CANbedded options Gateway, J1939 and CANdesc. It manages defined system states (PowerOn, StartUp, ShutDown, Stop/Sleep, Normal) as well as communication states (Net request, Net release). The CCL offers the following functions:
- Initializing the CANbedded software components
- Coordination of state transitions (WakeUp and GotoSleep)
- Calling periodic functions of the CANbedded software components such as Timer Tasks or State Tasks.
- Controlling the bus transceiver
MICROSAR.OS from Vector is a preemptive real-time multitasking operating system with properties that are optimized for use in microcontrollers. The AUTOSAR specification for operating systems according to scalability class 1 is based on the OSEK/VDX standard. That is why MICROSAR.OS gives you an alternative even for non-AUTOSAR environments.
Extend the CANbedded stack with additional basic software from Vector for your specific application.
To exchange data between different networks (CAN-CAN, CAN-LIN), a gateway ECU is needed that only transports to the other network those messages or signals that are actually needed.
Selectable coupling of CAN and/or LIN networks with user-definable routing relationships
- Mature standard software component
- Solid, lean and efficient foundation for your gateway ECU
- Available for a large number of OEMs
The CANbedded Gateway contains complex mechanisms for receiving all messages and signals and then sending them to another network under consideration of filter and conversion rules. Users can select from:
- Signal routing
- Message routing (with/without data queue)
- TP (Transport Protocol) routing
CANdesc and DEM - Software Components for Diagnostics
The diagnostic software component CANdesc (desc = diagnostic embedded software component) is the uniform implementation of the diagnostic protocol for different automotive OEMs. CANdesc is generated according to the configuration based on the diagnostic specification (CDD file). To implement the error memory, you can extend CANdesc with the DEM component, which gives you a fully diagnostic solution for your ECU.
CANdesc provides a signal-based interface as a uniform interface to the application. This simplifies interfacing of diagnostics to your ECU software.
DEM: As soon as the application software detects errors, it must initiate saving of the related Diagnostic Trouble Codes (DTC). The DEM component can be used for this task.
CANdesc and DEM are available for a number of different OEMs. An OEM independent version is also available. CANbedded is available for UDS, CANdesc supports both KWP2000 and UDS.
Vector offers a universal diagnostics tool chain for tasks ranging from definition of diagnostic functionality to execution of flash processes and diagnostic requests.
Automotive in-vehicle ECUs are measured, calibrated, and tested with the XCP Protocol (Universal Calibration Protocol). XCP was standardized by ASAM (Association for Standardization of Automation and Measuring Systems) with the leading participation of Vector.
On the PC side, the Vector tool CANape or CANoe is used as the XCP master. The counterpart in the ECU is the XCP slave. This is implemented by the XCP Professional software component. It contains not only the ASAM functional scope, but also useful extensions such as automatic generation of BSW status variables to A2L and the option of deactivation in production.
XCP Professional supports the CAN and LIN bus systems. For other networks, the AUTOSAR basic software MICROSAR Classic is available.
Identities are used to identify ECUs. It determines which variant of the ECU should be activated (e.g. which door side). An
identity is the configuration of an ECU that is active at runtime, and it is based on a description file. The identity is set when the ECU is initialized. When tracking the development of ECUs in automobiles, one trend is clearly evident – ECUs are becoming increasingly more powerful. At the same time, the number of variants is growing drastically, which is reflected in the growing effort required to manage them and also results in growing costs.
Cost savings are realized by reducing administrative effort. This can only be achieved with the assistance of intelligent
solutions that can manage the many different variants. Based on our many years of working together with automotive OEMs and suppliers, Vector knows these continually recurring use cases well and has developed optimized solutions especially for them, to simplify the development of ECUs, reduce administrative effort and finally to thereby save on costs.
CANbedded LIN Communication
In addition to CAN, CANbedded also supports networks with LIN (Local Interconnect Network) communication. AUTOSAR-based LIN Master nodes are often combined with CANbedded LIN based slave nodes as both products are fully compatible.
The CANbedded J1939 bundle contains standard software components for your SAE J1939-based applications. CANbedded J1939 provides functions for fundamental communication between ECUs in heavy-duty vehicles and agricultural machines.