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.

[参考译文] ADS7953:启动失败

Guru**** 2442090 points
Other Parts Discussed in Thread: ADS7953, TMS570LS1227

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1205005/ads7953-startup-failure

器件型号:ADS7953
主题中讨论的其他器件: TMS570LS1227

我们正在使用一个 TMS570LS1227将一个 SPI 与两个器件对接、其中一个器件 为 ADS7953 (每个器件都有自己的 CS 线路)。 我们的系统已经正常运行了、现在已经有一段时间了、但是客户刚刚在2个月前报告了这个问题、上周又报告了这个问题、所以我将进行调查。 该问题在启动时发生、但只很少发生、99.9%的时间可以正常工作。 另外、我应该说它发生了2次、只有在对整个系统进行下电上电后才能解决。 在所有情况下、如果器件在没有问题的情况下启动、则它将继续工作、而不会出现问题。

我们在启动时的正常序列是:我们发送复位命令、然后使器件进入自动模式2、并在此简单地切换 CS 线路(数据至 ADS = 0)并使用 ID 读取通道数据。 该数据用于某些安全功能、如果收到错误数据、则会触发故障。 这是到目前为止触发此问题的两次发生的情况。 我没有太多数据。 之后、我给了客户一些固件的特殊版本、让我们知道微控制器从 ADS 读取的内容、而不仅仅是触发故障。 当发生第二个故障时、我们看到我们始终从 ADS 读回0x3FFF 数据。 鉴于这不是0xFFFF (例如某件事情卡在高电平)、在我看来、ADS 未在自动模式2下正确配置(根据我们的启动序列)、 相反、它卡在手动模式下并报告所有时间通道4 (前4位是 ID)。 另外、由于我们使用5V 电压、因此看起来电压范围没有正确选择(同样是启动的一部分)。 通道4的电压应为4.5V 左右、因此如果电压范围也未正确配置、则读取值为0xFFF。 这是我们读取0x3FFF 的原因背后的理论。 不知何故、启动序列变得混乱、导致器件卡在错误的模式和配置下。

我见过另外2个帖子与类似的问题、但没有答案:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/941973/am3352-unwanted-signals-on-spi-line-during-power-up?tisearch=e2e-sitesearch&keymatch=ADS7953#

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/933197/ads7953-data-errors?tisearch=e2e-sitesearch&keymatch=ADS7953#

一些问题:

-考虑到 SPI 链路与另一个设备共享,它是否有可能在启动时,它错误地读取一些数据,将进入另一个设备,这个数据正在使 ADS 卡在一个状态,它不能从以后出来? 在上电序列期间、第一条命令发送为0x4200、该命令应重置 ADS、以便正确执行其余配置。 我的理解是、即使 ADS 因此读取了一些虚假数据、在发送复位命令之后应该没有关系?

-我已经仔细研究了上电顺序。 电压 Va 和 VBD 同时出现。 它开启5ms、然后关闭(与微引导加载程序相关的操作)、大约200ms 后、它再次开启并保持不变。 导通时 VA 始终高于 VBD、但我注意到关断时、VA 轨的关断速度快于 VBD、而 VBD 在关断时、比 VBD 高约10ms。  这种行为合适吗? 这是否会影响器件、因此当器件在200ms 后上电时、可能处于未知状态?

如果该设备已正确完成配置并以所需的模式运行,则我们无法读取任何类型的状态寄存器。 是否有其他方法来检测此情况? 如果确实如此、我们是否可以重新运行启动序列以使其进入正确的状态?

