5.1.50. J1939 configuration (pj1939_Configuration)

Configure the ECU for J1939 communications.

5.1.50.1. Supported targets

All targets

5.1.50.2. Required license

None (Main library). (See Section 2.3, “Licensed Features”.)

5.1.50.3. Description

The J1939 messaging protocol is a CAN based messaging system designed to pass information between vehicle network ECUs in real-time. For more details, refer to SAE J1939 (and sub-parts 21, 71, 73, 81) at the SAE Web site (http://www.sae.org).

The blockset supports a subset of the J1939 specification:

  • Handles requests for PGs by filtering out PGNs the model does not handle and returning NACK messages.

  • Handles reception and transmission of J1939 messages, in a similar way to the existing pcx_CANReceiveMessage and pcx_CANTransmitMessage blocks.

  • Handles the transport protocol (J1939/21) for sending long messages (up to 1785 bytes in length).

  • Handles some of the diagnostic requirements (J1939/73) for sending and receiving lists of diagnostic trouble codes (DM1 and DM2 messages). This includes support in the blockset for diagnostic trouble codes (see Section 4.6.6, “Fault support”).

  • Handles the network protocol (J1939/81) as if the ECU and the rest of the network have fixed network nodes.

    Note

    This may be extended in the future to include dynamic network addressing.

The pj1939_Configuration block configures the ECU's behaviour when handling J1939 messages. This block configures parameters that adjust the amount of memory set aside for processing J1939 messages.

The pj1939_Configuration block is used in conjunction with one or more pj1939_ChannelConfiguration block to configure the actual hardware interfaces and node addresses.

A pj1939_Configuration must be present in the model to enable J1939 support.

5.1.50.4. Inports

None.

5.1.50.5. Outports

None.

5.1.50.6. Mask parameters

  • Size of J1939 message buffers

    The number of bytes for each J1939 message buffer. In some networks, the maximum length of any received or transmitted J1939 message will be smaller than the maximum J1939 length of 1785 bytes. This parameter allows the modeller to reduce the amount of RAM allocated to J1939 messages, and therefore increase the RAM allocated to other functions of the ECU.

    Range: [8, 1785]

    Value type:Integer
    Calibratable:No
  • Number of simultaneous transport receive messages

    The number of long (transport) messages than can be received simultaneously. The smaller the number, the more RAM is allocated to other functions of the ECU.

    These receive buffers are shared among all J1939 channels.

    Range: [1, 20]

    Note

    The larger the number, the more transport messages can be received at the same time. However, the larger the number, the more likely it is that it will not be possible for the ECU to adhere to the J1939 transport timeouts and some message receives may fail.

    Value type:Integer
    Calibratable:No
  • Number of simultaneous transport transmit messages

    The number of long (transport) messages than can be transmitted simultaneously. The smaller the number, the more RAM is allocated to other functions of the ECU.

    These transmit buffers are shared among all J1939 channels.

    Range: [1, 20]

    Note

    The larger the number, the more transport messages can be transmitted at the same time. However, the larger the number, the more likely it is that it will not be possible for the ECU to adhere to the J1939 transport timeouts and some message transmits may fail.

    Value type:Integer
    Calibratable:No
  • Number of receive/transmit buffers

    The number of receive and transmit buffers per channel used to store J1939 CAN data between processing of J1939 messages (which occurs every 5 milliseconds).

    Note that this is a count for each defined J1939 channel.

    Range: [1, 100]

    Value type:Integer
    Calibratable:No
  • DM7 Request buffer size

    The maximum number of DM7 test entries that may be stored in the buffer, upon receipt of DM7 request messages.

    This buffer is shared across all J1939 channels.

    Range: [1, 10]

    Value type:Integer
    Calibratable:No
  • Use common multi-frame priority

    A checkbox to enable the use of a common multi-frame priority. This priority overrides the priorities for all DM transmit blocks for multi-frame message responses. (Single frame responses are unaffected.) It does not affect any priorities passed to instances of the pj1939_PgTransmit block.

    This setting applies to all J1939 channels.

    Value type:Boolean
    Calibratable:No
  • Common multi-frame priority

    The value of the common multi-frame priority. Only available when the mask parameter checkbox Use common multi-frame priority is ticked.

    This setting applies to all J1939 channels.

    Range: [0, 7]

    Value type:Integer
    Calibratable:No

5.1.50.7. Notes