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.

TMDSHV1PHINVKIT调试问题

我在使用TMDSHV1PHINVKIT开发板调试时在做INCR_BUILD 3时 用GUI开动时,设备要不并网电流出现瞬间就停止然后提示直流母线过压,要不就先显示进入逆变模式可以看到逆变电流形成,然后工作几秒后就停止,仍然会提示直流母线过压。我直流源使用的是DC380V/2A 。dwVoltageLoopOutConst我设置的是输出恒流源是2A的系数。做220V/50HZ并网。程序中电压环应该是不工作的,为什么还会出现DC母线过电压呢?不是很明白,希望技术人员给解答一下。谢谢!

此外,还有一个问题,之前看一个帖子中说过关于LOAD SYMBOLS的问题,技术人员解释过程是:上电, 打开CCS->connect, load symbols only, 不要load .out文件, 打开disassembly window反汇编窗口, 跟踪PC指针的运行。我想问一下关于跟踪PC指针的运行是如何实现的?我在CCS里没有找到这个功能,麻烦也解答一下吧。谢谢!

  • 第二个问题,load symbols的前提是板子里已经烧写了程序,因为某些原因断开,不想再烧写,需要连接仿真器。PC指针可以在register窗口的core register 中查到。根据你的描述,反汇编窗口单步跑其实就是在跟踪PC指针了。

    ERIC

  • 十分谢谢 

    就是我在调试TMDSHV1PHINVKIT开发套件的时候遇到点问题。在进行INCR_BUILD=3的调试时,总会出现直流母线电压高,但是又无法直接找到问题所在。就想通过REAL TIME找一下。就是在这种逆变器或者电机控制的程序里,断点应该怎么设置才好。因为要是随便设置的话很可能导致程序失控,损坏电路。


    我之前调试的时候,当程序因故障停止后,出现如下图问题:

    请问这个是什么问题?

  • 1. 如果要实时看变量而且有些时候还要设断点,建议升级到最新的CCS6版本,这个版本不用点击real time的模式,可以直接点击expression窗口的连续刷新按钮就可以实时看变量更新了。

    2. 如果在大功率的调试中,想要设断点,又怕损坏电路,建议使用以下功能:

    PWM有一个TZ6信号,这个信号是连仿真器时,暂停或断点的时候会产生的信号,可以配置TZ模块用这个信号来关掉PWM。

    // -Cycle by cycle trip on CPU halt
    // -One shot fault trip zone
    // These trips need to be repeated for EPWM1 ,2 & 3
    EALLOW;
    EPwm1Regs.TZSEL.bit.CBC6=0x1; // TZ6 in CBC
    EPwm2Regs.TZSEL.bit.CBC6=0x1;
    EPwm3Regs.TZSEL.bit.CBC6=0x1;

    //No TZ1 select
    EPwm1Regs.TZSEL.bit.OSHT1 = 1; //enable TZ1 for OSHT
    EPwm2Regs.TZSEL.bit.OSHT1 = 1; //enable TZ1 for OSHT
    EPwm3Regs.TZSEL.bit.OSHT1 = 1; //enable TZ1 for OSHT

    // What do we want the OST/CBC events to do
    EPwm1Regs.TZCTL.bit.TZA = TZ_FORCE_LO; // EPWMxA will go low
    EPwm1Regs.TZCTL.bit.TZB = TZ_FORCE_LO; // EPWMxB will go low

    EPwm2Regs.TZCTL.bit.TZA = TZ_FORCE_LO; // EPWMxA will go low
    EPwm2Regs.TZCTL.bit.TZB = TZ_FORCE_LO; // EPWMxB will go low

    EPwm3Regs.TZCTL.bit.TZA = TZ_FORCE_LO; // EPWMxA will go low
    EPwm3Regs.TZCTL.bit.TZB = TZ_FORCE_LO; // EPWMxB will go low

    // Clear any spurious OV trip
    EPwm1Regs.TZCLR.bit.OST = 1;
    EPwm2Regs.TZCLR.bit.OST = 1;
    EPwm3Regs.TZCLR.bit.OST = 1;

    EDIS;

    这样当仿真器暂停的时候,PWM会在20ns内关掉,就不用担心损坏电路了。

    Eric