-有什么其他想法可能会发生什么?

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

    Javier、

    1. 建议在配置前进行复位。  我感到惊讶的是、在复位之后、您仍然使器件处于奇怪的模式。  在发送复位之前、您是否确认电源是否已启动且稳定?  您是否认为电源上可能存在瞬态使器件进入奇怪模式?  如果器件进入陌生模式、您可以尝试再次发送复位、看看它是否退出不良模式。
    2. 关于您的问题:
      1. 您是否有可能在启动时读取另一个器件? 这对我来说似乎不太可能,但不是不可能。  我假设您为共享总线的每个不同 SPI 器件都有一个单独的芯片选择。  对吧?  如果是这样、如果其片选未激活、任何器件都不大可能尝试通信。  我同意复位应该会使器件退出奇怪模式。
      2. 我已经仔细研究了上电序列。 这正是我要求您执行的测试类型、因此我认为您可能处于正确的故障排除轨道上。  您一定已经注意到、数据表显示 VA >= VBD。  我认为、器件可能会进入奇怪的状态、因为在断电期间 VA 下降得快于 VBD。  您可以增加200ms 延迟吗?  在200ms 完成时、内部节点和/或去耦可能未完全放电。  当您监控电源时、您是否直接查看器件去耦?
      3. 该器件没有任何类型的状态寄存器。 很遗憾、您回答正确。  该器件没有传统寄存器、您可以在其中读回并确认设置。
      4. 我已经联系 Cynthia (另一篇文章的作者)、看看她是否对这个问题有任何见解。
      5. 其他想法。 您的数字通信看起来如何。  您的数字信号中是否有大量噪声或过冲。  基本上、我只是要求检查一下、看看这是否可能是数据完整性问题。  数据完整性问题可能会使器件进入奇怪的模式。  这个问题通常可通过发送一个复位命令来缓解。
      6. 其他想法。 您认为您能做些什么来使这个问题发生吗?  如果问题很少出现、则很难重现或解决。  也许您可以尝试降低200ms 延迟、或采取一些措施使电源定序变差。  我不确定电源是问题所在、但这可能是一个很好的起点。  
      7. 其他想法。 您的 BDGND 和 AGND 是否连接到实心 GND 平面?  这是我们的建议。  我在过去(不同的器件)曾遇到过这种问题、人们使用单独的模拟和数字 GND (通过铁氧体连接)。  我们不建议使用铁氧体连接到 GND 平面。  一般而言、我们不建议单独接地、但肯定不会通过铁氧体连接接地。  

    这些类型的间歇性问题很难解决。  我希望以上的一些评论可以帮助您。  请告诉我您的想法。

    艺术

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

    艺术

    感谢您的快速响应。

    1.可以,我可以在发送 RESET 命令之前确认电源是否开启且稳定。 此外、是的、我们正在考虑在配置过程中增加一个额外的步骤、如果我们读回错误数据、将触发器件的重新配置(包括复位命令)。 我将此作为最后一个选项、因为它没有真正解决问题的根本原因、而只是解决了它。

    2.

      答:对于每个器件、我们都有单独的 CS yes。 我目前正在研究 ADS CS 线路可能在启动时错误切换的可能性。 这还不清楚。

      B.关于电压下降和备用电源的问题。 我对它进行了研究、结果发现这是错误的。 这是我用于 PCB 的工作台电源产生的赝像(发生过流并临时关闭电源轨)。 有了更好的电源、就不会出现这种压降。 在客户的申请中、我无法保证会发生类似情况、但我也不能丢弃。 让客户衡量此类事情有点困难、但我可能没有其他选择、但询问他们我们是否无法确定发生了什么情况。

      E.通信看起来很好很稳定。 我们的运行速度仅为1Mbps、因此也不是很高、我仔细研究了信号范围、没有看到任何振铃或类似情况。

      f.我会考虑建立一个系统来持续对 PCB 进行下电上电、并寻找发生的问题、以便我们可以在内部触发问题。 这可能至少需要几天的时间来设置。

     G.是的、GDGND 和 AGND 一起连接到一个实心接地层

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

    此外、还有一点。 我们当前正在自动模式2下使用 ADS、因此它会在所有通道中自动循环。 我想知道使用手动模式和手动循环遍历所有通道是否更安全。 因为在每个帧中、我们都必须发送模式、通道、范围等信息 即使一个周期由于任何原因都不起作用、也不会像我们的客户那样卡在手动模式下。 它将始终循环遍历所有通道。 你怎么看?