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.

[参考译文] ADS7953EVM-PDK:ADS7953EVM-PDK

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/811004/ads7953evm-pdk-ads7953evm-pdk

器件型号:ADS7953EVM-PDK
主题中讨论的其他器件:ADS7953ADS7951

我正在将上述 EVM 板与 Arduino MEGA 板连接。 无论选择何种通道、我都只能测量通道0。 任何其他通道都无法进行测量。

加电时,我写入此数据以在手动模式下进行配置:0x18 0xCF  

通道-0的 ADC 测量结果良好、使用的基准电压为2.5V

SPI 设置:  SPI.beginTransaction(SPISettings(1000000、MSBFIRST、SPI_MODE1);

感谢您的任何帮助。

此致

Raj

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

    您好!

    您是否会提供数字通信的示波器截图、包括 SDI、SCLK、SDO 和 CS。 这样可以目视检查数字通信、并 将其与处理器的预期结果和实际执行的结果进行比较。 请包括3个帧。

    此外 、为了进行调试、我 建议在 ADC 输入端使用已知的直流值、例如 CH1 = 1V、CH2 = 2V 等、以了解测量输出的预期结果。

    您以什么模式运行器件? 在调试过程中、我建议手动确认通信是否正确。 器件可从此处配置为其他模式

    此致

    Cynthia

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

    你好  

    感谢您的快速响应。

    目前、我能够从器件中获取以下已知值的正确 ADC 计数。

    2.5 V - 4096

    0 V  - 0  

    1.85-2950   

    配置的模式当前为手动/无断电/通道/GPIO 配置为输出/范围:2. 5V

    问题是我只能获得通道0的 ADC 计数。 当我为所有通道将相同的代码放入 for 循环时、我得到的通道编号仍然为0、通道0 ADC 值。

    我很快会尝试为您提供快照。

    感谢你的帮助。

    此致

    Raj

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

    您好!

    在手动模式下、您必须选择下一个采样通道。 如果您持续发送同一命令、则将持续对同一信道进行采样。

    根据下表、需要更改 DI010至07位以对不同通道进行采样。 请这样做、并告诉我这是否可以解决问题。

    此外、如果您使用命令0x18h、0xCF、则 DI04位为低电平、这意味着器件将输出与输出数据对应的通道。 在您的所有采样中、前四个位应始终保持一致。

    完成正确的配置后、您可能会考虑使用不同的模式。 该器件支持自动扫描模式、可在每帧对预定的通道序列进行采样。 这与手动模式不同、用户在每个帧中选择下一个采样通道。

    此致

    Cynthia

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

    您好!

    这是我尝试读取连续信道的简单代码:

    代码在 Arduino Uno 中编程、并在无限循环中连续运行:

    serial.println ("chan-0");
    digitalWrite (ADC_CS、低电平);
    //发送命令字节
    Result [0]= SPI.transfer (0x18);
    Result [1]=SPI.transfer (0x4F);
    //禁用设备
    digitalWrite (ADC_CS、高电平);
    serial.println (result[0]、hex);
    serial.println (result[1]、十六进制);

    ----------------

    串行输出会发生变化  

    通道0
    B

    96

    0

    --抱歉,图像尺寸较大。 我将尝试为您提供一个3帧序列。   

    混乱的原因是我得到的频道编号是9而不是0。 上面的代码是在 Micro 中运行的代码。 我没有更改任何频道编号。  

    此致

    Joseph

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

    您好!

    在手动模式下、如果您连续发送同一帧、则将继续 对同一信道进行采样。 它不会改变。 DI 10至7需要选择通道

    例如、对于通道2、它将是0010、因此整个命令将是0001 1001 0100 1111 = x49h;x4Fh

    当您提供三个帧时、请告诉我哪条线是信号、现在我假设粉红色线是 SDI、蓝色线是 SDO

    SDO 的前四位是转换结果对应的通道、正如您配置的那样、它看起来是通道0。

    此致

    Cynthia

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

    您好!

    从 ADS7953读取值时仍然有问题。  我已将1.8V DC 连接到通道-3、从 SPI 接收到的值为0x0F7。

    请参阅随附的图片。

    参考 :粉色- SDI /绿色- CLK /蓝色- SDO。 问题是 ADC 计数与应用于通道的正确直流值不对应。

    命令信息:CH0- 0x1840 CH1-0x18C0、CH-2 -0x1940 CH-3 0x19C0…CH-7 0x1BC0  

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

    您的电源是什么?

    SDO 上拉至高电压是多少? 在示波器截图中、切断了一侧的电压。 从驱动 SDO 到驱动 SDO 时、信号的电压似乎有所不同。 您使用的是多大尺寸的电阻器、它连接到多大电压? SDO 的拉电流不应高于 VA 电源。

    目前、您将输入范围设置为2xVref = 2 x 2.5V = 5V

    我无法验证通道3数据对于1.8V 输入是否正确、因为它在您提供的示波器快照中不可用。 示波器屏幕截图中显示 SDO 值0x0F7h 的数据实际上用于通道7、而不是帧 N+1中的通道3

    虽然器件看起来工作正常、但您对结果的解释似乎是错误的。

    取数据表中的下图。 当您对器件进行编程以对通道进行采样时、该通道的数据将在初始通道之后的2帧后才可用。 这就是我要求三个帧的原因。

    SDO 的前四位将指示数据对应的通道、这有助于确保不会混频。

    如果您将此应用于范围屏幕截图、则会出现以下情况:

    此外、如果您不想更改器件的配置、例如基准/范围、则无需继续将位11编程为高电平。 在更改之前将使用最新的配置。 此外、位11无需设置为高电平即可更改要采样的通道。

    此致

    Cynthia

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

    您好、Cynthia、

    感谢您的详细说明。 这解决了我的问题。

    需要进一步澄清和提出建议

    我需要使用 ADS7951芯片上的 GPIO 引脚。 GPIO-0/1必须配置为输出端口、GPIO-2/3必须配置为输入。 上电时、我使用以下值对 GPIO 寄存器进行编程。

    0x4003。  

    我可以使用 SDI 命令的2个位来命令输出 GPIO。 在手动模式下、如何读取输入引脚的状态。 我还在寻找较高位(D15、D14、D13、D12)上输出的通道编号。  

    在手动模式下是否可以执行此操作?

    此致

    Joseph

    我疯了  

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

    我很高兴这对我们有所帮助、

    一次只能显示通道数或 GPIO 值、也就是说、一个 SDO 周期可以显示 GPIO 值或通道。

    您可以选择 每个 SDI 命令 并 更改如何使用 SDO 位:D15、D14、D13、D12 (如果适用)。

    在手动模式下、GPIO 功能可用。 但请记住按照下表进行操作。 您共享的命令不正确。

    很高兴您一路前进、 数据表 将会为您提供很大帮助