Enabling FlexCAN GPIOs

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

Enabling FlexCAN GPIOs

511 Views
tech3
Contributor I

I am using DEVKIT-MPC5748G with DEVKIT-COMM & S32DS & example MPC5748G-FlexCAN_with_interrupts-S32DS_Z4_1

I want to use the Can Interfaces on the COMMs board, but cannot get the GPIO config right.

I have the "IO_Signal_Description_and_Input_multiplexing_tables.xls" but cannot understand it.

Can someone send me the config, to get the 4 CanPorts on the COMMs board working ?

Eg

in GPIO_Init()

     // CAN_1         *** This Config Works for the RXCAN_A on the COMMs board ***
     SIUL2.MSCR[42].B.SSS = 1;    /* Pad PC10: Source signal is CAN1_TX */
     SIUL2.MSCR[42].B.OBE = 1;    /* Pad PC10: Output Buffer Enable */
     SIUL2.MSCR[42].B.SRC = 3;    /* Pad PC10: Maximum slew rate */
     //
     SIUL2.MSCR[43].B.IBE = 1;    /* Pad PC11: Enable pad for input - CAN1_RXD */
     SIUL2.IMCR[189].B.SSS = 3;   /* CAN1_RXD: connected to pad PC11 */

     // CAN_2         *** This Config FAILs for the RXCAN_B on the COMMs board ***
     SIUL2.MSCR[64].B.SSS = 1;    /* Pad PE01: Source signal is CAN2_TX */
     SIUL2.MSCR[64].B.OBE = 1;    /* Pad PE01: Output Buffer Enable */
     SIUL2.MSCR[64].B.SRC = 3;    /* Pad PE01: Maximum slew rate */

     SIUL2.MSCR[65].B.IBE = 1;    /* Pad PE00: Enable pad for input - CAN2_RXD */
     SIUL2.IMCR[193].B.SSS = 1;   /* CAN2_RXD: connected to pad PE00 */

Thank you.

0 Kudos
1 Reply

438 Views
davidtosenovjan
NXP TechSupport
NXP TechSupport

It does not work because CAN5RX is routed to PE[0] and CAN5TX to PE[1], not CAN2 signals.

CAN2 signals are available for instance on PE[8]/PE[9].

0 Kudos