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.
您好!
使用 TICS Pro 软件、可以正确配置时钟频率。
在此图像中、使用连接到 LMK03318 I2C 的 USB2ANY 转换器也能够配置时钟。
现在、在量产线中、不适合将 I2C 线路暴露在外部。 因此,计划从 U-boot 加载此.tcs 文件(最好使用命令)。
我可以这样做吗?
请推荐我可以参考的一些资源。
谢谢。
S·M·谢蒂
尊敬的 Sameeksh:
TCS 文件是一个配置文件、供 TICS Pro 软件解释使用。 器件只需要知道与该配置相关的寄存器设置、可通过 TICS Pro 中的"File"->"Export hex register values"获取。 在十六进制寄存器值文件中、每行均指 LMK03318中的特定寄存器(例如 R0)、并具有十六进制值。 前两个十六进制数字是寄存器十六进制地址、后两个十六进制数字是寄存器值。
我假设您要在生产线上对器件进行一次编程、然后让其进行自我管理。 然后、您需要将寄存器信息编程到器件的 EEPROM 中、从而每次都以该配置启动。 我将介绍用于手动 EEPROM 编程的步骤。
如果您对该过程有更多疑问、敬请告知、我可能无法为 U-boot 提供更多帮助。
此致!
Evan Su
尊敬的 Evan Su:
需要了解更多有关 TICS Pro 中输出驱动器选择的信息。
在 TICS Pro 中、输出部分的"DIFF/1.8V LVCMOS 输出驱动器"块要求为生成的频率选择正确的输出电压信号标准。
在本例中、电压如下:
OUT0 = 1.8V (ADC-1)
OUT1 = 1.8V (ADC-2)
OUT2 = 1.8V (FPGA)
OUT 3 =禁用
OUT4 = 1.8V (以太网交换机)
Out5 = 3.3V (A9处理器)
OUT6 =禁用
OUT7 = 1.8V (USB 2.0)
您能否告诉我、哪些电压标准适用于上述输出电压?
如果您有任何与此相关的资源、请也分享。
谢谢。
S·M·谢蒂
Sameeksh,
在输出电源上使用1.8V、2.5V 或3.3V 之间的唯一区别是将要消耗的电流量。 任何输出格式都可用于这些电源引脚电压中的任何一种。
请参阅此数据表摘录:
请注意、LVCMOS 输出始终为1.8V -状态引脚可用于3.3V LVCMOS 输出。
否则、任何输出格式类型都可以与任何允许的电源电压一起使用。
谢谢。
卡德姆
尊敬的 Sameeksh:
更加明晰、如果您想了解如何在 TiCS Pro 中选择不同的输出格式(AC-LVPECL、AC-LVDS、HCSL 等)、则应根据每个端点(ADC、开关、处理器、USB)的具体要求做出决定; 其数据表应提供所需的输入时钟类型。
从电气信号的角度来看、差分格式(LVPECL、LVDS、HCSL、CML)将指定特定的 共模电压和特定的电压摆幅。 该摆幅会因格式而异、但与输出驱动器、接收器或端点的电源电压无关。 因此、如果 FPGA 以1.8V 的电压运行、这并不能告诉我它需要哪种类型的输入时钟。 单端 CMOS 格式很特殊、因为它具有轨到轨摆幅、因此输出驱动器的电源电压需要与接收器的电源电压相匹配。
我昨天为您提供的配置已将所有器件设置为 AC-LVPECL、但我不知道是否所有接收器都需要 AC-LVPECL 时钟。 如果没有、请在配置中进行适当的更改。 您可能还需要查看设计原理图、以验证每种格式的端接方案是否正确。 如果您有具体问题、敬请告知。
此致!
Evan Su
Sameeksh,
为方便起见、我在下面提供了差分输出格式的摆幅信息(HCSL 输出将专门用于 PCIe 应用):
谢谢。
卡德姆
尊敬的 Evan:
您在此建议的方法可能非常有用。
我有一个关于 I2C 块寄存器的写入/读取的问题。 通过 I2C 传输数据时遵循一种特定的格式。
参考号:-https://www.ti.com/lit/ds/symlink/lmk03318.pdf?ts=1688015590403&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FLMK03318%252Fpart-details%252FLMK03318RHSR
你在谈论如何写入单个寄存器之前共享的链接。但在这种情况下、我需要写入一个寄存器块(有些递归)
您可以建议可以帮助我完成此任务的参考资料吗?
谢谢。
S·M·谢蒂
尊敬的 Sameeksh:
在编程过程中、可以通过一系列单独的寄存器写入来执行所有操作、您应该不需要在一个 I2C 事务中写入多个寄存器。 我认为数据表中讨论的"块"读取/写入功能完全能够寻址单个寄存器。 该名称可能源于这样一个事实:您可以向一个起始地址写入多个字节(我不建议使用该起始地址、因为这可能会引起混淆)。
我同样没有 U-boot 的相关经验、但如果您尝试使用它读取器件中的各个寄存器并且结果正确、那么 I2C 事务应该会被格式化正常、您可以继续。
此致!
Evan Su
尊敬的 Evan:
继续对话、正如您之前所说的、从 TICS Pro 软件导出的 hex 文件包含有关寄存器的信息以及要写入这些寄存器的相应值。
在本例中导出的十六进制文件包含 R169、R172、R173实例。
但 LMK03318的寄存器映射中不存在这些寄存器。
寄存器映射中存在一些寄存器、但生成的十六进制文件中缺失了这些寄存器。
我该如何处理?
此致、
S·M·谢蒂
尊敬的 Sameeksh:
但这些寄存器不在 LMK03318的寄存器映射中。
有时 TICS 会有器件中不存在的寄存器、用作存储配置信息的位置。 我不认为编程它们有任何伤害,因为这是软件做的,但在理论上,你可以把它们排除出来没有问题。 我会让 Kadeem 对此进行评论、因为他比我更熟悉此设备。
寄存器映射中存在一些寄存器,但生成的十六进制文件中缺少这些寄存器。
相反、TICS 有时会隐藏显示在数据表中的寄存器。 其原因是某些数据表寄存器只很少被使用、并且/或者在配置错误时有可能导致主要问题、所以我们不会将它们包含在 GUI 中。 对于大多数客户、他们应保留为默认出厂状态、因此我不建议对其进行编程。
此致!
Evan Su
您好、Evan:
定制板现已问世、其中已集成 LMK03318 IC。 在第一次下电上电时,存储在 ROM/EEPROM 中的值将用于配置输出频率。
在从 TICS 软件加载寄存器配置之前,我需要进行硬件更改,为 HW_SW_CTRL、REFSEL1和 GPIO[5:0]选择合适的状态 ,这样当我给电路板加电时(第一次) 时钟发生器输出频率处于所连接器件的安全限制范围内。 您能不能为我提供一些适合于所需频率的配置?
OUT0 = OUT1 = OUT2 = 40MHz
OUT3 =已禁用
OUT4 = 25MHz
Out5 = 33.3333MHz
OUT6 =禁用
OUT7 = 24MHz
该 SNAP 展示了具有预期频率的时钟发生器。它还展示了 GPIO、HW_SW_CTRL 和 REFSEL1的配置。
此致、
S·M·谢蒂
尊敬的 Sameeksh:
芯片上没有存储的 EEPROM/ROM 配置、从而提供与上面列出的输出接近的输出。 最小输出频率为100MHz。
我想大家可以这样做、就是让 REFSEL 使用不 可用的输入。 这样、上电时不会生成任何输出频率;然后、您可以对器件的 EEPROM 进行编程、以存储所需的配置。 如果没有可用的输入、PLL 将被解锁、因此输出应静音。
此外,你能附上一份 pdf 吗,附加的图片是非常模糊的
此致、
维森特
您好、Vicente:
我将在一两天内上传 PDF、目前我没有访问该机器的权限。
继续讨论,你建议的方法是非常好的想法,我会给它一个尝试。 我认为这是在电路板的第一次下电上电期间进行的正确方法。
完成这一部分后、我计划使用 TICS 软件将配置写入 EEPROM 的第一页。 对于时钟发生器 IC ,选择此页面, HW_SW_CTRL、REFSEL1和 GPIO[5:0]的状态应该是什么?
由于我希望 IC 从 EEPROM 读取页面、因此我需要保持 HW_SW_CTRL = 1
IC 上连接了一个主参考时钟、在这种情况下、 将在 TICS Pro 中选择 Insel_PLL。 因此不需要 REFSEL1。
但是 GPIO[5:0]的状态应该是什么? 您能不能指导我如何根据 GPIO 选择 EEPROM 的每个页面。
此致、
萨梅克什
尊敬的 Sameeksh:
我明白没有问题。
上电后、要选择 EEPROM 的第1页、请执行 LMK03318 DS 编程部分下列出的以下步骤:
R145[3]应设置为1'b 以选择 page1。
在加电时检查 GPIO 引脚、仅用于选择要加载的 EEPROM/ROM 配置。 器件开启后、用户可以如上所述对其进行编程。
此致、
维森特
对 EEPROM 第1页进行编程后、假设您始终要在下电上电时加载此配置、请参阅下表:
HW_SW_CTRL = 0;GPIO[3]= LO;GPIO[2]= MID
此致、
维森特