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.

[参考译文] ADS1018-Q1:ADS1018-Q1

Guru**** 2513185 points
Other Parts Discussed in Thread: ADS1018

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/820572/ads1018-q1-ads1018-q1

器件型号:ADS1018-Q1
主题中讨论的其他器件:ADS1018

你(们)好

我在 mpc5777xc 控制器上使用 ADS 1018 ADC,无法获取 ADC 数据,只能获得255个值,请告诉我 DRDY 引脚是否需要监控,以及需要多少次将数据发送到 config reg

谢谢

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

    Avanti、


    可能会发生一些事情、但我将首先绘制一个示波器或逻辑分析仪的 SPI 通信图。 了解器件如何响应/CS 线路非常重要。

    当为 VDD 供电时、器件的默认设置是处于断电/单冲转换模式。 之后、您需要将器件设置为连续转换模式以启动 ADC、或通过将1写入配置寄存器的位15来启动转换。 之后、您应该能够在 ADC 完成首次转换后从器件中读取数据。

    您是否能够使用32位数据传输周期读取转换寄存器? 您的输入电压是多少?您得到了哪些数据? 我会注意到255是 FF、而该器件是12位器件。 它输出12位右对齐、并填充 LSB 零。

    在下一篇文章中、概述了要发送到 ADC 的命令、然后显示了通信的波形图。


    吴约瑟

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

    您好、Joseph、

    首先感谢您的回复。

    我已启动 SPI 通信、检查示波器上的所有信号、  

    我的配置是这样的

    SPI 初始化

    将2.sending 数据发送到 ADS、这意味着设置配置寄存器、像发送58EB 一样发送数据  

    在 while 循环中写入(0x58EB)。  

    SS=0

    MUX=100

    PGA 001表示 UTP 4 V

    mode=continuous

    数据速率-3330sps

    TS= ADC 模式

    上拉使能= 1

    NOP 01

    0

    在 while 1中发送此数据

    经过微小的延迟...读取 SPI 的数据、然后得到255

    如果数据就绪=0

    然后读取数据函数,如数据表中所述,如果数据就绪引脚为低电平,则数据就绪。

    请告诉我在这里需要做哪些更改。 我使用1MHz SPI 时钟频率。

    提前感谢。

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

    Avanti、



    如前所述、我想查看 SPI 通信的示波器截图。 您需要查看/CS、DIN、DOUT 和 SCLK 的图、以确保器件正常通信。 在您获取示波器快照后、将其发布回这里。

    此外、我建议使用数据表图13中所示的32位数据传输周期。 通过使用此通信、您将能够看到输出数据和配置寄存器。 您的图应与图类似。

    只需检查一下、如果您处于连续转换模式、即使您未读回器件、您也应该能够以数据速率在 DOUT/DRDY 线路上看到周期性脉冲。 您需要在整个时间内保持/CS 为低电平。



    吴约瑟

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

    您好、Joseph、

    我在示波器上检查了数据,现在我得到了一些值,在减小或增加 POT 后,值也发生了变化。

    现在、我要将2 s 配置数据读为十进制格式、

    我正在读取8位寄存器中的数据。

    请告诉我数据的读取方式。

    非常感谢您的参与

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

    您好、Joseph、

    请告诉我如何读取二进制补码数据。

    以及需要读取它的时间

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

    您好、Joseph、

    请告诉我如何读取准确的数据,并将其转换为十进制,非常紧急。 请为此帮助我。

    提前感谢

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

    Avanti、


    您应该能够根据数据表第16页的数据格式部分来转换输出数字代码。

    ADC 将提供一个2字节的输出代码、以对应于一个16位数字。 但是、最后四位应该为0并被截断。 这将产生一个采用二进制补码表示法的12位数字。 以下是获取转换数据的方式:

    获取16位数据。
    2.删除最后4位0以获取12位数据
    3.将此十六进制结果转换为十进制。
    4A。 如果十进制数< 2048、那么这就是结果、
    4B。 如果十进制数> 2047、则结果=(十进制数- 2^12)
    5.测量电压=(结果/2^11)*(正 FSR)。 这意味着、如果 FSR=±2.048、则正向 FSR=2.048。

    在 Excel 电子表格中通常很容易将其组合在一起、您可以使用多个测试值尝试此操作。

    如果由于 SPI 通信而导致读取数据时遇到问题、您能否布置您在示波器上看到的 SPI 通信?




    吴约瑟

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Joseph 的回复 ,现在问题是...我正在尝试读取数据 16位运输格式..但如数据表中所述,我必须采用 cs higg 4Qaf16时钟 pulse..it 我们给我造成了问题...因此、请向我解释如何监控 CS 线路以获得准确数据...如果我也是 使用32位数据传输、然后我得到的最后两个字节是数据配置。这意味着我是 发送42 EB ... n 我应该得到最后2个字节42 EB ...这是真的...?但我不是 获取 DSO 上检查的最后两个字节42eb
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Avanti、


    如果您使用的是16位传输格式、则无需监控/CS 线路。 /CS 线路仅用作芯片选择、以确定主器件要与哪个 SPI 器件通信。 如果您仅使用一个 SPI 器件、则可能甚至不需要使用/CS、并且可能会将该值绑定到低电平。

    您需要监控的线路是 DOUT/ DRDY 线路。 该线路为低电平的转换表示器件已完成转换并且数据可被读出。 通常、最好将该器件用作中断。 如果您在转换完成后等待太长的时间来读取数据。 在下一次转换完成时、数据读取可能会被新数据中断。 如果新转换准备就绪、ADC 不会停止新数据的输出。

    如果您在32位数据传输周期中遇到问题、那么读取时会遇到什么错误? 您能否在示波器快照中展示这一点? 我会注意到、我可以想到两个可能的错误。

    首先、如果您正在读取32位数据并完成新的转换、DOUT/DRDY 寄存器将立即更新新的 ADC 数据。 这会中断原始读取。 其次、配置寄存器可能不会立即更新。 当您设置配置寄存器时、我相信器件会完成进行中的转换并在转换后更新配置寄存器。 如果您写入配置寄存器、并立即读取寄存器、则可能会读取先前的配置寄存器设置。


    吴约瑟

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

    您好、Joseph、

    我在 CS 线路方面遇到一个问题、  

    对于数据表中提到的16位转换,我们必须在第16个回路脉冲之后使 Cs 变为高电平,如果我这么做,那么 Cs 不能正常运行意味着它在第16个时钟脉冲的中间开始变得高电平。

    因此,请解释如何控制 CS。

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

    Avanti、


    您能不能展示一下通信示波器快照会发生什么情况? 对于/CS 线路、它应在整个通信传输过程中保持低电平。 如果/CS 在所有 SCLK 脉冲通过之前变为高电平、这不是器件的问题、这是微控制器编程的问题。

    无论如何、布置 SPI 通信(所有线路/CS、DIN、DOUT、SCLK)、我们可以讨论这个问题。



    吴约瑟

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

    Avanti、


    我已经听过您的介绍了一段时间、因此我想我会检查您是否已经使用 ADS1018解决了您的通信问题。

    我们已经讨论了 SPI 的几个不同问题、但在上一篇文章中、我要求提供一个示波器截图、以便您更好地了解您在/CS 线路上的问题。

    希望您能够解决这个问题、现在我将关闭这个帖子。 但是、如果您尚未解决通信问题、请发帖、我们将继续处理此主题。


    吴约瑟

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

    您好,

    您能告诉我、如何从原始数据中提取主数据、这意味着需要了解分辨率。

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

    Avanti、



    第17页的数据格式部分的数据表中描述了 ADC 数据的转换。 数据采用二进制补码格式、在16位数据字内左对齐。 正满量程(+FS)输入可产生7FF0h 的输出代码、负满量程(–FS)输入可产生8000h 的输出代码。 数据在 SCLK 的下降沿从 SPI 传入。 当我询问原始数据时、我想知道该16位数字是什么、以及您使用的 FSR 是什么。

    正如我在前一篇文章中提到的、我想看到 ADC 通过示波器进行的通信。 我已经简要介绍了如何进行转换。 但是、如果您使用 SCLK、DIN、DOUT 和/DRDY 显示示波器激发图、可能会更容易。 接下来、我们可以查看生成的数据并显示转换。



    吴约瑟

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

    您好、Joseph、

    U 已定义如何将数据转换 为电压、上述所有级也具有二进制补码转换步骤。

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

    您好、Joseph、

    我正在发送0x421B,这个16位值到 ADC,它们立即读取数据,

    以下是我的代码

    我的 FSR 为4.096

    DSPI_B.PUSHR.PUSHR.R =(uint32_t)((uint32_t)(cmd<<16)+数据);
    DSPI_B.SR.B.TXRXS = 1;
    响应= DSPI_B.popr.R;

    我正在从 PoP 寄存器读取数据、  

    我要将 DSO 数据连接到 ADC、第一个是 CS、时钟和数据、 最后一个是 ADC 数据。

    由于探头尖状凸起、因此体积小、

    我不会获得任何常压数据值、但它不断变化、

    请告诉我什么时候读取数据?

    非常感谢您的参与

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


    Avanti、


    这里可能会发生一些事情。

    发送0x421B 意味着您在温度传感器模式下使用器件。 这可能是一个很好的查看模式、因为如果器件接近室温、您可能需要一个接近0x0C80的值。 您可以将该值与您正在读取的值进行比较。

    查看示波器屏幕截图、并根据您的评论:
    红色=/CS
    绿色= SCLK
    黄色= DIN
    蓝色= DOUT

    现在、这里是我在示波器屏幕截图中看到的问题。 首先、有很多噪声。 由于这种情况、您可能会获得一些错误值、并且 SCLK 上的噪声可能会导致器件在不应该时钟输出数据。 我一定会把它清理干净。 其次、时钟线有一些圆角边线。 我不确定这必然是一个问题、但我希望看到更干净的方波。 第三、/CS 有问题。 与其他数字线路一样、CS 线路的电压范围应为0V 至5V。 但是、根据示波器、/CS 看起来会高于或低于接地±2V。 但是、看起来器件在正确的时间做出响应。 DOUT 在/CS 开始变为低电平时大约达到我预期的时间。 它也会在正确的时间升高。

    如果黄线为 DIN、则不发送0x421B。 对我来说、这看起来像0x42EB。 这意味着您将以不同的数据速率读取其中一个输入。 我不确定、因为不应使用寄存器 DR[2:0]=111。

    我会检查您的所有连接。 如果您对此有任何问题、请发送原理图以及设置照片。

    在读取数据时、不应完全异步读取器件。 如果器件在连续转换模式下使用、器件将以数据速率提供新数据。 您将等待 DOUT/DRDY 变为低电平、然后发送 SCLK 以读取数据。 但是、如果等待时间过长、则新数据可能会中断正在进行的读取。 DOUT 寄存器将更新 MID 读取并损坏输出数据。

    如果要对器件进行编程、则需要等待器件设置配置、然后等待数据周期完成转换。 如果您将器件设置为128SPS、则需要等待1/128秒(振荡器时钟变化为+10%)。 如果您在进行中的转换即将完成时设置转换、则该时间大约为8.6ms。

    请注意、如果您处于连续转换模式、则该时间将延长2倍。 如果您对配置寄存器进行编程、则在进行中的转换完成后才会设置配置寄存器。 如果将配置寄存器设置为启动新转换、则新配置中的数据将在两个转换周期内无法就绪。


    吴约瑟

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

    您好、Joseph、

    我想了解上述步骤

    步骤4a 和4b ...我没有得到 这些步骤。 请解释我。

    另一个问题. 在哪个阶段、我将获得完整计数4096。

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

    您好、Joseph、

    我的 Vref 为5V、POT 最大电压为3.5V

    当我从数据中删除最后4位时,我得到1160个值,这是12位值。

    因此,这 是错误的,我没有得到,以及如何将该值再次传输到主数据。

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

    Avanti、


    首先、您是否能够清除使用示波器看到的数字信号? 我担心您的通信中可能会出现数字错误。 第二、您能否发送原理图? 这将有助于调试您正在测量的内容。 如果您从电位计和电阻器获得某种分压器、那么也最好具有这些值。

    查看您的结果、可能是正确的、但您可能处于错误的范围内。 例如、如果您处于±6.144V FSR、并且测量的电压为3.5V。 那么您可能会得到:

    (3.5V/6.144V)*2^11 = 1167 (这将是48Fh)

    此代码接近您看到的1160代码。 请注意、如果在±4.096V FSR 上、则该值会有所不同。 您会看到:

    (3.5V/4.096V)*2^11 = 1750 (这将是6D6h)

    由于二进制补码表示法、最高正值将为7FFh 或2047的代码。



    吴约瑟

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

    您好、Joseph、

    今天我有多个问题。 我有以下疑问。

    我的 FSR 为6.144

    POT 最大电压为3.5

    首先,请告诉我,我们将获得16位值,因此最后四位应该为0,否则它将读取。

    对于 3.008 v

    当我读取 POP 寄存器时、十六进制值为 A90、十进制值为2704

    如果我删除最后四位、则 A9表示169个值。该值在任何时候都是恒定值、但如果 POT 电压从3.008降至3.004、则由于波动小、我将得到589个值。 数量差异很大

    1.FSR =6.144输入电压3.008,十进制数据=169 (12位)

    2、FSR =6.144输入电压=3.004数据=585 (十进制12位)

    请向我解释一下它是如何诞生的

    2。 另一个是数据表中的数据、数据将采用二进制补码形式。

    以上数据是二进制补码或最终数据。

    我不知道我获取的数据是正常数据还是二进制补码、因此需要对其进行转换?? 或不是

    为此、请帮助我、

    非常感谢您的参与。

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

    1.FSR =6.144输入电压3.506,数据=1316,十进制(12位)

    以上数据1316采用哪种格式。

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

    IP 电压 FSR 12位数据
    3.506. 6.144. 1316.
    2.986 6.144. 681.
    2.492. 6.144. 576.
    2.053 6.144. 3364
    1.492 6.144. 2372

    这些位于 reading.please 上、帮助我解决此问题。

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

    您好、Joseph、

    今天,我没有提出任何疑问。

    非常感谢您的帮助和指导、我的 ADC 工作正常并获得准确的输出。  

    你很好地指导我。 感谢您宝贵的时间和帮助。