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.

[参考译文] ADS7947:偶尔出现启动问题,卡在32b 模式中?

Guru**** 2390765 points
Other Parts Discussed in Thread: ADS7947

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/827173/ads7947-occasional-startup-problem-stuck-in-32b-mode

器件型号:ADS7947

我有一个使用四个 ADS7947的设计。 所有转换器共用一个公共时钟和 CS。 有一个 FPGA 生成时钟和 CS 信号并读取各个 SDO。 通常情况下、它运行良好、但有时转换器不会生成数据。 症状是所有四个转换器上的 SDO 一直处于低电平。 我怀疑 FPGA 出现了意外状态、并将转换器置于 limbo 模式、可能是32b 模式。 但是、我尝试使用 CS 高电平为芯片计时、这还不足以恢复。 如果我对32b 模式的猜测是对的,您能不能说明如何退出该模式?

以下是有关如何使用这些器件的更多详细信息。 时钟为40MHz、占空比为50%。 CS 在380ns 下为低电平、在120ns 下为高电平。 时钟空闲、然后在 CS 置位后、脉冲14次。 CS 在第14个时钟的下降沿之后上升。 我已根据数据表检查了时序、没有发现任何违规。 此外、信号看起来很干净、没有明显的过冲或振铃。

未使用 PDEN、CHSEL、AIN1N 和 AIN1P 并将其接地。 该器件与 AVdd=5V、DVdd=3.3V、Vref=4.096V 搭配使用

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

    您好!

    CS 线路上是否有上拉电阻器?

    感谢您提供的详细信息、但最好使用数字通信示波器快照来诊断可能的来源。

    我怀疑您可能需要重置器件以使其脱离此未知状态。

    此致

    Cynthia

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

    您好、Cynthia、

    硬件在 CS 或 SCLK 上没有上拉电阻。 它们在配置 FPGA 之前会持续断路一秒钟、然后 CS 驱动为高电平、SCLK 驱动为低电平。

    我要附上 CS 和 SCLK 的示波器照片。 无论转换器是否发射数据、这些波形都是相同的。 此时、转换器正常启动、因此我无法显示 SDO、但它会永久停留在"0"。

    只要可以使用 CS 和 SCLK 完成该操作、我就很乐意重置 ADS7947。 这些是我可以使用的转换器的唯一两个输入。 我在数据表中找不到任何有关复位的信息。 是否有程序?

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

    您好吗? 辛西亚?

    我想进一步了解导致芯片卡在非工作状态的条件、以及如何将其复位。

    谢谢!

    乔治  

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

    您好、George、

    感谢示波器屏幕截图、就像您说的那样、这是正确的行为。 当 SDO 线路卡滞时会发生什么情况、这将是查看数字线路是否仍然正常工作所需的情况。

    我建议在 CS 上添加一个上拉电阻器、这样器件在已知状态下加电、并且将消除进入32位模式的可能性。  只要 FPGA 在加电时不在该线路上输出任何内容。

    您是否会澄清这种情况发生的确切时间? 您提到它在启动时、但并不总是发生。 您是在整个电路上电、还是仅在 ADC 上电时对 FPGA 上电?

    此外、您使用的 FPGA 能否以最大吞吐量支持全部四个数据转换器?  您能否  先启动 FPGA、然后启动周围的电路?  

    此致

    Cynthia

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

    您好、Cynthia、

    当器件处于不良模式时、SDO 卡在接地位置、从不会脱离接地。 我们可以用铅笔和标尺向示波器照片添加一条直线、并将其标记为 SDO。 数字线路是 FPGA 播放的模式、它不依赖于 SDO。 这种情况在启动时不经常发生、并以相同的方式影响所有四个转换器。 一旦进入此模式、它们就永远不会恢复、直到下电上电并重新启动。 如果它们确实正确启动、则永远不会进入此状态。  我还没有尝试重新加载 FPGA。 由于 FPGA 共享3.3V 电源、因此尚未尝试首先启动 FPGA。 以全速处理四个转换器不适合 FPGA -它具有专用的逻辑来完成任务。

    CS 上的上拉电阻器将是一个有趣的实验、但设计已投入生产。 我们必须对数百个电路板进行返工、以便证明我们需要确定原因和效果。 对 FPGA 进行重新编程可能会容易得多。

    沿着这条线路、我学到了一个关于这个问题的有趣的东西。 我编写了一个新版本的 FPGA、它始终生成16个时钟而不是14个时钟。 在经过数百个循环通电的一周临时测试后、我从未看到过出现此问题。 数据表显示、可以在第14个时钟之后停止计时、这正是旧 FPGA 所做的。 我想知道是否有16个时钟避免的临界情况、或者16个时钟是否从32b 模式中清除器件。 我在阅读数据表时不清楚如何退出32b 模式、或者我也会尝试这样做。

    乔治

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

    这是一个有趣的发现:我将与我们的设计人员一起研究14个时钟脉冲与16个时钟脉冲。 您是否看到、一旦器件使用16个 SCLK 启动、然后切换到使用14个 SCLK 脉冲、器件就会正常运行?

    如果您在启动时使用它来捕获 SDO 线路卡在低电平时的屏幕截图、该屏幕截图将非常有用。 这将显示每条数字线路在启动过程中处于何种状态。

    CS 上拉电阻很有用、但也可以通过确保从 FPGA 启动时 CS 的状态为高电平来实现。

    当 SDO 保持 低电平时、您是否确认它实际上是在32位模式下、通过继续时钟输出脉冲来保持 CS 低电平? 16SCLK 之后、SDO 上的数据是否可用?

     此致

    Cynthia

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

    您好、Cynthia、

    我没有尝试在14和16时钟脉冲模式之间切换。 我的原始逻辑仅使用14个时钟模式、然后我将其重写为仅使用16个时钟模式。 由于这都是在 Verilog 中写入的自定义逻辑、因此返回项目并尝试测试、通过生成更多时钟来查看它实际上是否停留在32b 模式。 此外、我无法在32b 模式下获得必要的转换率、因此它仅在启动时或作为更好地了解问题的实验有用。 我不接受这一结论、因为最初14个时钟期间的行为是 SDO 驱动为低电平、这是数据表所说的该器件在32b 模式下所做的。 目前、我对项目的另一个方面有着很好的了解、但我将返回到启动时对线路的状态进行采样。 我再也不能使用 FPGA 了、因为它在所有 IO 线路配置为输入时唤醒。 只有在配置后、才能使线路输出、然后 CS 驱动为高电平。 在配置 FPGA 之前、ADC 将已通电一秒钟。