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.

[参考译文] RM57L843:读取时 EMIF_nWait 问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1488341/rm57l843-emif_nwait-issue-while-reading

部件号:RM57L843

工具/软件:

您好、

我之前发布了一个有关 EMIF 和 MIL-STD-1553 总线接口的线程。 我计划使用 emif_nWait 用于管理 GPIO 控制线和 EMIF 线之间时序的信号。

EMIF 配置:

  • EW 位 在中设置为 1 CE4CFG 寄存器。
  • WP0 Wp1. 中的位设置为 0 AWCCR 寄存器。
  • CS4_WAIT 中的位设置为 0 AWCCR 寄存器。
  • MAX_EXT_WAIT 在中设置为 255 AWCCR 寄存器。

写入操作 工作正常 emif_nWait 信号用于扩展写入操作。 但是、在中 读取操作 、系统将输入 数据进入中止中断 何时 emif_nWait 被置为低电平。 。 emif_nWait 信号由 GPIO 控制。 如果我保留 emif_nWait 高电平、我可以正确读取该值、但当我将其设置为低电平时、操作会失败。

我也尝试了选择选通模式,但结果是相同的。 它进入 DataEntry 中止。

在以下主题中讨论了类似的问题、但问题仍未解决:  

e2e.ti.com/.../rm57l843-emif-in-asynch-mode-with-extended-wait-needs-clarification

您能否提供有关解决此问题的指导?

谢谢、

此致、

Veerappan P.

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

    尊敬的 Veerappan:

    我对延迟的回复表示歉意、我陷入了其他问题的困境。

    是否仍阻止此问题?

    --
    此致、
    Jagadish。

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

    尊敬的 Jagadish gundavarapu:

    是的、我仍然坚持在这个问题上。

    谢谢、

    此致、

    Veerappan P.

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

    首先、我希望得到您的以下确认:

    是否使用控制器的 GPIO 控制 EMIF_nWait?

    如果是这样、那么我想提一下、通常该 EMIF_nWait 信号是由从器件控制的、而不是主器件本身控制的。 我从未见过这样的设计、但按照我的理解、这样做不会造成任何问题。

    您是否 确定了以下内容? 您的 RSSETUP 和 RSTROBE 值是否大于 4?

    --
    此致、
    Jagadish。

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

    您好、

     是上面的方框图是正确的、是的、我知道  EMIF_nWait 信号是为由从器件控制而设计的。 但在我们的例子中 、EMIF_nWait 用于同步 EMIF 和 GPIO 线路。

    下图是 Mill bus EMIF 配置、设置加选通值大于 4。



    谢谢、

    此致、

    Veerappan P.

     

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

    尊敬的 Jagadish gundavarapu:

    是否有任何更新?

    谢谢、

    此致、

    Veerappan P.

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

    尊敬的 Veerappan:

    解锁此主题的原因是 TI 未正确关闭该主题、因此我再次解锁它。

    对失禁的道歉。

    您是否仍坚持解决此问题、如果是、请让我知道您现在的问题所在。

    --
    此致、
    Jagadish。

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

    尊敬的 Jagadish gundavarapu

    是的、只要我这样做就行  读取操作 、系统将输入  数据条目中止  何时  emif_nWait  被置为低电平。

    谢谢、

    此致、

    Veerappan P.

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

    是否可以共享您的代码进行验证?

    您甚至可以通过私人消息发送它。

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

    尊敬的 Veerappan:

    我验证了您的代码、对我来说似乎没问题。

    我还在没有任何从设备的情况下调试了我的终端代码、在执行该代码时没有看到任何中止。

    是否仅当从器件连接到主器件时才会发生该中止?

    --
    此致、
    Jagadish。

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

    您好、

    这是我的错、我发送了错误的代码。 现在我将发送正确的代码。 我还在 RM57Lx Launchpad 中没有从器件的情况下进行了测试。 此外、不要忘记将 N2HET2[12]信号连接到硬件侧的 EMIF_nWait 信号。

    谢谢、

    此致、

    Veerappan P.

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

    Veerappan、

    我也尝试了你的新代码,仍然没有数据中止,我是否需要短接两个针(像 Gio with nWait )? 如果是、则说明确切的引脚编号一次?

    --
    此致、
    Jagadish。

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

    您好、

    是、 信号名称是 N2HET2[12]、引脚为 D3 以信号 EMIF_nWait、引脚为 P3。

    谢谢、

    此致、

    Veerappan P.

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

    尊敬的 Veerappan:

    我将这两个引脚短接并进行了检查、我这边仍然没有问题 在我的情况下、我没有得到任何中止。

    您能否从您的端部尝试一次不使用 EMIF 从器件? 这是可能的吗?

    --

    此致、
    Jagadish。

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

    尊敬的 Jagadish gundavarapu:

     我在 RM57Lx Launchpad 中没有从设备的情况下进行了测试、还通过私人消息向您发送了一个视频。

    谢谢、

    此致、

    Veerappan P.

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

    尊敬的 Veerappan:

    感谢视频,我验证了你的视频,你是正确的行为。

    我怀疑这可能是数据中止的原因。

    • 一旦您启动读取、EMIF 会期望存储器事务最终完成。
    • 您正在将 nWait 拉低、这会告知 EMIF 等待。
    • 但切勿释放 nWait(将其设置为逻辑高电平)、因此这意味着总线周期永远不会结束。
    • 这意味着 EMIF 无限期等待、最终 CPU 检测到超时或总线错误、从而导致数据中止异常。

    如上突出显示的那样、只要 EMIF_nWait 为低电平、选通周期就会延长、没有限制。 这就是我们不应持续保持该引脚的原因、如果我们不无限期地保持几个 EMIF 周期、那会很好。

    如上图所示、外部从器件在选通周期将 EMIF 等待信号置为有效几个周期、然后置为无效。 因此、引入几个等待周期而不是无限期的周期始终是可以的、这会为读取操作带来超时并最终产生数据中止。

    --

    此致、
    Jagadish。