PE clock / Module clock in FlexCAN

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

PE clock / Module clock in FlexCAN

2,313 Views
jongtaepark
Contributor I

Hello,

I'm wondering what PE clock is in FlexCAN and what is difference with Module clock.

In my previous experience with other MCU chips, I had several choices among PLL, external OSC and so on for CAN clock source.

In s32k144, it seems like I have no choice but to use SYS_CLOCK from PLL for CAN module clock.

Plus, I have additional choices between SOSDIV2_CLK, SYS_CLK for PE Clock.

Can I assume PE clock is most important item for the CAN performance?

I look forward to any helpful words from NXP.

Thank you and kind regards,

Jongtae Park

0 Kudos
2 Replies

1,829 Views
AnaAldescu
NXP Employee
NXP Employee

Hello,

The module clock is the control host interface clock, while the PE clock is the functional clock. The module clock is only used for the register access of the peripheral and is usually sourced from a fixed clock source. For the PE clock, you can select whether the internal clock is connected to the output of a crystal oscillator (Oscillator Clock) or to the Peripheral Clock. The oscillator clock should be selected whenever a tight tolerance (up to 0.1%) is required in the CAN bus timing. The crystal oscillator clock has better jitter performance than the peripheral clock.

can_pe_clock.PNG

The Serial Clock (Sclock) period defines the 'time quantum' used to compose the CAN waveform, so the CAN bitrate is computed based on the frequency of the PE clock.

Please let me know if you have any other questions.

Best regards,

Ana

0 Kudos

1,829 Views
sakthivelkuland
Contributor III

Hello,

I'm working with S32K144 CAN Module for my TPMS Project.

I have faced some problems with FlexCAN communication, I'm taken the Sample example of non-SDK FlexCAN for my project during my testing I couldn't see any CAN Data Signal in MCU CAN_TX pin.

initCAN0:

#define MBDSR0   0 

#define RX_MB 1 /* Rx MB */
#define TX_MB 3 /* Tx MB */

pastedImage_1.png

CAN Transmission

void FLEXCAN0_transmit_msg(void){

pastedImage_3.png

}

PORT_Init

pastedImage_7.png

Mian.c

Call every 200Ms interval for the Testing purpose.

pastedImage_4.png

Result:

with scope, I have tapped CAN_tx Line but no Frame format Signal. This Pins state just High.

Please, what could be the Problems with my source.

Thanks,

Sakthivel K

0 Kudos