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.

[参考译文] TMS570LS1224:控制N2HET PWM信号

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1101260/tms570ls1224-controlling-an-n2het-pwm-signal

部件号:TMS570LS1224
主题中讨论的其他部件:HALCOGEN

您好,

我正在尝试控制使用N2HET生成的PWM信号。

到目前为止,我可以看到具有固定频率和25 % 占空比的PWM信号,但我似乎无法在运行中控制此信号。 我假设我的HalCoGen设置有效,以便完全查看任何输出。

作为一项基本测试(在LaunchpadXL板上),我正在对ADC进行编程,以获得可修改的值(缩放为0 100 %),我正在尝试将其输入pwmSetSignal()函数以控制占空比。

我的代码非常简单:

   adcData_t adc_data;
   adcData_t *ADC_DATA_PTR =&ADC_DATA;
   无符号int值;
   unsigned int Dut_cycle;
   hetSIGNAL_t het_SIG;


   HET_SIG.ODON=50;
   HET_SIG.句 点= 1.000 ;      /* 1us:= 1MHz */

   hetInit();
   adcInit();
 
   pwmStart (hetRAM1,pwm0);

   同时(1)
   {
      /*从ADC */获取可修改的值
       adcStartConversion (adcREG1,adcGROUP1);
       while (!adcIsConversionComplete (adcREG1,adcGROUP1));
       adcGetData (adcREG1,1U,ADC_DATA_PTR);
       value =(unsigned int)ADC_DATA_PTR->value;

       /*将值(0-4095)与PWM占空比的百分比(0-100)相关联*/
       /*值/41给出占空比百分比,最大值为99 */
       占空比=值/ 41;

       /*使用来自ADC的值更新占空比*/
      HET_SIG.ODON=占空比;
//      pwmSetSignal (hetRAM1,pwm4,het_SIG);
   }

当我运行此代码时,我调用"查看",在"查看器"上显示175.7kHz PWM信号,其25 % 占空比为。

pwm0的HalCoGen设置为:周期= 0.1 ,占空比= 10。 我看到的内容与HalCoGen设置无关。

当我取消注释对pwmSetSignal()的调用时,PWM输出被完全终止。

我的最终目标是以尽可能高的频率产生PWM信号,但(最重要的是)在0至99 % 范围内具有可控制的占空比。

问题:

1.您能否告知我的代码不正确和/或不充分的地方,以及实现目标需要什么?

2.通过逐步浏览代码,我在执行pwmInit()后就开始看到PWM输出。 我是否需要调用pwmStart()? 如果是,原因是什么?

3.我已经浏览过网络以查找这些信息,所以您还可以指出我可以在哪里找到这些信息(对于TMS570LS1224和N2HET以及PWM)?

4.在最大PWM频率和占空比方面,我可以预期的最佳结果是什么?

TIA

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

    您好,TIA,

    HALCOGen生成的代码只能支持PWM频率=175KHz的5个占空比设置:0,15 % ,25 % ,50 % ,75 %。 HAL代码的LR为64。 如果您需要更多的占空比设置,则需要编写自己的代码。 您需要多少PWM信号? 您是否需要ECAP,边缘检测等功能?

    1.1224 n2het-wmwm-signal"]1. 您能否告知我的代码不正确和/或不充分的地方,以及实现目标需要什么?[/QUOT]

    如果PWM频率=175KHz且LR=64 (HAL生成代码的默认值),则为预期行为。  

    2.1224 n2het-wmwm-signal"]2. 通过逐步执行代码,我在执行pwmInit()后就开始看到PWM输出。 我是否需要调用pwmStart()? 如果是,为什么?[/QUOT]

    是的,您需要调用pwmStart()来输出PWM信号。  PWCNT指令的pin操作在默认情况下未启用。  

    1224 n2het-wmwf-signal"]

    3.我已经浏览过网络以查找这些信息,所以您还可以指出我可以在哪里找到这些信息(对于TMS570LS1224和N2HET以及PWM)?

    4.在最大PWM频率和占空比方面,我可以预期的最佳结果是什么?

    [/引述]

    如果您只需要1个PWM输出,8 N2HET指令就足够了-->LR=8,因此您将有更多的占空比选择。

    请下载HET IDE以模拟NHET代码。

    [/quote]
    [/quote][/quote]