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万D:Hi-Z跳闸区域状态

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

https://e2e.ti.com/support/logic-group/logic/f/logic-forum/569312/tms320f28377d-hi-z-trip-zone-state

部件号:TMS320F2.8377万D
主题中讨论的其他部件:74ACT1.6244万

您好,

PWM跳闸区域的Hi-Z状态存在以下问题:

如果PWM输出信号低且发生跳闸区域事件,则输出引脚保持低电平。 如果PWM输出状态为高且发生跳闸区域事件,则输出引脚从高(3.3V)变为约1.7V,尽管输出端的外部下拉电阻为10kOhm,并且内部GPIO上拉电阻关闭。

您是否有一些想法,问题可能是什么,或者是否实施了一些内部上拉电阻器的Hi-Z状态?

提前感谢您!

Gennadi

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

    您好,Gennadi,

    我的第一个想法是,听起来您的PWM配置可能存在问题。  您能否发布遇到问题的PWM模块的初始化代码?

    此针脚上是否有任何其他电路可能驱动此针脚上的电压? 是否可以将其与系统的其余部分隔离?

    此致,

    克里斯

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

    以下是我们的TZ初始化:

    EALLOW;

    //启用跳闸区域
    epwmAddr->TZsel.bit.CBC2 = TZ_enable;  
    epwmAddr->TZsel.bit.OSAHT3 = TZ_enable;  

    //透明CBC TZ的脉冲
    epwmAddr->TZCLR.bit.CBCPULSE =1;  

    //发生跳闸区域事件时
    epwmAddr->TZCTL.bit.TZA = TZ_HIZ;
    epwmAddr->TZCTL.bit.TZB = TZ_HIZ;

    //清除跳闸区域标记
    epwmAddr->TZCLR.bit.OST =1;
    epwmAddr->TZCLR.bit.CBC =1;
    epwmAddr->TZCLR.bit.INT =1;
    EDIS;

    *****************

    此处是PWM的GPIO初始化:

    EALLOW;

    gpioCtrlRegs.GPEPUD.all || 0xFFFE0000;  
    gpioCtrlRegs.GPFPUD.all || 0x0.0001万ff;  
    GpioDataRegs.gpeclear.all |= 0xFFFE0000;
    GpioDataRegs.GPFCLEAR.ALL |= 0x0.0001万ff;  
    gpioCtrlRegs.GPEDIR.ALL |= 0xFFFE0000;  
    gpioCtrlRegs.gpfDIR.all |= 0x0.0001万ff;  
    GpioCtrlRegs.GPEMUX2.all &= 0x0.0003万;
    gpioCtrlRegs.GPFMUX1.all &= 0xFFFC0000;  


    GpioCtrlRegs.GPEMUX2.bit.GPIO145 = 1;//将GPIO配置为EPWM1A
    GpioCtrlRegs.GPEMUX2.bit.GPIO146 = 1;//将GPIO配置为EPWM1B
    GpioCtrlRegs.GPEMUX2.bit.GPIO147 = 1;//将GPIO配置为EPWM2A
    GpioCtrlRegs.GPEMUX2.bit.GPIO148 = 1;//将GPIO配置为EPWM2B
    GpioCtrlRegs.GPEMUX2.bit.GPIO149 = 1;//将GPIO配置为EPWM3A
    GpioCtrlRegs.GPEMUX2.bit.GPIO150 = 1;//将GPIO配置为EPWM3B
    GpioCtrlRegs.GPEMUX2.bit.GPIO151 = 1;//将GPIO配置为EPWM4A
    GpioCtrlRegs.GPEMUX2.bit.GPIO152 = 1;//将GPIO配置为EPWM4B
    GpioCtrlRegs.GPEMUX2.bit.GPIO153 = 1;//将GPIO配置为EPWM5A
    GpioCtrlRegs.GPEMUX2.bit.GPIO154 = 1;//将GPIO配置为EPWM5B
    GpioCtrlRegs.GPEMUX2.bit.GPIO155 = 1;//将GPIO配置为EPWM6A
    GpioCtrlRegs.GPEMUX2.bit.GPIO156 = 1;//将GPIO配置为EPWM6B
    GpioCtrlRegs.GPEMUX2.bit.GPIO157 = 1;//将GPIO配置为EPWM7A
    GpioCtrlRegs.GPEMUX2.bit.GPIO158 = 1;//将GPIO配置为EPWM7B
    GpioCtrlRegs.GPEMUX2.bit.GPIO159 = 1;//将GPIO配置为EPWM8A
    gpioCtrlRegs.GPFMUX1.bit.GPIO160 = 1;//将GPIO配置为EPWM8B
    gpioCtrlRegs.GPFMUX1.bit.GPIO161 = 1;//将GPIO配置为EPWM9A
    gpioCtrlRegs.GPFMUX1.bit.GPIO162 = 1;//将GPIO配置为EPWM9B
    gpioCtrlRegs.GPFMUX1.bit.GPIO163 = 1;//将GPIO配置为EPWM10A
    gpioCtrlRegs.GPFMUX1.bit.GPIO164 = 1;//将GPIO配置为EPWM10B
    gpioCtrlRegs.GPFMUX1.bit.GPIO165 = 1;//将GPIO配置为EPWM11A
    gpioCtrlRegs.GPFMUX1.bit.GPIO166 = 1;//将GPIO配置为EPWM11B
    gpioCtrlRegs.GPFMUX1.bit.GPIO167 = 1;//将GPIO配置为EPWM12A
    gpioCtrlRegs.GPFMUX1.bit.GPIO168 = 1;//将GPIO配置为EPWM12B
    EDIS;

    *****************

    现在输出上的硬件电路:

    请参阅随附的屏幕截图1。 我还做了一些测试:

    无240欧姆测试 =>如果TZ事件,信号变低(参见屏幕截图2)

    使用240欧姆进行测试 ,但不使用220pF =>如果TZ事件,信号将变为1.7V (参见屏幕截图3)

    屏幕截图1.

    屏幕截图2.


    屏幕截图3.


     

    我仍然不知道什么是问题。 是74ACT1.6244万DGG驱动器输入吗?

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

    我非常怀疑 74ACT1.6244万DGG驱动器输入。 它听起来,在外部电路断开的情况下,Hi-z的工作方式与我们预期的完全相同。  如果您断开240欧姆的连接并检查驾驶员输入端的电压,我估计您会看到一个大于或等于1.7 V的电压 。您可以检查吗?

    此致,

    克里斯

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

    您好,Kris,

    是的,您说得对。 如果我断开 240欧姆的连接,我会看到 74ACT1.6244万DGG的输入端为1,76V,但只要断开连接前输入电压较高。 您有什么想法吗?  什么是74ACT1.6244万DGG的输入电路(我在数据表中找不到)。

    如果我们在输入上有1千欧下拉,它似乎工作正常,但1千欧对于我们的应用来说太小了,对于DSP输出来说是很大的负载。

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

    您能否检查以确保C2000器件上的上拉电阻器已禁用? 这是通过GPxPUD禁用寄存器完成的,其中'x'是引脚的GPIO端口。

    另外,您能否描述一下拆除240欧姆电阻的过程? 驱动器输入是否与C2000侧的下拉电阻器物理断开,因此输入是浮动的?

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

    您好,Kris,

    1)是的,C2000上的上拉已关闭

    2)是的,我断开了74ACT1.6244万DGG的一个输入,因此没有物理连接到10k下拉  

    3)如果我物理上将其连接到3.3V,然后再次断开->我可以在输入上测量1.76V (屏幕截图1)

    4)如果我没有将其连接到某些电压电位->我可以测量输入端的0V (屏幕截图2)

    屏幕截图1.


     

     

    屏幕截图2.

     

    此致,

    Gennadi

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

    为了更快地为您解决问题,我已请求将此帖子移至模拟论坛。 他们应该能够更快地帮助您完成此调试,因为我们似乎排除了C2000器件的问题。 如果我们可以提供任何其他帮助,请告知我们。

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

    要让我们开始排除缓冲区故障,您能否发布74ACT1.6244万周围的示意图部分?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Emrys您好,

    她是围绕缓冲区的示意图屏幕截图

    此致,

    Gennadi

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

    我看不到74ACT1.6244万的电源针脚,但我认为它由5V导轨供电,并且具有适当的旁路电容器。

    当出现1.76V输入时,是否可以测量电源电流(ICC)并获得此设备输出的示波器? 输入电压可能会缓慢超过设备的开关阈值,从而导致内部振荡或线性响应。

    我注意到输入端的RC电路正在过滤非常高的频率内容-是否可以从电路中移除此滤波器? 如果不是,我相信可以通过拆除220pF电容器并将串联电阻从240欧姆增加到10千欧来实现非常相似的转接频率-利用CMOS输入的小输入电容作为低通滤波器的一部分 (CI = 4.5 pF典型值)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Emrys您好,

    不幸的是,我们无法测量国际商会的电流。 如果我们从输入端卸下滤波器电路,并且直接在输入端有10kohm的下拉电阻,则会出现同样的问题。 缓冲器仅在较小的下拉电阻(1kOhm)下工作正常。 我已将问题传递给我的硬件同事。 您是否对输入处的推荐下拉阻力有一些想法?

    谢谢你

    Gennadi

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

    由于这些都是CMOS输入,因此10k下拉列表应该足够了。 我想将其中的一些部件放到我的实验室进行一些测试。 这需要一些时间,因为它们不是我们本地库存中的标准设备。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Emrys您好,

    谢谢你。 我希望您可以在实验室中复制它。

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

    我无法在实验室中重现此问题。 我们能够获得一个输入在1.7V电压下短暂挂起,当该输入没有下拉时,但使用10kohm电阻器,它在充电到3.3V后总是很快恢复到零。

    您是否尝试换用芯片以查看其是否是EOS或ESD事件造成的故障?