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.

[参考译文] AM572X:GPIO 中断和系统互连问题

Guru**** 2559190 points
Other Parts Discussed in Thread: SYSBIOS, AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/588382/am572x-gpio-interrupt-and-system-interconnect-questions

Thread 中讨论的其他器件:SYSBIOSAM5728

您好、Rahul、
我使用 PB1到 PB2作为硬件中断引脚、并将其配置为在上升沿检测中断和在两个沿检测中断。 并获得成功的结果。
我对由外部生成的脉冲有一些疑问。
如果我在两个边沿(上升和下降)配置上使用中断、最小脉冲宽度应该是多少?
2.在第27.1节的 TRM 中,有人提到“在检测到外部事件时在活动模式下产生中断”。 检测到的事件
由两个并行的独立中断生成子模块处理以支持双处理器操作。" 这意味着什么?
L4 (L4_WKUP 和 L4_PER1)互连是什么?
L4和 GPIO 之间的链路是什么?

谢谢、
Anjana Pathak

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

    我创建了一个单独的线程、其中包含您从先前 E2E 线程中获取的最后一个查询、因为它与 GPIO LLD 软件无关。 我将其分配给硬件团队、他们将就您有关互连和 TRM 的问题向您回复。

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

    您好!

    我正在等待回复...................

    请做必要的事..........

    Anjana

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

    现在已经过去了将近4天了,我还没有收到任何答复。

    请仔细看看它。。。。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Anjana、
    很抱歉耽误了时间...我正在检查正在使用的应用程序...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Anjana、

    很抱歉耽误你的时间。  我正在研究#1、需要单独跟进。  但是、以下是对您其他问题的回答:

    2. 您对本陈述的哪一部分有疑问?  请注意、TRM 的下一页提供了有关这两个子模块的更多详细信息:

    "两个相同的子模块可以处理来自每个通道的同步中断请求、以便在双处理器环境中独立使用。 每个子模块控制自己的同步中断请求线路..."

     AM572x TRM 的第14.3节介绍了 L4互连。  通常、这是设备内处理与外设数据传输的互连结构之一。  您对此互连有具体的疑问吗?

     AM572x TRM 中的图14-1和图14-9显示了路由到每个 GPIO 端口的互连的皮结构视图。  例如、如果 DSP1需要将数据写入 GPIO2、则数据将从 DSP1通过 L3互连传输到连接到 GPIO2的 L4_PER1互连。

    此致、

    Melissa

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

    非常感谢您的回复...

    在#2中、我的问题是

    什么是两个相同的子模块?

    什么是双处理器环境?

    在第3部分中、我将介绍 TRM 中的互连章节。

    正在等待第一个答案....

    谢谢、

    Anjana Pathak

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

    1.您能否分享一下为什么您关注脉宽、或者为什么脉宽对于您的应用很重要? 请注意、GPIO IP 具有去抖功能(如果这是您关注的一部分)。

    在 GPIO IP 内有两个子模块处理中断请求。 我找到的最佳图形视图是图27-8。 这并不明显地显示这两个子模块,但您可以看到可以生成2个同步中断请求(由子模块生成,未显示)。 双处理器环境是指使用 AM57x 内多个处理器(即 ARM 和 DSP)并要求两个处理器都被 GPIO 中断的环境或应用。

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

    您好、Melissa、

    非常感谢..........

    我的要求是在输入端感测1微秒至50纳秒导通时间宽度的脉冲。

     我使用 LCD 模块的 User1、User2按钮、该模块连接到 AM572x 的 GPIO2_23和 GPIO_25。

    这些 GPIO 引脚配置为输入、在两个边沿上中断

    为此、我想知道这些 GPIO 将在所需的脉宽(即1微秒至50毫微秒)下提供正确的结果、或者我需要对 GPIO 模块进行一些配置更改吗?

     谢谢、

    Anjana

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

    请回复..........

    Anjana

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

    我不知道为什么我的查询没有回复。

    我的问题是否不清楚?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Anjana、
    感谢您的等待...我们的应用程序团队将很快回复。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Anjana、

    您能否澄清几个其他要点? 对于您的应用、您实际上是否在根据上升沿和下降沿中断计算脉冲宽度? 我假设您希望忽略所有小于50ns 和大于1us 的脉冲宽度、并且仅针对您提供的范围内的脉冲宽度采取额外的操作。 是这样吗?

    此外、您使用的是什么操作系统?

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

    您好、Melissa、

    是的、我将根据上升沿和下降沿中断计算脉冲宽度。

    我不想忽略任何脉冲宽度、实际上我希望读取所有脉冲宽度。

    我想知道我可以测量的最小脉冲宽度是多少? 可以测量50ns 脉宽吗?

    我正在使用 TI RTOS。 PROCESSOR_SDK_RTOS_am57xx_3_02_00_05。

    谢谢、

    Anjana Pathak  

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

    从操作系统的角度来看、ARM 上的中断延迟为739个周期、因此您可能无法使用 TI RTOS 满足 ARM 的50ns 脉宽要求。

    在以下位置检查 TI RTOS 中断延迟。
    BIOS_6_46_04_53/packages/ti/sysBIOS/基准测试/doc-files/GCC_A15F_ti_platforms_evmDRA7XX_time.html

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

    另一种选择是使用 PRU-ICSS 来监控和测量按钮脉冲宽度。

    PRU-ICSS 具有专用的快速 I/O、以下实验介绍了如何使用 PRU 检测按钮开关:

    processors.wiki.ti.com/.../PRU_Training:_Hands-on_Labs

    然后、您可以使用 PRU_CYCLE 寄存器对上升沿和下降沿之间的周期数进行计数。 例如、在检测到第一个边沿后立即启用 PRU_CONTIN[COUNTER_ENABLE]、然后等待第二个边沿。 检测到第二个边沿后、立即禁用计数器、然后读取 PRU_CYCLE 寄存器以确定脉冲宽度。

    该方法能够检测低至20ns 的脉冲宽度。

    此致、

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

    非常感谢 Rahul

    我将介绍给定的 doc 文件。

    Anjana Pathak  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Melissa
    我将完成培训...
    并将尝试使用 PRU_CYCLE。

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

    您可能还对此处讨论的 GPIO LLD 基准感兴趣。 这将在 RTOS 中断延迟基准测试基础上为您提供额外的数据点。
    e2e.ti.com/.../2109849

    我同意 Melissa 的建议、即查看基于 PRU/ICSS 的实施可能符合您的要求。

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

    您好、Rahul、

    当我使用 TiRTO 时、ARM Cortex A15上的中断延迟为739个周期、这意味着就周期而言、中断延迟为0.739微秒?

    谢谢、

    Anjana Pathak

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

    是的、在 OPP_NOM (1GHz)下、739个周期转换为0.739微秒。

    此致、

    Rahul

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

    您好!

    在链接 中、processors.wiki.ti.com/.../PRU_Training:_Hands-on_Labs 实验室可用于 GP EVmAm572x?

    Anjana Pathak

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

    这些实验是为 AM335x 编写的、但可以针对 AM57x 轻松修改。 例如、实验2 (读取按钮开关)的主要更改如下。

    -步骤2b。 选择“AM5728”而不是“BeagleBone_Black”
    -步骤3. 将"AM335x_PRU.cmd"替换为"AM57xx_PRU.cmd"(可在 CCS 内的 PRU/include 文件夹中获取)
    步骤5e。 针对您希望在 GP AM572x EVM 上使用的任何 GPI 更新此信息。 GEL 文件中的 Pinmuxing 也需要更新。
    -步骤8c。 针对您希望在 GP AM572x EVM 上使用的任何 GPO 更新此信息。 GEL 文件中的 Pinmuxing 也需要更新。

    在修改 AM57x 的实验时、还可以参考 AM335x 至 AM57x PRU 迁移指南。
    processors.wiki.ti.com/.../PRU-ICSS_Migration_Guide:_AM335x_to_AM57x

    此致、
    Melissa
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Melissa
    很抱歉耽误你的回答
    我将尝试您解释的上述实验。

    此致、
    Anjana Pathak
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Melissa、
    我尝试了 PRU 软件包中的实验3 PRU_HDQ_TempSensor0。
    代码会被编译、但当我想通过 XDS200加载程序时、它会给出以下错误
    "Cortex_M4_IPU1_C0:连接到目标时出错:(错误-1170 @ 0x0)无法访问 DAP。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包6.0.222.0)"。 如何消除此错误?

    谢谢、
    Anjana Pathak