CAN Signals

Overview

SimuQuest CAN Signals blockset provides the ability to interface with signals defined in a *.dbc file. Another SimuQuest product called QuantiPhi provides the ability to interface with CAN at the level of message receipt and transmission.

A *.dbc file defines the signals, messages, and nodes (ECUs) present in a particular CAN network. The dbc file (generated from a 3rd party tool such as CANdb++) is used by the CAN signals blockset to provide the definition of CAN signals, messages and nodes. The SimuQuest “CAN Signals blockset” provides read/write access in Simulink to the signals defined in a *.dbc file (or in multiple *.dbc files).

Ultimately code is generated from the Simulink model that will include this information.

Be careful not to confuse CAN Signals blockset which is target independent with the target dependent QuantiPhi CAN drivers (for transmit, receive, etc.) that could be referred to as a CAN blockset.

The CAN Signals blockset has only been used and tested with QuantiPhi S12/S12X and QuantiPhi RE for SH72546.

SimuQuest CAN Signals Blockset

The SimuQuest CAN Signals blockset is a Simulink blockset that provides the ability to interface with signals defined in a CAN database file. It converts between the raw CAN data and the signals embedded within that raw data.

The dbc file format is the standard method of describing CAN communication data. A CAN database (*.dbc) file defines the signals, messages, and nodes (ECUs) present in a particular CAN network. The dbc file (generated from a 3rd party tool such as Vector’s CANdb++) is used by the CAN Signals blockset to provide the definition of CAN signals, messages and nodes.

The SimuQuest CAN Signals blockset is comprised of 3 Simulink blocks: the CAN Database Specification block, the CAN Signal Read block, and the CAN Signal Write block.

CAN Database Specification

CAN_Database_Specification_blockCAN_Database_Specification_File

The CAN Database Specification block allows a dbc file to be associated with the model containing the referencing block. For a given dbc file, the user can select either a single CAN node to be associated with the model, or the user can opt to have access to all messages defined in the dbc file. This can be useful if a dbc file is incompletely specified.

Multiple CAN Database Specification blocks can be used in a single model, to support the case where an application needs to access signals defined in more than one dbc file.

CAN Signal Read

CAN_Signal_Read_blockCAN_Signal_Read_dialog
The CAN Signal Read block takes as an input the raw CAN message data, and converts it into the individual signals, ready for use within Simulink. The user selects the dbc file and message, and the CAN Signal Read block reconfigures its outputs to match the signals contained within the selected message. All scaling information defined in the dbc file is preserved in Simulink.

The data input to this block can come from anywhere if it is formatted correctly, but generally this input data would come from a Simulink block that provides received CAN data (e.g. a CAN Receive block from a device driver blockset such as QuantiPhi).

CAN Signal Write

CAN_Signal_Write_blockCAN_Signal_Write_dialog

The CAN Signal Write block takes as an input the individual signals contained within a specific message, and converts it into the raw CAN message data. The user selects the dbc file and message, and the CAN Signal Write block reconfigures its inputs to match the signals contained within the selected message. All scaling information defined in the dbc file is preserved in Simulink.

The data output from this block is intended to be fed into a Simulink block that will trigger the corresponding CAN transmission (e.g. a CAN Transmit block from a device driver blockset such as QuantiPhi).

Where to Go from Here

For more technical details, please see the in-product help for the CAN Signals blockset.

For pricing and availability, please contact SimuQuest sales.