375447109 发表于 2013-8-1 21:59

2812的CAP

    我想用CAP1引脚捕获方波高电平的时间,设定CAP1引脚为功能引脚,然后将其与函数发生器连接。我用示波器没CAP1引脚的时,显示的不是方波,而是3.3V的直流!我不明白为什么会这样??

zhangmangui 发表于 2013-8-2 09:08

首先别急的与CAP引脚连接先测试信号源输出的方波幅值是不是超过3.3v   调节幅值   绝对不能超过3.3v
然后接到CAP引脚   最好是在两者之间串联一个小阻值的电阻然后去测

375447109 发表于 2013-8-2 18:47

zhangmangui 发表于 2013-8-2 09:08 static/image/common/back.gif
首先别急的与CAP引脚连接先测试信号源输出的方波幅值是不是超过3.3v   调节幅值   绝对不能超过3.3v
然后 ...

我测试过方波输出的幅值,只有2.5V。不知道问题在哪?我知道在初始化状态下,所有引脚的电平都是3.3V。

zhangmangui 发表于 2013-8-2 23:40

375447109 发表于 2013-8-2 18:47 static/image/common/back.gif
我测试过方波输出的幅值,只有2.5V。不知道问题在哪?我知道在初始化状态下,所有引脚的电平都是3.3V。 ...

我曾经使用也是没啥问题的   现在首先你去确认下来CAP脚配置是否合理   如果没有配置为功能引脚说不好就会被口上的电平拉变   要不你在在信号源和CAP脚之间串个电容   然后测试电容两端的波形如果两端波形不一样说明你的CAP脚没有配置合理

375447109 发表于 2013-8-3 18:07

zhangmangui 发表于 2013-8-2 23:40 static/image/common/back.gif
我曾经使用也是没啥问题的   现在首先你去确认下来CAP脚配置是否合理   如果没有配置为功能引脚说不好就 ...

void InitEv()
{
      EvaRegs.CAPCON.bit.CAP3EN = 1;
        EvaRegs.CAPCON.bit.CAP3TSEL = 1;
        EvaRegs.CAPCON.bit.CAP3EDGE = 3;
        EvaRegs.T1CON.bit.TENABLE = 0;
        EvaRegs.T1CON.bit.TCLKS10 = 0;
        EvaRegs.T1CON.bit.TMODE = 2;
        EvaRegs.T1CON.bit.TPS = 1;
        EvaRegs.T1CNT = 0;
        EvaRegs.T1PR = 0xffff;
        EvaRegs.EVAIMRA.bit.T1PINT = 1;
        EvaRegs.EVAIFRA.bit.T1PINT=1;
        EvaRegs.EVAIFRC.bit.CAP1INT = 0;
}
void InitGpio(void)
{       
   EALLOW;
   GpioMuxRegs.GPAMUX.bit.CAP3QI1_GPIOA10 = 1;
   EDIS;
}
我看不出有问题。

375447109 发表于 2013-8-3 18:12

void InitEv()
{
    EvaRegs.CAPCON.bit.CAP3EN = 1;
        EvaRegs.CAPCON.bit.CAP3TSEL = 1;
        EvaRegs.CAPCON.bit.CAP3EDGE = 3;
        EvaRegs.T1CON.bit.TENABLE = 0;
        EvaRegs.T1CON.bit.TCLKS10 = 0;
        EvaRegs.T1CON.bit.TMODE = 2;
        EvaRegs.T1CON.bit.TPS = 1;
        EvaRegs.T1CNT = 0;
        EvaRegs.T1PR = 0xffff;
        EvaRegs.EVAIMRA.bit.T1PINT = 1;
        EvaRegs.EVAIFRA.bit.T1PINT=1;
}

zhangmangui 发表于 2013-8-3 22:45

