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.

[参考译文] ADS8568:ADC无响应

Guru**** 2576215 points
Other Parts Discussed in Thread: ADS8568, TM4C123GH6PM

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/579189/ads8568-no-response-from-the-adc

部件号:ADS8568
主题中讨论的其他部件: TM4C123GH6PM

您好,

这是我在这里的第一个主题。  在SW模式下设置ADS8568时遇到问题。 我正在使用串行接口,只是尝试从ADC开始转换和读取数据。

我运行的是主设备TM4C123GH6PM微控制器。

为了验证我的ADC是否已正确焊接到分支板上,我从万用表中看到了大约0.001mA的电流。

请参阅代码和我的原理图。 谢谢。

-Iane2e.ti.com/.../adc8668_5F00_sch.sche2e.ti.com/.../2806.main.c</s>2806.

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

    您好,Ian:

    您能否说明一下如何检查电流以验证ADS8568是否正确焊接? “ADC没有响应”的含义是什么? 此外,您上传的示意图在勾选后为空,请验证。 谢谢。

    此致

    戴尔·李

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

    我用我的电源(~5V)的电流表连接了ADC8568。 目前,我读数为~46mA,而不执行任何转换(空闲)。

    所以我认为我的ADC至少可以正常工作...

    请参阅我的代码和原理图。 我设置一个中断从ADC的繁忙引脚读取,它通过读取uController的状态寄存器而达到高位。

    但是,当我尝试从通道A读取输出时,我正在读取0。 我是从电位计上读数,只是为了测试。

    要从ADC读取数据,我使用GPIO引脚,当我要读取时,它从高到低,然后又回到高。

    更新和其他信息。 我现在正在使用硬件模式TM4C123GH6PM微控制器,下面的示意图代表我的中断板,它连接到我的微控制器(跳线)。

      e2e.ti.com/.../3857.main.c

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

    您好,Ian:

    请更正硬件连接并检查以下信号,并告诉我结果。

    1. REFBN (引脚52)/ REFCN (引脚60)/ REFDN (引脚3)应接地,REFBP (引脚50)/ REFCP (引脚63)/ REFDP (引脚6)应单独连接至去耦电容器。

    2. 检查针脚9上的/STBY信号是否过高。

    3. 下图所示的针脚35上的占线信号可用于检查ADC是否正常工作。 当繁忙从低到高时,ADC开始转换,当繁忙从高到低时,ADC表示转换结束。

    4.应满足以下正时图中的所有正时参数,同时最好使用示波器检查它们。

    谢谢。

    此致

    戴尔·李

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

    感谢您的建议。 确保STBY引脚高是至关重要的! 我使用示波器验证了忙线针在~15毫秒内会先高后低。 只需确保,此繁忙引脚的典型振幅电压应该是多少? 我看到它只上升到~500mV,然后下降到0V。

    现在我知道它正在转换,并且我正在从CHA_O引脚获取一些值,我如何解释这些值? 我的值与我的预期略有不同,大约为200至700mV,尽管它相当一致。

    例如,我转换大约2.28V,但只得到0x2107 (我通过UART在屏幕上打印输出)。 我建议可能是VREF = 4V问题? 我根本没有配置配置寄存器,而是将硬件配置为使用内部参照

    谢谢

    -伊恩

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

    您好,Ian:

    对于ADS8552的占线信号:

    1. 繁忙高压应大于DVDD-0.6V (参见下表),如果DVDD为3.3V,则表示至少2.7V。

    2. 您的繁忙时间(~15ns)不正确,繁忙时间=tCONV- tDCVB,对于ADS8568,应为1.7us-25ns=1675ns。(请参见上图中的计时)

    因此,您的ADC工作不好,请检查连接和计时。

    对于SW模式,默认输入范围由配置寄存器中的RANGE_A/B/C/D位确定,将为4V参考,这意味着+/-10V输入, 默认内部参考电压为2.5V (位13),但此内部参考被禁用为默认状态,由REF_EN位(位15)确定。 在配置寄存器中,您使用的是软件模式和串行接口,如您在第一个POST中所述,因此 您必须将REFEN引脚11连接到接地,并且硬件/软件引脚41也应连接到HIGH (DVDD), 此外,如果没有任何外部电压参考,则必须在配置寄存器中将此REF_EN位(位15)更改为1,以便在为ADC通电后启用内部电压参考。

    有关代码和输入电压之间的转换,请参阅链接中随附的文件。

    很抱歉回复太晚。

    /cfs/file/__key/communityserver-discussions-组件文件/73/FormatConversion_5F00_ADS8568.xlsx

    此致

    戴尔·李

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

    感谢您的帮助Dale Li。 我很确定我的ADC现在正在工作(转换输入电压并提供输出)。

    我检查了BUSY Pin,得到了大约3.3V的电压,从高到低需要1.4us。

    自从我启动此线程后,我已更改为硬件模式。

    我以不同的主题发布了另一个关于输出的问题。 按照电子表格中的格式,我得到的输出似乎偏离了中间点,但自我校正接近最大值(7FFF)和最小值(8000)。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Ian:
    请将您的所有问题放在同一ADC的一个E2E线程中,谢谢。 我感到困惑,因为您提到您的忙音量只会上升到~500mV,然后在您之前的问题中下降到0V,现在您检查后得到了大约3.3V。 我也不确定你是否根据我的建议检查了REFBN (引脚53)/ REFCN (引脚60)/ REFDN (引脚3),REFBP (引脚50)/ REFCP (引脚63)/ REFDP (引脚6)的连接。
    要解决此问题的更多问题:
    1.由于您已从SW模式更改为HW模式,您能否确认上面的示意图是否是您的最新连接? 如果是,您在JP1和JP2连接器上的信号连接是什么(高或低)?
    2.当您检查从ADC获得的代码时,您在相应模拟输入上的测试信号是什么? 请列出您的代码和您在相关输入上应用的信号,我可以为您检查。
    3.测试时,您在ADC输入上的前端电路是什么? 您的采样率是多少?
    4.请帮助从范围中获取您的/CONVST,BUSY,SCLK和SDO信号的屏幕截图。

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

    抱歉多个线程。 我不是想混淆你们。

    --------

    1) 我确实在参考引脚上添加了电容器。 下面是我的新原理图:

    我确实切换到TM4C1294,因为我计划使用Quad SPI来读取ADC输出,但连接仍然相同。 (0 =低,1 =高)

    SER (1),STBY (1),RESET (0),REFEN (1),DCEN (0), SEL_B (1),SEL_C (1),范围(1),休眠(0),HW (0)

    FS,SCLK,SDI分别连接到我的SPI主FSS,SlCK和Tx。 当我转换为“低”时,conv_A变高。

    正忙PIN (ucontroller的输入)我检查是否可以开始读取。 SDOS也是输入,我在其中读取ADC输出。

    2) 测试时,我从2.062V的直流电源读取数据 ,然后收到的数据大约为0x27e0。

    3) 输入电路只是直流电源,但如果从电位计读取,也会发生同样的情况。 对于我的采样率,我只是将转换和读取作为一个循环进行测试,但即使只是转换-读取一次,也会发生这种情况。  

    4) 对于示波器图像,我现在只检查了单通道输出。 (注意:这是在HW中,因此我的SDI在执行此测试时连接到了DGND)。

    文件名显示说明。

    对于我的后续问题,我没有获得数据表中所示的预期输出。 如下所示:

    0x0000 -> 1FFF -> 0x0000 -> 0x3FFF - 0x7FFF

    这很奇怪,希望它是有意义的。

    谢谢!

    伊恩

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

    您好,Ian:

    感谢您的信息,但是

    1.对于硬件连接:  

    /REFBUFEN (引脚20)应连接到地(GND),因为您使用的是串行接口和硬件模式。 从您当前的原理图中找不到此引脚的连接。

    SDI (引脚22)应始终连接至接地(GND),因为您使用的是硬件模式,您提到您在测试时将其连接至DGND,请仅使用一个相同的接地(GND)并始终将其连接至GND。

    2.根据 您设置的+/-5V范围,您得到的代码0x27e0对应的输入电压约为1.56V。 电源作为输入信号不好,因为有噪音,不稳定。 即使您正在测量直流信号,前端充电桶滤波器也是必要的,以便为内部采样电容器提供电荷,此外,最好使用放大器来驱动此ADC。

    3.我所需范围的屏幕截图与以下计时相同(相同屏幕截图中的CONVST,SCLK,BUSY和一个SDO),可用于检查您的ADC是否正常工作以及计时。

    谢谢,此致

    戴尔

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

    好的,我终于找到了一个混合信号示波器。 希望这能澄清问题。

    --------

    1) 我将SDI和REFBUFEN都置于GND。

    2) 我正在测量电位计上的电压。 在1.996V的情况下,我的读数为0x0C38。 请参见下图。

    3) 我还检查了时间。

    t_conv = 1.6240us

    t_dcvb = 16ns

    t_bufs = 1.924us

    T_ACQ = 19.58 us

    T_SCLK = 1.260us

    希望这些测量值能有所帮助。 如果仍需要,我将检查其他测量值。

    感谢您的即时帮助,

    伊恩

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

    您好,Ian:

    从您测量的计时参数来看,它们可以满足ADS85's数据表中的规格, ADC正在工作,但您得到的代码不正确(代码0x0C38的输入电压在2Vref范围内约为0.48V),因此数据捕获不正确。 您正在使用所有串行数据输出引脚SDO_A,SDO_B,SDO_C和SDO_D,每个引脚需要32个时钟来输出每个通道对的数据,每个输出引脚传输32位数据的时间为1.26x16x2 = 40.32us,这比Tacq时间19.58us要长, 因此,您需要提高SCLK频率,同时当您在SCLK的下降边缘捕获SDO_x上的数据时,您的CPU应在SCLK下降边缘后以5ns (tHDO)完成数据检索,请参阅以下时间安排中的tHDO,请检查。 谢谢。

    此致

    戴尔·李

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

    请原谅我。 似乎我没有附加映像文件。

    正如您在下面看到的,我刚刚运行了16个时钟周期。 所以我相信,从这个开始,我应该能够检索CH_A0,CH_B0,CH_C0,CH_D0。 如果我只有16个时钟周期,即40.32us的一半,那么我的t_ACQ似乎是有意义的。

    此外,您是否建议我提高SCLK频率? 我应该以何种最低速度将微控制器配置为在5ns内检索。 我可以发布具有32个时钟周期的新数据快照。 我已经测试过,但问题没有解决。

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

    您好,Ian:

    感谢您的更新。 提高采样率只是为了保证您可以获得所有通道对数据,而且它不能保证5ns计时(这取决于您的CPU),请在您的实际计时中检查tHDO。 我在上一篇文章中提到的另一件事是,即使您正在测量直流信号,也需要一个合适的前端充电桶滤波器,以便在采集期间为内部采样电容器提供电荷,此外,使用放大器缓冲器来驱动此ADC也是更好的。 请参阅此博客并查看详细信息:

    e2e.ti.com/.../settling-time-challenge-and-improvement-tips

    还有一件事,我不知道为什么屏幕截图中的信号幅度如此小,您前面的问题中也提到了这一点,这是真实的信号幅度还是由示波器的探头引起的? 谢谢。

    谢谢(敬上)

    戴尔

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

    我认为信号幅值是由于我使用示波器设置的阈值。 我还需要研究充电桶滤波器和放大器缓冲器,但目前我正在读取相对良好的结果。

    在阅读我的输入之前,只需在试验电路板上使用一个输入行。 (我的假设是,他们都应该读取相同的值,但他们不是)

    下面是我所做的改变:我现在通过不同的电位计来控制电压,从不同的输入线路读取数据。 目前,ADC代码结果始终是实际电压的一半。 例如,如果我的读数为0.6V,我将得到大约1.2V。 它似乎关闭了1位。

    此外,如果我超过+-2.5V,我得到的结果不可靠。 所以我的续航里程在+-2.5V范围内

    另一个奇怪的案例。 我似乎无法获得正确和可靠的输出。 我将研究这些缓冲和过滤,但也许你们对这种现象有一些解释。

    --------

    其他问题:

    1) 是否有方法可以更改ADC偏移,以便如果需要,只能有正0-5V范围?

    2) 我是否真的必须从不同的源输入中读取? 目前,这是我唯一改变的事情,我开始读取良好的输出。

    感谢您的大力帮助。 我有点困住和沮丧。

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

    您好,Ian:

    您提到的半读数是 由于您的计时导致的,这意味着您的CPU未捕获1位,请检查您的计时以确保参数与图1相比正确,尤其是 tHDO I建议您之前检查。

    我不明白你是怎么做的,“跳过+-2.5V,我得到的结果不可靠。 所以我的续航里程在+-2.5V范围内。

    此ADS8568 ADC仅支持+/-4Vref和+/-2Vref (2.5V Vref为+/-10V和+/-5V)。

    您能否解释"我是否真的必须从不同的源输入中读取?"

    谢谢。

    此致

    戴尔

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

    您好,Dale,

    结果我错过了1位,正如你所想。 我用我的逻辑分析器检查了它,所以我更改了一些代码,以便在第一个时钟边缘读取。

    对于菊花链配置,可能的原因是什么

    1.) ADC采样不正确?

    2.),因为数据在菊花链中被更改。 例如,1001 0001变为1011 0001?

    3.)将整个16位的左移错误地偏移2? 例如,我们查看了ADC 3的输出,并将其与第一个ADC的输出进行比较。 数据相同,但位置不正确。

    请参阅我们更新的示意图。 我们有4个ADC以菊花链方式连接在一起。 顶部图像是ADC4,下面是ADC1,其中输出连接到微控制器。

    我们转至PCB级别。 我们的设计师没有考虑到的一个注意事项是,正忙/INT引脚与微控制器之间的网络连接。 不过,我们在这两个月的时间内,却有很长的延误。

    非常感谢

    伊恩

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

    您好,Ian:

    我很快就会回复您。

    此致

    戴尔

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

    您好,Dale,

    请帮助。 我需要帮助才能继续前进。

    我要附上新的图像,说明我认为我的数据为什么会损坏。 我的数据流中有些"小故障"会影响我的数据。 几乎立即上下移动的白色粗体线是实际数据,它会移动其余数据。 您知道是什么原因吗?

    非常感谢您的帮助。

    谢谢!

    伊恩

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

    伊恩

    由于图片太小,很难看到细节,而且我也希望看到整个原理图,因为很难看到您的连接只是原理图的一部分,即使我找不到RXC和RXA。

    我不完全理解您提到的"1001 0001变为1011 0001"不是左移,请解释。

    请告诉我您的测试使用的输入信号以及您获得的代码,首选计时。

    还有一个问题,您是否正在使用HVDD的+5V电源和HVSS的-5V电源?

    谢谢(敬上)

    戴尔