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.

[参考译文] DS280MB810:转接驱动器不通过 EEPROM 进行配置。

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1200714/ds280mb810-redriver-does-not-configure-from-eeprom

器件型号:DS280MB810
主题中讨论的其他器件: SIGCONARCHITECTDS560MB410

您好、TI 技术人员、

我正在以下 I2C 总线架构中使用 DS280MB810:

包含以下原理图:

   

我已经使用附加的.hex 文件对 EEPROM 进行编程、并回读其内容以验证是否已正确编程。 应用 D2V5电源后、我能够通过 I2C 与转接驱动器通信、但似乎没有正确(甚至根本没有)从 EEPROM 对转接驱动器进行配置。 具体而言、当我探测2号转接驱动器上的 ALL_DONE_N 引脚时、其测量值为2.5V、这意味着尚未从 EEPROM 完成配置。 此外、当我从 SigCon Architect 通过 I2C 读取转接驱动器寄存器的内容时、不存在所需的 EEPROM 值。

我将电阻器 R40替换为零欧姆电阻器、认为1号转接驱动器的 READ_EN_N 可能需要硬接地、而不是1K PD。 但是、这不会改变行为、ALL_DONE_N 仍在2号转接驱动器处测得2.5V 的电压。 我还根据应用报告 SNLA244中指出的内容浏览了.hex 文件内容、看起来是正确的。 基本而言、我使用以下参数值来设置所有通道:VOD=2、EQ1=5、EQ2=0、Boost=3。 hex 文件似乎包含这些参数的正确数据值。

我一直盯着那一刻,寻找着可能会发生什么的线索。 谢谢。

此致、

-Mark

-------------------------------------------------------

.hex 文件内容:

