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.

[参考译文] TMS320F280049:CAN 总线错误和内部上拉

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1218799/tms320f280049-can-bus-error-and-internal-pull-up

器件型号:TMS320F280049
主题中讨论的其他器件:SN65HVD230

您好、专家!

请寻求您的帮助:

µC 在启动 µC Ω 后在 CAN 总线上观察到一个误差、有一个120ms 的主导位我的第一个问题是:根据所选模式、k Ω 中是否有不同的上拉电阻器? 示例引脚初始化为 GPIO 上拉电阻与初始化为 CAN TX/RX?的引脚不同

另外、对于我们的第一个原型设计、没有问题、µC 和 SN65HVD230直接连接。

 

在第二个原型中、我们必须添加电隔离、见图。 µC 看起来、如前面所述、Δ I 的内部上拉可能会有所不同似乎 CAN TX 为高电平、但 ADUM1201降低了电压、但设置内部控制器的位速率后、引脚稳定为高电平。

此致、
阿奇·A·阿奇

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    µC 中是否有不同的上拉电阻器、具体取决于所选模式? [/报价]

    否 上拉电路是一个且是相同的。

    [quote userid="487726" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1218799/tms320f280049-can-bus-error-and-internal-pull-up 通过设置内部控制器的比特率后、该引脚稳定为高电平。

    设置比特率对您观察到的现象没有影响。 内部上拉电阻是否激活可能会有影响。 复位时、这些引脚作为内部 PU 被启用的输入出现。  

    你电路的图像模糊了、所以我无法从它看出任何细节。

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

    您好、Hareesh。

    你好。 我是 Ray Vincent、是 Archie 的一位同事、我们的客户对您的回复做出了一些澄清。 请参阅以下内容以供参考。

    在这张图片中、黄色是 CAN TX、绿色是 μ µC 电源、品红色是 CAN 收发器后面的 CAN 差分。

    您说:"设置比特率对您观察到的现象没有影响。 内部上拉电阻是否激活可能会有影响。 复位时、这些引脚作为内部 PU 被启用的输入出现。'

    -->客户问题: 如果 PIN 启用内部上拉,CAN TX 如何保持120ms 低电平?  由于它为低电平、因此在 CAN 总线上产生了一个显性位、从而 导致其他总线成员的总线关闭。

    -->另一个客户的问题:120毫秒后 PIN 是高的,一切都好,在这段时间我没有变化,但你写道:"上拉电路是一个,它是一样的"。 如果上拉电阻始终相同、您如何解释从低电平到高电平的变化?

    请告知。 非常感谢。

    此致、

    雷·文森特

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

    RAY、

    [报价 userid="485275" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1218799/tms320f280049-can-bus-error-and-internal-pull-up/4604109 #4604109"]-->客户问题: 如果 PIN 启用内部上拉电阻,CAN TX 如何保持120ms 低电平?  由于它为低电平、因此在 CAN 总线上产生一个显性位、从而 导致其他总线成员的总线关闭。

    唯一可行的方法是、如果该引脚被驱动为低电平(由 C2000或连接到板上 CAN-TX 引脚的其他器件驱动)。 您能否确保客户没有在120ms 期间将引脚配置为 GPIO 输出? 请参阅下面的以了解检查方法

    请在120ms 低电平期间读取以下寄存器、然后查看它们是否设置正确(将"y"更改为您用于 CAN-TX 的任何 IO 端口):

    • GPIO_CTRL_regs
      • GPyMUX1-2
      • 私人 g MUX1-2
      • GPyDIR
      • GPyPUD
      • GPyAMSEL
    • GPIO_DATA_READ_REGS
      • GPyDAT_R

    另请向我们提供您用于 CAN-TX 和 CAN-RX 的 GPIO。

    如果上拉电阻始终相同,您如何解释从低电平到高电平的变化?

    同样、如果客户正确配置了 C2000器件、则不会发生这种情况。 CAN 引脚在上拉电路方面没有什么独特之处。 请注意、在下面的 TRM 图表中、上拉电阻不在 CAN 外设内部、而是用于整个 GPIO。

    因此、唯一将某个东西驱动为低电平的方法是:1)未正确配置上拉电阻、2)在120ms 内软件未正确配置器件 GPIO、或者3)客户电路板上的另一个器件将 TX 引脚驱动为低电平。

    此致、

    Vince

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

    您好、Vince。

    客户对此案例有另一个查询。 请参阅下面客户的回复。

    我们已检查您建议的寄存器。 我们观察到该引脚为低电平。 在使用 CAN 的情况下、TI 驱动程序库似乎未直接设置引脚。
    首先:您写入"在复位时、引脚作为内部 PU 使能的输入出现。 "这与我的观察和 µC 用户手册第908页的反对。
    image.png

    在将引脚设置为 CAN TX 之前、我们已将引脚现在设置为启用上拉的输入。 现在我们可以看到、该引脚经过2ms 的高电平。
    在评估板上、我们没有电隔离、CAN 收发器 SN65HVD230D 将 CAN TX 和 CAN RX 引脚上拉。 在原型设计中、我们具有电隔离、其输入阻抗小于收发器、引脚为低电平。 这就是我们需要 PU 的原因、但2ms 速度非常慢。 是否可以更早地设置 PU?

    您 µC 的 PU 已启用、也许我们有一些过于看不见的地方、有可能用启用的 PU 启动 μ s??
    并且我仍然无法解释为什么在120ms (以前的软件)后、如果只有一个上拉机制、引脚会变为高电平。 ´dCAN 波特率后、CAN 控制器将 CAN TX 驱动为高电平吗?

    请告知

    此致、

    Josel

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

    Josel、您好!

    感谢您的跟进。 要回答您的问题:

    这就是为什么我们需要 pu 的原因,但2ms 的速度非常慢。 可以更早设置 PU?

    这取决于您从测量的2ms 值。 如果这来自 XRSn 复位的上升时间、则不可能将其减少到低于数据表中的 t_boot-flash、即900us:

    但是、如果您在用户代码主函数的开头立即启用上拉电阻、则可以在 XRSn 释放后将其降低到大约900us。

    此致、

    Vince