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.

[参考译文] PGA112:PGA112 - Vref,Vdd时的V输出

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/613779/pga112-pga112---v-out-not-at-vref-at-vdd

部件号:PGA112

您好:

真的希望我能在这个问题上得到一些帮助。 使用PGA112,如所附图像“PGA112_Connect.jpg"”中所示进行连接

VDD为3.3V,Vref位于1.65 的中点,并连接到PGA112的Vref输入。 如果我使用CHN1,我会期望输出端的DC为Vref。 无论出于何种原因,也无论我在PGA112上写什么,输出都希望保持在Vdd。 请参阅其它附加图像PGA112_CS_CLK和PGA112_CS_DATA。 我已将SPI接口预分值器除以64,以便有足够的时间进行设置和保持延迟等。一切看起来都很好。 我正在写入0x2A12,它(来自数据表第27页)是WRITE和CHN1选择位。

任何人都能看到问题...感谢您的帮助!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    问题解决了! 结果是,两个引脚之间有一个分钟的焊接桥。 很抱歉打扰您,感谢您的帮助。

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

    我很高兴您能弄清楚这一点。 这一点也不麻烦。 如果您还有其他问题,请告知我们。

    最佳,

    Errol Leon
    德州仪器(TI)
    精密运算放大器
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这其实是一个很好的部分。 即使在高增益下,它在Vref下的偏差也很小,信号保持清洁。

    再次感谢,
    Gary
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否可以共享代码? 提前感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    // STM32F4处理器的设置(使用CMSIS)

    //定义使用的

    #define PGA112_CS      GPIO PIN_7
    #define PGA112_SCK     GPIO PIN_13
    #define PGA112_miso    GPIO PIN_14
    #define PGA112_MOSI    GPIO PIN_15

    #define set_gain (     uint16_t) 0x2A11
    #define set_gain (     uint16 _t) 0x2A11
    #define set_gain _4     (uint16_t) 0x2A21
    #define set_gain _8     (uint16_t) 0x2A31
    #define set_gain _16    (uint16_t)0x2A41
    #define set_gain _32    (uint16_t) 0x2A51
    #define set_gain _64    (uint16_t) 0x2A61
    #define set_gain _128   (uint16_t) 0x2A71

    void initialize_SPI2 (void)

       SPI_InitTypeDef SPI_InitStruct;
       GPIO _输入类型Def GPIO _输入结构;
      
       //启用外设时钟- SPI时钟
       RCC_APB1PeriphClockCmd (RCC_APB1Periph_SPI2,启用);        
       
       //为PE7启用GPIO E (SPI增益选择)
       RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOE,启用);    
       RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOB,启用);        
       
       /*将芯片选择引脚配置为PE7 */
       GPIO _InitStructure.GPIO针脚= PGA112_CS;
       GPIO _InitStructure.GPIO模式= GPIO模式输出;
       GPIO _InitStructure.GPIO = GPIO _OType_PP;
       GPIO _InitStructure.GPIO _速度= GPIO _速度_25MHz;
       GPIO _InitStructure.GPIO _PuPd = GPIO _PuPd_NOPULL;
       GPIO _初始化(GPIOE,&GPIO _初始结构);
       //初始设置(PE7) CS高
       GPIOE->BSRRL || PGA112_CS;         

       GPIO _InitStructure.GPIO针脚= PGA112_MOSI | PGA112_Miso | PGA112_SCK;
       GPIO _InitStructure.GPIO模式= GPIO模式_AF;
       GPIO _InitStructure.GPIO = GPIO _OType_PP;
       GPIO _InitStructure.GPIO _速度= GPIO _速度_25MHz;
       GPIO _InitStructure.GPIO _PuPd = GPIO _PuPd_NOPULL;
       GPIO _初始化(GPIOB,&GPIO _初始结构);
       
       //使用备用映射功能
       GPIO_PinAFConfig (GPIOB,GPIO_PinSource13,GPIO _AF_SPI2);//将引脚13端口B连接到SPI2
       GPIO_PinAFConfig (GPIOB,GPIO_PinSource14,GPIO _AF_SPI2);//将引脚14端口B连接到SPI2
       GPIO_PinAFConfig (GPIOB,GPIO_PinSource15,GPIO _AF_SPI2);//将引脚15 端口B连接到SPI2
       
       //仅需要半双工
       SPI_InitStrut.SPI_Direction = SPI_Direction_1Line_Tx;//仅设置为TX
       
       SPI_InitStrut.SPI_Mode = SPI_Mode_Master;    //在主模式下传输,NSS引脚必须始终为高
       SPI_InitStrut.SPI_DataSize = SPI_DataSize_16b;//一个数据包的宽度为16位
       SPI_InitStrut.SPI_CPOL = SPI_CPOL_Low;       //空闲时时时钟低
       SPI_InitStrut.SPI_CPHA = SPI_CPHA_1Edge;     //在第一个边缘采样的数据
       SPI_InitStrut.SPI_NSS = SPI_NSS_soft | SPI_NSSInternalSoft_set;//将NSS管理设置为内部,并将内部NSS设置为高

       //不要超频PGA112,无需任何操作
       SPI_InitStrut.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64;// SPI频率为APB2频率/4
       SPI_InitStrut.SPI_FirstBit = SPI_FirstBit_MSB;//首先传输数据MSB
       SPI_Init(SPI2,&SPI_InitStruct;
       
       SPI_Cmd (SPI2,启用);//启用SPI2
    }

    void SPI2_send (uint16_t数据)

       //将增益设置发送到PGA112
       GPIOE->BSRRH || PGA112_CS;//将PE7 (CS)设置为低电平
       SPI2->DR =数据;//写入要传输到SPI数据寄存器的数据
       while (!(SPI2->SR & SPI_I2S_FLAG_TXE));//等待传输完成
       while ( SPI2->SR & SPI_I2S_FLAG_BSY );//等待直到SPI不再繁忙
       GPIOE->BSRRL || PGA112_CS;//将PE7 (CS)设为高
    }