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.

[参考译文] PROCESSOR-SDK-AM64X:OSPI 虚拟周期设置为什么4.

Guru**** 2457760 points
Other Parts Discussed in Thread: TMDS64EVM, SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1474635/processor-sdk-am64x-ospi-dummy-cyle-settings-why-4

器件型号:PROCESSOR-SDK-AM64X
主题中讨论的其他器件:TMDS64EVMSysConfig

工具与软件:

大家好、我在 没有操作系统的情况下运行 TMDS64EVM。  

该演示板的闪存类型为 S28HS512T。

具体而言、我使用8d-8d-8d 模式运行 ospi。 时钟速度为166MHz。

我在驱动程序配置中的问题是、为什么要在代码中将 NUM_DUMM_CYCLES_FLD 始终设置为4?

in  09_01_00_41/source/board/flash\ospi\flash_nor_ospi.c  Line 176。

  .ProtocolCfg =
    .protocol = FLASH_CFG_PROTOCOL_8D_8D_8D
    .cmdRd = 0xEE
    .cmdWr = 0x12
    .dummyClksCmd = 4
    .dummyClksRd = 25
 }
   
  
 Status = Flash_norOspiCmdRead (configcmd、addrobj->numAddrBytes、dummyBits、 regnumBytes); //行176。





我的意思是、根据 S28HS512T 的数据表、  8或7对于 166MHZ 应该更合理。


谢谢

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

    尊敬的 Jun:

    我已经通读了你的问题。

    我们设置了166 MHz 值、但当您调用 Flash_norOspiRegRead 等 API 时、我们还设置了一个时钟分频器。

    在 SDK 中、您会看到时钟分频器值为4。

    因此、有效频率接近166 MHz /4 = 41 MHz、- 42 MHz。

    此致、

    Vaibhav

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

    谢谢 Vaibhav

    如果有效频率接近41Mhz - 42MHz、那么该值应该为0?  我的意思是 .dummyClksCmd  = 0、dummyClksCmd 是否  意味着分频器值4?

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

    尊敬的 Jun:

    如果有效频率近端为41Mhz - 42MHz、那么该值应该为0?  我的意思是 .dummyClksCmd  = 0、dummyClksCmd 是否  意味着分频器值4?[/QUOT]

    没有虚拟时钟命令并不意味着时钟分频器。

    这是我们通过调用这两个 API 在闪存中提供的设置

    请允许我花一点时间来评论虚拟时钟读取和虚拟时钟命令这两个值。

    如果您在几天内未看到任何响应、请对此主题执行 ping 操作。

    此致、
    Vaibhav

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

    Ping

    感谢您的解释。  Vaibhav、  那个 dummyClksCmd 、Rd、 它来自哪里? 我正在文件方面工作,需要解释。 我知道4正在工作、但需要知道原因。   

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

    尊敬的 Jun:

    我将为您提供新的解释、以便您可以在准备的幻灯片中记录相关内容。

    根据数据表、25值即读取的虚拟时钟应接近22、如下方突出显示。

    值4即虚拟时钟命令、根据数据表、值应为5、如下方突出显示。

    但是、当您运行 OSPI 闪存诊断时、得出的值分别非常接近 dummyClocksRead = 25和 dummyClocksCommand = 4、当在 TI EVM 上使用 MCU 加 SDK 进行测试时、它会传递分配的值、因此我们选择相同的值并继续。

    对于您的定制电路板、如果默认 SDK 值会为客户破坏代码、最好使用这个值稍微进行实验。

    此致、

    Vaibhav

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

    仅供参考、对于 AM64x、您会看到值4和25。

    如果打开 MCU + SDK AM62x 的默认值、则会看到写入的值分别为4和21。

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

    现在、我们知道了它的来源、我将重新运行 SysConfig 工具以 更详细地了解它。

    问:如何解释这一点,以运输美国。 为什么这个值,为什么是4 ,而不是5 6 7。  

    我的意思是在正式文件如何解释。

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

    尊敬的 Jun:

    为什么这个值、为什么是4、而不是5 6 7

    json 日志显示值4/5。

    但在 SDK 内部、我们看到 AM62x MCU 加 SDK 的值为4/21、AM64x MCU 加 SDK 的值为4/25。

    只是、在使用 NOR 闪存 S28HS512T 测试我们的 TI EVM 时、如果这些值非常接近数据表值并且数据表值的增量为1、则可以成功实现闪存操作。

    此致、

    Vaibhav