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.
问题1: 如何使用 MCU_PLUS_SDK 调优 PHY?
问题2. 为什么需要对 PHY 进行调优?
传统上而言、 无 PHY 的 OSPI 控制器 可在 50MHz STR 模式和 25MHz DTR 测试模式。
由于要求以更高的速度读取闪存、用户可以将控制器配置为更高的速度、在该速度下 PHY 允许更灵活和更节能的传输。
AM243x 最高支持 166MHz 如果启用了 PHY、则为 OSPI 控制器时钟。 但是、为了启用 PHY、 需要根据自定义电路板跟踪、使用的闪存器件、使用的协议、启用 STR/DTR 模式、控制器的时钟频率和配置的虚拟周期等对其进行调优。
请按照上述步骤以更高效的方式调整 PHY。 我们将采用 MX25U51245G 以遵循更改。
还要在开发引导模式下执行此实验、以便 RBL 或 SBL 不会预配置闪存。 有关开发引导模式系统初始化的更多信息-
步骤1
导入 OSPI-FLASH-IO 项目。 该视图将显示已启用的闪存和 OSPI。
步骤2
将 MX25U 配置为在25MHz 下支持4S-4D-4D 模式并测试其功能是否正常。
步骤3
在 OSPI 模式下配置时钟并启用 PHY。
注意:使能 PHY 后、忽略输入时钟分频器。 因此、在该配置中、即使 PHY 启用失败、时钟仍然为25MHz、这是 DTR 模式的安全区域。
数据表支持的最大配置为 100MHz 在 DTR 模式下对 MX25U512闪存进行了编程。
步骤4
在 ospi_flash_io 工程中添加软件- ospi_flash_io.c–ospi_flash_io_main
创建 phyTuneArray 的全局变量、如下所示-
向 main 函数中添加函数。
步骤5
在连接调试器的情况下运行示例。 目的是获取在输出端创建的数组的转储、 即 phyTuneArray
该数组 4*128*128,即64KB 。 此外、程序执行时间 可能最多需要2-3分钟。
步骤6
将数组保存为二进制格式、如下所示-
步骤7
使用简单的 matplotlib 生成采集数据的图形。
这是一款用于生成绘图的参考工具 - /cfs-file/__key/communityserver-discussions-components-files/908/phy_5F00_tuning_5F00_graph_5F00_analyzer-_2800_1_2900_.py
该工具将生成类似这样的结果-
此图可以提供4种颜色数据-
步骤8
选择最优区域、如图的最中心区域。
x 轴为 txDll、y 轴为 rxDll。 因为图是蓝色的。
在这种情况下、
步骤9
修改 flash_norOspiOpen 此函数用于添加 OSPI_PhyConfig 参数配置、启用 PHY 和禁用 PHY 流水线。
请确保跳过 PHY 调优算法、因为如果用户手动添加数据、则不需要执行此操作。
添加该文件的副本以供参考(在08.06版本中有效、将来可能会更改)-
e2e.ti.com/.../flash_5F00_nor_5F00_ospi.c
步骤10
请尝试 ospi_flash_io 示例、方法是 从程序流中删除 OSPI_PhyGrapher。 现在、您的 PHY 已启用、允许 OSPI 控制器 100MHz。
注意事项: