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.

AD采样频率与EV的T1CMPR T1PR的关系

你好,DSP专家。我现在在利用2812的AD功能进行模数转换,看见TI的示例程序中使用了EV定时器。程序如下:

// Configure EVA

// Assumes EVA Clock is already enabled in InitSysCtrl();

  EvaRegs.T1CMPR = 0x0380;               // Setup T1 compare value比较寄存器值

  EvaRegs.T1PR = 0x07FF;                 // Setup period register周期寄存器值

  EvaRegs.GPTCONA.bit.T1TOADC = 1;       // Enable EVASOC in EVA设置EVA的下溢启动ADC

  EvaRegs.T1CON.all = 0x1042;            // Enable timer 1 compare (upcount mode)设置T1为连续增模式,并启动定时器T1

我想问下当设置为下溢启动AD转换信号时,T1CMPR 和T1PR值代表什么意思?难道是AD的interrupt设置频率(即时间倒数)=HSPCLK/(T1CMPR *T1PR)?T1CMPR是比较数 T1PR是周期数,可二者是什么关系呢?

麻烦DSP专家有时间帮我解答一下,真的谢谢啦!!

对了,麻烦专家一下,TI算法示例里面有 数字锁相放大技术 示例吗?

  • T1CMPR是与T1CON进行比较的控制T1PWM的比较器。

    T1PR是T1CON的周期寄存器。AD的中断频率等于PWM的周期频率。计数器的值与比较器比较产生比较事件T1CINT.计数器的值达到周期值产生T1PINT。

    具体楼主可以参考下面这份文档:

    www.ti.com/.../spru065e

    就我所知,TI没有数字锁相放大技术的示例。

  • EvaRegs.T1CMPR = 0x0380;               // Setup T1 compare value比较寄存器值

     EvaRegs.T1PR = 0x07FF;                 // Setup period register周期寄存器值

    你好,我又看了文章,可是还是不太明白,请问:例程是下溢中断。比较寄存器值是0x380,周期寄存器值是0x7FF。并且PWM波控制端没有设置,即不会输出PWM波形。CON=0x1042,即比较使能了。那我想问下ADC的中断频率是

    是否就和周期寄存器没有关系了吗?(周期寄存器0x7FF>比较寄存器0x380),当计数器大于0x380时,会设置为零,然后计数器会变为0,根本到不了周期寄存器的0x7FF,所以我认为AD的中断频率是HSPCLK/比较寄存器。不知道是否正确,请专家耐心解答,谢谢!!

  • EvaRegs.T1CMPR = 0x0380;               // Setup T1 compare value比较寄存器值

     EvaRegs.T1PR = 0x07FF;                 // Setup period register周期寄存器值

    你好,我又看了文章,可是还是不太明白,请问:例程是下溢中断。比较寄存器值是0x380,周期寄存器值是0x7FF。并且PWM波控制端没有设置,即不会输出PWM波形。CON=0x1042,即比较使能了。那我想问下ADC的中断频率是

    是否就和周期寄存器没有关系了吗?(周期寄存器0x7FF>比较寄存器0x380),当计数器大于0x380时,会设置为零,然后计数器会变为0,根本到不了周期寄存器的0x7FF,所以我认为AD的中断频率是HSPCLK/比较寄存器。不知道是否正确,请专家耐心解答,谢谢!!

  • EvaRegs.T1CMPR = 0x0380;               // Setup T1 compare value比较寄存器值

     EvaRegs.T1PR = 0x07FF;                 // Setup period register周期寄存器值

    你好,我又看了文章,可是还是不太明白,请问:例程是下溢中断。比较寄存器值是0x380,周期寄存器值是0x7FF。并且PWM波控制端没有设置,即不会输出PWM波形。CON=0x1042,即比较使能了。那我想问下ADC的中断频率是

    是否就和周期寄存器没有关系了吗?(周期寄存器0x7FF>比较寄存器0x380),当计数器大于0x380时,会设置为零,然后计数器会变为0,根本到不了周期寄存器的0x7FF,所以我认为AD的中断频率是HSPCLK/比较寄存器。不知道是否正确,请专家耐心解答,谢谢!!

  • 在增计数的时候,当计数器到达周期值的时候才会清零。

    楼主可以在ADC中断程序中放一个GPIOtoogle的指令,看gpio上下翻转是否等于PWM周期,这样也可以看到ADC中断的频率=HSPCLK/周期值。