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.

[参考译文] ADS8588S:SPI 连接 Arduino teensy 微控制器时出现问题

Guru**** 2419530 points
Other Parts Discussed in Thread: ADS8588S

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/851238/ads8588s-problem-with-spi-interfacing-arduino-teensy-micro-controller

器件型号:ADS8588S

我正在尝试使用 Arduino Tensy 微控制器配置 ADS8588S ADC。 我使用的是串行接口模式、仅使用 DOUTA 在转换后使用 Arduino SPI 接口进行读取。 我已经为以下 Tensy 和 ADC 添加了引脚分配。

我将这两个组件焊接到了我设计的 PCB 上。 我已附上我的原理图以及 PCB 图片。 我在 Tensy 上标记了几个引脚、它安装在原理图视图的下侧。 ADC 安装在左下角、因此与上面显示的引脚相比旋转了90度。

黄线将连接在一起的 CONVSTA/B 连接到外部3.3V 50%占空比方波。

我通过以下选项选择串行模式:

PAR/SER/字节 SEL 逻辑高电平

DB15/字节 SEL 逻辑低电平

我在下面的 tensy 中包含了 Arduino 程序。

我将时钟速度定义为20MHz、但实际上它是18.75MHz、是600MHz 时钟速度的1/32。

我的问题是、第一个字节被发送16次、而不是被更新。 FRSTDATA 标志也会将其清零、该标志会变为高电平16次。 我认为 FRSTDATA 应该只在前16个 SCLK 周期内保持高电平、但在我的系统中、它在一个 SCLK 周期后变为低电平。

但是忙、CS 和 SCLK 似乎工作正常。 此外、我没有包括连接到 CONVSTA/B 的外部系统时钟(之前图片中的黄线)、但它也可以正常工作、并且在 BUSY 达到预期的高电平之前上升。

 

在我收到的数据中、问题也很明显、其中所有8个解释值都是相同的。 这是因为通道1的第一个最高有效字节与其他15个字节的数据是重复的。

这是否是与接地相关的硬件问题? 从时序图中、我注意到 BUSY 和 CS 在18.75MHz SCLK 上似乎存在一些串扰。 或者我是否遇到软件问题?

谢谢、

Skyler

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

    我已经解决了我的问题。 由于 PAR/SER/BYTE SEL 和 DB15/BYTE SEL 线路上的噪声、此芯片进入串行模式。 我需要将它们直接接地和3.3V。

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

    Skyler、您好!

    我很高兴听到这个问题已经得到解决。 由于周末,我对反应迟了表示歉意。 如果您将来对此 ADC 有任何疑问、请告诉我、谢谢。

    此致、

    戴尔