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.

[参考译文] CCS/TMS320F28377D:28377D 中的电源复位后无法正常工作

Guru**** 2539500 points
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE, ISO1050

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/594556/ccs-tms320f28377d-can-not-working-after-power-reset-in-28377d

器件型号:TMS320F28377D
Thread 中讨论的其他器件:controlSUITEC2000WAREISO1050

工具/软件:Code Composer Studio

您好!

我将使用两个具有28377D 控制器的定制开发板。 在通过 CAN 通信建立两个控制器(板)之间的连接时、我遇到了以下问题:

在正常情况下、当两个电路板同时连接到电源时、通信已正确完成。 甚至我检查了 CAN 总线上的数据。 它工作正常。

但是、如果其中一 个电路板先供电、然后 在一定的时间延迟后提供其他电路板、则 CAN 通信将无法正常工作。  

我已经检查了 CAN 的初始化部分。 我对处理器间启动模式的运行有疑问。 与 CPU1软件一样、我已将 Cana 模块的所有权授予 CPU2。 我已经在 CPU2中编写了 CAN 的整个代码以及初始化代码。  

我也检查了 CANES 和 CANCTL。 无错误标志为高电平。  自动总线打开被保持在高电平。  

其中一个电路板的电源复位后、CAN 通信无法正常工作。 总线上没有数据。 但消息 RAM 中断即将到来。

如果此问题仍然存在、在两个节点之间建立 CAN 后、如果我要添加第三个节点、则它将不起作用。

