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.

TMS320F28335ePWM模块手册中某句话的理解



These bits determine how many selected ETSEL[SOCASEL] events need to occur before an EPWMxSOCA pulse is generated.这句话我对着手册看了很长时间,一直翻译的不得要领,希望老师能帮帮我!

  • han, chen,

    这个是ePWMSOC信号的预分频设置。默认情况下,我们通过 ETSEL[SOCASEL]设置的事件,没发生一次,就可以产生一次的SOC信号。但是可以通过SOCAPRD位,来设置多少个事件才能够产生一个SCO信号。比如一个60K的PWM信号,可以通过配置

    SOCAPRD=11 Generate the EPWMxSOCA pulse on the third event: ETPS[SOCACNT] = 1,1,

    这样SOC信号就是20k。

    Eric

  • 我还有以下几个问题不太明白,望您能给我解答!

    1)ETSEL[SOCASEL]设置的事件总共有8种,其中ETSEL[SOCASEL]=000和011时保留,也就是说通过ETSEL[SOCASEL]设置的有效事件总共有6种;但ETPS[SOCACNT]的设置仅有四种情况,分别是ETPS[SOCACNT]=00、01、10、11,分别对应于无事件发生、发生了一个事件、发生了两个事件、发生了三个事件;我不明白的就是ETPS[SOCACNT]中指示的事件分别是什么?如果是ETSEL[SOCASEL]中选择的事件,又是哪些事件呢?

    2)ETSEL[SOCASEL]、ETPS[SOCACNT]、ETPS[SOCAPRD]三者的作用分别是什么?若要让ETPS[SOCAPRD]发挥作用,必须首先设置ETPS[SOCACNT]吗?但是我看手册中的说明ETPS[SOCACNT]仅仅起指示作用啊!

  • han,

    你上面的理解跟手册中要表达的意思有偏差。

    首先,ETSEL[SOCASEL]是选择哪一种时间来触发SOC信号。比如001 :Enable event time-base counter equal to zero. (TBCTR = 0x0000),那么,通过ETPSETPS[SOCAPRD]=01, 则表示每次TBCTR = 0x0000会产生一次SOC信号,如果ETPSETPS[SOCAPRD]=03,则需要3次TBCTR = 0x0000事件,才会产生一个SOC信号。而ETPS[SOCACNT]只是表示有多少次TBCTR = 0x0000事件已经发生了。

    Eric

  • 听了您的讲解,小生基本明白了,谢谢您的帮助!