This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VH-Q1: TDA4VH-Q1: Validation of CAN3 and CAN5 doesn't work

Part Number: TDA4VH-Q1
Other Parts Discussed in Thread: TCAN1043

Tool/software:

Hi.

I'm using TDA4VH-Q1 evm board. I'm trying to control MCAN3 or MCAN5 using MCU2_1 which is R5F. 
I changed pinmux just like below and checked the MCAN3_H, MCAN_L pin is up to 2.5V.

However, I couldn't receive any can message from it. Please help me if there with this. 


    Board_IoExpCfg_t ioExpCfg[] = {
        /*Set CANUART_MUX_SEL1 to LEVEL_HIGH*/
        {
            .i2cInst     = BOARD_I2C_IOEXP_DEVICE1_INSTANCE,
            .socDomain   = BOARD_SOC_DOMAIN_MAIN,
            .slaveAddr   = BOARD_I2C_IOEXP_DEVICE1_ADDR,
            .enableIntr  = false,
            .ioExpType   = TWO_PORT_IOEXP,
            .portNum     = PORTNUM_1,
            .pinNum      = PIN_NUM_4,
            .signalLevel = GPIO_SIGNAL_LEVEL_HIGH,
        },

        {
            .i2cInst     = BOARD_I2C_IOEXP_DEVICE2_INSTANCE,
            .socDomain   = BOARD_SOC_DOMAIN_MAIN,
            .slaveAddr   = BOARD_I2C_IOEXP_DEVICE2_ADDR,
            .enableIntr  = false,
            .ioExpType   = THREE_PORT_IOEXP,
            .portNum     = PORTNUM_0,
            .pinNum      = PIN_NUM_7,
            .signalLevel = GPIO_SIGNAL_LEVEL_LOW,
        },

        /*Set CANUART_MUX1_SEL0 to LEVEL_HIGH */
        {
            .i2cInst     = BOARD_I2C_IOEXP_DEVICE2_INSTANCE,
            .socDomain   = BOARD_SOC_DOMAIN_MAIN,
            .slaveAddr   = BOARD_I2C_IOEXP_DEVICE2_ADDR,
            .enableIntr  = false,
            .ioExpType   = THREE_PORT_IOEXP,
            .portNum     = PORTNUM_1,
            .pinNum      = PIN_NUM_5,
            .signalLevel = GPIO_SIGNAL_LEVEL_HIGH,
        },
        /*Set CANUART_MUX2_SEL0 to LEVEL_HIGH */
        {
            .i2cInst     = BOARD_I2C_IOEXP_DEVICE2_INSTANCE,
            .socDomain   = BOARD_SOC_DOMAIN_MAIN,
            .slaveAddr   = BOARD_I2C_IOEXP_DEVICE2_ADDR,
            .enableIntr  = false,
            .ioExpType   = THREE_PORT_IOEXP,
            .portNum     = PORTNUM_1,
            .pinNum      = PIN_NUM_6,
            .signalLevel = GPIO_SIGNAL_LEVEL_HIGH,
        },
        /*Set CANUART_MUX_SEL1 to LEVEL_HIGH*/
        {
            .i2cInst     = BOARD_I2C_IOEXP_DEVICE2_INSTANCE,
            .socDomain   = BOARD_SOC_DOMAIN_MAIN,
            .slaveAddr   = BOARD_I2C_IOEXP_DEVICE2_ADDR,
            .enableIntr  = false,
            .ioExpType   = THREE_PORT_IOEXP,
            .portNum     = PORTNUM_1,
            .pinNum      = PIN_NUM_7,
            .signalLevel = GPIO_SIGNAL_LEVEL_HIGH,
        },

    };
    for (int i = 0; i < sizeof(ioExpCfg) / sizeof(ioExpCfg[0]); i++) {
        status = Board_control(BOARD_CTRL_CMD_SET_IO_EXP_PIN_OUT, &ioExpCfg);
    }