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.

[参考译文] MSP430FR2311:将板载OA设置为带增益的反向OA

Guru**** 2534260 points
Other Parts Discussed in Thread: MSP430FR2311

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/577393/msp430fr2311-set-onboard-oa-as-inverting-oa-w-gain

部件号:MSP430FR2311
主题中讨论的其他部件:MSP430WARE

你(们)好

我正在使用MSP430Ware的驱动程序库对板载OA进行编程,以用作反向OA。

我的问题是您如何发送收益? 甚至TI的“如何在MSP430FR2311上使用集成运算放大器” 文档(. )别提了。

其次,在MSP430FR用户指南中,它表示要将OA设置为反向,必须将PGA MSEL设置为源(MSEL =00)。 您如何做到这一点? PGA MSEL在MSP430.2311万.h或驱动程序库中未提及,因此我不知道如何执行此操作。

我真的很感谢您的帮助,或者至少是在正确的方向上提供帮助。

提前感谢您!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Diana,您好!

    首先,感谢您的详细帖子。

    关于您的问题,您参考了《用户指南》中有关反向运算放大器模式/配置的正确数字。 在表19-2中,您可以看到不同的模式和PGA增益设置。 “MSEL”,“PSEL”,“NSEL”和“Gain”列都是根据您的要求配置的寄存器字段(某些控制寄存器中的部分或位组)。

    例如,您需要在反转PGA模式下工作。 因此,MSEL等于00B。 如图19-8和表19-7所示,MSEL字段由SAC PGA控制寄存器SACxPGA中的位1至0定义。 可以在表19-5中找到SAC寄存器的完整列表。

    现在,驱动程序库允许用户以比我前面所描述的寄存器级别高得多的抽象级别(使用API)配置SAC等模块。 在《MSP430 DriverLib for MSP430FR2xx_4xx器件用户指南》(v 2.80 .SAC)中查找之后,我没有找到00.01 模块的许多功能。 和您一样,在CCS中搜索项目文件夹-> driverlib -> MSP430FR2xx_4xx下的'sc.c'和'sc.h'文件后,我找不到任何对SACxPGA或SACxSMEL的引用。 将来可能会增加SAC的其他功能。

    同时,我建议您看看我们的注册级代码示例,作为入门的基础。 然后,您可以将您对SACxPGA寄存器所做的更改添加到此示例中,以继续。

    msp430fr231x_SAC_L1_03.c

    /*--版权--,BSD_EX
    *版权所有(c) 2015,Texas Instruments Incorporated
    *保留所有权利。
    *
    **
    允许以源代码和二进制格式重新发布和使用,无论是否进行*修改,只要
    满足以下条件*:
    *
    ****重新发布源代码必须保留上述版权
    *声明,此条件列表和以下免责声明。
    *
    ***以二进制格式重新分发时,必须在
    
    随分发提供的*文档和/或其他材料中复制上述版权*声明,此条件列表和以下免责声明。
    *
    ***
    
    未经事先书面许可,不得使用德州仪器(TI)公司的名称或*其贡献者的名称来支持或促销由本软件衍生的产品*。
    *
    *本软件由版权所有者和贡献者"按原样"提供
    *,
    
    不提供任何明示或暗示的担保,包括但不限于*对适销性和特定*用途适用性的暗示担保。 在任何情况下,版权所有者或
    *贡献者均不对任何直接,间接,附带,特殊,
    *示范, 或后果性损害(包括但不限于
    *购买替代商品或服务;使用,数据或利润损失;
    (*或业务中断),但根据任何责任理论
    ,*无论是合同,严格责任还是侵权行为(包括疏忽或
    *其他),均因使用本软件而导致*
    ,即使已被告知此类损害的可能性。
    *
    ******************
    *
    ** MSP430代码示例免责声明
    *
    MSP430代码示例是独立的低级程序
    ,通常*以高度
    *简洁的方式演示单个外设功能或器件功能。 因此,代码可能依赖于设备的开机默认
    值*寄存器值和设置(如时钟配置),
    在合并多个示例中的代码时必须*小心,以避免潜在的副作用
    *。 另请参阅www.ti.com/grace了解GUI,并参阅www.ti.com/msp430ware
    *了解外围设备配置的API功能库方法。
    *
    **--/copyright--*//************************************************************************************************************************
    
    // MSP430FR231x演示- TRI0+SAC0,两级放大器
    ,// 使用ADC采样SAC0输出
    ////
    说明:将SAC0和TRI0配置为两级放大器。
    //作为代码示例实践,TRI0-和TRI0O直接连接。
    //和OA0-和OA0O按如下方式连接至机具x3放大器。
    // 0~1/2Vcc范围内的输入信号通过TRI0+输入,
    // TRI0输出在内部连接到SAC0正极输入端子。
    //使用ADC CH A3对SACO输出进行采样。 如果高于1/2 VCC,打开LED。
    // SAC0和TRI0都配置为低速和低功率模式。
    //需要为芯片添加外部电路,确保SAC0和TRI0
    //在放大器模式下工作。
    // ACLK = N/A,MCLK = SMCLK =默认DCODIV ~1MHz。
    //注:在调试
    //时,请选择SBW接口,而不是JTAG接口 TRI是因为TRI引脚可与JTAG引脚配合使用。
    ////
    MSP430FR231x
    // -----------------------
    // /|\\| WFP 1.2 / OA0-|--------|--------------- r2=100Kohm--GND
    // || | R1=200kOhm
    // || WFP 1.3 / OA0O|---||
    // --|RST WFP 1.4 / OA0+|//
    | WFP 1.5 / TRI0O|---||//
    | WFP 1.6 / TRI0-|---||//
    | WFP 1.7 / TRI0+|<--- 0~1/2*Vcc
    // | |//
    |
    6.1 ////
    Darren Lu
    //德州仪器(TI)
    // 2015年7月
    //采用IAR嵌入式工作平台v 1.0 6.30 & Code Composer Studio //**************************************************************
    
    #include <MSP430-h>
    
    unsigned int adcResult;
    
    int main(void)
    {
    WDTCTL = WDTPW + WDTHOLD; //停止看门狗计时器
    
    P1DIR || BIT0; //选择WFP 1.0 作为输出
    P1OUT &=~BIT0; //设置WFP 1.0 输出低
    PM5CTL0 &=~LOCKLPM2; //禁用GPIO开机默认高阻抗模式
    //要激活先前配置的端口设置
    
    //选择1.2 WFP 1.3 1.4 1.7 Sac功能
    //选择WFP WFP 1.5 WFP 1.6 AS TRI FUNCion
    P1SEL0 |= BIT2 + BIT3 + BIT4 + BIT5 + BIT6 + BIT7;
    P1SEL1 |= BIT2 + BIT3 + BIT4 + BIT5 + BIT7;
    
    TRI0CTL = TRIPM + TRIEN; //启用TRI,选择低速和低功率模式
    
    SAC0OA || PSEL1; //选择三路输出作为SAC正输入源
    SAC0OA || NMUXEN + PMUXEN; //启用负极和正极输入
    SAC0OA || OAPM; //选择低速和低功率模式
    SAC0OA || SACEN + OAEN; //启用SAC和OA
    
    //配置ADC10
    ADCCTL0 &=~ADCENC; //禁用ADC
    ADCCTL0 = ADCSHT_2 | ADCON; // ADCON,S&H=16 ADC CLKS
    ADCCTL1 = ADCSHP; // ADCCLK = MODOSC;采样计时器
    ADCCTL2 = ADCRES; // 10位转换结果
    ADCIE = ADCIE0; //启用ADC连接完全中断
    ADCMCTL0 = ADCINCH_3 | ADCSREF_0; // A3 ADC输入选择= OA输出
    //参考值= DVCC
    
    ,同时(1)
    {
    ADCCTL0 |= ADCENC | ADCSC; //开始采样和转换
    __bis_sr_register(LPM0_bits | GIE);//输入LPM0,ADC_ISR将强制退出
    __no_operation(); //仅用于调试
    
    IF (adcResult > 512) // OA输出>1/2 VCC
    P1OUT |= BIT0; //将WFP 1.0 LED设置为打开
    否则
    P1OUT &=~BIT0; //清除
    
    
    
    
    
    
    
    
    
    
    编译器1.0 LED关闭}// ADC中断服务例程#if defined(__TI_Compiler_version__)|| defined(__IAR_systems_icc__)#pragma vector=ADC_vector __interrupt void ADC_ISR(void)#Elif defined(__GNUC__)__interrupt_attribute__((ADC_void)#vector (void)
    #endif
    {
    switch (__偶 数_in_range (ADCIV,ADCIV_ADCIFG))
    {
    案例ADCIV_NONE:
    中断;
    Case ADCIV_ADCOVIFG:
    中断;
    Case ADCIV_ADCTOVIFG:
    中断;
    Case ADCIV_ADCHIIFG:
    中断;
    Case ADCIV_ADCLOIFG:
    中断;
    Case ADCIV_ADCINIFG:
    中断;
    问题ADCIV_ADCIFG:
    adcResult = ADCMEMM0; //读取ADC存储器
    __BIC_SR_REGISTER_ON_EXIT (LPM0_bits);//从LPM退出
    中断;
    默认:
    中断;
    }
    

    此致,

    詹姆斯

    MSP客户应用程序

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,James。 感谢您的快速回复! 我很快意识到驱动程序库可能不适合设置MSEL和增益。 我遇到的下一个问题是我在MSP430FR2311.h文件中找不到SACxPGA寄存器,它不是驱动程序库的一部分。 我已经很好地理解了您分享的示例,但据我所见,那里使用的寄存器都是在MSP430FR2311.h中定义的 我确信SACxPGA寄存器很容易访问,但是我在头文件中找不到它的声明,所以我不知道如何称呼它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Diana,您好!

    我已经在这里弄清楚了这个问题,很抱歉没能尽快发现它。 基本上,MSP430FR2311仅支持SAC-L1配置,这是最小SAC功能集。 因此,其功能仅限于OA,而不限于PGA或DAC。 我在数据表的第一页和第节中都提到了这一点  6.11。13。

    这就是为什么MSP430FR2311.h文件中只显示SACxOA寄存器,并且此设备的DriverLib中的API函数数量有限的原因。 《用户指南》中的表19-4介绍了所有可能的SAC配置功能集。

    希望这能让一切都得到清理。

    此致,

    詹姆斯

    MSP客户应用程序