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.

[参考译文] ADS8881:与ADS8881的接口不稳定

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/654542/ads8881-unstable-interface-with-ads8881

部件号:ADS8881
主题中讨论的其他部件: ADS7042ADS7854

您好!

这是我的Verilog HDL代码: http://paste.org.ru/?x2a6yj

我尝试使用ADS8881 ADC,但它的接口经常被卡住。 FPGA是Xilinx XC6SLX9,时钟速度为140 MHz (可满足ADS8881的70 MHz最大时钟速度)。 采样率为500 KHz,信号为525 KHz正弦。 每20-50 us接口就会挂起,我会重新启动循环。 字节联动接口I是指ADC对控制信号没有反应。 在循环重启后,我看到它继续按预期工作,然后在20-50 us后,错误再次重复出现=(

我还看到另一个错误(请看下面图片的左半部分:DIN=1,dout =橙色,SCLK =绿色,convst=红色)-有时我的模块开始错误地捕获数据,但dout错误地返回到级别1。 图的右半部分显示正常循环,无错误。

我尝试了数据表中的多种模式:3线4线,都有忙或没有忙,然后发现ADC工作不稳定。 这让我哭了,我做错了什么? Xilinx ISIM和Modelsim中的建模显示,我的代码一切正常-许多不同的度量方法都是随机18位值,随机转换时间从500到700 ns -在HDL模拟器中都可以,但在实际ADC =()中则不行

可能有人可以将他的代码分享给我和所有其他人? 如有需要,我可以提供更多的细节。 请帮助,我花了很多周时间让它稳定运行。 我可以尝试更多的调试理念?

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

    您好,Alex:

    遗憾的是,我们没有Xilinx FPGA的软件示例。  如果您可以在读取操作期间发布一些放大的DIN,SCLK,DOUT,CONVST示波器图,并告诉我们您打算使用3线/4线(带/不带忙)的操作模式,以便我们验证接口计时。

    请将示波器探头放在ADS8881器件的针脚处;当器件正确提供转换结果时以及在不工作的情况下,请提供示波器图。

    ADS8881 (18-B)是一种非常高的分辨率,非常低的失真器件,在高于Nyquist的输入频率下无法正常运行。  数据表显示高达100kHz输入频率的性能。  

    请张贴示意图,显示ADS8881数字接口连接以及驱动器件的放大器。

    谢谢,此致,

    路易斯  

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

    我制作了ads8881以1000 ksps速率捕获1007 kHz。 它显示纯7 kHz正弦。 Luis,您从哪里得到的信息表明该设备在Nyquist上无法运行? 我在数据表中看到BW参数声称为30 MHz。 它不是输入电路的BW?

    但无论如何,不稳定接口的问题仍然存在。 Nyquist上方的输入信号是否存在接口不稳定性连接?

    如果有人拥有更详细的稳定数据捕获工作中心,我们将不胜感激。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    你为什么认为在Nyquist的工作是不可能的?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您说的绝对正确-由于此ADC的输入带宽为30 MHz,因此高于1 MHz的输入信号是合适的。 当我在该ADC上使用1050 KHz的输入正弦值(1 MHz采样速率)时,它显示我清除50 KHz正弦值。 我的同事在这种模式下使用不同的ADC,没有任何问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不幸的是,我没有足够快的示波器(我只在工作中,而不是在家里)。 但我能够以更高的速度捕获ADC接口线路-我上面的图片是通过UART从FPGA传输到PC的这种捕获的结果。

    在另一个论坛上,有人建议我尝试使用图51中的接口模式"3-Wire CS Mode without a Busy Indicator (DIN = 1)"。 我很久以前尝试过此模式,但没有成功,现在我将再次尝试此模式,并将在出现错误时发布接口图的图片。 给我几天时间尝试另一种模式:)

    如果我想让我的HDL代码与ADC配合使用-我将在本主题中与其他人分享。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Alex,

    经典的SAR ADC架构可用于转换Nyquist以上的输入信号频率(欠采样应用);过去,我多次支持在欠采样应用中使用SAR ADC的系统。

    大多数中性能SAR ADC (12-B,14-B以及某些情况下16-B分辨率设备中的某些器件)可能非常适合这些采样过疏的应用,因为采样和保持的带宽通常会限制输入频率(当然,正如预期的那样, 随着输入频率的增加,性能会逐渐降低,严格来说,它不符合数据表规格)。

    但是,SAR ADC在这一性能类别中提供了极高的分辨率和极低的失真(18-B及以上分辨率),它在执行最低有效位(LSB)决策时采用了自校正算法, 在高输入频率下,频率远低于采样保持BW时,和将显示性能更急剧下降;因为频率阈值后,频率远低于采样保持BW时,最后几个位决策将不正确。

    因此,出于这一原因,我建议将中精度SAR ADC用于采样不足的应用;我不建议将18-B器件用于采样不足的应用。 非常适合采样不足应用的器件,例如ADS7854,ADS7042。

    当然,输入频率和接口问题之间没有关联。

    谢谢!

    此致,
    Luis Choye
    精密SAR ADC应用