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.

[参考译文] TMS320C6657:TMS320C6657 EMIF16配置为 SS 模式、在触发外部中断时发生芯片使能(CE)冲突。 但是、中断响应存在延迟、以及将 ce0切换到 CE1时存在延迟。

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1523807/tms320c6657-the-tms320c6657-emif16-is-configured-in-ss-mode-and-a-chip-enable-ce-conflict-occurred-along-with-an-external-interrupt-trigger-however-there-was-a-delay-in-the-interrupt-response-as-well-as-a-delay-when-switching

部件号:TMS320C6657

工具/软件:

EMIF16配置为 SS 模式、CE0和 CE1两个芯片使能信号同时启用。 ce0上的16位写入周期大约需要208ns。

上图显示了延迟问题:

配置:

  • 波形0:ce0
  • 波形1:CE1
  • 波形2:WE
  • 波形3:OE
  • 波形4:外部输入 IO 信号
  • 波形5:外部输入中断功能

在 main 函数中、数据被连续写入 ce0、每次写入都是一个16位周期。 当外部输入 IO 信号触发高电平时、系统进入中断服务例程(ISR)。 ISR (优先级0x16)首先将两个16位数据项写入 CE1、然后从 CE1读取一个16位数据。

问题描述:

  1. 中断服务例程的触发延迟了大约12个 EMIF16 ce0写入周期、在此期间正在处理 ce0数据传输。
  2. 写入 CE1时、即将芯片使能从 ce0切换到 CE1时、发生了另一个延迟、大约26个 EMIF16 ce0写入周期、在此期间仍在处理 ce0数据传输。

在主循环内部、数据从 ce0连续读取、每次读取都是一个16位操作。 当外部输入 IO 信号触发高电平时、系统进入中断服务例程(ISR)。 ISR (具有优先级0x16)首先将两个16位数据项写入 CE1、然后从 CE1读取一个16位数据项。

在读取操作期间、中断触发时间约为872ns、这是合理的。 此外、在片选切换期间处理 ce0数据没有明显延迟。

期望:

我们需要避免图1所示的情况、即中断服务例程和芯片选择切换仍需要等待正在进行的 ce0数据操作完成。 此中断用于处理实时数据、因此可以应用哪些解决方案来解决此问题?

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

    您好、

    感谢您提供的详细信息。  

    为了 进一步缩小问题范围、请确认以下几点?

    1.请分享您当前正在使用的计时配置设置?

    2. ce0是在 main 函数内的连续循环中写入的吗? 如果是、写入操作之间是否有任何延迟?

    此致、

    Betsy Varughese.