Add autosignals to the configuration through the Configuration Steps pane for a CAN database.

Note Autosignals are uncommon, but possible, for LIN.
In the Configuration Steps pane, select Type » Change to AutoSignal.
  • Message Counters
    1. Define the filter expression as ^MC_ or a filter to filter all of the signals with message counters.
    2. Check through Preview and select the Ramp type for AutoSignal Type.
    3. Add selected signals to the autosignals through Execute.
    The signals are now present in the Configuration Steps pane as AutoSignals. Configure the autosignal parameters in the Details pane.
  • Toggle (refer to Message Counters)
    • Filter Expression: Tgl$
    • AutoSignal Type: Toggle
  • To apply this autosignal type to selected signals, click Execute.

  • Parity (refer to Message Counters)
    • Filter Expression: ^Prty_
    • AutoSignal Type: ParityBit
  • To apply this autosignal type to selected signals, click Execute.

  • Checksum (refer to Message Counters)—To configure Checksum autosignals, you must provide additional information, including InitialValue, FinalXORValue, CRCMask, UserByteBefore, and UserByteAfter. The following is a list of configurable checksums and additional parameter information:
    • ChecksumJ1850 (8 Bit)
    • ChecksumUserJ1850 (8 Bit)
      • InitialValue—CRC initial value. The default is 0xFF (255).
      • FinalXORValue—XOR value at the end of the CRC algorithm. The default is 0xFF (255).
      • CRCMask—Determines the range of data bytes that the CRC calculation uses. For example, CRCMask 0x7F (127) means that the checksum calculation uses Byte 0 to Byte 6 of the data bytes.
      • UserByteBefore—The bytes used before the data bytes for the checksum calculation.
      • UserByteAfter—The bytes used after the data bytes for the checksum calculation.
    • Custom Checksum CRC-8: Select the CustomChecksum type as AutoSignal Type for a custom CRC-8 checksum. The following is a list of additional parameters that you can provide through this tool:
      • CRCPolynomial—A hexadecimal representation of the CRC-8 polynomial without the most significant bit. The following polynomial is represented as 0x14D:
        x 8 + x 6 + x 3 + x 2 + 1

        In this case, enter 0x4D in the CRCPolynom field (instead of 0x14D).

      • InitialValue—CRC initial value.
      • FinalXORValue—XOR value applied at the end of the CRC algorithm.
      • CRCMask—Determines the data bytes of the CAN messages that the CRC calculation uses. For example, enter 127 (decimal representation of 0x7F) to use bytes 0 to 6.
      • ReflectedInput—Reverses the order of the message bytes before the CRC calculation.
      • ReflectedOutput—Reverses the order of the computed CRC bits before output.
    • ChecksumXOR (8 Bit)
      • FinalXORValue—XOR value at the end of the CRC algorithm.
      • CRCMask—Determines the data bytes of the CAN messages that the CRC calculation uses. For example, 0x7F (127) means that the CRCMask uses bytes 0 to 6.
    • ChecksumXOR4Bit (4 Bit)
      • CRCMask—Determines the data bytes of the CAN messages that the CRC calculation uses. For example, 0x7F (127) means that bytes 0 to 6 are used.
      • Start Bit—Determines the bit where you can find the CRC checksum.

        The following example shows how this algorithm works:

        Checksum = Byte 1 XOR Byte 2 XOR Byte 3 XOR Byte 4
        Checksum = ( higher_nibble ( Checksum ) ) XOR ( lower_nibble ( Checksum ) )
        Checksum = Checksum XOR MSG_CNT

    • ChecksumAddWithCarry
      • FinalXORValue—XOR value at the end of the CRC algorithm.

        The following example shows how this algorithm works:

        if ( Byte 1 + Byte 2 > 255 ) then ( C = 1 ) else ( C = 0 )
        Checksum = Byte 1 + Byte 2 + C
        if ( Checksum + Byte 3 > 255 ) then ( C = 1 ) else ( C = 0 )
        Checksum = Checksum + Byte 3 + C
        if ( Checksum + Byte 4 > 255 ) then ( C = 1 ) else ( C = 0 )
        Checksum = Checksum + Byte 4 + C
        if ( Checksum + Byte 5 > 255 ) then ( C = 1 ) else ( C = 0 )
        Checksum = Checksum + Byte 5 + C
        if ( Checksum + Byte 6 > 255 ) then ( C = 1 ) else ( C = 0 )
        Checksum = Checksum + Byte 6 + C
        if ( Checksum + Byte 7 > 255 ) then ( C = 1 ) else ( C = 0 )
        Checksum = Checksum + Byte 7 + C
        Checksum = Checksum AND 255
        Checksum = Checksum XOR 126

    • ChecksumAddAndComplementToOne (8 Bit)

      The following example shows how this algorithm works:

      Checksum = ( Byte 1 + Byte 2 + Byte 3 + Byte 4 + Byte 5 + Byte 6 + Byte 7 )
      Checksum = Checksum XOR 255

    • ChecksumGAC (8 bit)

      The following example shows how this algorithm works. Assume that the checksum position is byte 4 (Byte4):

      Checksum = ( Checksum + Byte 0 + Byte 1 + Byte 2 + Byte 3 )
      Checksum = ( Checksum + Byte 5 + Byte 6 + Byte 7 )
      Checksum = ( ( ( Checksum & 0xFF ) XOR 255 ) + 1 ) & 0xFF

    • ChecksumMazda (8 Bit)

      The following example shows how this algorithm works. Assume that the checksum position is byte 4 (Byte4):

      Checksum = uFrameID & 0xFF
      Checksum = Checksum + ( uFrameID >> 8 ) & 0xFF
      Checksum = Checksum + FrameLength
      Checksum = ( Checksum + Byte 0 + Byte 1 + Byte 2 + Byte 3 )
      Checksum = ( Checksum + Byte 5 + Byte 6 + Byte 7 )

  • To apply one of these autosignal types to the selected signals, click Execute.
    Note For information about which bus systems support which checksums, refer to End-to-End Communication Protection.