375447109 发表于 2013-8-3 18:12 static/image/common/back.gif
void InitEv()
{
    EvaRegs.CAPCON.bit.CAP3EN = 1;


这些寄存器我都不记得   周一回去给你找些相关的配置

375447109 发表于 2013-8-7 21:42

zhangmangui 发表于 2013-8-3 22:45 static/image/common/back.gif
这些寄存器我都不记得   周一回去给你找些相关的配置

Hi,找到了吗?··谢谢

zhangmangui 发表于 2013-8-7 22:07

375447109 发表于 2013-8-7 21:42 static/image/common/back.gif
Hi,找到了吗?··谢谢

不好意思   最近工作忙   忘了

zhangmangui 发表于 2013-8-7 22:08

375447109 发表于 2013-8-7 21:42 static/image/common/back.gif
Hi,找到了吗?··谢谢
给你想推荐这个资料你看看CAP这块的讲解
https://bbs.21ic.com/icview-587150-1-1.html

375447109 发表于 2013-8-8 18:20

zhangmangui 发表于 2013-8-7 22:07 static/image/common/back.gif
不好意思   最近工作忙   忘了

无关系,工作还顺利吧~~:)

zhangmangui 发表于 2013-8-8 18:49

375447109 发表于 2013-8-8 18:20 static/image/common/back.gif
无关系,工作还顺利吧~~

还好呵呵
        EvaRegs.CAPCONA.all=0;         //复位捕获单元寄存器,QEP电路清0
    EvaRegs.CAPCONA.bit.CAP1EDGE=1;//捕获单元检测上升沿
    EvaRegs.CAPCONA.bit.CAP12TSEL=0;//捕获单元选择定时器为定时器2
        EvaRegs.CAPFIFO.bit.CAP1FIFO=0; //清空CAP1FIFO
//        EvaRegs.CAPCONA.bit.CAPRES = 0;         //清除所有捕获单元寄存器,QEP电路清0
        EvaRegs.EVAIFRC.bit.CAP1INT=1;//清中断标志位
    EvaRegs.EVAIMRC.bit.CAP1INT=1;//CAP1中断使能
        EvaRegs.CAPCONA.bit.CAPQEPN = 0;         //禁止捕获单元1和2
//        EvaRegs.T2CON.bit.TENABLE = 1;         //使能定时器2
        EvaRegs.T2CON.bit.TCLKS10 = 3;          //启动T2计数QEP

灭天7 发表于 2015-6-15 17:26

请问下,为什么我的CAP捕捉的4个值都是一样的呢?ECap1Regs.Cap1,和2,3,4都是一样的。

yimi1 发表于 2016-3-31 20:21

zhangmangui 发表于 2013-8-2 23:40
我曾经使用也是没啥问题的   现在首先你去确认下来CAP脚配置是否合理   如果没有配置为功能引脚说不好就 ...

你好,,请问一下,2.4V的脉冲信号,dsp2812的cap单元能捕获到信号吗?

zhangmangui 发表于 2016-4-4 21:39

yimi1 发表于 2016-3-31 20:21
你好,,请问一下,2.4V的脉冲信号,dsp2812的cap单元能捕获到信号吗?

理论上是可以的    但是最好建议2.5V以上   所以建议你加一级电平匹配
或驱动器

yimi1 发表于 2016-4-5 15:21

zhangmangui 发表于 2016-4-4 21:39
理论上是可以的    但是最好建议2.5V以上   所以建议你加一级电平匹配
或驱动器 ...

您好!我的信号是8V的脉冲信号,要传给dsp2812的cap单元,是不是中间加个稳压二极管进行降压就可以了?

zhangmangui 发表于 2016-4-5 22:19

yimi1 发表于 2016-4-5 15:21
您好!我的信号是8V的脉冲信号,要传给dsp2812的cap单元,是不是中间加个稳压二极管进行降压就可以了? ...

分压完了之后    看看你的信号强度   驱动能力弱的话
加一级驱动
页: [1]
查看完整版本: 2812的CAP