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.

[参考译文] TMS320F280049C:SPRACO3 SYSCTL_DELAY ()

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1028574/tms320f280049c-spraco3-sysctl_delay

器件型号:TMS320F280049C
主题中讨论的其他器件: C2000WARELAUNCHXL-F280049C

大家好、我正在尝试使用3PhGaNInv Booster 板评估 TMS320F280049C Launchpad。 我已经浏览过 SPRCO3文档(可在该 TI 链接中找到): https://www.ti.com/lit/an/spraco3/spraco3.pdf?ts=1629130699832&ref_url=https%253A%252F%252F

我收到以下错误:

"在 C:/Users\Dani\dual_axis_driv\dual_axis_m伺 服驱动器_FCL_QEP_f28004x\F28004x_RAM\dual_axis_m伺 服驱动器_FCL_QEP_f28004x.out:{3}0x3fb024A"

Dan

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

    SYSCTL_DELAY()是一个汇编宏,因此 CCS 在显示源代码时遇到了问题,就像显示正常的 C 函数一样。 您可以在 driverlib sysctl.c 文件中找到该代码(如果您想查看)。

    无论如何、SYSCTL_DELAY ()中没有 ESTOP0指令、因此它看起来实际上并不是在这里执行的指令。 从地址可以看出、这是引导 ROM 中的"等待引导"模式。

    加载程序后是否会立即发生这种情况? 如果您在 CCS 中点击了 RESET 和 RESTART 按钮,您可以将其转至 main(),还是它一直卡在0x3fb02a 上?

    惠特尼

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

    您好、惠特尼加载后、它立即卡在这条线路上。 如果我执行重新启动、然后进行复位、则会转到另一行代码(但我只能在"Disassembly"视图中看到该行)。 然后我可以单步执行代码、但是如果我点击"Resume"、它会再次卡在该指令上。

    显示 源代码的问题是否 与您提到的有关汇编宏的问题有关? (我可能只是误解了这里的内容)

    此外、当 我对代码执行"重新编译"时、我会得到以下内容:

    清理完成后、它会成功构建。 这是否会导致问题? 我检查了位置、看起来这些文件存在、但文件路径的第二行到最后一行位于正斜杠(\sources/、\src_device/、\src_driver/等)之间、不是实际文件路径的一部分。

    非常感谢您的回复、如果有更多信息、请告诉我。

    Dan

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

    只要工程在末尾编译、重建过程中的清理步骤中的错误就不会成为问题

    似乎您正在获得一个额外的复位、该复位会使您返回到引导 ROM 中。 您能否转至 Tools -> Debugger Options -> Program/Memory Load Options、然后在未选中"Reset the target on a program load or restart"(在程序加载或重新启动时重置目标)框的情况下尝试执行此操作(如果尚未取消选中)?

    惠特尼

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

    您好、Whitney、以下是我选择的选项。 我取消选择了"在程序加载或重新启动时设置目标"(文档说明已要求我选择该目标)、但结果相同。 以下是调试屏幕:

    很抱歉、我在过去的几周内生病了、回复延迟。

    Daniel

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

    在调试视图中、如果您转到"Scripts"->"EMU 引导模式选择"->"EMU_BOOT_RAM"、然后尝试重置并重新启动、这是否会有所不同?

    在"Registers"视图中、您能否查找 CpuSysRegs.RESC 并查看设置了哪些位?

    您使用的是哪个版本的 MotorControl SDK? 您是否曾尝试过其他一些 C2000Ware 示例、并确认只有此应用程序存在此问题?

    惠特尼

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

    我认为这可能已经解决了额外复位指令的问题。 但是、我仍然无法看到在导入的图中生成的任何类型的波形。 明天我可以花更多时间来玩这个游戏、并为您提供更多详细信息。

    我的电机控制 SDK 版本是3.02.00.00。 这是您想要查看的寄存器。

    一个月左右之前、我已经完成了一些示例项目、以熟悉 LaunchPad (没有 Booster 板)。 但是、我认为这是唯一一个具有针对电路板组合配置的文件的项目、并且无法使其 超过第一个构建阶段。 我们对双电机应用并不感兴趣、只是想了解如何使电机在此运行。  

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

    感谢您分享 RESC reg。 似乎 CCS 仍在执行某种操作来重置器件-而不是看门狗或硬件问题。 我有点惊讶"在程序加载或重新启动时重置目标"不是问题(该指令应该从文档中删除)。

    EMU_BOOT_RAM 将仿真引导配置设置为从 RAM 引导、因此即使它获得了复位、它也会开始从 RAM 执行您的应用程序、而不是卡在等待引导中。 因此、它并不能真正解释额外复位的来源、而是解决问题。

    您能看到 isrTicker 在递增吗?

    惠特尼

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

    是- ISR ticker 正在递增。

    我之前在另一个涉及看门狗的文档(TMS320F28004x 微控制器技术讲座)中完成了系统初始化实验。 但我认为这不会影响我们在这里所做的工作?

    我连接了一个示波器、以检查它是否未显示在 CCS 中。 电源已打开 并进入 Booster 板 、但没有 PWM。

    在文档的第28页上、有一条关于实时选项的正确复位程序的警告(在说明的开头似乎最好这样做哈哈)。 我 无法想象我每次花时间处理这个问题时都能正确地完成这个过程。 问题是否与此相关(是否有办法让我检查)?

    再次感谢!

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

    Daniel、您好!

    现在您已经完成了 ISR 检查、您指的是什么问题。

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

    Daniel、您好!

    [引用 userid="496005" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1028574/tms320f280049c-spraco3-sysctl_delay/3816411 #3816411"]是- ISR ticker 正在递增。

    您是否将项目优化降低到0或1并提高速度1或2? CCS 调试 F5或 F6通常会跳过应用程序代码、并将优化设置为全局。 单击 View (视图)以添加并检查调试中的 Break Points (断点)选项卡。   

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

    您好 Ramesh、根据上面的帖子、问题一直在生成 PWM 波并将其显示在导入的图形中。 假设代码此时应该这么做、我是否错了?  除了应该设置的"Expressions"窗口中的 enableFlag 之外、还有其他值吗? (我尝试编辑了与 p 24底部提到的变量关联的表达式)。

    当我运行代码时、CCS 首先冻结几分钟并显示以下值:

    我不确定这些数字来自哪里。 几分钟后、我能够编辑使能标志、将其设置回1、并且图形中的电压降至0。

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

    您好、GI、编译器中的优化级别(如果这是您的意思)设置为4、然后"速度与尺寸折衷" 5。 我将尝试改变这种情况(但编译优化不应影响输出文件(还是有其他项目优化设置)?

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

    Daniel:

    您要评估的构建级别是什么? 我假设您处于1级。

    用户指南应能帮助您进行评估。 用户指南中的说明是否不清楚?  

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

    您好、Ramesh、我处于构建级别1、这是正确的。 说明足够清楚;不清楚的是 、当我不最终得到说明的预期结果时、会发生什么错误。  我曾尝试密切关注这些问题、并多次进行讨论、但我可能错过或未能理解某些问题。 根据用户指南 、您是指上述文档(SPRACO3)还是其他文档?

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

    Daniel、您好、请给我们几天时间了解我们可以提供哪些帮助。

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

    谢谢、我非常感谢。 如果有更详细的信息、请告诉我。

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

    请确保双 BOOSTXL-3PHGAN 逆变器板已连接到 LAUNCHXL-F280049C、如用户指南中所述。

    2.请在将"enableFlag"设置为"1"后检查 motorVars[0].isrTicker 和 motorVars[1].isrTicker 是否正在增加。

    3.请检查 motorVars[0].tripFlagDMC 和 motorVars[1].tripFlagDMC 是否等于"0"、否则表示 BOOSTXL-3PHGAN 未正确连接。

    BTW、请无需启用器件实时模式即可在 F28004x 上运行代码。

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

    两个振荡器都将递增。 MotorVars[0].tripFlagDMC 的值为0、motorVars[1].tripFlagDMC 的值为3。 我想我曾经假设 这种情况只在连接了一个逆变器板的情况下运行。 谢谢!

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

    是的。 如果您没有两个 boostxl 板、则可以使用此示例运行一个电机、尽管它用于双电机控制。

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

    好的、我使用它是因为它是我能够找到的电机控制示例代码、而不是因为它用于双电机控制。