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.

[参考译文] ADS1148:无法时钟输出转换结果

Guru**** 2393495 points
Other Parts Discussed in Thread: ADS1120, ADS114S08

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/754803/ads1148-unable-to-clock-out-conversion-result

器件型号:ADS1148
主题中讨论的其他器件:ADS1120ADS114S08

我正在使用 Arduino Uno Rev3控制芯片。 Arduino 内置 SPI 接口由于某种原因无法使用;因此、我将对所有 SPI 通信使用位拆裂。  

该代码基于数据表中提供的伪代码。 我已将代码和示波器捕获附在本帖子的底部。  

-能够写入寄存器并通过读回寄存器进行完整性检查。  

-已将 START 引脚脉冲为高电平以启动转换  

-在 START 引脚脉冲高电平之后、DRDY 引脚确实变为低电平

-轮询 DRDY 0而不是中断  

- DRDY 在第一个下降时钟边沿强制为高电平  

-随后发送了 RDATA 命令和16个 CLKS 以尝试时钟输出转换数据... 但是 MISO 仍然返回0

一切似乎都在正常工作,但我不能排除结果!!

请提供一些帮助。 提前感谢。  

范围捕获:

https://www.dropbox.com/s/bj81xcmidpah292/scope%20captures.pdf?dl=0

Arduino 代码:

https://www.dropbox.com/s/et9cm1jrhfwir3u/adc.zip?dl=0

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

    感谢您的发帖!

    您可以在论坛上发布图片和代码吗? 我无法访问网络上的下拉框。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当然、很抱歉...  

    代码如下:

    e2e.ti.com/.../4544.adc.zip

    以下是示波器捕获:  

    e2e.ti.com/.../scope-captures.pdf

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

    不用担心、感谢您重新发布数据。

    查看示波器截图的第2页、我看到该命令与读取命令在/CS 变为高电平(在0x12h 和0xFFh 之间)时从计时数据中分离出来。 由于/CS 变为高电平、读取被关闭。 /CS 必须在整个通信事务中保持低电平。

    此外、由于读取和写入寄存器是一个由15个寄存器组成的连续块、我建议写入2个单独的块、不要尝试写入校准寄存器、以防止以后出现问题。 通常、您不希望写入这些校准寄存器、因为存在内置的例程、错误地对这些寄存器进行编程可能会导致许多问题。

    还有一些其他事项、对于该器件、基准电压不得大于 AVDD -1V、这目前违反了该标准。 此外、您无法使用单极电源对 AGND 进行单端测量、因为输入将超出共模输入范围。 您可能需要考虑使用 ADS1120或 ADS114S08、因为它们允许使用5V 基准进行单端测量。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我降低了基准电压、现在能够获得转换结果! 非常感谢!