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.

[参考译文] ADS124S08:在 PIC32MM0256GPM064上通过 SPI 通信失败

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1518143/ads124s08-failure-to-communicate-via-spi-on-pic32mm0256gpm064

器件型号:ADS124S08
主题中讨论的其他器件:ADS125H02ADS125H02EVM

工具/软件:

您好、  

我目前正在开发一种使用 ADS124S08和 ADS125H02来获取 ADC 读数的设计。  

SPI 设置为模式1、速度设置为400kHz、它们共享 SCLK、SDI 和 SDO 线路。  

我已将代码基于 GitHub 上的库、并对其进行了修改、使其与 PIC32MM0256GPM064的 SPI 库配合使用

我已经检查了 ADS124S08的 AVDD、IODD 和 DVDD 引脚上的电压、分别为5V、3.3V 和3.3V。 ADS125H02也是如此、HV_AVDD 也为5V。 所有 VSS 均连接至 GND。  

我尝试通过轮询寄存器0x00 - 0x09来测试通信、我获得的响应为0。

我附加了两个器件的电路图、发现  START 引脚与 GND 之间缺少连接、并且物理连接了一根导线。 我计划进行单次测量并通过命令开始转换。 对于 ADS125H02、我必须在物理上将其短接至地、并且在电路图中没有该短接。  

我还包含这两款器件的库文件。  

您能帮助我确定 我的错误做法吗?  