:20000000D10010E413E413E413E413D555D555D555C580100000000000000000000026.
:20002000000000000000000000000000000000000000000000000000000000000000000000000000000000C0
:20004000000000000000000000000000000000000000000000C5801000000000000000004B
:2000600000000000000000000000000000000000000000000000000000000000000080
:2000800000000000000000000000000000000000000000000000000000000000000000000000000060
:2000A0000000000000000000000000000000000000000000000000000000000000000000000040
:2000C0000000000000000000000000000000000000000000000000000000000000000000000020
:2000E000000000000000000000000000000000000000000000000000000000000000000000000003FD
:00000001FF

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

    尊敬的 Mark:

    我有一些问题可以帮助调试您的问题。

    1号转接驱动器的寄存器是否设置正确? 1号转接驱动器的 ALL_DONE_N 引脚是否被拉低? 如何在转接驱动器2上配置地址引脚?

    我查看了您的 hex 文件、但没有立即看到任何问题。 我已加载 SigCon Architect 并按预期设置了正确的参数值。 您是否使用 SigCon 生成了此文件?

    此致!

    卢卡斯

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

    您好、Lucas:

    下面是显示了1号转接驱动器、2号转接驱动器和 EEPROM 的完整原理图页面。 请注意、转接驱动器1具有地址0x18 (7位)。 转接驱动器2的地址为0x19。

    否、转接驱动器1的寄存器未根据 EEPROM 设置进行设置、且其 ALL_DONE_N 引脚仍处于2.5V 的高电平。 但有趣的是、Block Diagram 选项卡上的 SigConArchitect (SCA)显示"EEPROM Load Complete"状态指示器为绿色。 这两个事实似乎冲突、但我不确定 SCA 使用什么来确定 EEPROM 加载成功。

    下面还显示了来自 SCA 的4个屏幕截图、前两个是0x30处的转接驱动器#1、后两个是0x32处的转接驱动器#2。 请注意、转接驱动器1显示为全绿色、而转接驱动器2显示为几乎全红色。 不确定这意味着什么。

    如果您需要进一步的数据、请告诉我。 谢谢。

    此致、

    -Mark

           

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

    尊敬的 Mark:

    您是否在 SDA 和 SCL 线路上包含了一个2k-5k 的上拉电阻器? 我在您的原理图上没有看到这些、它们是 I2C 读取/写入操作所必需的。

    您能否在低级页面上为1号转接驱动器分享通道寄存器值的屏幕截图?

    您是使用 SigCon Architect 上的 EEPROM 页面生成 hex 文件还是手动写入? 我注意到它正在改变一些保留寄存器的值、如果文件是从 SCA 生成的、我就不用担心了。

    此致!

    卢卡斯

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

    您好、Lucas:

    是的、我们在 SDA 和 SCL 上都有4.7K 的 PU。 它们在原理图的不同页面上、但它们在那里。 EEPROM 使用上述绘图中所示的同一 I2C 总线、可以很好地读/写、因此 PU 正在工作。

    通道寄存器的屏幕截图如下所示。

    是的、我使用 SCA 生成 EEPROM .hex 文件。 Aardvark "Flash Center"应用程序用于对 EEPROM 进行编程。

    此致、

    -Mark

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

    尊敬的 Mark:

    明天我将尝试在实验中重现您的问题、我会让您知道我发现了什么。

    此致!

    卢卡斯

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

    尊敬的 Mark:

    很遗憾、我在尝试设置测试时遇到了一些问题、但仔细查看您的 hex 文件后发现可能存在 SigCon EEPROM 页面错误。 通道寄存器数据以字节"C5"开头、应放置在文件的地址映射标头部分之后。 在您的文件中、它从字节0x13开始、如果每个标头都是1个字节、则该字节直接位于地址映射标头部分之后。 不过、每个地址映射标头的长度为2个字节、因此通道寄存器数据应从字节0x23开始。

    我已经写入了一个新的 hex 文件、其通道寄存器配置与您的文件相同、但移动到了文件中的正确位置。 您能否尝试使用此文件、并让我知道它是否有效?

    e2e.ti.com/.../test.hex

    请注意、该配置  在寄存器0x3、0x4、0x6中设置 VOD=2、EQ1=5、EQ2=0、Boost=3、并将其余通道寄存器设置为00。 如果您要在其他寄存器中保留默认值、请告诉我、我可以为此编写另一个 hex 文件。

    此致!

    卢卡斯

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

    您好、Lucas:

    EEPROM 的编程没问题、我确认内容符合'test.hex'文件。

    遗憾的是、下电上电后、转接驱动器寄存器的状态与之前相比没有变化。 ALL_DONE_N 信号仍保持在2.5V (逻辑高电平)。

    我将从星期一开始解决这个问题、并在我身边提出一些想法。 期待了解您可能有的任何其他见解。 感谢您的持续努力。  

    此致、

    -Mark

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

    尊敬的 Mark:

    我将继续尝试重现您的问题、并将在本周晚些时候向您提供我的发现。

    此致!

    卢卡斯

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

    您好、Lucas:

    以查看我的设置中发生了什么。

    转接驱动器#1在上电时处于 I2C 主模式,然后(我们相信)它尝试读取 EEPROM,但由于某种原因而失败。 我们知道这一点是因为它从不会将 ALL_DONE_N 输出驱动为低电平(通过 DVM 进行测量)、并且转接驱动器寄存器值仍然是默认值(不是 EEPROM)。 但是、1号转接驱动器确实会从 I2C 主设备转换为 I2C 从设备。 我知道这是因为我可以写入一个新的寄存器值并通过 I2C 回读。 因此、1号转接驱动器"在某种程度上"完成了转换到 I2C 从器件的加电任务、但 EEPROM 任务失败。

    此外、由于转接驱动器#1 ALL_DONE_N 不会驱动为低电平、因此2号转接驱动器甚至不会开始尝试从 EEPROM 读取数据。 我知道这是因为我不能写一个新值的寄存器然后读回--写入新值永远不会"采取"。 这说明转接驱动器2仍处于 I2C 主模式、而不是从模式。 它卡住了。

    由于上述行为、我真的很想知道.hex 文件是否仍然以某种方式混乱、并且由于该原因、转接驱动器#1未正确完成 EEPROM 的配置(我不知道还有什么其他原因可能是它无法成功配置)。

    您是否具有在评估板上使用的.hex 文件以便我在设置中简单地尝试一下? 我要将一个"Known good".hex 文件编程到 EEPROM 中、以确认我可以让它正常工作。 但是、在您将其发送给我之前、请在评估板上测试它以确保它是"已知良好"的。 谢谢。

    此致、

    -Mark

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

    尊敬的 Mark:

    感谢您的总结、我正在积极地在实验室中复制您的问题。 我将尝试编写和测试一个有效的十六进制文件,以便在本周结束时发送给您。

    此致!

    卢卡斯

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

    您好、Lucas:

    注意、我意外单击了"Resolved Issue"按钮、我认为此问题尚未解决。

    另一件事要问... 请提供两个已知良好且适用于 DS280MB810 EVM 的特定 EEPROM 器件型号。 此 EVM 的 BOM 不会指定特定的 EEPROM、而是具有一个插槽。 因此、请告诉我您在要测试的 EVM 上放置了什么特定 EEPROM。

    我想使用经验证的 EEPROM 和经验证的.hex 文件。 如果您今天或明天能够提供、那将是极好的。 谢谢。

    此致、

    -Mark

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

    尊敬的 Mark:

    遗憾的是、在 DS280MB810上测试 EEPROM 编程时、我遇到了一些意想不到的挑战。 我正在使用24FC16 EEPROM、但尚未使其与转接驱动器配合正常工作。 很遗憾、解决您的问题需要更多时间、但我希望下周能提供更多反馈。

    此致!

    卢卡斯

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

    您好、Lucas:

    您是对 EEPROM 本身进行编程还是对从 EEPROM 进行 DS280MB810配置时遇到问题? 我假设是通过 EEPROM 配置转接驱动器、但希望进行确认。 由于 SigConArchitect 不允许直接对 EEPROM 进行编程、因此我目前使用 Aardvark 编程器以及 Flash-CenterGUI 应用程序来对 EEPROM 进行编程。

    此致、

    -Mark

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

    尊敬的 Mark:

    我很快就会遇到从 EEPROM 配置 DS280MB810的问题。 我还使用带有闪存中心的 Aardvark 对 EEPROM 进行编程、但这不存在任何问题。

    此致!

    卢卡斯

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

    您好、Lucas:

    我们看到的来自 EEPROM 的配置的任何新问题。

    此致、

    -Mark

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

    尊敬的 Mark:

    对此延迟深表歉意。  我们将继续对此进行研究、希望本周能获得解决方案。

    谢谢。

    德鲁

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

    尊敬的 Mark:

    感谢您的耐心等待。 我观察到、如果我禁用 CRC、EEPROM 似乎正确加载。  为了继续您的评估、我建议现在这样做。 我正在研究该器件为何不接受 SigCon 架构生成的 CRC、并希望在下周内得到一个解释。

    谢谢。

    德鲁

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

    尊敬的 Drew:

    感谢您提供禁用 CRC 提示。 我还没有机会尝试这种做法,但愿意这样做。

    同时、我还有另外一个关于 MUXSEL[1]引脚模式的相当重要的问题。 能否通过 EEPROM 配置启用引脚模式?是否需要对器件进行 I2C 寄存器写入(到共享寄存器0x05[1])才能将器件置于引脚模式?

    具体而言、SNLA244中的表11和表12似乎指示在 EEPROM 配置期间只能设置共享寄存器0x05[2]。 但是、要启用引脚模式、共享寄存器0x05[1]也需要在 EEPROM 配置期间设置、但表似乎指示它无法设置。 此外、共享寄存器0x05[1]的默认值为0、这意味着默认禁用引脚模式。 所有这些似乎都会得出一个结论、即引脚模式只能通过 I2C 寄存器写入共享寄存器0x05的位1来启用。 您能否确认、或以其他方式将我指向 EEPROM 中某个将启用引脚模式的另一位? 谢谢。

    如果将器件置于引脚模式需要 I2C 写入、那么 EEPROM 配置可能是个没有问题、因为我们需要引脚模式。

    此致、

    -Mark

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

    尊敬的 Mark:

    您的 观察结果是正确的、只能通过对 DS280MB810进行 I2C 写入来启用 MUX 引脚控制。  如果您的应用需要引脚模式、则需要使用 I2C 写入来配置此模式。  我们在较新版本的 DS560MB410器件上对此进行了改进、默认将 MUX_CONFIG_PIN_CTRL 设置为1、但遗憾的是、我不知道 DS280MB810有任何相关工作。

    谢谢。

    德鲁