Tool/software:
Hy,
I am using the SDK: rtos-09_02_00_05 on a custom board that has the same schematic like the SK-TDA4VM (MCU_MCAN0, MCAN0, MCAN5 and MCAN9).
All the three main domain CANs (MCAN0, MCAN5, MCAN9) are initialized and configured the same. However only just the MCAN0 works, the other two main CAN: MCAN5 MCAN9 continuously reports an bus off error: MCAN_ERR_CODE_BIT0_ERROR. Using the probe Rx and Tx line are always 3.3V. As example we are using the mcan_evm_loopback_app_main_k3.c code. The transcievers are TCAN1046, means that the STB should be pulled down for normal mode. This works, but the CAN_H and CAN_L remains in recessive mode.
Pin configuration used:
static pinmuxPerCfg_t gMcan0PinCfg[] =
{
/* MyMCAN0 -> MCAN0_RX -> W5 */
{
PIN_MCAN0_RX, PIN_MODE(0) | \
((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
},
/* MyMCAN0 -> MCAN0_TX -> W6 */
{
PIN_MCAN0_TX, PIN_MODE(0) | \
((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))
},
{PINMUX_END}
};
static pinmuxPerCfg_t gMcan5PinCfg[] =
{
/* MyMCAN5 -> MCAN5_RX -> AE21 */
{
PIN_PRG1_PRU0_GPO18, PIN_MODE(6) | \
((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
},
/* MyMCAN5 -> MCAN5_TX -> AJ21 */
{
PIN_PRG1_PRU0_GPO17, PIN_MODE(6) | \
((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))
},
{PINMUX_END}
};
static pinmuxPerCfg_t gMcan9PinCfg[] =
{
/* MyMCAN9 -> MCAN9_RX -> AC27 */
{
PIN_PRG0_PRU0_GPO8, PIN_MODE(6) | \
((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
},
/* MyMCAN9 -> MCAN9_TX -> AC28 */
{
PIN_PRG0_PRU0_GPO7, PIN_MODE(6) | \
((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))
},
{PINMUX_END}
};
Any advice why is the MCAN5 and MCAN9 not working?
Regards,
Tamas