FlexRay not starting after changing the Protocol settings

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FlexRay not starting after changing the Protocol settings

1,659 Views
mexx1860
Contributor I

Hi,

 

i'm actually trying to get a working FlexRay Bus with the 2 Node Starter Kit of EVB9S12XF512E.

The sample code coming with the Boards works fine but as soon as I change the Protocol settings in the Fr_UNIFIED_cfg.c the Nodes wont coldstart anymore.

The old (working) settings are:

 

const Fr_low_level_config_type Fr_low_level_cfg_set_00 =

{

    10,         // G_COLD_START_ATTEMPTS 

    3,          // GD_ACTION_POINT_OFFSET 

    83,         // GD_CAS_RX_LOW_MAX 

    0,          // GD_DYNAMIC_SLOT_IDLE_PHASE 

    40,         // GD_MINISLOT 

    3,          // GD_MINI_SLOT_ACTION_POINT_OFFSET 

    50,         // GD_STATIC_SLOT 

    13,         // GD_SYMBOL_WINDOW 

    11,         // GD_TSS_TRANSMITTER 

    59,         // GD_WAKEUP_SYMBOL_RX_IDLE 

    50,         // GD_WAKEUP_SYMBOL_RX_LOW 

    301,        // GD_WAKEUP_SYMBOL_RX_WINDOW 

    180,        // GD_WAKEUP_SYMBOL_TX_IDLE 

    60,         // GD_WAKEUP_SYMBOL_TX_LOW 

    2,          // G_LISTEN_NOISE 

    5000,       // G_MACRO_PER_CYCLE 

    10,         // G_MAX_WITHOUT_CLOCK_CORRECTION_PASSIVE 

    14,         // G_MAX_WITHOUT_CLOCK_CORRECTION_FATAL 

    22,         // G_NUMBER_OF_MINISLOTS 

    60,         // G_NUMBER_OF_STATIC_SLOTS 

    4920,       // G_OFFSET_CORRECTION_START 

    16,         // G_PAYLOAD_LENGTH_STATIC 

    5,          // G_SYNC_NODE_MAX 

    2,          // G_NETWORK_MANAGEMENT_VECTOR_LENGTH 

    FALSE,      // G_ALLOW_HALT_DUE_TO_CLOCK 

    20,         // G_ALLOW_PASSIVE_TO_ACTIVE 

    FR_CHANNEL_AB,  // P_CHANNELS 

    300,        // PD_ACCEPTED_STARTUP_RANGE 

    1,          // P_CLUSTER_DRIFT_DAMPING 

    56,         // P_DECODING_CORRECTION 

    1,          // P_DELAY_COMPENSATION_A 

    1,          // P_DELAY_COMPENSATION_B 

    401202,     // PD_LISTEN_TIMEOUT 

    601,        // PD_MAX_DRIFT 

    0,          // P_EXTERN_OFFSET_CORRECTION 

    0,          // P_EXTERN_RATE_CORRECTION 

    1,          // P_KEY_SLOT_ID 

    TRUE,       // P_KEY_SLOT_USED_FOR_STARTUP 

    TRUE,       // P_KEY_SLOT_USED_FOR_SYNC 

    242,        // P_KEY_SLOT_HEADER_CRC 

    21,         // P_LATEST_TX 

    5,          // P_MACRO_INITIAL_OFFSET_A 

    5,          // P_MACRO_INITIAL_OFFSET_B 

    23,         // P_MICRO_INITIAL_OFFSET_A 

    23,         // P_MICRO_INITIAL_OFFSET_B 

    200000,     // P_MICRO_PER_CYCLE 

    1201,       // P_OFFSET_CORRECTION_OUT 

    600,        // P_RATE_CORRECTION_OUT 

    FALSE,      // P_SINGLE_SLOT_ENABLED 

    FR_CHANNEL_A,   // P_WAKEUP_CHANNEL 

    16,         // P_WAKEUP_PATTERN 

    40,         // P_MICRO_PER_MACRO_NOM 

    8           // P_PAYLOAD_LENGTH_DYN_MAX 

};

 

And the ones I wan't the nodes to start with are:

 

const Fr_low_level_config_type Fr_low_level_cfg_set_00 =

