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.

[参考译文] ADS42LB69:ADS42LB69 SPI接口问题

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/593822/ads42lb69-ads42lb69-spi-interface-issue

部件号:ADS42LB69
主题中讨论的其它部件: SN74LV1T34

您好,

    ADS42LB69的串行接口存在异常问题。  

1)每次读取都会返回不同的值! 我们已经在示波器上查看了波形,它们与所读取的值一致。  

2) SDO上有数据(ADS42LB69中的串行数据),即使是在写入模式下向其写入地址。  

显然,在SDO上写入的数据仅来自ADS42LB69 (SPI总线上没有其它器件)。 我们也尝试了改变串行时钟,但这没有帮助。  

请告知:  

感谢您抽出宝贵时间帮助我们,

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

    SM,

    您是否在通电后进行硬件或软件重置? 如果执行软件重置,您是否将重置引脚连接到GND? CNTL1和CNTL2是否连接至GND? 尝试读取时,是否将R/W位设置为“1”? 您是否可以通过在通电后监视电流,然后写入地址0x08以关闭两个通道来验证是否执行了正确的写入操作。

    此致,

    Jim

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

    您好,Jim,

          感谢您的及时回复。

    1)我们正在执行软件重置

    2)复位被拉至带有10K电阻器的GND

    3) CNTRL1和2未连接到GND,但现在(在您输入之后),但结果仍然相同

    4)否,如果将0xC0或0xC1写入0x08寄存器地址,功耗不会下降

    随附的是写操作的屏幕截图。  (青色是SCLK,紫色是写入ADC的数据,绿色是ADC的SDO处的信号)。  

    再次感谢您,

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

    SM,

    我在示波器镜头上看不到SEN。 写入时是否低? 您是否可以用0欧姆零件替换10K电阻器?

    此致,

    Jim

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

    您好,Jim,

          是的,写入ADS期间SEN较低。 我们用0E更换了10K,但问题仍然存在。  

    您认为在关闭信道时功耗会下降的想法很好,但我们看不到。  

    显然存在SPI接口问题。

    为了进行实验,我们在写入过程中将SEN提高到了很高的水平,ADS没有做出响应,我们的理解是,ADS的响应表明PCB上的连接是正常的。 我们有点疑惑,为什么ADS写回内容,即使只是发出写命令。  

     2)还有另一个问题。 ADS的SDO为1.8V逻辑电平,而总线上的其它器件为3.3V。 我们使用SN74LV1T34将此1.8V逻辑转换为3.3V,它可以工作(电平转换工作),但总线上的其它设备无法在此总线上发送任何内容(始终保持低电平)。 使用带三态输出的电平转换器是否有帮助? 请建议一个部件号。  

    第二个问题是 在存在多个SPI设备的单独板上。

    只有ADS在总线上时,SPI通信问题仍然存在。  

    请告知:

    此致,

    Shashank.

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

    Shashank,

    让我们先让写入工作,然后再担心读取问题。  您的主板是否允许您 在通电后在复位引脚上发出逻辑高复位脉冲? 如果不是,您是否可以进行修改以允许此操作? 您是否总是在地址A6中写入“0”? 通电并发出重置后,如果您将CLK连接到设备,并且CNTRL 1和2接地,则应在所有电源上消耗电流。 然后,将0xC0写入地址0x08。 这应该会导致电源断电。 如果您无法使此功能正常工作,则可能存在计时问题,或者零件可能已损坏。 SCLK的频率是多少? 这不能大于20MHz。  如果您在写时在SDO行上读回数据,则可能是您发出了读命令,或者其它一些信号驱动着此网络。 当ADC 未处于读取模式时,SDO表示为三态。  这是我唯一可以解释的。

    此致,

    Jim  

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

    您好,Jim,

          是的,我同意我们需要先让写入操作正常。

    1)我们将尝试焊接电线以执行硬重置。

    2)"您是否总是在地址A6中写入一个"0"?"    我认为有拼写错误(没有地址A6)。

    3)是的,当我们为具有CTR1,2接地的ADC提供时钟时(没有任何重置),电流确实会上升(我希望这表明部件正在工作)

    SPI总线以1MHz运行。  

    4)即使在写入模式下,SDO上显示的数据也是我们无法解释的。  

    我们正在监控示波器上的信号,我们没有看到正在发送读取信号(当然,我们可能仍然缺少某些内容),但我们已经多次查看示波器上的信号以确认相同的信号(我们还自己编写了SPI控制器代码, 因此我们知道没有其他人被发送)。  

    5)未激活时,SCLK线是否要求高或低?

    期待您的意见,

    此致,

    Shashank.

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

    Shashank,

    通过保持A6低位,我参考了图89。 这是地址输入的第6位。 SCLK具有内部下拉功能,因此您可以将此信号保持在较低水平或三态。 我不会保持这种高水平。 您是否可以使SCLK 循环16个连续脉冲而不是8个,间隙介于之间? 我将就此与设计团队进行核实。

    您的SEN是否在16 SCLK后不早于25ns的时间内达到高位?

    此致,

    Jim    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jim,
    我们要写入的地址(特别是第一个地址,0x08)都低于D63 (因此A6始终为0)。
    我们很难将SCLK修改为16个连续脉冲(我们现在使用内置库来实现SPI)。 同样,这种方法(即8个周期,有一个间隔,然后再8个周期)也适用于我们使用的所有其他IC,所以我真的希望这不是问题。
    此外,SDO甚至在前8个时钟周期结束之前就开始发送数据(可以在我之前发送的图片中看到),所以我认为这不是问题。
    我们刚刚检查过:“在16SCLK之后,至少1个Us之后,SEN就会提高。

    我认为我们的启动方式有问题,因为SDO甚至在地址写入期间也开始丢弃数据。 此外,即使我们正在发送读取命令,SDO也不应在第九个时钟周期之前变为活动状态。

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

    SM,

    接下来我会尝试进行硬件重置。 这是否是跨多个系统的问题?

    Jim

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

    SM,

    开机后是否执行以下操作:

    写入0x01,添加0x08以设置高复位

    写入0xC0以添加0x08以关闭两个通道

    如果您正在重置部件并通过一次写入关闭信道,则不起作用。

    Jim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jim,
    我们做了以下工作:
    1)焊接线进行硬复位,并在通电时提供300us复位脉冲。 SDO活动现已停止。
    但是,当0xC0写入0x08时,电源不会下降。

    2)我们将接至重置引脚的导线接地(通电时)。 然后应用软复位(即,将0x01写入0x08)。 在这种情况下,SDO活动也不存在,但0xC0情况下电流不会下降。

    我想请问你是否可能在明天(5月10日)左右再次帮助我们。 现在是下午7:30,我们的PCB设计工程师和实验室技术人员已经离开了一天。 我们将让每个人都参与进来,以便我们能够解决问题。

    此致,
    Shashank.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jim,
    我认为SPI接口现在有了一些生命。
    将0xC0写入0x08不会降低电流消耗,但0xE0降低了电流消耗!
    在0xE0和0xC0之间切换会使电流变得低和高或
    我认为你可以像你迄今为止所做的那样,在正常的程序中帮助我们(明天没有预约)。
    什么原因会导致0xC0响应中出现缺勤?
    非常感谢您的帮助,
    此致,
    Shashank.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    SM,

    在EVM上运行GUI后,我刚刚注意到需要再设置一个位来关闭器件。 请尝试写入0xC8以添加0x08以关闭两个通道。

    此致,

    Jim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Jim,
    是,0xC8工作正常。
    我们看到以下内容:
    硬重置始终有效。 工作是指SPI接口工作正常,设备响应发送的命令。
    软重置:
    我们尝试使用0E和10K电阻器将重置引脚连接到接地。 在这两种情况下,启动都不一致。 SPI接口有时工作,有时不工作。
    如果不起作用,则电流消耗略高于工作时(在重启时,不执行重置)。
    我们现在有一条跳线连接控制器和复位引脚,这将适用于产品,但不能用于我们的产品。
    请给出建议并再次感谢,
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    SM,

    写入软件重置后,始终执行此操作并写入,以使用数据0x08添加0x08。 这就是我们的GUI所做的,我从未看到软重置有任何问题。

    此致,

    Jim