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.

[参考译文] TMS320F28384D-Q1:JTAG 在调试期间重复复位器件

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1118927/tms320f28384d-q1-jtag-repeatedly-resetting-device-during-debugging

器件型号:TMS320F28384D-Q1
主题中讨论的其他器件:TMDXIDDK379DC2000WARETMS320F28384DcontrolSUITETMS320F28388D

您好!  

我尝试将参考项目代码"IDDK_PM_Servo_F2837x-v2"加载到  F28384DPTPQR CPU 上、但无法进入调试状态。   

CCS 调试状态会注意 到器件上正在发生复位。  使用示波器进行探测时、我看到 JTAG 适配器(XDS110)每隔几十毫秒就会出现一次复位。   

有什么想法、问题可能是什么?   

***** 这是设备的输出****  

C28xx_CPU1:GEL 输出:
内存映射初始化完成
C28xx_CPU1:GEL 输出:
(笑声) DCSM 初始化开始...
C28xx_CPU1:GEL 输出:
(笑声) DCSM 初始化完成...
C28xx_CPU1:GEL 输出:
CPU2复位后配置为等待引导。
(如果您以前连接过、可能必须恢复 CPU2才能到达等待引导循环。)
C28xx_CPU1:GEL 输出:
CM 处于复位状态并配置为等待引导。
(如果您以前连接过、可能必须恢复 CM 才能到达等待引导循环。)
C28xx_CPU1:如果在一个内核上执行擦除/编程(E/P)操作、则另一个内核不应从共享 RAM (SR)执行、因为它们用于 E/P 代码。 在对两个闪存组进行编程后、可以开始从 SR 执行用户代码。
C28xx_CPU1:只有 CPU1片上闪存插件可以为 CPU1、CPU2和 CM 闪存操作配置时钟。 当调用 CPU1闪存操作时、插件会自动配置 PLL。 但是、如果用户希望仅执行 CPU2或 CM 闪存操作而不在当前会话中执行先前的 CPU1操作、则应在调用 CPU2和 CM 闪存操作之前单击 CPU1的片上闪存插件中的"配置时钟"按钮。 使用此按钮时、Flash 插件将使用 INTOSC2作为时钟源、将 CPU1/CPU2的时钟配置为190MHz、将 CM 配置为95MHz。 插件将像这样保留 PLL 配置、用户应用应根据应用的要求配置 PLL。
C28xx_CPU1:GEL 输出:
(笑声) DCSM 初始化开始...
C28xx_CPU1:GEL 输出:
(笑声) DCSM 初始化完成...
C28xx_CPU1:GEL 输出:
CPU2复位后配置为等待引导。
(如果您以前连接过、可能必须恢复 CPU2才能到达等待引导循环。)
C28xx_CPU1:GEL 输出:
CM 处于复位状态并配置为等待引导。
(如果您以前连接过、可能必须恢复 CM 才能到达等待引导循环。)
C28xx_CPU1:GEL 输出:
(笑声) DCSM 初始化开始...
C28xx_CPU1:GEL 输出:
(笑声) DCSM 初始化完成...
C28xx_CPU1:GEL 输出:
CPU2复位后配置为等待引导。
(如果您以前连接过、可能必须恢复 CPU2才能到达等待引导循环。)
C28xx_CPU1:GEL 输出:
CM 处于复位状态并配置为等待引导。
(如果您以前连接过、可能必须恢复 CM 才能到达等待引导循环。)

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

    Paul W、

    您正在讨论什么复位(XRSn)(或) nTRST 复位?  

    CCS 输出似乎不建议进行任何复位。 您是否仅在将代码编程到闪存时才看到问题? 当您从 RAM 运行代码时会怎么样?  

    请提供更多详细信息。

    此致、

    曼诺伊

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

     您好、Manoj、

    我看到引脚124 (XRSN)复位。   

    上面连接的错误消息是从 RAM 运行的。  如果我通过 Build 菜单(锤子图标)更改为 Program to Flash、我在 CCS 中会看到类似的错误消息。   

    谢谢、

    Paul

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

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

    Paul、

    则会发生该情况。 您是否使用  RESC 寄存器找到 XRSn 复位的来源?

    此致、

    曼诺伊

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

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

    您正在维修看门狗吗? 看起来看门狗是复位源

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

    您好、Manoj、

    它是一个 TI 参考项目、因此我假设他们已正确设置了所有项目、但前提是:

    主循环开始如下所示:  

    void main(void)
    {
    
    	int mainStat = 1;
        volatile int16 temp;
    
    #ifdef _FLASH
    // Copy time critical code and Flash setup code to RAM
    // The  RamfuncsLoadStart, RamfuncsLoadEnd, and RamfuncsRunStart
    // symbols are created by the linker. Refer to the linker files.
        memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (Uint32)&RamfuncsLoadSize);
    #endif
    
    	//  Initialize System Control:
    	// PLL, WatchDog, enable Peripheral Clocks
    	// This example function is found in the F28M3Xx_SysCtrl.c file.
    	InitSysCtrl();

    这将调用一个以如下方式开始的函数:   

    void InitSysCtrl(void)
    {
        // Disable the watchdog
        DisableDog();
    

    有趣 的是、我在 main 中添加了第一个尝试调试的变量(int mainStat = 1)、但它看起来不像正在设置的那样、因此我不确定我们是否正在进入主循环。   

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

    您是否尝试在不进行修改的情况下运行 TI 示例代码(IDDK_PM_Servo_F2837x-v2)?

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

    嗨、Manoj、

    到目前为止、我唯一的更改是添加"int mainStat = 1;"进行调试、但我将其恢复为原来的状态、并出现相同的问题。   

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

    您使用的是什么板/套件? TI EVM 套件? 或您自己的电路板? 如果您使用自己的板、您是否根据您的板设置时钟 PLL 控制?  

    BTW、此项目仅使用 CPU1、因此您应选择并连接 CPU1以加载/编程代码。

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

    您好、Yanming、

    这是定制板。  开发套件缺货、因此我们无法测试那里的启动。 总的来说、我认为时钟应该设置好、但是我们在代码中没有达到这一点(似乎没有到达 main)。   

    我还尝试更改为内部振荡器、我们也遇到了同样的问题。   

    演示代码正在使用初始化时钟  

    InitSysPll(XTAL_OSC,IMULT_20,FMULT_0,PLLCLK_BY_2); 	
    
    void InitSysPll(Uint16 clock_source, Uint16 imult, Uint16 fmult, Uint16 divsel)
    {
        if((clock_source == ClkCfgRegs.CLKSRCCTL1.bit.OSCCLKSRCSEL)    &&
          (imult         == ClkCfgRegs.SYSPLLMULT.bit.IMULT)           &&
          (fmult         == ClkCfgRegs.SYSPLLMULT.bit.FMULT)           &&
          (divsel        == ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV))
        {
            //everything is set as required, so just return
            return;
        }
    
        if(clock_source != ClkCfgRegs.CLKSRCCTL1.bit.OSCCLKSRCSEL)
        {
            switch (clock_source)
            {
                case INT_OSC1:
                    SysIntOsc1Sel();
                    break;
    
                case INT_OSC2:
                    SysIntOsc2Sel();
                    break;
    
                case XTAL_OSC:
                    SysXtalOscSel();
                    break;
            }
        }
    
        EALLOW;
         // first modify the PLL multipliers
        if(imult != ClkCfgRegs.SYSPLLMULT.bit.IMULT || fmult != ClkCfgRegs.SYSPLLMULT.bit.FMULT)
        {
            // Bypass PLL and set dividers to /1
            ClkCfgRegs.SYSPLLCTL1.bit.PLLCLKEN = 0;
            ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV = 0;
    
            // Program PLL multipliers
            Uint32 temp_syspllmult = ClkCfgRegs.SYSPLLMULT.all;
            ClkCfgRegs.SYSPLLMULT.all = ((temp_syspllmult & ~(0x37FU)) | 
                                         ((fmult << 8U) | imult));
                   
            ClkCfgRegs.SYSPLLCTL1.bit.PLLEN = 1;            // Enable SYSPLL
    
            // Wait for the SYSPLL lock
            while(ClkCfgRegs.SYSPLLSTS.bit.LOCKS != 1)
            {
                // Uncomment to service the watchdog
                // ServiceDog();
            }
    
            // Write a multiplier again to ensure proper PLL initialization
            // This will force the PLL to lock a second time
            ClkCfgRegs.SYSPLLMULT.bit.IMULT = imult;        // Setting integer multiplier
    
            // Wait for the SYSPLL re-lock
            while(ClkCfgRegs.SYSPLLSTS.bit.LOCKS != 1)
            {
                // Uncomment to service the watchdog
                // ServiceDog();
            }
        }
    
        // Set divider to produce slower output frequency to limit current increase
        if(divsel != PLLCLK_BY_126)
        {
             ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV = divsel + 1;
        }else
        {
             ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV = divsel;
        }
    
        // Enable PLLSYSCLK is fed from system PLL clock
        ClkCfgRegs.SYSPLLCTL1.bit.PLLCLKEN = 1;
    
        // Small 100 cycle delay
        asm(" RPT #100 || NOP");
    
        // Set the divider to user value
        ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV = divsel;
        EDIS;
    }

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

    您好!

    快速更新... 我在 CPU1上使用 hello world 模板创建了一个新项目、该项目运行正常、因此我认为我们可以排除硬件问题。  参考项目 "IDDK_PM_Servo_F2837x-v2"甚至无法到达 main()。   

    我正在通过鱼骨图思考、我认为导致这种情况的唯一问题是:

    - #progma config 中的设置不正确

    - 一些其他 CCS 错误

    是否有任何建议的后续步骤?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="519515" URL"~ ~/support/microcontrollers/C2000-microcontrollers-group/CC2000/f/C2000-microcontrollers-forum/1118927/tms320f28384d-q1-jtex-reseta-device-group/c2000-mc2000/f364grms-group/f384gpf-debugmers/tid/f384gtransce64x_f15364gors/texit/f64x_mc2000-reache-guelines#/f384gtransce64x_f64x_msp4gors/t64x_msp4gors/t64x_mers/f15364pf-ngtransce64x_f/f/f64x_f64x_msp4gors/t64x_f/f64x_msp4gors/problemines#t64x_msp4pf-    [/报价]

    您是否在 F28384项目上使用 F2837x 项目? 您是否根据 F28384器件更改项目文件、如.cmd 文件、PLL 时钟、driverlib...

    您是否尝试按如下方式直接使用 MotorControlSDK 中的"fcl_f2838x_tmdxiddk_cpu1.projectspec"? 只需更改 F28384器件的.cmd 文件。

    C:\ti\c2000Ware_MotorControl_SDK_4_00_00\solutions\tmdxiddk379d\f2838x\ccs\sensored_foc

    您可以通过 以下链接下载并安装适用于 C2000 MCU 的 MotorControl 软件开发套件(SDK)。

    C2000WARE-MOTORCONTROL-SDKhttp://www.ti.com/tool/C2000WARE-MOTORCONTROL-SDK

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

    您好、Yanming、

    [引用 userid="35051" URL"~/support/microcontrollers/C2000-microcontrollers-group/C2000/f/C2000-microcontrollers-forum/1118927/tms320f28384d-q1-JTAG-real-reseting-device-during 调试/4154869#4154869"]您是否在 F28384*项目上使用 F2837x 项目[引用]

    是的。   

    [引用 userid="35051" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1118927/tms320f28384d-q1-jtexo-real-reseting-device-during 调试/4154869#4154869"]您是否根据 F28384d-q1-drivercmd 文件更改项目文件、如.lib...

    我以为我是这样做的、但也许我错过了一个吗?  在这种情况下、CCS 会向器件投射错误还是仅向器件进行编程?   

    [引用 userid="35051" URL"~/support/microcontrollers/C2000-microcontrollers-group/C2000/f/C2000-microcontrollers-forum/1118927/tms320f28384d-q1-JTAG-real-reseting-device-during 调试/4154869#4154869"]您是否尝试在 MotorControlSDK[引用]中使用"fcl_f2838x_tmdxiddk_cpu1.projectspec"

    我以前曾做过、但当我尝试将其导入 CCS 时遇到问题:

    接下来、您是否建议我使用"IDDK_PM_Servo"项目或您链接的 FOC 项目?  我有一个 使用 DRV8353FSRTAR 驱动2个电机控制器的单个 TMS320F28384D

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

    请尝试使用 motorcontrolSDK 中包含 controlSUITE 中功能的最新参考。 您可以在文件夹中找到"fcl_f2838x_tmdxiddk_cpu1.projectspec"文件、将该项目导入到 CCS 中、并根据  TMS320F28384D 器件更改 iddk_servoal_2838x_flash_lnk_cpu1.cmd 文件。  

    C:\ti\c2000Ware_MotorControl_SDK_4_00_00\solutions\tmdxiddk379d\f2838x\ccs\sensored_foc

    您可以查看下面文件夹中的用户指南、并按照该指南运行该项目。

    C:\ti\c2000\C2000Ware_MotorControl_SDK_4_00_00\solutions\tmdxiddk379d\docs

    如果您想运行双电机、可以参考参考参考设计"dual_axis_servo_drive_fcl_qep_f2837x.projectspec"和 F28379。

    C:\ti\c2000Ware_MotorControl_SDK_4_00_00\solutions\boostxl_3phganinv \f2837x\ccs\sensored_foc

    并查看双电机文件夹的用户指南。

    C:\ti\c2000\C2000Ware_MotorControl_SDK_4_00_00\solutions\boostxl_3phganinv

    您可能需要根据使用的器件和电路板更改器件配置文件。 或者、您也可以尝试使用与参考设计相同的支持套件、以便快速开始评估。

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

    您好、Yanming、

    当我尝试在"C:\ti\c2000\C2000Ware_MotorControl_SDK_4_00_00\solutions\tmdxiddk379d\f2838x\ccs\sensored_foc"中导入项目时、我收到以下错误:"请参阅下面的详细信息...导入项目'sensored_soc'失败、因为无法解释其元数据。 请联系支持部门。"

    我们可以通过视频调用来实时调试吗?   

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

    尝试重新安装电机控制 SDK 并将工程导入新的 CCS 工作区。 最好使用推荐的 CCS 版本或更新的 CCS 版本。

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

    您好、Yanming、

    我重新安装了电机控制 SDK 并创建了一个新的工作区、但遇到了相同的错误。  我在 CCS 11.2上。   

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

    有趣。 您使用的是什么操作系统? 如何在 CCS 中导入工程? 您能否提供更多详细信息、因为我们无法重复上述问题?

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

    您好、Yanming、

    我在 Windows 10上。  我正在通过项目>>导入 CCS 项目菜单导入。   

    您今天是否有时间接听电话、我们可以现场直播?   

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

    抱歉。 让我们尝试在 E2E 论坛上解决问题、您可以发布一些捕获的图表或视频来展示您遇到的问题。 谢谢!

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

    您好、Yanming、

    错误捕获在线程中从(2)天前开始向上。  是否需要其他数据?  

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

    项目名称不正确。 请检查您是否按照指南将正确的项目导入到 CCS ROM 相关文件夹中。

    如果您没有做任何更改、项目名称是"FCL_f2838x_tmsxiddk_CPU1"。

    使用以下文件夹中的"fcl_f2838x_tmdxiddk_cpu1.projectspec"。

    C:\ti\c2000Ware_MotorControl_SDK_4_00_00\solutions\tmdxiddk379d\f2838x\ccs\sensored_foc

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

    您好、Yanming、

    我看到文件夹"C:\ti\c2000\C2000Ware_MotorControl_SDK_4_00_00\solutions\tmdxiddk379d\f2838x\ccs\sensored_foc"中的 fcl_f2838x_tmdxiddk_cpu1.projectspec"文件、当我在导入 CCS 项目文件夹中选择此文件夹时、它仅显示 sensoc_projects。   

    该目录是 motorControl SDK 的全新安装、因此该目录中没有任何更改。  

    我可以毫无问题地导入 F2837x 的项目、但 F2838x 不导入。   

    我认为就该主题进行远程桌面会话会更高效吗?

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

    您应该会看到如下两个项目并选择"FCL_f2838x_tmsdxiddk_CPU1"。 如果不是,请卸载 PC 上的电机控制 SDK,并从链接下载软件,以默认重新安装软件。 请勿更改原始文件夹中的任何内容、只 需按照指南从文件夹" C:\ti\c2000\C2000Ware_MotorControl_SDK_4_00_00_00\solutions\tmdxiddk379d\f2838x\ccs\sensored_foc"中导入工程即可。

    C2000WARE-MOTORCONTROL-SDK: http://www.ti.com/tool/C2000WARE-MOTORCONTROL-SDK

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

    您好、Yanming、

    我卸载了电机控制 SDK 并重新安装了该 SDK、并尝试按照此处的指南导入项目:  "文件:///C2000:/ti/C2000Ware_MotorControl_SDK_4_00_00_00/solutions/tmdxiddk379d/docs/IDDKv2.2.1_UserGuide.pdf。"   

    我在您列出的文件夹中看到的唯一项目是"sensored_soc"。   如果我尝试导入、我会遇到与以前相同的错误。   

    在这个问题上、使用论坛似乎效率极低(现在已经10天了)。  我们可以将其移至电子邮件+视频会议会话吗?   

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

    这很奇怪、没有人报告过与您提到的相同的问题。 您能找到"fcl_f2838x_tmdxiddk_cpu1.projectspec"并将其附加到该论坛上。 此外、您还可以在论坛上录制视频并发帖、以展示您所执行的操作步骤。

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

    文件已附加:

    论坛不允许我上传视频。   

    e2e.ti.com/.../7242.fcl_5F00_f2838x_5F00_tmdxiddk_5F00_cpu1.zip

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

    是否安装 C2000Ware? 您是否可以尝试按如下所示在 C2000Ware 文件夹中导入 F2838x 的任何项目?

    C:\ti\c2000\C2000Ware_ \driverlib\f2838x\examples\c28x

    似乎有人可以在论坛上上传视频、您可以尝试单击"Insert"->"Image/Video/File"->"Upload"

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

    您好、Yanming、  

    我可以从 C200ware 导入项目、但电机 SDK 项目不起作用。 文件大小有限制、因此我无法上传视频。   

    为了提高这个问题的处理速度、我希望这次对话能分为两个方向之一:   

    A) 您认为这是电机控制 SDK 上的一个错误: 让我们开始与此 SDK 的软件工程师通过电子邮件进行对话。   

    b) 您认为这是一个用户错误: 让我们进行视频呼叫、以便我们排除此错误。   

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

      您可以尝试通过 Resource Explorer 导入它吗?

    CCS 菜单->查看-> Resource Explorer->软件->C2000Ware_MotorControl_SDK-4.00.00.00.00.00.00->开发套件->TMDXIDDK379D->示例项目->F2838x->DesignDRIVE->(CPU1)使用 FCL-> Import 连接 EtherCAT 的 PMSM 控制

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

    您好、Yanming、

    此项目看起来能够使用 Resource Explorer 正确安装。  但是、当我以这种方式安装项目时、某些组件(如 PWM)似乎未正确配置。   

    TI 是否已针对"F28384DPTPQR"处理器对该项目进行了实际测试?  

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

    它已经使用 F28388D controlCARD 进行了测试。 您可能需要根据  F28384DPTPQR 更改某些文件、可能只有存储器的.cmd 文件、 F28384DPTPQR 不支持 etherCAT。 F28384DPTPQR 上的其他外设似乎 应该与 F28388D 相同。

    请提供有关上述问题的更多详细信息吗? 如何更改 F28384DPTPQR 的示例?

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

    您好、Yanming、

    我仅在 TMS320F28388D.CCXML 文件中进行了更改。  我没有更改任何其他文件。   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [~ userid="519515" URL"/support/microcontrollers/C2000-microcontrollers-group/CC2000/f/C2000-microcontrollers-forum/1118927/tms320f28384d-Q1-JTAG-real-reseting-device-during 调试/4161857#4161857"]似乎未正确配置某些组件、例如 PWM。   [/报价]

    有关这方面的任何详细信息? 如果只是将器件从 F28388D 更改为 F28384D、则似乎没有上述问题。

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

    您好、Yanming、

    当我使用示波器检查 DSP 的 PWM 输出时、它们根本不会切换。 因此、我希望有人跳过视频呼叫来执行代码并查看 PWM 输出的启用位置、以确保项目不会出现某种错误。   

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

    请看一下应用报告、如下链接可在"C:\ti\c2000Ware_MotorControl_SDK_4_00_00_00\solutions\tmdxiddk379d\docs"文件夹中找到。 请注意、这些示例基于 TI EVM 套件(TMDXIDDK379D +  TMDSCNCD28388D)、并且可以在 TI 套件上顺利运行电机。 如果要在自己的电路板上运行代码、则需要对器件配置进行一些更改。

    使用快速电流环路对 PMSM 进行快速响应控制

    https://www.ti.com/lit/spracl1

    在 PMSM 上使用快速电流环路、基于 EtherCAT 的互联伺服驱动器

    https://www.ti.com/lit/spracm9b

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

    您好、Yanming、

    是的、我阅读了此文档、但它实际上并不适用。  我们在此遇到的问题不是对电机控制器工作原理的理解、而是此芯片上 CCS 的低级驱动程序配置的问题。  我们甚至还没有达到调试这些手册中描述的任何更高级别应用代码的目标。   

    我们有一个类似的设计、该设计已经与非 TI 处理器一起运行、并一直在尝试查看我们如何从 TI 获得第二个来源。  我们的长期目标是也将此代码移植到 C2000、但我们希望演示代码可以让我们加快此过程。    

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

    尊敬的 Paul:

    我们已将此主题转移给另一位专家以寻求帮助、但他们本周已不在办公室。 请最迟在周一回复

    此致、

    Peter

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

    尊敬的 Paul:

    您是否在定制板上使用不同的器件引脚/信号来生成 PWM? 如果是这样,则需要在 main()的子函数中更改引脚/信号配置。 请参阅第763行之后的初始化函数(// GPIO 配置)。

    如果您不熟悉 C2000、最好从 C2000WARE 安装中的更简单 PWM 软件示例开始。 以方便您使用。

    C:\ti\c2000Ware_4_01_00_00\driverlib\f2838x\examples\C28x\ePWM

    最棒的

    Kevin

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

    尊敬的 Kevin:

    否、我使用的是 ePWM 1-6 (总共12个 PWM)。  演示代码不会在这些 PWM 中的任何一个上输出。   

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

    尊敬的 Paul:

    [~ userid="519515" URL"/support/microcontrollers/C2000-microcontrollers-group/C2000/f/C2000-microcontrollers-forum/1118927/tms320f28384d-Q1-JTAG-real-reseting-device-during 调试/4171131#4171131]\n 这些 PWM 上均未输出演示代码。   [/报价]

    具体使用哪种演示代码? 如果您使用哪个构建级别的 IDDK 示例之一?

    我建议使用 C2000WARE 软件示例从更简单的方法开始、至少查看一些 ePWM 信号输出。 这也会验证硬件。

    或者、模块7控制外设部分介绍 ePWM 模块详细信息、并随附一个软件示例。

    https://dev.ti.com/tirex/explore/node?node=AOpze8ebskysmgASY3VKSA__jEBbtmC__LATEST

    最棒的

    Kevin