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.

[参考译文] ADS1292:ADS1292 RESP2寄存器

Guru**** 2530940 points
Other Parts Discussed in Thread: ADS1292

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/867995/ads1292-ads1292-resp2-register

器件型号:ADS1292

大家好、

我已经按照如下所示对 ADS1292寄存器进行了编程。 通道1上的测试电压为0.23 V。如果我对器 件进行编程、使 Vref 为2.42V、则通道1饱和(读取为7FFFFFh)。 将 Vref 更改为4.033 Ch1 会错误地开始读取(1.19v)。 我也尝试过连续转换。 假设 OFFSETCAL 命令将有助于我读取、我将 RESP2默认值更改为 83h、但这样、 无论输入电压如何、我都会从两个通道获取所有零。  

谢谢、

哈米德  

 writeRegister (config1Address、0x86); //单次转换500sps
 writeRegister (config2Address、0xA0); // 0x80 Vref = 2.42v、0xA0 Vref = 4.033v
 writeRegister (LOFFaddress、0x10);    
 writeRegister (CH1SETaddress、0x10);// bit7 = 1 (断电)、增益= 1 001、0000正常电极输入(默认)
 writeRegister (CH2SETaddress、0x10);//增益= 1正常电极输入(默认)
 writeRegister (RLD_SENSaddress、0x00);
 writeRegister (LOFF_SENSaddress、0x00);
 writeRegister (LOFF_STATaddress、0x00);
 /* writeRegister (REST1address、0x02);
 writeRegister (REST2address、0x83);// calib on */
 writeRegister (GPIOaddress、0x00);

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

    您好、Hamid、

    我认为您的寄存器配置正常。 报告的输出值是由 MCU 计算还是直接在输出端使用示波器计算? 请显示器件输出端的 SPI 通信。 我建议使用 BIOFAQ 来验证器件是否仍然正常工作、并在必要时进行电压转换编码。  

    https://e2e.ti.com/support/data-converters/f/73/p/772058/2855202

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

    尊敬的 Alex:

    感谢您的回答。 我已将 CONFIG2内容更改为0xA0、因此启用了内部基准并将其设置为2.42。 MCU 正在计算这些值。 以下是 SPI 输出示例:  

    字节1 = 19、字节2 = 63、字节3 = EC

    V (MCU)= 0.48003579

    我们使用表10来计算电压(V = Vref * ADCcount/(2*23-1)。  有关这方面的更多详细信息、请参阅以下函数。  

    我可以写入和读取寄存器、以便器件响应。 例如、更改基准电压 (CONFIG2寄存器)我确实会看到 VREF 引脚反映的更改。  观察两个通道读数、 它们确实随输入电压正确变化、但几乎比实际值小2.4倍。  重新访问 BIOS 常见问题页面除了一个步骤之外、所有步骤都检查。  

    探测内部电压引脚 Vref 和 Vcap1确实是预期的2.42和1.19伏、但 VCAP2的读数为5.229 v 而非1.65 v。(AVDD = 3.3V 且 AVSS = 0)。  

    1. VREF = VREFP–VREFN  
    2. VCAP1 = AVSS + 1.2V
    3. VCAP2 =(AVDD + AVSS)/2

    //此函数将3个 ADC 字节组合为1并计算电压
    double bytes2伏特(uint8_t b1、uint8_t b2、uint8_t b3、double Vref){
     unsigned long bs =((b1 << 16)|(b2 << 8)|b3);   //将所有字节合并为一个 bs
     double v = double (bs)*vref/(pow(2,23)-1)* vref;
     //Serial.println ("\n V=");
     //Serial.print (v、9);
     返回 v;  

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

    尊敬的 Alex:

    鉴于您对该器件的使用经验、您能否告诉我什么可能会导致 VCAP2读为5.2V 而不是 AVDD/2?  

    此致、

    哈米德  

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

    您好、Hamid、

    如 POST 中所述、该电压应为1.65V 的1/2 Vs。 器件可能已损坏或电压测量不正确。