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.

[参考译文] ADS1261:对称模拟电源(AVDD = 4.5V、AVSS=-0.5V)

Guru**** 2502205 points
Other Parts Discussed in Thread: ADS1261, LM8272

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/969969/ads1261-asymetric-analog-supply-avdd-4-5v-avss--0-5v

器件型号:ADS1261
主题中讨论的其他器件: LM8272

大家好、我正在测试使用 ADS1261完成的设计、其中模拟电源未放置在+5V/0V 或+/-2.5V、而是放置在+4.5V/-0.5V。 从数据表中可以看出、这似乎在要求范围内、但我在获得正确的读数时遇到了问题、因此我想放心地确定、这不是我的问题的根源、芯片在这样的电源电平下按预期工作。

此致、

François μ A

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

    尊敬的 Francois:

    只要 AVDD - AVSS 为~5V、ADS1261就可以支持非对称电源、例如+4.5V/-0.5V。

    您能否共享原理图和寄存器设置、以便我了解一下您的器件是如何配置的? 此外、您看到了哪些问题? 您能详细描述一下吗? 任何逻辑分析仪快照也会很有用。

    布莱恩

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

    您好 Bryan、

    很高兴听到这不是问题。 这是相关原理图的图片。 运算放大器已被 LM8272取代、以便能够驱动容性负载。 我目前无法提供逻辑分析仪图片、但由于我现在已经完全执行了 CRC 校验、我发送的数据、 我读取的数据是正确的(通过支持材料中提供的 CRC 函数没有为我计算正确的 CRC 代码的方式)。 配置完成后、我还读取所有寄存器以使它们与程序同步、因此这是对值写入正确的再次检查。

    我对寄存器发挥了相当大的作用。 目前、我可以使用内部基准(+/-2.5V)非常接近预期值、但没有校准、但是当我使用 AVDD/AVSS (+4.5V/-0.5V)时、虽然该值随电压变化、但返回的读数不正确(例如2.55V 而不是1.1V)。 我将转换中使用的参考值从计数更改为伏特。

    我似乎也有校准过程方面的问题。 据我了解、偏移校准通过发送 SFOCAL 命令自动进行。  但是、当我使用 AVDD/AVSS 作为参考时、ofcal 寄存器会包含0xFFFFFFE3、该值异常高。

    对于 FSCAL、我首先将 MUXP 和 MUXN 设置为分别连接到 AVDD 和 AVSS 的输入(在我的情况下为 AIN7和 AIN8)。 然后、我等待100ms 以使输入稳定、 然后运行 GANCAL 命令。 例如、我在 FSCAL 寄存器中得到0x3fefe9的值、这比 OFCAL 更有意义、但当然、如果偏移不正确、这也无关紧要。

    感谢您的帮助和致以诚挚的问候、

    François μ A

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

    尊敬的 Francois:

    您能否向我发送您在使用内部 VREF 和电源时看到的原始 ADC 输出代码(以十六进制表示)? 对每个器件进行20次左右的测量、然后发送结果、注意所使用的特定增益、滤波器设置、数据速率和电源电压。 转换过程可能存在问题。

    对于偏移校准、请注意、由于偏移可以是正的或负的、因此 OFCAL 寄存器中的值采用二进制补码形式。 因此、您看到的值实际上是一个非常小的负数(假设 VREF = 2.5V 且增益= 1、则大约为-8.6uV)

    布莱恩

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

    寄存器配置如下:

    数据速率:20sps

    延迟:1.16ms

    过滤器:FIR

    旁路:启用(PGA 增益为1,但带旁路)

    斩波:正常

      AVDD/AVSS;未校准;AIN5 = 3.5V AVDD/AVSS;校准;AIN5 = 3.5V 内部 Vref;无校准;AIN5=1.5V 内部 Vref;校准;AIN5=1.5V
    1 0x005a4426 0x007ffb76 0x004d5da2 0x003dd6ba
    2. 0x005a4298 0x007ff9ca 0x004d5ef3 0x003dd7fd
    3. 0x005a42db 0x007ffae4. 0x004d5f7c 0x003dd477
    4. 0x005a42d2 0x007ff9ca 0x004d6066 0x003dd82c
    5. 0x005a4417 0xFFF4cc 0x004d5f84 0x003dd743
    6. 0x005a453d 0xFFF3ff 0x004d5f78 0x003dd654
    7. 0x005a43ea 0xFFF159 0x004d5d43 0x003dd583
    8. 0x005a427c 0xFFF444 0x004d5db0 0x003dd84e
    9. 0x005a4364 0xFFF31c 0x004d5fc5 0x003dd7a2
    10. 0x005a4416 0xFFF3ce 0x004d5eaa 0x003dd71d
    11. 0x005a43dc 0xFFF01b 0x004d5cf1 0x003dd359
    12. 0x005a436b 0xFFF030 0x004d5da4 0x003dd7c2
    13. 0x005a4255 0xFFEFF6d 0x004d5e45 0x003dd2c8
    14. 0x005a43ba 0xFFEDFF 0x004d5ed3 0x003dd4f8
    15. 0x005a43a3 一个很好的酒店 0x004d60d1 0x003dd698
    16. 0x005a43fb 图示13. 0x004d5ec4 0x003dd717
    17. 0x005a43da 0xFFe0df 0x004d6386 0x003dd6d9
    18 0x005a42aa 0xFFe2aa 0x004d5fc0 0x003dd322
    19. 0x005a42df 0xffffff004 0x004d5b62 0x003dd295
    20. 0x005a4245 0xFFE13e 0x004d5ce3 0x003dd4a2
       
    校准 默认值 0x00ffe3. 默认值 0x00ff5c
    fsck 默认值 0x003fefe7 默认值

    0x003332fe

    我还附上了我在前一条消息中忘记的原理图。

    最后、我用于从十六进制代码转换为伏特值的代码、第一个函数获取 tmp 中的代码、PADS 在左侧、使其成为32位二进制补码、 然后将其转换为32位整数 (tmp 是 uint32_t、int_val 是 int32_t 的指针)

    if (tmp & 0x800000) tmp |= 0xc000000;
       *((uint32_t*) int_val)= tmp;

    然后、父函数执行换算转换。

    * val = (vrefp - vrefn)*(int_val -(-0x800000))/((0x800000 - 1)-(-0x800000))+ vrefn;

    此致、François

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

    尊敬的 Francois:

    这些值对我来说一般都是正确的。

    例如、第一列中的第一个值(0x005A4426)使用5V 基准电压(AVDD - AVSS = 5V)转换为3.52V。 第三列中的第一个值(0x004d5da2)转换为1.51V

    内部 VREF 情况(0x003332fe)中的默认 FSCAL 值看起来非常低、因此校正系数为~0.8。 我想在这个过程中、为输入提供了错误的满量程值。 您可以在校准后的结果(第一项、第四列)中看到这一点、其中0x003dd6ba 对应于使用2.5V VREF 的1.21V、或1.5V 的~80%。 好消息是、ADC 获取了不正确的 FSCAL 值并将其正确应用于输出结果、因此、一旦正确配置满量程电压、其他一切都应该正常。

    您还可以查看我们用于 ADS1261的基于 Excel 的计算器工具。 这就是我用来执行针对这个器件的代码转换的内容: https://www.ti.com/lit/zip/sbac200

    布莱恩

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

    您好、Bryan、

    感谢您的帮助、在两种情况下都是正确的、我的转换计算是错误的、我忘记了在内部2.5V 情况下更改满量程输入。 它现在可以按预期与 AVDD/AVSS 电源配合使用。 我得到的结果非常接近我的万用表测量值、在几十微伏范围内、这在万用表的精度范围内。

    此致、

    François μ A