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.

TMS320F28377D: PWM用外部信号同步问题,ADC采样问题

Part Number: TMS320F28377D

问题一:载波同步,外部输出信号做触发信号

EPwm1Regs.TBCTL.bit.SYNCOSEL = 0x0;

EPwm2Regs.TBCTL.bit.SYNCOSEL = 0x0;

若是我PWM1和PWM2想做载波同步,上面的配置将PWM的同步信号变为外部输入信号。请问,该外部输入信号如何同步,是GPIO的时钟信号嘛?

问题2:

下面代码中,若是配置了ADCA通过eMPW7 ,eMPW4 触发转换SOC0和SOC1,同理ADCB也是。请问若是ePwm7信号SOC触发,此时ADCA和ADCB是否同时进行转换?

结果寄存器数据是怎么样的?

ADCA:

SOC 0 Sample ADCINA4, triggered by eMPW7 ADCSOCA/C   

SOC 1 Sample ADCINA5, triggered by eMPW4 ADCSOCA/C

ADCB

SOC 0 Sample ADCINB2 triggered by eMPW4 ADCSOCA/C

SOC 1 Sample ADCINB1, triggered by eMPW7 ADCSOCA/C

  • Hi Levin,

    1. 器件会在外部信号的上升沿时刻产生同步信号。您可以根据这一点来进行设计。

    2. 会同时进行转换。这是两个独立的ADC模块,它们有各自的结果寄存器。

  • 谢谢您的回复。我还相问下,

    1、器件是指DSP GPIO同步时钟,还是其他除DSP的外部信号(经过GPIO口输入)?

    2、28377D 4个ADC转换器,定义SOC时,每个ADC转换器都有其独立的转换序列嘛?即ADC a里面有 soc0 ,ADC b也有soc 0;触发转换时,每个ADC转换器内,按定义序列优先级进行转换?

  • 1、器件应该指的是ePWM模块吧。ePWM有一个同步信号输入源EPWMxSYNCI,通过配置这个信号源可以选择同步源是X-bar还是其它的ePWM模块,而X-bar又可路由到外部的GPIO口输入。

    2、每个ADC都有独立的转换序列,互相独立。通过配置不同ADC模块的触发源与转换序列,可以实现各自模块转换序列的转换和生成转换结果。不同ADC转换器不会互相影响。

  • Hi Levin,

    楼上的回复是正确的,我补充一下。

    举个例子,当您配置EPWM2SYNCI为ePWM2的同步输出信号输出时,它作为下一个ePWM模块(即EPWM3)的同步信号进行输入。此时同步信号实际上是来自EPWM1的,EPWM2被直通了。您可以看下spruhm8i_TMS320F2837xD Dual-Core Delfino Microcontrollers Technical Reference Manual (Rev. I)1876页的同步信号链:

    可以在以下几个事件处产生同步信号:

    对于处在同步信号链头部的模块,比如EPWM1、EPWM4,就可以选择外部信号作为同步输入信号。这个外部信号可以来自于器件之外,比如其他器件的EPWM输出,通过GPIO进行输入,在信号的上升沿产生同步信号。TI提供的例程就是将1个EPWM的输出导入到1个GPIO(通过外部连接),这个GPIO再通过Input XBAR将信号导入到需要同步的EPWM模块。

  • 您好,刚刚看了您的回复很有收获。自己也在手册找到如下的这段话,写的不够全,以下理解是否正确。

    1、若是需要外部信号作为同步源,例如将xbar与空闲的Gpio22连接,配置Gpio22 为输入模式,22口的一个上升沿输入信号将产生同步信号?

    2、上面有软件触发同步,需要将空闲口设置成输入模式,同时需要配置数据寄存器为0?

  • Hi Levin,

    1. 

    22口的一个上升沿输入信号将产生同步信号?

    是的;

    2. 

    ECAP1的同步信号输入的选择如上图所示,实际上我们并不能将输入信号关闭。

    所以这个例子在使用软件触发同步信号时,将ECAP1的同步信号输入选择为外部输入1,并将由Input XBAR连接的相应的引脚配置成 输出 模式,结果寄存器赋 。这样可以保证软件触发不会被干扰。