Documentation Home Page RT-LAB Home Page
Pour la documentation en FRANÇAIS, utilisez l'outil de traduction de votre navigateur Chrome, Edge ou Safari. Voir un exemple.

SENT transmitter

Block

Mask

Description

The Single Edge Nibble Transmission encoding scheme (SENT) is intended for use in applications where high-resolution sensor data needs to be communicated from a sensor to an Engine Control Unit (ECU). It is intended as a replacement for the lower resolution methods of 10 bit A/D's and PWM and as a simpler low-cost alternative to CAN or LIN.SENT is a unidirectional communications scheme from sensor/transmitting device to controller /receiving device which does not include a coordination signal from the controller/receiving device. The sensor signal is transmitted as a series of pulses with data encoded as falling to falling edge periods. Details of the signal encoding may vary for specific sensor applications.


The SENT transmitter block will generate the sequence of events to represent the sensor data. On the TestDrivesimulator, the block outputs must be connected to a conversion block to convert the events and time values to the RTE format, and then to the OpFcn Multi-Event Generator block linked to a POM(Pulsed Output Module) block. On other simulators, the block outputs must be connected to an event generator block linked to its dedicated FPGA controller. Example models are provided for both configurations.


Different error injection mechanisms can be used to generate faults on the SENT signal. These mechanisms are documented in the present document.


To compute the CRC, the SENT transmitter is using the tables provided in the SAE J2716 specification document. However, the user can decide to load different CRC tables for the legacy, the 16-element array or the serial checksums. These CRC tables can be loaded from a text file (see 'Parameters' section).


The configuration of the SENT transmitter can be changed at runtime so that a very wide range of configuration can be tested without any model recompilation.

Parameters

Legacy CRC table file name: Specifies the name of a file that contains the table for the legacy CRC computation. The file must contain 256 elements. Each element must be on a single line. If the file is found, the driver will use these elements to compute the legacy CRC. If the file is not found, the driver will use the table suggested in the SAE J2716 specification document. (*)

16-element array CRC table file name: Specifies the name of a file that contains the table for the 16-element array CRC computation. The file must contain 16 elements. Each element must be on a single line. If the file is found, the driver will use these elements to compute the 16-element array CRC. If the file is not found, the driver will use the table suggested in the SAE J2716 specification document. (*)

Serial CRC table file name: Specifies the name of a file that contains the table for the serial CRC computation. The file must contain 64 elements. Each element must be on a single line. If the file is found, the driver will use these elements to compute the serial CRC. If the file is not found, the driver will use the table suggested in the SAE J2716 specification document. The serial transmission is also known as 'Slow channel'. (*)


(*) If custom .txt files are to be used for the CRC tables, they must be present in the model folder and transferred to the target in ACII mode before a load as shown below:

Inputs

Status & serial data: This input will accept a vector of 4 values to configure the serial channel transmission. Please refer to the figure below for details about each input, assuming the 'Status and serial' vector is connected to the 'Status & serial data' input of the SENT transmitter:

Sensor data: This input will accept a single input of the sensor data that must be transmitted by the SENT transmitter.

Configuration: This input will accept a vector of 11 values to dynamically configure the SENT transmitter. Please refer to the figure below for details about each input, assuming the 'Configuration' vector is connected to the 'Configuration' input of the SENT transmitter:

Error handling: This input will accept a vector of 27 values to dynamically inject errors in the SENT transmission during the simulation. The vector can be divided like shown on the figure below, where the inputs of each kind of error injection mechanism are grouped together.


Please refer to the figure below for details about each error injection mechanism:

Outputs

Status nibbleThis output represents the number of ticks of the status nibble being transmitted. It is only used for validation. The user can connect this output to a terminator if the information is useless.
CRC nibbleThis output represents the number of ticks of the CRC nibble being transmitted. It is only used for validation. The user can connect this output to a terminator if the information is useless.
Data eventsThis output is a vector of 250 values representing the state (0, 1) of the SENT signal within the calculation step. Each event is associated to the corresponding value of the 'Data times' output to define when the transition will happen. This signal must be connected to an 'RTE Conversion OP5110-5120 Event Generator/Detector' block when used on a TestDrive platform, and directly to the 'Event Generator' block when used on a simulator with standard digital outputs.
Data timesThis output is a vector of 250 values representing the time, in microseconds, of a specific transition of the SENT signal within the calculation step. Each time is associated to the corresponding value of the 'Data events' output to define if the event is a rising or a falling transition. This signal must be multiplied by 1e-6 and connected to an 'RTE Conversion OP5110-5120 Event Generator/Detector' block when used on a TestDrive platform, and only multiplied by 1e-6 and connected to the 'Event Generator' block when used on a simulator with standard digital outputs.
StatesThis output is a vector of 250 values representing the state of a given transition within the SENT message. It is only used for validation. The user can connect this output to a terminator if the information is useless.


Example Models

An example model for the TestDrive chassis using the POM is located in the following folder:

RT-LAB\soft\Examples\IO\Opal-RT\TESTDRIVE\SENT_transmitter


An example model for the OP5600 simulator using EventGenerator is located in the following folder:

RT-LAB\soft\Examples\IO\Opal-RT\OP5142-EX1\SENT_transmitter

Characteristics and Limitations

The actual version of the SENT transmitter has the following limitations:

  • Number of events: The number of events that the SENT transmitter can generate within a single model step is limited to 250 per port, which is the limit of the event generator functionality.
  • Model step size: The model step size must be chosen by making sure the number of events that the SENT transmitter will generate within a single model step will not be higher than 250. If the number of events that have to be generated within a single model step is higher than 250 per port, some events will be missed. In this case, the model step size has to be reduced or the unit time can be increased.
  • Number of transmitters: The number of SENT transmitters that can operate simultaneously (on different channels) depends on the model stepsize and on the unit time of each SENT transmitters. If the number of events that have to be generated within a single model step is higher than 250per port, some events will be missed. In this case, the model step size has to be reduced or the unit time can be increased.
  • Unit time: The unit time cannot be lower than 0.5 us(500 nanoseconds) and higher than 300 us.
  • Error injection: Only one specific type of error should be applied at the time using the error injection interface.
Direct FeedthroughNo
Discrete sample timeNo
XHP supportYes
Work offlineNo

OPAL-RT TECHNOLOGIES, Inc. | 1751, rue Richardson, bureau 1060 | Montréal, Québec Canada H3K 1G6 | opal-rt.com | +1 514-935-2323
Follow OPAL-RT: LinkedIn | Facebook | YouTube | X/Twitter