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.

关于C2000系列 ADC 斜坡发生器(Ramp Generator)的配置使用问题

Other Parts Discussed in Thread: CONTROLSUITE

我用的是F28069

需要用的内部ADC比较器模块的斜坡发生器

问题是TI提供的文件里面全局变量压根就没定义过ramp

包括它的一些寄存器都是识别不了

我自己也尝试写,可是编译都是错误。。 

大神们能帮忙解决一下这个问题吗

最好有相应的程序

搞了好久了~~~~ 

  • 你好,

    这一块的寄存器定义和ADC是分开的,在头文件F2806x_Comp.h中有定义

  • 没有的,F2806x_Comp.h里面只定义了

    COMPCTL COMPSTS DACVAL 三个寄存器

    而要用RAMP的话

    还需要 RAMPMAXREF_SHDW 

    RAMPDECVAL_SHDW 

    RAMPSTS 这三个寄存器

  • 头文件中结构体是这么定义的:

    struct COMP_REGS {
     union COMPCTL_REG COMPCTL;   // Comparator Control
     Uint16    rsvd1;    // Reserved
     union COMPSTS_REG COMPSTS;   // Compare Output States
        Uint16                     rsvd2;
        union  DACCTL_REG          DACCTL;
        Uint16                     rsvd3;
        union  DACVAL_REG          DACVAL;
        Uint16                     rsvd4;
        Uint16                     RAMPMAXREF_ACTIVE;
        Uint16                     rsvd5;
        Uint16                     RAMPMAXREF_SHDW;
        Uint16                     rsvd6;
        Uint16                     RAMPDECVAL_ACTIVE;
        Uint16                     rsvd7;
        Uint16                     RAMPDECVAL_SHDW;
        Uint16                     rsvd8;
        Uint16                     RAMPSTS;
        Uint16                     rsvd9[3];

    RAMPMAXREF_ACTIVE,RAMPMAXREF_SHDW,RAMPDECVAL_ACTIVE,RAMPDECVAL_SHDW,RAMPSTS这五个寄存器,因为都是数值,而且不再分位,就被直接定义成了Uint16,这和其他寄存器看上去是不同,但这么定义是合理的。举个例子,用的时候就这样:Comp1Regs.RAMPMAXREF_SHDW = 1000

     

     

  • 为什么我的是这样的。。。!!!

    struct COMP_REGS {
    union COMPCTL_REG COMPCTL; // Comparator Control
    Uint16 rsvd1; // Reserved
    union COMPSTS_REG COMPSTS; // Compare Output States
    Uint16 rsvd2[3]; // Reserved
    union DACVAL_REG DACVAL; // 10-bit DAC Value
    };

    是controlSUITE里面的头文件。。。 

    员工的库和我们的不一样么 。。。。

  • 为什么我这个头文件下的结构体是这样的。。

    struct COMP_REGS {
    union COMPCTL_REG COMPCTL; // Comparator Control
    Uint16 rsvd1; // Reserved
    union COMPSTS_REG COMPSTS; // Compare Output States
    Uint16 rsvd2[3]; // Reserved
    union DACVAL_REG DACVAL; // 10-bit DAC Value
    };

    我这个是阉割版 T T 是controlSUITE项目下的头文件

    你们用的include是哪里的?

  • 我们使用的controlSUITE和你的是没有区别的,文件路径:

    C:\ti\controlSUITE\device_support\f2806x\v136\F2806x_headers\include\F2806x_Comp.h

  • 噢 谢谢您的回答

    原来我导入的是development_kits 下的 F28069 controlSTICK

    虽然controlSUITE是最新的,但这个文档下的版本还都是V100的

    最后请问一下 我想确定RAMP下降时的斜率,

    技术手册说RAMPDECVAL_SHDW寄存器是保存decrement shadow value 的

    具体来说这个这个寄存器载入的是什么的值?

    比如RAMPMAXREF_SHDW=1000;

    我想令斜坡的斜率k=-1 怎么设置RAMPDECVAL_SHDW

  • 你好,我想问下  你这个斜坡的斜率怎么设置,跟什么有关系