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:CAN3和 CAN5的验证不起作用

Guru**** 2482225 points
Other Parts Discussed in Thread: TDA4VH-Q1

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1448819/tda4vh-q1-tda4vh-q1-validation-of-can3-and-can5-doesn-t-work

器件型号:TDA4VH-Q1
主题中讨论的其他器件: TCAN1043

工具与软件:

你(们)好

我使用的是 TDA4VH-Q1 EVM 板。 我正在尝试使用 MCU2_1 (即 R5F)来控制 MCAN3或 MCAN5。  
我按如下所示更改了引脚多路复用并检查了 MCAN3_H、MCAN_L 引脚电压高达2.5V。

但是、我无法收到任何 CAN 消息。 如果有的话、请帮助我。  

    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);
    }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我还使用相同的硬件设置测试了 MCAN4、并且效果良好。 我仅将 MCAN 基地址格式4更改为3。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您能否参考原理图? MCAN4位于 GESI 板上、需要 I2C、而 MCAN3不是 GESI 板。

    此致

    Tarun Mukesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我参考了 PROC141E4 (001)_SCH 初始文本文件。 AUDIO_MUX_SEL 引脚应处于高电平、以在引脚多路复用器真值表上选择 MCAN3。  

    MCAN3不是 GESI 板的意思是什么?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    MCAN3具有 CAN 收发器类型 TCAN1043、其中包含 STB 引脚以及 Tx 和 Rx。 也应该注意这一点。

    MCAN4是 TCAN1042类型、因此只有 Tx 和 Rx。

    请您浏览更详细的原理图。

     

    此致

    Tarun Mukesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我浏览了原理图、您已经知道、如果 CANUART_MUX_SEL0、CANUART_MUX1_SEL1、 CANUART_MUX_SEL2 设置为高电平、则 TCAN1043 STB 引脚设置为低电平。 我已经检查了 MCAN3_H、MCAN3_L 引脚的电压为2.5V、nFAULT 引脚为低电平、这意味着 TCAN1043处于正常模式。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您已经知道 TCAN1043 STB 引脚已设为低电平

    在 CAN3上、我们有 nSTB PIN、这意味着如果保持低电平、它将处于待机模式。

    您能否探测 CAN_TX 和 CAN_RX 引脚以查看任何数据波动?

    此致

    Tarun Mukesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在 CAN3上、我们有 nSTB PIN、这意味着如果保持低电平、它将处于待机模式。

    [报价]

    抱歉、我的意思是我将低电平信号发送到 MCAN3_STB# 使其变为高电平、因为该信号将 通过  SN74LVC1G04DRLR  将信号翻转 为高电平。  

    我无法看到 CAN_Tx 和 CAN_RX 引脚有任何波动。  

    您是否有在主域 R5F 上使用 MCAN3或 MCAN5的任何示例?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [报价 userid="612999" url="~/support/processors-group/processors/f/processors-forum/1448819/tda4vh-q1-tda4vh-q1-validation-of-can3-and-can5-doesn-t-work/5563387 #5563387"]i coutn'查看 CAN_Tx 和 CAN_RX 引脚是否有任何波动。  [报价]

    如果在 Tx 和 Rx 上看不到任何数据波动、则数据本身不存在、则不涉及引脚复用问题。  

    尝试运行内部环回、看看它是否正常工作。

    您有没有在主域 R5F 上使用 MCAN3或 MCAN5的示例?

    不、我们在 MCAN3上没有示例。

    此致

    Tarun Mukesh