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.

[参考译文] TICSPRO-SW:一些 TICS Pro 问题

Guru**** 2513185 points
Other Parts Discussed in Thread: USB2ANY, LMK05318B, LMK5B12204

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1545446/ticspro-sw-a-few-tics-pro-issues

部件号:TICSPRO-SW
主题中讨论的其他器件:USB2ANYLMK05318BLMK5B12204

工具/软件:

TICS Pro v1.7.9.0

*当 TICS Pro 从连接的 USB2ANY 启动时、它会写入寄存器 R68、R202、R203、R204、R205、 R206、R207 连接到器件。  它是否应该在加载 TCS 文件之前真正向器件写入寄存器? 为什么专门设置这些寄存器?
欢迎使用 TICS Pro。 版本-> 1.7.9.0、27 - 5 月 25 日
正在加载器件 LMK05318B...
检测到 1 个 USB2ANY 接口
将寄存器 R68 (0x44) 写入 0x00 4408
将寄存器 R68 (0x44) 写入 0x00 4408
将寄存器 R202 (0xCA) 写入 0x00 CA00
将寄存器 R203 (0xCB) 写入 0x00 CB00
将寄存器 R204 (0xCC) 写入 0x00 CC38
将寄存器 R68 (0x44) 写入 0x00 4408
将寄存器 R68 (0x44) 写入 0x00 4408
将寄存器 R205 (0xCD) 写入 0x00 CD00
将寄存器 R206 (0xCE) 写入 0x00 CE00
将寄存器 R207 (0xCF) 写入 0x00 CF38
已完成加载器件 LMK05318B。 版本= 2025年05月06日、v0.12.8

* TICS Pro 似乎没有保存“ 自动更新“选项。

*当 TICS Pro 在连接 USB2ANY 的情况下加载 TCS 文件时、它会自动将所有寄存器写入器件、我认为这不是一个好主意、尤其是当 AutoUpdate 已关闭时。  即使 TCS 文件中的器件与连接的器件不匹配、它也会写入该数据。  例如、如果连接了 LMK05318B 并加载 LMK5B12204 TCS 文件以用作基础、TICS Pro 仍会写入所有寄存器。  这也不是个好主意。

*如果您选择默认配置之一,即使 AutoUpdate 关闭,它也会写入所有寄存器。  这真的不是个好主意。

