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.

[参考译文] TMS320F2.8377万S:用于OST的TZCLR不工作

Guru**** 2484615 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/633503/tms320f28377s-tzclr-for-ost-not-working

部件号:TMS320F2.8377万S

大家好,

我现在有一个交叉存取同步降压转换器,我用微控制器来控制。  我还与外部FPGA通信,后者提供外部控制环路,并发送信息,例如是否打开或关闭转换器。  我目前使用ADC PPB和片上比较器来生成直流模块输出。  工作正常。  对于开/关控制,我从FPGA读取数据,查找特定位模式,如果模式不存在,则根据微控制器读取的内容发送TZFRC命令,或者如果存在TZCLR,则发送TZCLR。  但是,我的功能有问题。  配置TZFRC响应的文档有点不清楚。  所有OSHT寄存器都寻找来源TZ1-6,这与TZFRC的关联方式以及反应不明确。  当我按如下所示配置PWM模块时,我永远无法清除OSHT标志

   EALLOW;
   EPwm1Regs.TZsel.bit.OSAHT1 = TZ_enable;
   EPwm1Regs.TZCTL.bit.TZA = TZ_FORT_LO;
   EPwm1Regs.TZCTL.bit.TZB = TZ_FORT_LO;
   EDIS;

如果我放弃此步骤,微控制器能够清除寄存器,但PWM输出仍处于活动状态。  我在想为什么我不能在一个案例中清除OSHT标志,而不能在另一个案例中清除。  如有任何帮助,我们将不胜感激。

Lance

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

    您好,Lance,

    您当前所在的文档区域相当复杂,比较容易混淆。  我们将在未来寻求改进,但这并不会真正阻止它变得复杂:)。  这里的数字通常值千言万语。

    我建议广泛研究两个数字:
    [1]跳闸模式子模块模式控制逻辑  (当前为F2837xS TRM中的图13-41)
    [2] ePWM跳闸输入连接(当前为F2837xS TRM中的图13-49)

    注:
    1)在[2]中为[1]定义了TZ1-6。
    2)请注意,在[2]中,TZ1-3来自输入Xbar -此外,请注意,重置时,每个INPUTXBARn的默认GPIO设置为GPIO00
    3)您可以看到TZFRC和TZCLR如何流入[1]中的跳闸区域子模块
    4)我建议从TZCTL配置每个位字段,假设您使用的是TZCTL2[ETZE]= 0。  默认值通常不是所需的。  例如,如果您希望OSHT跳闸影响ePWMA,则应根据需要配置TZCTL[TZA],但DCAEVT1/2应显式配置为“无”(除非您尝试执行某些特殊操作)。  [1]并且它周围的文字应该有助于澄清我为什么说我是什么。

    我假设您的情况是GPIO00仍被设置为INPUTXBAR1的默认GPIO。  这就迫使TZ1跳过您的PWM,并将其移动到您的TZFRC/TZCLR被遮挡的位置。

    希望这能有所帮助!


    谢谢!
    Brett