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.

[参考译文] TMS320F28335:TMS320F28335 GPIO 速度

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/590598/tms320f28335-tms320f28335-gpio-speed

器件型号:TMS320F28335

您好,

我正在使用 XINT1从频率为100kHz 的方波生成外部中断。 我的代码中有一个 ISR、当 XINT1检测到任何转换时、它将被启用。 在该 ISR 中、我将切换 GPIO 引脚、观察示波器上的输出。 我所面临的问题是、GPIO 引脚的低电平到高电平转换延迟了250ns、我希望 GPIO 尽快切换。 有人能提供帮助吗? TMS320F28335中的 GPIO 切换速度有多快?

谢谢

Nikhil

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    '对于 F281x 器件和、GPIO 引脚的最大切换频率为20MHz
    F280x/F28xxx 器件为25MHz。" (来自 SPRAAS1C《硬件设计指南》)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Todd 的答复。

    我面临一个问题、 每当我在 GPIO 引脚(我已配置为 XINT1)上的输入信号(100kHz 方波)从低电平转换为高电平时,为什么我的 GPIO 引脚(我已配置为输出)需要250ns 才能从低电平转换为高电平。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想知道这是否与中断服务例程有关-在到达中断服务例程的第一行之前、会涉及一些延迟。 您可能会看到与此相关的内容。 您是否在 C2000存档技术讲座的 F28335中看到过中断的写操作? processors.wiki.ti.com/.../C2000_Archived_Workshops -> F28335 ->学员指南->第4章(中断)[我记得...]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Todd、  

    我阅读了存档的实验课程的中断部分。 我发现、在进入 ISR 之前、外部中断至少需要16个周期(100ns)。 这可能会解释延迟的一部分。 我想,延迟的另一部分是因为所涉及的等待国。  

    感谢  Todd 的帮助。

    此致

    Nikhil

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

    您能描述您所需的系统行为吗? 根据您的最终目标、可能还有其他方法。

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

    嗨、Tommy、

    我正在使用外部中断(频率为100kHz)来切换 GPIO30的状态(配置为输出引脚)。

    这是我的代码:

    //GPIO30作为输出  

    GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 0;//GPIO30
    GpioCtrlRegs.GPADIR.bit.GPIO30 = 1;//输出

    //GPIO21作为输入

    GpioCtrlRegs.GPAMUX2.bit.GPIO21 = 0;// GPIO
    GpioCtrlRegs.GPADIR.bit.GPIO21 = 0;//输入
    GpioCtrlRegs.GPAQSEL2.bit.GPIO21 = 0;// XINT1同步到 SYSCLKOUT

    //GPIO21为 XINT1


    GpioIntRegs.GPIOXINT1SEL.bit.GPIOSEL = 0x0015;// XINT1为 GPIO0
    XIntertRegs.XINT1CR.bit.Polarity = 01;// XINT1极性配置
    XIntertRegs.XINT1CR.bit.ENABLE = 1;//启用 XINT1

     EDIS;

    中断空 XINT1_ISR (空)

    counterxint++;

    GpioDataRegs.GPATOGGLE.bit.GPIO30=1;

    PieCtrlRegs.PIEACX.ALL = PIEACK_Group1;

    EINT;

    蓝色曲线表示外部中断、黄色曲线表示我的 GPIO30的输出。 我希望尽可能缩短它们之间的时间间隔。

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

    您认为 ePWM 是否适合您? ePWM 硬件跳闸响应延迟应比 XINT+软件响应快。

    Tommy
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    否 ePWM 不起作用、因为我必须使用外部信号(来自控制板的感应信号)来生成中断。

    此致
    Nikhil