请帮帮我!!!

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

    大家好、

    我的设置具有多达8个28377D 节点、每个节点都可以独立加电。  我尝试  为每个28377D 加电大约5秒钟、直到全部8个节点加电。  CAN 通信(发送/接收)工作正常、与节点的上电序列无关。

    根据您的描述、似乎您正在正确配置 CAN 模块(没有错误标志)。

    供您查看的几个项目/问题:

    -检查在为28377D 板加电时收发器是否也已加电。

    -您选择的 CAN 时钟源是什么?  上电/复位后、这个时钟源是否稳定?

    此致、

    Joseph

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

    您建议的检查、在仔细检查之后、我进行了以下检查。
    1) 1)我的两个定制板是相同的。 两者都具有相同的硬件设置、相同的时钟源、相同的晶体和相同的电源 IC。 整个配置是相同的。

    为了进行测试、我断开了两个卡之间的 CAN 电缆、并同时为它们通电(两个卡都与 eachother 没有任何关联、因为它们在 CAN 上完全断开连接)。 现在、如果我在两个卡之间连接电缆、通信工作正常。

    现在已经完成了类似的测试、但在5到10秒的间隔内为两个卡加电。 然后、我尝试连接电缆、但电缆无法正常工作。

    在另一项测试中、我在两个卡上按住 RESET 按钮2秒钟、直到它们正确通电(其时钟源稳定)、然后恢复(不允许我的两个 DSP 在2秒钟内读取程序)、 我也观察到了同样的现象。如果我同时给它们加电,CAN 通信将不起作用。

    我使用了隔离式收发器。 因此、正如您提到的、如果为透镜卡的接收器和 DSP 芯片生成的电源时序不同、则会产生问题。 但是、即使存在这种延迟、当两个卡同时上电时、也能正常工作。

    我已经在这16个具有28335 DSP 的自定义开发卡(16个节点)之间进行了通信、我在其中通过访问位字段结构编写了代码。 它在该设置中工作正常。

    我怀疑 API 库是为 CAN(编写的,因为我发现这是28377D 和28335卡之间唯一的区别。

    或者可能是与硬件(电源)相关的问题。
    请帮帮我!!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、

    根据您迄今提供的信息:

     -看起来 SW/CAN API 不是问题:  只要  同时进行上电和复位、您的节点就能够通过 CAN 进行通信。

     - CAN 总线和收发 器似乎不是问题:只要28377D 电路板/节点同时上电、在不同的时间将 CAN 总线连接到不同的节点仍然允许 CAN 通信继续进行。

    此时、我不是说问题出在电源/硬件上、而是让我们来看看您是如何为不同节点供电的、以及28377D 的不同电源轨是如何上电的。

     关于电源的第一个问题: 您的电源提供了多少个电源轨?  1.2V 内核是否有单独的电源轨、3.3V IO 是否有另一个电源轨?或者、您是否只有一个为各个电路板提供本地 LDO 的主电源轨来为28377D 所需的1.2V 和3.3V 电源轨供电?  是否有一个电源为您的所有节点供电、当您说在不同的时间为电路板供电时、您是否通过主电源来自一个电源的每个电路板上的开关来实现这一点?

     -提出这些问题的原因是,我想确保您同时为3.3V IO 和1.2V 内核电源供电。  如果1.2V 内核首先上电(例如、在您的系统中、如果电力线是共享的、并且3.3V 电源轨上有更大的负载/电容器、这可能会晚于1.2V 电源轨进行斜升)、那么我们无法保证 器件正常运行。  需要确保 1.2V 和3.3V 电源轨同时上电。

     -最后 、请检查 您在连接的电路板之间是否使用公共接地。  如果电路板之间没有公共接地连接、这种情况更常被忽略、并会导致很多问题。

    希望这些指针有所帮助。  如果您仍有问题、请告诉我。

    此致、

    Joseph

     

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

    您好、Joseph、

    我在此处附上的示波器中进行了捕获、以便让您正确理解。

    基本上、在电源部分、我有一个 LDO、即 TPS70445 (具有两个固定输出)。 OUT1为 IO 的3.3V 电源、为内核生成1.2V 电源。

    为了进一步消除噪声、我放置了几个电容器来使其平滑。

    代替 FB1和 FB4、我已将链路短路(无电阻器)。

    现在、对于晶体、我采用3.3V 电源、

    正如您提到的、两个电源(内核和 IO)应该同时打开(也写入器件数据表中)。 我在上电期间尝试捕获波形。 我找到了以下结果。

    这里的通道1 (yello)-时钟电源

    通道2 (蓝色)-内核电源

    通道3 (粉色)- IO 电源

    观察到这些波形后、我怀疑 IOsuppy (3.3V)是首先生成的。 4.3ms 后生成1.2V 内核电源。 因此、如果此延迟在配置过程中导致任何问题、我们可以对电源部分提出疑问。

    我已经阅读了一份应用报告(SLVA073A)、其中重点介绍了双电源 DSP 的电源序列。 在第5页、 他们建议在 IO 之前同时为内核加电、以实现正确的外设操作。在这里、我的结果中、似乎内核是在一段时间后提供的。

    我断开了 CAN 电缆的公共接地。 在中、CAN 电缆 m 仅使用 CANH 和 CANL 引脚、因此仅使用2根导线。

    如果这不是问题、那么我需要重点关注哪个部分。 请指导我。

    感谢您的宝贵回复 Joseph。

    此致、

    符合。

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

    大家好、

    感谢您提供更多详细信息并对电源轨进行示波器截图。  内核和 IO 电源定序似乎不是问题 、但我 对时钟电源有疑问。  您表示黄色是时钟源、您可能意味着黄色是时钟源、在本例中、您将为28377D 提供20Mhz 的时钟源?  如果这确实是到时钟芯片的电源线、那么这是一个问题。  无论如何、我假设这是进入您的 DSP 的时钟。  在我们讨论时钟源主题时、我还有几个问题:

       1) 您是否有时钟芯片的参数、如精度和抖动、是否曾尝试对时钟源进行范围界定?

       2) 当两个节点同时上电以及一个节点一个接一个上电时、您是否有机会单独测量 DSP 的时钟输入?

       3) 设置 CAN 模块时、选择的时钟源是什么?  (即-使用 C2000Ware 或 controlSUITE CAN 例程时、这是 CANClkSourceSelect 函数)。  它是来自 X1输入还是 SYSCLK?

    最后、您是否可以访问 CAN 接口(例如:National Instruments 8473或类似设备)、您可以连接到 PC 以便监控 CAN 总线上的活动?  这将是一个有用的工具、可帮助您监控 CAN 总线活动并简化调试过程。

    谢谢、

    Joseph

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Joseph、
    我的问题终于得到解决。 实际上、它只是与硬件相关的问题。 我已经为 CAN 收发器制造了3.3V 的隔离式电源。 为确保正常运行、电压应介于4.75至5.5V 之间。 我移除了 LDO 并将5V 电压直接连接到 ISO1050 CAN 收发器的次级侧(总线侧)电源。 即使在我的 DSP 上电复位后、它也能正常工作。

    感谢 Joseph 的宝贵答复。
    我想与你进一步联系。 让您分享您的电子邮件 ID。

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

    大家好、

    很抱歉耽误你的回答。  很高兴知道您最终解决了您的问题。  我没有想到这一点、但您描述的症状与 IO 收发器的电源轨不正确是一致的。

    遗憾的是、我们的公司政策是不在论坛中共享我们的电子邮件 ID。  我们的主持人负责监控所有帖子并根据每个专业领域分配这些帖子、这样 E2E 社区就可以从社区成员的响应和体验中受益。  我们的责任有时会发生变化、因此我们不鼓励使用电子邮件在论坛中传达问题。  请继续使用该论坛来传达您对我们产品的问题。  请放心、我们的主持人将尽力分配资源来回答您可能遇到的任何问题。

    此致、

    Joseph