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.

[参考译文] CCS/ADS8684:范围问题-无法测量高于4.8V的电压

Guru**** 2393725 points
Other Parts Discussed in Thread: ADS8684, MSP430F5132

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/665706/ccs-ads8684-range-problem---cannot-measure-above-4-8v

部件号:ADS8684
主题中讨论的其他部件: MSP430F5132

工具/软件:Code Composer Studio

您好,

在我的定制器件上,MSP430F5132通过SPI与ADS8684进行通信。 MCU在控制台上打印测量数据。 但是,我无法测量0-10V范围。 它始终测量6.5535万的5V电压。

默认情况下,我看到+/-10V的测量值大约从3.2万开始(范围是bits =0000)。 但它也显示6.5535万表示5V。

此外,我更改了范围位,获得了最大2.5V和1.20V电平。

ADS8684的工作方式就像它仅在0V和5V之间测量一样。

以下是控制台输出:

以及如何进行配置:

1)设备重置:发送 0x8500FFFF 32位值

2) 通道1范围选择0x0B5万 32位值

3) CH2范围选择0x0D5万 32位值

4) CH3范围选择0x0F5万 32位值

5) CH4范围选择0x1105万 32位值

6)通过发送0xA0万 32位值进行测量准备

7)通过发送 0x0万 32位值(获得零值)进行测量-1

8)通过发送 0x0万 32位值( 获得的值介于0和100之间)进行测量-2

9)通过发送 0x0万 32位值( 获得零值)进行测量-3

10)通过发送 0x0万 32位值进行测量-4 (4.80V时获得6.475万值!)

您有什么想法,为什么我无法测量超过5V的电压?

此致,

奥努尔

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

    您好,Onur,

    我会研究一下并尽快回复您。

    我还注意到,您在E2E上发布了关于同一设备ADS8684的另一篇文章,如下链接所示,我的同事已经在这方面做了努力,请您在将来将有关同一设备的所有问题保留在同一个查询中吗?  在这种情况下,这将更加有效。 感谢您的理解。

    e2e.ti.com/.../66.5036万

    此致

    戴尔

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

    您好,Onur,

    毫无疑问,ADS8684可以支持0~2.5VREF范围 , 此ADC还可以测量高于5V的输入信号。 您的注册数据是正确的,但请注意,您的通道号与实际通道号不匹     配:0x0B05用于CH0输入范围,0x0D05用于CH1输入范围,0x0F05用于CH2输入范围,0x1105用于CH3输入范围。

    您使用的是内部还是外部参考? 您能否检查参考电压是否正确? 您可以将屏幕截图用于/CS,SCLK,SDO和SDI,您的电路原理图也将有助于解决该问题。

    您是否看到记录在SDO登记簿中的数据(如图88所示)? 如果是,返回的数据是否与您写入寄存器的数据相同? 您可以执行一项测试,更改"选择寄存器"功能以在SDO上包括输入范围,您可以检查输入范围是否是您编程的范围,请参阅数据表中的表12。

    简单地说,出于测试目的,请不要切换信道,在通电后使用默认CH0,将直流信号应用到CH0 (例如:8V DC):

    1. 在发送32个时钟后检查转换数据,不带任何编程内部寄存器

    2.如果以上步骤中的转换码正确,则通过写入0x0B5万来编程CH0的输入范围,读回寄存器以确认,然后保持相同的8V输入,并在发送另32个时钟后检查转换数据。

    请告诉我您的测试结果。 谢谢。

    此致

    戴尔

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

    您好,

    今天,虽然时间不多,但进行了一些测试。 明天,我将忙于处理我的设备。 以下是屏幕截图:

    另外,我又做了一个测试。 为功能选择寄存器配置发送了0x0301,测量结果显示所有通道的所有"0"。  

    我没有考虑功能选择寄存器,因为在描述中它谈到了在菊花链模式下使用ADS8684。 我有单个MCU和ADS8684。

    还有一件事我在数据表中不理解。 通常,在AUTO_RST模式下,前16位用于命令,后16位用于测量数据。 但是,表13中显示了大约40位的输出格式:

    16位用于命令+ 16位用于输出[24-9位]+3位用于通道地址[8-5位]+2位用于设备地址[4-3位]+3位用于输入范围[2-0位]

    但它是32位AUTO_RST或MAN_CH命令!?

    顺便说一下,我在ADS8684的第五个引脚上测量了4.091V。

    明天,我将进行更多的测试。  

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

    您好,Onur,

    命令寄存器(AUTO_RST等)是16位寄存器,通常ADC需要32个时钟用于转换和数据读取,如图1所示,表13所描述的是,如果您想要获得更多信息,则需要更多时钟。

    我仍然建议您在通电后使用默认模式和输入范围,无需对内部寄存器进行任何编程,只需通过在AIN_0P和接地AIN0GND上应用DC信号来检查来自CH0的数据, 这很简单,但通过检查转换码,它可以帮助您检查数字总线和计时是否正确,然后您可以对内部寄存器进行编程,并在下一步切换通道。

    谢谢。

    此致

    戴尔