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.

[参考译文] 直接编程EEPROM,DS100BR111 SMBus主模式

Guru**** 2466550 points
Other Parts Discussed in Thread: DS100BR111, USB2ANY

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/640138/programming-eeprom-directly-ds100br111-smbus-master-mode

主题中讨论的其他部件:DS100BR111USB2ANY

对于未在指定字段中提供部件号,我们深表歉意。 出于某种原因,这样做只允许我选择"以太网"作为目标论坛。

我使用适当的EEPROM为SMBus主模式设置了DS100BR111。 我正在尝试了解如何对EEPROM进行编程,以便DS100BR111可以从中读取。 我尝试将值直接写入EEPROM。 即,EEPROM地址0x00包含  数据表表表6 (或SNLA228的表1)中的第一个值。 这似乎不起作用,因为DONE (完成)针脚仍较高。 我可以读取DS100BR111的寄存器值,但不能写入它们- 我认为写入被禁用,直到完成量变小。 进一步调查表明我需要创建一个十六进制文件并将其写入EEPROM。 是否可以手动写入十六进制文件的值? 请详细说明这一程序吗?

我签出了SigCon Architect,但没有USB2ANY设备。 如果可能,我需要对EEPROM进行编程。 谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我刚刚知道我可以点击SigCon Architect中的"应用"按钮来使用允许我生成十六进制文件的功能。 如何编程到EEPROM以及是否需要十六进制文件的问题仍然存在。 谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Mark,您好!

    是的,DS100BR111的十六进制EEPROM文件可在演示模式下由SigCon Architect工具编程(未连接实时设备)。 但是,请注意,然后必须使用EEPROM编程工具(如TotalPhase Aardvark)将.hex文件输入EEPROM中:

    SigCon Architect不具备将值刻录到EEPROM本身的能力。

    要创建. hex文件,请实现以下内容:

    1.在“高”或“低”级别页中写下您希望更改的所有寄存器值。 单击"应用"以使更改生效。

    2.转至EEPROM页面。 假设您只对一个设备进行编程,请单击"从设备更新插槽"。 这会将特定于EEPROM的寄存器值映射到它们在eeprom .hex文件中的适当位置。

    3.完成后,单击“写入EEPROM十六进制”,将生成十六进制文件。

    上述步骤适用于对插槽0中的单个设备进行编程。 如果您有多个DS100BR111设备,则需要执行以下附加步骤:

    4.导航至“低级”页面,并更新下一台设备的所有不同寄存器值。 单击"应用"。

    5.返回到EEPROM页面,将“设备数量”增加到适当的数量。 如果无法将设备数量增加到所需数量,这是因为必须增加EEPROM大小。 增加EEPROM大小以启用更多设备。 请注意,每个EEPROM的设备限制为16。

    6.双击每个设备地址的“插槽编号”,然后根据需要键入所需的插槽编号。 共享相同设置的设备可以共享相同的插槽编号。

    7.单击要更新的插槽编号,然后单击"从设备更新插槽"。 在以下示例中,更新插槽6中的设备编号7:

    创建.hex文件后,使用EEPROM编程工具将EEPROM值刻录到EEPROM中。 确保您选择的EEPROM与Atmel AT24C01C/02C/04C/08C/16C EEPROM相当。

    谢谢!

    Michael

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您提供信息。 我在电路和电脑之间有一个I2C连接,它只是不是USB2ANY设备。

    您能告诉我EEPROM上到底刻录了什么吗? 换言之,“...将EEPROM值刻录到EEPROM中”的含义是什么? 它是十六进制文件本身吗? 还是从它创建的二进制文件? 正如我前面提到的,我尝试原始数据时运气不佳,所以我猜需要十六进制文件。

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

    它取决于编程工具。 我只使用了Total Phase Aardvark工具,该工具允许我输入一个. hex文件,然后它知道如何对EEPROM进行编程(该EEPROM的7位设备地址应为0x50)。

    在其他客户使用案例中,我看到他们需要.bin文件。 如果是这种情况,有一个名为HEX2BIN的实用工具可让您执行此操作。 有关详细信息,请参阅以下主题: e2e.ti.com/.../231.5878万

    谢谢!

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

    我通过HEX2BIN传递生成的十六进制文件,使用十六进制编辑器打开该.bin文件,并通过I2C将十六进制值写入EEPROM,从而成功地对EEPROM进行编程。 感谢您的帮助!