{

    8,          // G_COLD_START_ATTEMPTS

    2,          // GD_ACTION_POINT_OFFSET

    79,         // GD_CAS_RX_LOW_MAX

    1,          // GD_DYNAMIC_SLOT_IDLE_PHASE

    5,          // GD_MINISLOT

    2,          // GD_MINI_SLOT_ACTION_POINT_OFFSET

    24,         // GD_STATIC_SLOT

    13,         // GD_SYMBOL_WINDOW

    9,          // GD_TSS_TRANSMITTER

    59,         // GD_WAKEUP_SYMBOL_RX_IDLE

    50,         // GD_WAKEUP_SYMBOL_RX_LOW

    301,        // GD_WAKEUP_SYMBOL_RX_WINDOW

    180,        // GD_WAKEUP_SYMBOL_TX_IDLE

    60,         // GD_WAKEUP_SYMBOL_TX_LOW

    2,          // G_LISTEN_NOISE

    3636,       // G_MACRO_PER_CYCLE

    2,          // G_MAX_WITHOUT_CLOCK_CORRECTION_PASSIVE

    2,          // G_MAX_WITHOUT_CLOCK_CORRECTION_FATAL

    289,        // G_NUMBER_OF_MINISLOTS

    91,         // G_NUMBER_OF_STATIC_SLOTS

    3632,       // G_OFFSET_CORRECTION_START

    8,          // G_PAYLOAD_LENGTH_STATIC

    15,         // G_SYNC_NODE_MAX

    0,          // G_NETWORK_MANAGEMENT_VECTOR_LENGTH

    TRUE,       // G_ALLOW_HALT_DUE_TO_CLOCK

    0,          // G_ALLOW_PASSIVE_TO_ACTIVE

    FR_CHANNEL_AB, // P_CHANNELS

    212,        // PD_ACCEPTED_STARTUP_RANGE

    2,          // P_CLUSTER_DRIFT_DAMPING

    48,         // P_DECODING_CORRECTION

    1,          // P_DELAY_COMPENSATION_A

    1,          // P_DELAY_COMPENSATION_B

    400242,     // PD_LISTEN_TIMEOUT

    121,        // PD_MAX_DRIFT

    0,          // P_EXTERN_OFFSET_CORRECTION

    0,          // P_EXTERN_RATE_CORRECTION

    1,          // P_KEY_SLOT_ID

    FALSE,      // P_KEY_SLOT_USED_FOR_STARTUP

    FALSE,      // P_KEY_SLOT_USED_FOR_SYNC

    242,        // P_KEY_SLOT_HEADER_CRC

    268,        // P_LATEST_TX

    3,          // P_MACRO_INITIAL_OFFSET_A

    3,          // P_MACRO_INITIAL_OFFSET_B

    6,          // P_MICRO_INITIAL_OFFSET_A

    6,          // P_MICRO_INITIAL_OFFSET_B

    200000,     // P_MICRO_PER_CYCLE

    126,        // P_OFFSET_CORRECTION_OUT

    121,        // P_RATE_CORRECTION_OUT

    FALSE,      // P_SINGLE_SLOT_ENABLED

    FR_CHANNEL_A,  // P_WAKEUP_CHANNEL

    33,         // P_WAKEUP_PATTERN

    40,         // P_MICRO_PER_MACRO_NOM

    8           // P_PAYLOAD_LENGTH_DYN_MAX

};

 

Do I need to take care of something else when changing the settings?

I would apreciate any help.

 

 

 

 

 

Labels (1)
0 Kudos
Reply
5 Replies

1,256 Views
milanbaca
Contributor III

If you change G_PAYLOAD_LENGTH_STATIC from 16 to 8 you also need change payload lenght to 8 in Fr_transmit_buffer_config_type Fr_tx_buffer_slot_XX_cfg structure. Also you need generate new header CRC in this structures.

0 Kudos
Reply

1,256 Views
mexx1860
Contributor I

Hi Milan,

thank you for your answer but I have changed the CRC and it's still not working. I think it has something to do with these 4 settings:

G_MACRO_PER_CYCLE

GD_STATIC_SLOT

G_NUMBER_OF_STATIC_SLOTS

G_OFFSET_CORRECTION_START

If I change them I will get stuck in the FR_init function. The Fr_start_communication API is successfull but afterwards I am stuck in the next while loop waiting to get away from FR_POCSTATE_NORMAL_ACTIVE but this never happens.

0 Kudos
Reply

1,256 Views
milanbaca
Contributor III

this equations have not been met

5729_5729.pngFR_equations.png

correct parameters are

5730_5730.jpgCorrectParameters.jpg

0 Kudos
Reply

1,256 Views
istvanreti
Contributor I

Hi Milan,

Can you help me, which program is seen on your screenshot?

Thanks

Steve

0 Kudos
Reply

1,256 Views
mexx1860
Contributor I

I think it has something to do with the different Payload lengths of the static segment.

But I haven't figured out yet which settings I need to change in the MB config.

0 Kudos
Reply