e2e.ti.com/.../4774.ads124s08.ce2e.ti.com/.../ads125h02.ce2e.ti.com/.../ads125h02.h 

  e2e.ti.com/.../6740.ads124s08.h

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

    我能够读取 ADS124S08的寄存器、但当我尝试开始转换时、DRDY 引脚永远不会变为低电平、我甚至轮询 DRDY 引脚10秒  

    我发送的序列如下所示  

    状态=(0x00)

    输入多路复用器= AIN 1和 AIN4 (0x14)

    PGA =延迟14、PGA 启用、增益8 (0x0B)

    数据速率=单次、低延迟滤波器、20SPS (0x34)

    REF = 启用正基准缓冲器旁路、 禁用负基准缓冲器旁路、REFP0和 REFN0、内部基准上电(0x11)

    IDCMAG = 750uA (0x06)

    IDCMUX =断开连接、AIN0 (0xF0)上的 IDC1

    SYS = 8个样本(默认)、启用 CRC (0x12)

    我已经写入这些寄存器并读取它们、以确保写入成功。  

    对于 ADS125H02、我无法读取寄存器上的数据  

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

    尊敬的 Zaheer Hashim:

    在原理图中、我首先注意到两个器件的 CLK 引脚都悬空。 这两个器件都需要将 CLK 引脚连接到 DGND、以使用内部振荡器。 或者、可以通过外部振荡器驱动这些引脚。 但不能悬空

    您还应根据所需的功能、将 START 引脚连接至高电平或低电平。 更多信息、请参阅器件数据表

    -布莱恩

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

    您好 Bryan、  
    感谢您的快速响应、  

    我已将 START 引脚和时钟引脚连接到 DGND、ADS124S08仍然不会提供读数、可以对内部寄存器进行读写、但不会进行转换。

    当我读取任何板载寄存器时、ADS125H02会提供0。

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

    尊敬的 Zaheer Hashim:

    如果 START 引脚为低电平、如何开始转换呢?

    您可以尝试将 START 引脚拉高、然后探测 DRDY 引脚吗?  假设采用默认寄存器设置、DRDY 引脚应在~50ms 时切换、因为默认数据速率为20SPS (这对于两个器件都是如此)。 此字节表示 ADC 调制器正在工作并准备好输出数据

    您是否还能向我们发送 SPI 通信的逻辑分析仪捕获结果? 如果您有 Saleae 逻辑分析仪、只需将.Sal 文件发送给我们即可查看。 这比仅仅发送屏幕截图更好

    -布莱恩

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

    您好、Bryan  
    ADS124S08的数据表中包含以下内容
     "当通过 START 和 STOP 命令控制器件时、将 START/SYNC 引脚连接至低电平。 如果 START/SYNC 引脚为高电平、则 START 命令不会被解码。 如果器件已处于转换模式、则命令无效"

    在 ADS125H02的数据表中、结果显示  
    " START 引脚或 START 命令用于控制转换。 如果使用命令控制转换、请将 START 引脚保持在低电平、以避免引脚和命令之间发生争用。 命令在第32个 SCLK 下降沿产生影响。 有关转换控制时序的详细信息、请参阅开关特性表。"

    如果有用、我可以发送示波器捕获结果

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

    尊敬的 Zaheer Hashim:

    谢谢、您是否尝试使用 START PIN 而不是 START 命令作为故障排除测试? 如果此测试不起作用、则表明系统存在严重错误

    请发送示波器屏幕截图。 确保图像具有高分辨率和注释、以便我们可以轻松地对其进行查看

    -布莱恩

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

    您好 Bryan、

    我设法解决了 ADS124S08的问题、但没有正确发送启动命令。  

    我仍然无法从 ADS125H02获得任何 Coms。 我已将 START 引脚连接到3.3V、在上电时 DRDY 引脚变为高电平7.5ms、然后变为低电平并在该之后保持低电平、它不会在低电平和高电平之间切换。  

    我附上了从示波器获取的 COM 的屏幕截图。 对于 ADS125H02、这些命令以6个字节发送、最后3个字节为0、格式如下:

    字节1 =读取命令与地址进行"或"运算

    字节2 = 0

    字节3 = CRC-2

    字节4 = 0

    字节5 = 0

    字节6 = 0

    我尝试读取默认寄存器、但 SDO 引脚上没有数据。  

    DRDY 引脚信号在 DRDY 的捕获中以橙色显示。 在 SPI COM 中、橙色布线是时钟信号、蓝色布线是 SDI 或 SDO。 我的示波器只有两个通道、因此无法同时捕获 SPI 时钟、SDI 和 SDO。  

    如果您需要更多信息、请告诉我。

    此致
                          

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

    尊敬的 Zaheer Hashim:

    我尝试了在 ADS125H02 EVM 上推荐给您的测试:我为电路板供电、然后监控逻辑分析仪上的 DRDY 引脚(非 DOUT/DRDY)。 我得到的结果如下所示。 您可以看到 DRDY 在50ms (或20SPS)时切换、这是默认数据速率。 请注意、在 EVM 上、CLKIN 引脚连接到 DGND、START 引脚被拉高至3.3V。 这是你应该看到的

    如果您没有看到这种情况、则说明存在接地问题、电源问题或时钟问题。 由于必须在电路板上手动进行此更改(因为此引脚最初是悬空的)、因此您可以检查您的 CLKIN 连接

    此外、使用2通道示波器来诊断通信问题也会非常困难

    -布莱恩

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

    您好 Bryan、

    我发送给您的 DRDY 引脚捕获是 DRDY 引脚、而不是 DOUT/DRDY 引脚。  

    我将仔细检查 CLKIN 引脚并告知您  

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

    您好 Bryan、

    我已经仔细检查了 CLKIN 引脚并正确连接到地、 DD 引脚连接到各自的电源平面、去耦电容器尽可能靠近 IC、GND 连接接地、AVSS 引脚也接地。 START 引脚连接到3.3V。  

    当 DRDY 引脚切换时、您是否正在读取 ADC 数据? 或者、即使您没有读取数据缓冲区、它也会切换吗?

    在通信周期中、根据我按下按钮的时间、寄存器一次读取一个寄存器。 我使用时钟作为触发器录制了 SDI COM、然后返回并在使用时钟作为触发器录制 SDO COM 的同时重复相同的命令。

    但是、无论我发送多少次读取寄存器命令、SDO 都会保持在0V。

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

    尊敬的 Zaheer Hashim:

    我不在建议的测试期间读取数据、正如我说过的、我只是给电路板上电并探测 DRDY、以获得我与您分享的结果

    您可以参考 ADS125H02EVM 用户指南了解我所使用的系统原理图、更具体地说、所有 ADC 连接、以了解它与您的系统的比较情况。

    器件是否可能已损坏? 您可以尝试其他器件或其他电路板吗? DRDY 脉冲可被视为 ADC 检测信号:如果在首次启动器件时无法看到该脉冲、则会发生一些严重错误(时钟、接地、电源、当然或者器件在实验过程中损坏)。

    -布莱恩

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

    HV_AVSS 可以接地、HV_AVDD 可以连接至+10V、还是两者都必须±10V?   

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

    尊敬的 Zaheer Hashim:

    是的、这应该没问题

    -布莱恩