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.

[参考译文] TMS320F28377D:如果在配置 CANTX 时需要写入引脚 DAT 以避免低脉冲?

Guru**** 2467930 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1402864/tms320f28377d-if-write-pin-dat-is-necessary-when-config-cantx-to-avoid-a-low-pulse

器件型号:TMS320F28377D

工具与软件:

我有1个以上的机器、这些机器可热插拔并共享 CAN 总线。

当新机器插入并唤醒其 MCU 时、出现非常短的低电平脉冲。 它可能会影响现有机器正在传输的数据。

我尝试通过在配置 CANTX 引脚之前写入引脚 DAT 来解决此问题、如下所示:

之前:

GPIO_SetupPinOptions (MONITOR_CAN_GPIO_TX、GPIO_OUTPUT、GPIO_PushPull);
GPIO_SetupPinMux (MONITOR_CAN_GPIO_TX、GPIO_MUX_CPU1、3);

之后:

GPIO_WritePin (MONITOR_CAN_GPIO_TX、TRUE);
GPIO_SetupPinOptions (MONITOR_CAN_GPIO_TX、GPIO_OUTPUT、GPIO_PushPull);
GPIO_SetupPinMux (MONITOR_CAN_GPIO_TX、GPIO_MUX_CPU1、3);

问题:

  • 固定低电平脉冲的正确方法吗?
  • WritePin、SetDecetTION 和 SetMux 之间是否应遵循序列?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    下面是一些拼写错误:

    之前:

    GPIO_SetupPinOptions (MONITOR_CAN_GPIO_TX、GPIO_OUTPUT、GPIO_PushPull);
    GPIO_SetupPinMux (MONITOR_CAN_GPIO_TX、GPIO_MUX_CPU1、3);
    GPIO_WritePin (monitor_can_gpio_tx、true);  -->我在问题中缺失。

    之后:

    GPIO_WritePin (MONITOR_CAN_GPIO_TX、TRUE);
    GPIO_SetupPinOptions (MONITOR_CAN_GPIO_TX、GPIO_OUTPUT、GPIO_PushPull);
    GPIO_SetupPinMux (MONITOR_CAN_GPIO_TX、GPIO_MUX_CPU1、3);

    问题:

    • 固定低电平脉冲的正确方法吗?
    • WritePin、SetDecetTION 和 SetMux 之间是否应遵循序列?
    • CANTX 是否需要写入 DAT 为高电平?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Harley:

    生成的波形、RX 线上的脉冲仍然存在。  

    唤醒 MCU 后、新机器是否发出软件复位(设置 INIT 位、然后设置 SWR 位)? SWR 将在 CAN TX 线上生成脉冲。