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.

[参考译文] TMS320C6748:GPIO 延迟

Guru**** 2538960 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/582172/tms320c6748-gpio-latency

器件型号:TMS320C6748

您好!

我想使用 C6748 GPIO 来仿真 SPI 接口、C6748的运行频率为400MHz。 我看到每次更改 GPIO 值时、需要大约70个时钟周期、是否有方法可以减少它?
非常感谢、
HRI
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    不确定这是否可行。

    但是、我正在请设计团队确认/纠正我的理解。

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

    对于 C6748来说、70个时钟周期对 GPIO 来说并不不切实际。 至少它在棒球场中、需要花费大量的时间来完成它。 DSP 旨在很好地进行数学运算、并进行系统权衡、从而使强大可靠的设计能够与内部总线上的各种内部外设配合使用。

    如何测量70个时钟周期? 从什么可测量起点到什么可测量终点? 从 DSP 指令执行到外部引脚更改、要获得准确的测量值非常困难、这是因为这两者之间存在延迟、双向进行。

    您需要 GPIO 以多快的速度运行? 您是否需要同时沿两个方向移动、同时生成时钟和选择线路?

    C6748有两个 SPI 端口、该器件上已经有多个芯片选择。 如果您需要第三个或第四个 SPI 端口、您愿意为 SPI 引脚的位拆裂放弃多少处理能力?

    此致、
    RandyP

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

    我们将在环路中切换 GPIO 并对其进行测量、目前我们将设置为2MHz、并且我们希望达到10MHz、

    我们已准备好使用其他 SPI 端口、我们需要额外的一个、

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

    我怀疑您可以使用纯净严密的汇编代码达到10MHz、这意味着 DSP 仅切换引脚、不执行任何其他处理。

    向我展示您的循环的源代码以及 CCS 中该代码的"Disassembly"窗口、其中显示了为循环生成的汇编代码。

    您必须避免的主要操作是读-修改-写指令、因为这些指令会导致比简单的写指令更多的总线活动。 这取决于您编写代码的方式、编译代码的方式以及编译器对代码执行的操作。

    此致、
    RandyP
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    派对有点晚了。 众所周知、GPIO 控制器有明显的延迟。 其他一些则试图尽快切换 GPIO。 下面列出了一些线程。 记录的最高速度为12.5MHz。 但这是一个紧密的环路(如 Randy 所述)。 基于 ISR 的代码会更慢。

    e2e.ti.com/.../228345.aspx
    e2e.ti.com/.../127628.aspx
    e2e.ti.com/.../135631.aspx
    e2e.ti.com/.../240772.aspx
    e2e.ti.com/.../252738.aspx