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.

[参考译文] MSP430FR6989:读取 FRAM 时、是否必须考虑访问等待状态?

Guru**** 2505235 points
Other Parts Discussed in Thread: MSP430FR6043

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1104921/msp430fr6989-must-an-access-wait-state-be-taken-into-account-when-reading-fram

器件型号:MSP430FR6989
主题中讨论的其他器件:MSP430FR6043

这个问题不限于基准微控制器。 适用于任何基于 FRAM 的 MSP430。

用户指南讨论了 FRAM 访问等待状态的主题、似乎8MHz 是系统总线速度、在这种速度下、需要等待状态才能降低 FRAM 访问速度。 我不清楚访问类型。 它是指写入、读取还是两者? 那么、这是主要问题。

  • 当总线速度大于8MHz 时、 FRAM 中的地址读取时、我是否需要考虑等待状态?

我将猜测一个答案、这个答案是否定的 但是、这与 CPU 需要单步执行程序的读取速度相矛盾、该程序位于 FRAM 中。 这是矛盾、这就是我提出这个问题的原因。

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

    根据我的理解、这是任何访问、无论是读取还是写入。 因此、如果 MCLK 的运行速度大于8MHz、则必须相应地更新等待状态寄存器。

    以 MSP430FR6043数据表 SLASEF5A 第8.13.13.1节为例、请注意 tWRITE 和胎面。 本质上、tWRITE =胎面。 注(5)进一步澄清了"最大读取(和写入)速度由 fSYSTEM 使用适当的等待状态设置指定。"

    MSP430FR6043 Datasheet - FRAM Memory

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

    Seth (Seth):

    如果您未提供书面证据、我无法相信。 干得不错。 谢谢你。

    在验证您的工作后、我还在数据表的"建议运行条件"部分注意到、当启用等待状态时、允许 CPU 提高速度。

    我想知道 CPU 如何单步执行我们的程序、因为它位于 FRAM 中、速度高于8MHz?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="51142" URL"~μ C/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp430low-power-microcontrollers-forum/1104921/msp430fr6989-musted-any-and-wait-state-be-te-towe-towe-towe-reading-fram /4093645]、您可以通过引用 F368MHz/4093645]、以更高的速度通过 FRAM、以更高的速度运行。

     《MSP430FR58xx、MSP430FR59xx 和 MSP430FR6xx 系列用户指南》(修订版 p) :

    1. 当 CPU 和 DMA 的运行速度超过 FRAM 访问速度时、将执行一个等待状态控制机制。 这可能会暂时"停止" CPU 或 DMA、从而有效地降低它们的速度、直到 FRAM 访问完成。
    2. FRAM 控制器中的高速缓存 、以实现快速读取。 如果请求的地址已经在高速缓存中、则在没有实际 FRAM 访问的情况下、以零等待状态从高速缓存读取数据。

    当运行 CPU 频率高于8MHz 的程序时、意味着需要 FRAM 等待状态、如果指令触发 FRAM 访问、那么某些指令可能需要更多的周期、如指令集中所述。 例如,__delay_cycles()编译器内在函数可能比请求的周期多。