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.

[参考译文] TMS320F28P659SH-Q1:从 F28P65X Launchpad 迁移时 CAN 通信出现问题

Guru**** 2468560 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1476481/tms320f28p659sh-q1-issue-in-can-communication-while-migrating-from-f28p65x-launchpad

器件型号:TMS320F28P659SH-Q1
主题中讨论的其他器件:SysConfigTCAN1043

工具与软件:

您好!

   我正在一个需要建立 CAN 通信的项目中。 我有一个示例项目在我的 C2000 F28P65x Launchpad 中工作、但在我的定制电路板中不工作。 在我的定制电路板中、它具有 F28P659SH6 PTP MCU。 我将使用 SysConfig 进行迁移并更改定制板的 pinmux。 我还创建了一个目标配置文件并将构建配置设置为 CPU1_RAM。

   我正在使用 TI 的 CAN 收发器 IC [ TCAN1043ADRQ1 ]、并通过设置 nSTB = EN =高电平将其设置为正常模式。

   我已经检查了 CAN 错误状态寄存器[CAN_ES]和 CAN 错误计数器寄存器[CAN_ERRC]。 我附上了这些寄存器的屏幕截图以供参考。

  请告诉我、我在迁移过程中错过了任何内容以及如何解决此问题。 提前感谢

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

    尊敬的 Subhash:

    上星期我在 OOO 的时候对延迟的反应表示歉意。

    您能否提供有关测试设置的更多详细信息?

    您如何使用 Launchpad 确认工作示例?

    您是否还可以在定制硬件上探测 TX/RX 和 CAN_H/CAN_L 线路并提供屏幕截图?

    此致、

    Zackary Fleenor

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

    您好、Fleenor、

        我的测试设置包含 C2000: F28P659SH6 PTP MCU、其中 GPIO 70和 GPIO 71连接到 TCAN1043ADRQ1 CAN 收发器 IC 的 Tx 和 RX 引脚。 我已附上所需的屏幕截图。 PFA。

    LaunchPad:CAN_H 和 CAN_L

    定制板:

    TX 和 Rx:

      

    2. CAN_H 和 CAN_L:

    如果我还需要其他信息、请告诉我

    谢谢!

    子哈希

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

    尊敬的 Subhash:

    感谢您提供这些屏幕截图。 根据这些信息、MCU 似乎已正确配置以提供正确的 CAN TX 信号、但 CAN 收发器实现似乎存在问题、因为这没有反映在 CAN_H/CAN_L 端子上。

    您能否提供 TCAN1043A 配置的原理图?

    在快速查看相关的数据表后、我有以下问题:

    1) 1)您可以在此操作期间确认 nFault 引脚的状态吗?

    2) 2)您是否会将 WAKE 引脚一直拉高或拉低、以防止不必要的 LWU 请求?

    3) 3) EN 和 nSTB 引脚的配置是什么?

    此致、

    Zackary Fleenor

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

    您好、Fleenor:

      请在下面找到答案。

    1) 1) 您可以在此操作期间确认 nFault 引脚的状态吗?

      答: nFault 引脚处于低电平状态。 已在下面附上示波器屏幕截图。

    2) 2) 您是否会将 WAKE 引脚一直拉高或拉低、以防止不必要的 LWU 请求?

      答: WAKE 管脚被拉低。 原理图随附以进行验证。 WAKE 引脚在 MCU 中配置为 GPIO 输出、并将其设置为 OUTPUT LOW。

    3) 3) EN 和 nSTB 引脚的配置是什么?

      答: EN 和 nSTB 在 MCU 中配置为 GPIO 输出、并将它们都设置为 OUTPUT HIGH。 随附了示波器屏幕截图和原理图以进行验证。

    CAN 原理图:

    nFault、EN 和 nSTB 的示波器屏幕截图:

    谢谢!

    子哈希

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

    嘿、Subash、

    您能否展开收发器原理图快照并同时显示 INH、VIO 和 VCC 连接?

    根据以上所述、问题似乎与 MCU 器件无关、而是与收发器有关。

    您是否还可以提供唤醒信号的示波器快照?

    我将再分配该线程、以便让 TCAN1043应用专家进行审查。

    此致、

    Zackary Fleenor

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

    Fleenor、

    感谢到目前为止的帮助。

    Subhash、

    您的器件似乎处于睡眠模式。  正如 Fleenor 建议的、您是否能发送 INH 以及 nSTB、EN、VCC 和 VIO 的过高波形?  

    此致、

    Eric Hackett  

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

    Eric、您好!

    我在下面附上了 INH、VCC 和 VIO 波形的示波器快照。 EN、nSTBN 和 nFault 的波形相同、这些波形在之前的响应中附加了。

    请仔细看一下、如果我需要任何内容、请告诉我

    原理图:

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

    您好、Fleenor:

    感谢您的帮助、我在下面附上了 CAN 的完整原理图。 我从 WAKE 信号获得0V 电压。

    谢谢!

    子哈希

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

    尊敬的 Subhash:  

    感谢您分享该新波形。  

    由于 INH 为低电平、这表明 TCAN1043A 处于睡眠模式、如 Eric 所述。 要从睡眠模式进入正常模式、EN 必须为高电平、并且需要在 nSTB 上进行低电平到高电平转换。 我建议查看数据表中的图8-4及其下面的段落(4和5):

    此外、请确保您使用的 TCAN1043数据表正确 A. 其他版本具有不同的退出 SLEEP 模式的方法。 一旦 INH、EN、nSTB 都为高电平、这表示 TCAN1043A 处于正常模式、TX 可以在该模式下发送到总线。

    此致!

    Ethan

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

    尊敬的 Ethan:

    我已经连接了 INH 和 TX 引脚的波形、在使 INH 引脚变为高电平后、TX 引脚也变为高电平。 之前、当 INH 处于低电平状态时、我可以看到 TX 引脚中的波形[上面响应中附加的波形]。 请参阅下面的波形。

    我已确保 INH、nSTB 和 EN 引脚均为高电平、我参考的是  TCAN1043 A  规格数据表中。

    谢谢!

    子哈希

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

    尊敬的 Subhash:

    您是否仍然无法在总线上通信?

    TXD 为逻辑输入、未连接到 INH。  

    如果 INH、NSTB 和 EN 都为高电平、但仍然无法通过 TXD 在总线上进行通信、则您可能处于静音模式、其中禁用了驱动器。 这是由 TXD 钳位标志引起的(第8.3.7.1.5节)。 应用部分)。 如果在进入正常模式时 TXD 为低电平、TCAN1043A 将进入静音模式。 在这种情况下、请确保 TXD 为高电平、并在将信号传输到 TXD 之前添加延迟(1ms 有效)。 这将允许器件完全进入正常模式、而不会触发 TXDCLP。

    如果问题解决了、请告诉我、

    Ethan

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

    尊敬的 Ethan:

    即使在传输之前延迟之后仍然无法传输数据。  

    1.在 EN 上电期间、nSTB 和 INH 变为高电平、然后我将其移至调试模式、在运行时、EN 和 nSTB 引脚变为低电平。 在最初 EN 变为低电平、并在2.3us 后、nSTB 变为低电平。

    2.完成初始化后我再把 EN 和 nSTB 引脚设置为高电平 完成初始化过程大约需要40us、然后将 nSTB 引脚设置为高电平、然后在20us 后、我将 EN 引脚设置为高电平。

    3.所有这些情况下 INH 引脚的状态都是高电平。

    RXD 和 nFault 引脚为低电平。

    5、此顺序任意影响模式。 我觉得它不会进入正常模式。

    如果可能、我们可以在通话中同步并整理此问题、这将非常有帮助。

    谢谢!

    子哈希

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

    尊敬的 Subhash:

    在尝试进入正常模式时、请将一个波形与 EN、nSTB、INH 和 nFAULT 全部共享。 这是我帮助解决此问题的最佳方式。  

    1. 在 EN 上电期间、nSTB 和 INH 变为高电平、然后我将其移至调试模式、当我运行时、EN 和 nSTB 引脚变为低电平。 最初 EN 变为低电平、2.3us 后 nSTB 变为低电平。[/报价]

    我不熟悉调试模式、但 EN 和 nSTB 变为低电平是由于控制器配置所致。 我将检查 nFAULT 状态与控制器端的 EN 和 nSTB 变为低电平是否相关。   

    2. 完成初始化后、我会再次将 EN 和 nSTB 引脚设为高电平。 完成初始化过程大约需要40us、然后将 nSTB 引脚设置为高电平、然后在20us 后、我将使 EN 引脚设置为高电平。

    如果器件之前处于待机模式(EN=低电平、NSTB=低电平、INH=高电平)、则 TCAN1043A 应该处于正常模式。 所以、您此处的方法是正确的。

    4. RXD 和 nFault 引脚为低电平。[/报价]

    但是、nFAULT 为低电平可能是一个有用的指示。 nFAULT 可能处于低电平的原因有多种(数据表中的表8-1对此进行了解释)。 特别是表中的"局部故障"部分说明了器件将在正确的条件下进入静音模式。 此模式禁用了驱动程序、这可以解释您无法通信的原因。  

    在查看请求的其他波形后、我们无法确定根本问题、我们当然可以进行调用。  

    此致!

    Ethan

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

    尊敬的 Ethan:

       我在下面附上了 nSTB、EN、INH、nFault 的波形图像、供您参考。 它是在启动过程中捕获的。 如有任何其他需要、请告诉我。

    谢谢!

    子哈希

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

    尊敬的 Subhash:

    您能解释一下启动过程是什么意思吗? 您是说 VSUP 何时导通至有效电平?

    从该波形中、我们可以看到 nFAULT 为低电平。 这表明系统中的某个位置存在妨碍传输的故障。 有各种 nFAULT=低电平源、因此请查看数据表中的表8-1以了解原因。   

    如果您可以在添加 TX/RX 时通过 EN、nSTB 显示其他波形、并通过 EN、nSTB、CANH/CANL 显示另一个波形、这些波形会很有用。

    此致!

    Ethan