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.

[参考译文] ADS114S08:从 PIC32控制器发送 RREG 命令

Guru**** 2390755 points
Other Parts Discussed in Thread: ADS114S08

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/984559/ads114s08-sending-rreg-command-from-a-pic32-controller

器件型号:ADS114S08

我有一个 PIC32连接到 ADS114S08、我尝试发送 RREG 命令并读取它、但我得到的只是垃圾。 我已按照设置 SPI 的步骤进行操作、并检查 CS 引脚是否为低电平。 其他的一切都很好 但无法使用 ADC 或使其响应。

您是否有任何用于初始化 PIC32的 SPI 和发送一条基本命令的代码?

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

    您好、6562906、

    遗憾的是、我们没有竞争对手器件的示例代码、但我很乐意帮助您排除通信故障。  确保 AVDD、DVDD 和 IOVDD 的电源均为标称工作电压。  例如、如果缺少 AVDD、器件将不会进行通信。  还要确保 RESET 引脚设置为高电平。

    查看通信的示波器或逻辑分析仪快照以验证命令是否已正确传输将会很有帮助。

    此致、

    Bob B

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

    尊敬的 Bob:

    我已将 AVDD、DVDD 和 IOVDD 连接到3.3V 电源、并将 RESET 引脚拉至高电平。 我将很快向您发送屏幕截图

    谢谢、
    罗汉

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

    尊敬的 Bob:

    我已将0x21和0x0发送到 ADC。 我已经记录了它。 请看一下、让我知道您认为我可能遗漏了什么。 我没有从 ADC 获得任何响应

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

    您好、Rohan、

    我认为最大的问题是、您在 SCLK 的错误相位上计时数据。  数据应在 SCLK 的上升沿发生变化、并在下降沿保持稳定。

    第二件事是、您似乎没有发送足够的时钟。  RREG 命令是两个字节、后跟一个 NOP 以检索数据。  因此序列为0x21 (从寄存器1开始读取寄存器命令)、0x00 (读取1寄存器)、0x00 (传输 NOP 以收集数据)。  此外、在整个通信过程中、CS 必须保持低电平。

    此致、

    Bob B

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

    尊敬的 Bob:
    我在上一个帖子中执行了您要求我执行的操作、但我仍然没有获得预期的 Rx 数据。 下面是通信的一些截图。

    我将 CS 永久置为低电平

    首先、我发送了0x21、然后是0x00和0x00。

    然后、我发送了0x20、后跟0x00和0x00。

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

    您好、Rohan、

    在每种情况下、您都会对输出缓冲器中的数据计时。  它显示为负满量程(0x8000)、并且由于数据位于环形缓冲器中、因此数据每16个 SCLK 重复一次、因为命令不会被解码。  好消息是器件正在响应。

    但是、似乎没有数据进入 ADS114S08。  验证示波器屏幕截图上显示的数据也发生在 ADS114S08的 DIN 引脚上。  检查 DIN 和 CS 引脚之间是否存在短路、其中 DIN 可能与 CS 一起保持低电平。

    此致、

    Bob B

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

    尊敬的 Bob:

    我不太理解您在上半篇帖子中的意思

    "在每种情况下、您都在计时输出缓冲器中的数据。  它显示为负满量程(0x8000)、并且由于数据位于环形缓冲器中、因此数据每16个 SCLK 重复一次、因为命令不会被解码。  好消息是器件正在响应。"

    我已经仔细检查了连接、它们都很好。 您在示波器上看到的数据是通过 ADC 芯片本身上的抽头提取的。

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

    您好、Rohan、

    如果一个转换发生并完成、转换结果被自动放置在输出缓冲器中、并且将保持在该缓冲器中、直到一个新的转换完成或者一个命令用一些其它数据更新缓冲器。

    您可以将原理图发送给我吗? 您使用的是哪种器件封装?

    当您"检查连接"时、您是否实际探测了 ADS114S08上的引脚、而不是过孔或测试点?  例如、如果您具有建议的与数字信号串联的串联电阻、则可能是电阻器开路或焊点不良。   

    此致、

    Bob B

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

    尊敬的 Bob:

    是的、我确实探测了 ADS114S08上的引脚并检查了连接。 我将与您分享原理图。 我正在使用 Microchip.e2e.ti.com/.../PIC32-Schematic.pdf 上的 PIC32

    e2e.ti.com/.../2620.ADC-Schematic.pdf

    请告诉我您的想法。

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

    您好、Rohan、

    感谢您提供更多信息。  原理图中的任何内容对我来说都不是一个问题。  我看到有2个 ADC、您正在使用2个 SPI 外设。  

    • 您是否能够与总线上的其他设备通信?  
    • 您是否尝试与两个 ADC 或仅一个 ADC 进行通信? 如果只有1个、哪一个?
    • 您共享的示波器快照来自总线 SPI1或 SPI3?

    此致、

    Bob B

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

    尊敬的 Bob:

    我一直在使用其中一个 ADC、并已在 SPI1上向您发送 ADC1的照片。 我无法与 SPI1上的另一个器件通信、也未检查其他器件。

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

    您好、Rohan、

    我不确定此时应该如何进行故障排除。  我想验证总线是否正常工作。  是否在每次尝试通信后为 ADS114S08切换 CS?  使用 CS 将在内部复位 SPI 总线并清除通信中可能出现的任何干扰。  

    您如何探测通信?  我在您的原理图中看不到任何测试点。

    我会再次使用欧姆计检查 DIN 引脚是否未短接至 CS 或 ADS114S08的 GND。  我还会使用欧姆计检查信号线路是否开路或微控制器和 ADC 之间的电阻过高。

    此致、

    Bob B