*在“向导设置参考“页面上,如果您更改 PRIREF 频率的值,它通常会将接口类型重置为 AC,迟滞= 200mV

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在加载 TCS 文件之前、是否确实要向器件写入寄存器? 为什么这些寄存器会特别?

    否、它确实不应该在初始化阶段写入寄存器。 我不是完全能够透露这些初始写法背后的全部故事,但它可以追溯到十年的软件功能扩展,大大超过了核心事件处理代码的初始实现。 在我们用于控件的事件处理程序中的某个位置、我们有一个条件检查、该检查应该在加载配置文件之后抑制初始寄存器写入、但在某些初始化操作无法按顺序处理、并且在正确抑制所有写入之前条件检查会取消置位。 多年来一直没有成功地追逐这个特定错误的每个根本原因、这是我们正在 TICS Pro 2 中编写一个新的软件实现方案的一个主要原因、计划通过多个器件(包括 LMK05318B)进行移植。 TICS Pro 2 事件处理已大大简化、因此我们始终可以确保在配置文件初始化完成之前抑制寄存器 I/O。

    TICS Pro 似乎没有保存 AutoUpdate 选项。

    这是我们一个有意识的选择,可能值得再次访问。 我们通常在同一台 PC 上运行多个 TICS Pro 实例、用于控制不同的板。 直到最近,我们甚至没有办法为计划指定启动选项 — 只有在 2023 年 12 月开始、我们才能设置包含一些启动选项的 settings.ini 配置文件。 直到两个月前、只有一个这样的文件可能存在、这使得一次打开多个 TICS Pro 实例非常笨重。 现在有一种方法可以在启动时指定自定义设置 INI 路径、我们应该将“自动更新“设置返回到设置 INI。

    当 TICS Pro 在连接 USB2ANY 的情况下加载 TCS 文件时、它会自动将所有寄存器写入器件、我认为这不是一个好主意、尤其是在 AutoUpdate 关闭的情况下。  即使 TCS 文件中的器件与连接的器件不匹配、它也会写入该数据。  例如、如果连接了 LMK05318B 并加载 LMK5B12204 TCS 文件以用作基础、TICS Pro 仍会写入所有寄存器。  也不是个好主意。

    我大部分都同意。 在 TICS Pro 2 中、配置文件包含有关生成配置文件的配置文件的信息、当加载配置文件时、默认行为是在加载任何设置之前、首先检查生成的配置文件是否与当前配置文件匹配、然后再直接将这些设置加载到 GUI 中、而不将它们写入器件。 不幸的是、在 TP1.x 中更改此行为现在会破坏许多现有工作流程(包括我们内部依赖的一些工作流程)、在这一点上、在十年的使用中、数百个客户之间存在数千个 TCS 文件(其中一些文件包含从未妥善处理过的未记录格式更改)、TP1.x 添加任何有意义的尝试来验证 TCS 文件是否与预期设备匹配的时间太晚。 用于选择是否在 CONFIG LOAD 上写入所有寄存器的设置、结合通过 UI 和设置 INI 来配置此设置、对 TP1.x 和 TP2 都是一个有用的加法(我们只需在 1.x 和 2 之间翻转默认值)。

    如果您选择默认配置之一、即使 AutoUpdate 已关闭、它也会写入所有寄存器。  这真的不是一个好主意。

    为了公平地使用 AutoUpdate 功能、它最初被设想为一种防止寄存器 I/O 的机制、作为通过其复选框/组合框/等更改 UI 中字段或变量的副作用 当我们考虑 AutoUpdate 功能时(我向您保证,这项功能几乎从未实现) 、我们在内部考虑了一组非常窄的副作用寄存器 I/O、从很久以前就引入了一个非常具体的解决方法。 也就是说、在没有明确名称或任何由设置控制的行为文档的情况下、仅通过黑盒行为观察发现切换设置似乎会阻止一些组合框写入寄存器、我认为完全合理的假设是、使称为“AutoUpdate"的“的功能标志会对  在配置负载上写入所有寄存器这种明显的自动副作用产生一定影响。 在任何情况下、我的重点是 AutoUpdate 选项名称不全或记录不全、行为令人沮丧、我们最好在将来清理它。 与 TP1.x 相比、我们在 TICS Pro 2 中解决此问题的可能性更大

    在“向导设置参考“页面上、如果您更改 PRIREF 频率的值、它通常会将接口类型重置为 AC、迟滞= 200m

    这是有意的(某种程度的)。 根据配置文件维护者的身份以及 DPLL 基准选择正下方的指令、“根据基准频率自动选择交流或直流缓冲器“-但未尝试区分交流或直流缓冲器类型中的不同迟滞电平、因此在设置基准频率时、代码最终会用另一个迟滞选择覆盖一个迟滞选择。

    公平地说,LMK05318B 向导没有一个壮观的实现,原因有很多。 LMK05318B 向导在 TP1.x 上的体验不佳是实现新 TICS Pro 2 的另一个重要动机。 在我们过渡到 TICS Pro 2 时、我一直建议负责移植设备的配置文件维护人员重新创建类似于向导的流、以便他们遵循一组更明智的规则:

    • 提供一种在可能的情况下自动选择合理值的方法,其中记录了所做的值选择及其原因 — 这必须仅通过一些明确的操作进行选择,以便仅在请求时(例如通过按钮)执行任何设置更改。
    • 应始终允许手动更改。 次优设置应触发视觉上不同的警告指示器、并清楚说明为何给定设置可能次优。 错误的设置应触发明显不同的错误指示器、并清楚地说明给定设置无效的原因。
    • 警告和错误应在某个地方汇总以供查看、这样用户就不必在半个页面中搜索单独的设置、以查找与可能处于非页面状态的控件相关联的难以识别的视觉指示器。 聚合警告/错误信息应提供一种快速跳转到错误源的方法。
    • 用于捕获向导式设计意图的 GUI 控件应在内部不同于用于触发寄存器 I/O 的 GUI 控件 理想情况下、绝不需要将向导连接到器件来构建设计或准备寄存器设置/编程序列。 更改向导中的某些内容不应更改已连接器件中的任何行为、直到用户明确请求将向导配置加载到器件以进行测试/调试。

    在不久的将来、LMK05318B 将在 TICS Pro 2 中实现更好。 我们感谢您花时间指出不有意义或不必要地难以使用 GUI 的东西、我们牢记这一点、因为我们在 TICS Pro 2 中整合了卓越的体验。 如果还有其他问题、我们想了解它们、因为现在是避免重复之前错误的最佳时机。 现在、在 TP1.x 中,如果有特定问题阻止您完成工作,并且您没有可用的解决方法,请告诉我们 — 我正在尝试让我们的配置文件维护人员有时间专注于 TP2 的改进、但我们仍然可以根据需要在 TP1.x 中制作修复程序。

    ——

    现在、我认为这并不是您要寻找的解决方案、但您可以使用启动时 INI 设置的[USB]部分中的 AutoConnect 布尔选项、以防止 TICS Pro 自动连接到 USB2ANY。 在连接 USB2ANY 之前、仍会记录寄存器 I/O、但仅以仿真方式记录。

    从 1.7.9.0 发行说明中、有关启动设置:

    运行 TICS Pro.exe 时、可选--settings标志会获取包含启动设置的 INI 文件的绝对路径。 可自定义的启动行为在新包含的 ti_ticspro python 软件包中的 dataclass 对象中进行了更详细的记录。

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

    哇!   感谢您的详细答复!

    、但软件的特征扩展长达十年、大大超过了初始实施

    去过那里很多次。 Slight smileμ s

    所有问题都不是很严重、TBH、我只在需要进行一些快速的单个参数测试时使用 USB2ANY。  这是一个 Linux 商店、因此只有一台 Windows 机器、我们可以通过 RDP 运行、只能运行在 Linux/Wine 下无法运行的 Windows 操作系统。  通常、我从 Linux 桌面通过 RDP 运行 TICS Pro、并将文件保存到共享驱动器、然后使用 python 脚本和 I2C 适配器来加载它们。

    我很高兴听到 TICS Pro 2 正在进行中。  如果为时已晚、我能否呼吁使用多平台版本、如果您对 USB2ANY SDK 器件有任何影响、也欢迎使用多平台版本。  此外、如果您需要测试仪、可以使用我的测试仪。 Slight smileμ s

    再次感谢!

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

    哦,在整个“多平台“的东西...   我使用 USB2ANY SDK 的 Python 示例浏览了您的一篇旧文章...
    LMX2594EVM:通过 python 实现串行控制 

    如果在 Linux 中安装 TICS Pro 和 Wine、即使 TICS Pro UI 本身不支持、Python 脚本实际上也会使用捆绑的 Windows Python 版本正常工作。  由于许多原因、它并不理想、但其中一些原因很慢、很难向添加模块。  这就是为什么我想看到一个多平台实现或只是多个不同平台的构建。   

    短期来说、是否有任何可以与公众共享的有关 USB2ANY HID 级别协议的信息?

    谢谢... George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    那么、如果我们给您提供了上述 python 库、以及在 GUI 之间来回导入/导出寄存器的函数、也许还有某些配置变量、但 GUI 仍然只在窗口中、这是否是合适的折衷方案?

    你成就了我的一天!  我认为您走在正确的轨道上。  TICS Pro 向导完成了很多我们自己无法轻松完成的工作、但如果这些工作被推到一个跨平台库中、这将会很好地运行。   

    你也用示例 Python 做了我的一天。  我实际上有一个基本版本可以正常工作、但其中许多版本只是硬编码、以至于我能够从 USB 数据包捕获中学习到的内容。  使用“CRC"软件“软件包“CRC.Calculator (CRC8.CCITT、Optimized=True).checksum (Buffer[4:]“、CRC 变得非常简单。 Slight smileμ s

    再次感谢 Derek!  我真的很感谢详细的回答和见解!