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.

[参考译文] MSP432E401Y:无法工作

Guru**** 2502205 points
Other Parts Discussed in Thread: MSP432E401Y, MSP-EXP432E401Y

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1413824/msp432e401y-can-not-working

器件型号:MSP432E401Y
主题中讨论的其他器件: MSP-EXP432E401Y

工具与软件:

团队成员好

我们有一个带有 MSP432E401Y 的定制电路板和一个连接到 CAN0和 CAN1的 CAN 收发器 TCAN1051HGVDR。 借助我们的两个定制板、我们使用跳线连接了 CAN 线路、我尝试使用 can_singlemessage_transmit_MSP_EXP432E401Y_nortos_ccs 和 can_single_message_receive_MSP_EXP432E401Y_nortos_ccs、而不更改通过 CAN0实现的 SDK 中的任何内容。

请查看下图以获取输出

 

我还尝试探测 CANTX 和 CANRX 线路、但没有捕获到信号。  

随后也使用 CAN1进行了修改和测试、但具有相同的行为。

您能帮助找到问题吗?

提前感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [quote userid="593979" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1413824/msp432e401y-can-not-working 我还尝试探测 CANTX 和 CANRX 线路、但未捕捉到信号。  [报价]

    您好!

     CAN 总线上是否有合适的端接电阻器? 请参阅此应用手册。  https://www.ti.com/document-viewer/lit/html/SSZTB40

     可以展示 CANTX 引脚的示波器波形吗?

     您是否有 MSP-EXP432E01Y 板? 虽然 Launchpad 上没有 CAN 收发器、但如果您运行该示例、它应该至少显示 CANTX 波形的数字端。 有关详细信息、请参阅 LaunchPad 用户指南。  

    2.1.6.2 BoosterPack 插件模块接口2第二个 BoosterPack XL 接口位于靠近电路板底部的位置。 该接口与 BoosterPack 插件模块标准完全兼容、并添加了 BoosterPack 插件模块标准未涵盖的功能、支持使用其他 BoosterPack 插件模块运行。 使用跳线 JP4和 JP5、可以选择将控制器局域网(CAN)数字接收和发送信号路由到 BoosterPack 插件模块接口2连接器。 在默认配置中、UART0用于 XDS-110反向通道 UART、并且不会出现在 BoosterPack 插件模块接头上。 在此配置中、ROM 串行引导加载程序可用于 XDS-110反向通道 UART。 当跳线在 BoosterPack 插件模块接口上配置为 CAN 时、必须将 UART2用于 XDS-110反向通道 UART。

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

    蔡少芬说:

    CAN 总线上是否有合适的端接电阻器?

    是的、终端正常。

    该信号甚至不会从 CANTx 线路发出。  

     

    使用 MSP-EXP432E401Y 中 TI Resource Explorer 的代码、我们尝试通过上述连接从 booster-pack 中探测 PA1。 PA1信号始终为高电平、UART 打印如下所示

     

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

    您好!

     您是否将 JP4和 JP5更改为水平位置? 有关详细信息、请参阅 LaunchPad 用户指南。  

    JP2允许将 MCU 3.3V 电源域与电路板上的其余3.3V 电源分开
    电流表、用于对微控制器功耗获得更准确的测量值。 JP4
    和 JP5用于配置 BoosterPack 插件模块接口2连接器的 CAN 信号。 In
    默认垂直配置 CAN 在 BoosterPack 插件模块连接器上不存在。
    UART2连接到 BoosterPack 插件模块连接器、UART 0连接到 XDS-110
    反向通道串行端口、也可用于 ROM 串行引导加载程序。 配置均可启用
    配置中、UART2进入 XDS-110反向通道串行端口、CAN 信号则在
    BoosterPack 插件模块接口2连接器上提供。 没有 ROM 串行引导加载程序
    可用于 XDS-110反向通道串行端口、而跳线处于 CAN 位置。
    图3显示了电路板上跳线的默认配置和相对位置。

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

    是、跳线处于水平位置、如上所述。 使用 UART2。 我们还修改了 CAN1的相同代码、同时在 CANTX 中始终显示为高电平。 未看到数据传输。

     

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

    我认为您需要构建一个在总线上至少有两个节点的真正网络。 我认为它不能仅在一个节点下工作。 LaunchPad 没有收发器、但当节点距离很短时、您可以使用二极管来模拟收发器。 请参阅以下文章。 我过去尝试过使用二极管、它是有效的。 同样、网络上必须有两个节点。  

    https://electronics.stackexchange.com/questions/383603/can-bus-on-pcb-board/383609

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

    您好、Charles、
    感谢您的答复。

    我们已将 CAN 收发器(TCAN1051HGVDR)连接到 LaunchPad。
    收发器位于我们的定制电路板之一上。
    这些引脚是 PA1 - CAN0Tx 和 PA0 - CAN0Rx。
    在 CAN 线的另一端、我们进行了类似的设置。
    我们现在看到的问题是、当将 MSP432控制器的 CAN0Tx 引脚配置为 CAN 时、这些信号甚至都没有从该引脚发出。
    我们通过将 PA0引脚配置为 GPIO 引脚进行检查、仅检查引脚的焊接是否有任何问题、但该引脚是否正常工作。
    仅当 PA0和 PA1配置为 CAN 时、才会出现该问题。


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

    您好!

     您是否可以为调整 JP4/JP5方向拍摄 LaunchPad 板的照片?

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

    如果运行 CAN_singlemessage_transmit_MSP_EXP432E401Y_nortos_ccs 示例、您是否按下 SW1以使 CAN 控制器发送消息?

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

    您好、Charles、

    我们通过这种方式连接了 JP4和 JP5。
    我们直接从 JP4和 JP5获取、而不是从 Booster Pack 获取 CAN Tx 和 CAN Rx 引脚。
    我们也按以下方式连接了 JP4和 JP5、并从 Booster Pack 中取出 CAN Tx 和 RX 信号。

    但结果仍然相同。

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

    是的!!!

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

    您好!

     下面的 CAN 应用手册中 有一个 simple_tx 示例。 尽管这是 TM4C129 MCU 的示例、但您应该能够加载固件并按原样运行 MSP432E、因为 TM4C129和 MSP432E 是相同的器件。 您仍需要在 LaunchPad 上实现正确的跳线设置。  

    使用 EK-TM4C1294XL LaunchPad 上的 Edde Flex CAN 控制器

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

    对于 TM4C 微控制器、CAN 线路位于 PE4和 PE5中、而在 MSP432中、CAN 线路位于 PA0和 PA1中。 即使我刷写此代码并正确保持跳线、我也无法看到任何正确的输出? 如果我错了、请更正我。      

     或者、您是否希望我检查 PE4和 PE5引脚是否有 CAN 信号?

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="593979" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1413824/msp432e401y-can-not-working/5443936 #5443936"]

    对于 TM4C 微控制器、CAN 线路位于 PE4和 PE5中、而在 MSP432中、CAN 线路位于 PA0和 PA1中。 即使我刷写此代码并正确保持跳线、我也无法看到任何正确的输出? 如果我错了、请更正我。      

    [报价]

    这不是真的。 TM4C 具有与 MSP432E 相同的引脚排列。 对于 CAN0、 RX 和 TX 引脚位于 PA0和 PA1上、就像 MSP432E 一样。 请参阅 TM4C129 simple_tx.c 文件中的以下代码片段。  

    //
    // For this example CAN0 is used with RX and TX pins on port A0 and A1.
    // The actual port and pins used may be different on your part, consult
    // the data sheet for more information.
    // GPIO port A needs to be enabled so these pins can be used.
    // TODO: change this to whichever GPIO port you are using
    //
    MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);

    //
    // Configure the GPIO pin muxing to select CAN0 functions for these pins.
    // This step selects which alternate function is available for these pins.
    // This is necessary if your part supports GPIO pin function muxing.
    // Consult the data sheet to see which functions are allocated per pin.
    // TODO: change this to select the port/pin you are using
    //
    MAP_GPIOPinConfigure(GPIO_PA0_CAN0RX);
    MAP_GPIOPinConfigure(GPIO_PA1_CAN0TX);

    //
    // Enable the alternate function on the GPIO pins. The above step selects
    // which alternate function is available. This step actually enables the
    // alternate function instead of GPIO for these pins.
    // TODO: change this to match the port/pin you are using
    //
    MAP_GPIOPinTypeCAN(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);

    //
    // The GPIO port and pins have been set up for CAN. The CAN peripheral
    // must be enabled.
    //
    MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_CAN0);

    Below is the TM4C129 CAN signal table.