查看: 5964|回复: 0

[分享] RT1060 的普通 GPIO 和 快速 GPIO 的对比

[复制链接]
  • TA的每日心情
    开心
    2025-7-11 08:53
  • 签到天数: 301 天

    连续签到: 2 天

    [LV.8]以坛为家I

    3900

    主题

    7513

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    39634
    最后登录
    2025-8-1
    发表于 2020-6-9 17:02:09 | 显示全部楼层 |阅读模式
    RT1060 的普通 GPIO 和 快速 GPIO 的对比


    i.MXRT1060 提供了紧耦合的通用 GPIO,可以进行高频率的操作。
    1.png
    RT1060 提供了两组 GPIO 寄存器来控制端口输出。GPIO 1 到 GPIO 3 是通用 GPIO,而GPIO 6 到 GPIO 8 是紧耦合 GPIO,但是它们共享同一个端口,这意味着 GPIO 引脚可以用 GPIO 1/2/3 或 GPIO 6/7/8 进行选择。寄存器 IOMUXC_GPR_GPR26、IOMUXC_GPR_GPR27 和 IOMUXC_GPR_GPR28 也用于 GPIO 的选择。

    2.png
    要用 GPIO 1/2/3 或 GPIO 6/7/8 选择 GPIO 引脚,你可以使用 MCUXpresso Config 工具。例如,如果你选择 G10 引脚,你既可以选择 GPIOI_IO11 作为普通 GPIO,也可以选择 GPIO 6_IO11 作为快速 GPIO。

    3.png
    我基于 SDKV2.5 做了一个例子,比较普通 GPIO 和快速 GPIO 的速度。为此,我使用了引脚 G10 (GPIOI_IO11 和 GPIO 6_IO11)。
    注意:正如下图所示,GPIO 1、2、3、4 和 5 的时钟来自 IPG_CLK_ROOT,而 GPIO 6、7、8 和 9 来自 AHB_CLK_ROOT。这意味着对于 GPIO 6,7,8 和 9,你不需要激活任何时钟。SDK 的当前版本(v2.5)没有考虑到这一点,因此如果你想使用这些 GPIO 中的任何一个,你需要在 GPIO_PinInit 函数中添加以下 if 语句。这个错误已经被报告,并且将在 SDK 的新版本中被修复。

    4.png
    5.png
    首先,我使用了普通的 GPIO 引脚(GPIOI_IO 11)。我将通过直接写入 GPIO_DR 寄存器来翻转引脚电平。请注意,你可以通过评估板上的 J22 的 PIN 3 测量此引脚,从而观测该引脚的性能。结果如下:

    6.png
    对于普通的 GPIO 引脚,直接写入 GPIO_DR 寄存器的周期达到 160 ns。现在,如果我们切换到快速 GPIO 并使用相同的指令,我们将得到以下结果。

    7.png
    正如你看到的,在使用快速 GPIO 引脚时,信号的周期几乎是使用普通 GPIO 时的三分之一。现在,RT1060 的 A1 版芯片有一个新的 GPIO 翻转功能。如果我们用新的寄存器 DR_TOGGLE来翻转引脚而不是用寄存器 GPIO_DR,我们将获得更好的性能,无论是普通 GPIO 还是快速GPIO。以下是带有 DR_TOGGLE 寄存器的普通 GPIO 的结果。

    8.png
    如你所见,当使用带 DR_TOGGLE 寄存器的普通 GPIO 引脚时,我们的周期大约为 53 ns,而当写入 GPIO_DR 寄存器时,我们得到的是 160 ns。当使用寄存器 DR_TOGGLE 和快速 GPIO时,我们将获得最佳的引脚性能,结果如下。

    9.png
    感谢 Jorge Antonio Alcala Vazquez 对这篇文档提供的宝贵帮助。希望这能给你带来帮助!最诚挚的问候,Victor。


    qiandao qiandao
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-2 11:29 , Processed in 0.080501 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表