0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

快到离谱!?这才是我见过的GPIO翻转频率最高的MCU!

先楫半导体HPMicro 2022-08-16 09:30 次阅读

本期内容将由先楫技术官带您解锁如何利用HPM6700系列做到高达400Mhz的GPIO 翻转频率,往下翻即可了解详情!

--------- “解锁之旅 ”由此开启 ---------

(本期测试开发板为:HPM6750EVK2)


1

GPIO模块特点简介

HPM6700/6400系列的MCU输入输出提供PA~PZ共8组最多195个GPIO功能复用引脚,每个GPIO都可以由2个GPIO控制器和2个快速GPIO控制器控制,由GPIO管理器GPIOM指定。提到的2 个快速 GPIO 控制器 FGPIO,作为处理器私有的 IO 快速访问接口,处理器因此可以零等待周期来访问FGPIO控制器。

2

GPIO控制器介绍

本节将介绍HPM6700/6400系列的通用输入输出控制器(General Purpose Input Output),GPIO 控制器包括:2 个 GPIO 控制器(GPIO0,GPIO1), 2 个快速 GPIO 控制器(FGPIO0, FGPIO1)。

2.1 通用GPIO控制器控制

GPIO 控制器与快速 GPIO 控制器功能基本相同,可以按照 IO 端口 Port 读取输入,配置IO作为输入或者输出,设置 IO 输出,或者同时把一个或者多个 IO 输出设置高,设置低或者翻转。GPIOx 和 FGPIOx 可以控制通用 IO(PA, PB, PC, PD, PE, PF)。

2.2 快速 GPIO 控制器

快速GPIO控制器属于处理器的私有外设,如图1所示,处理器因此可以零等待周期来访问FGPIO控制器。当IO由FGPIO控制时,IO最大翻转率可达CPU主频的一半,以HPM6750 CPU运行在816MHz为例,IO翻转频率可408MHz。

94123b80-1ae4-11ed-9ade-dac502259ad0.png

图1. 系统架构框图

通过在程序中选用FGPIO0或者FGPIO1这两个控制器来控制IO,将IO配置为输出后,可以使用DO【TOGGLE】寄存器,令这个IO循环反复做一个翻转,部分代码如图2所示:将PD16配置完成。需要注意的是,在测试波形之前,需要在Project的选项中打开优化设置,如图3所示:将Optimization Level设定为Level 2 for speed。

94253294-1ae4-11ed-9ade-dac502259ad0.png

图2. FGPIO控制IO翻转代码

943cb8ba-1ae4-11ed-9ade-dac502259ad0.png

图3. 开启优化

设定完成后,就可以使用示波器连接到此IO后,得到的波形如图4.1所示,测量峰-峰值,此时的频率为409.7MHz, 的确达到了CPU主频的一半。

94689e58-1ae4-11ed-9ade-dac502259ad0.png

图4. 1 FGPIO控制IO的翻转波形

由于FGPIO控制IO的情况下,IO的翻转频率为主频的一半,那么修改当前的主频频率,还可以测出其他几种频率的翻转波形,如图4.2与4.3所示,分别是200Mhz和100Mhz频率的翻转波形,它们对应的主频分别是400Mhz与200Mhz。

949790c8-1ae4-11ed-9ade-dac502259ad0.png

图4. 2 FGPIO控制IO下200mhz波形

94cb8928-1ae4-11ed-9ade-dac502259ad0.png

图4. 3 FGPIO控制IO下100mhz波形

HPM6700/6400系列MCU中的普通GPIO控制器控制IO时,也可以有5.8Mhz左右的翻转频率,图4.4为GPIO0控制IO时,用示波器抓取的波形。

94f88982-1ae4-11ed-9ade-dac502259ad0.png

图4.4 GPIO控制IO下的翻转波形

3

GPIO管理器GPIOM介绍

GPIO管理器是一个能为任一IO指定GPIO配置生效的模块,管理器的主要特点如下:


可以为IO分配指定的GPIO控制器,作为一个管理权限,可以从两个GPIO控制器和FGPIO控制器里任意选择。

可以配置IO输入是否对特定的GPIO控制器可见。

可以锁定一个IO的对应寄存器

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16984

    浏览量

    350231
收藏 人收藏

    评论

    相关推荐

    基于GD32L235系列MCU的土壤湿度检测带磁力翻转式显示方案

    本文介绍基于兆易创新的GD32L235系列低功耗MCU设计的土壤湿度检测带磁力翻转式显示方案,该方案产品主要适用于智慧种植、环境监测等场景。
    的头像 发表于 10-17 09:44 272次阅读
    基于GD32L235系列<b class='flag-5'>MCU</b>的土壤湿度检测带磁力<b class='flag-5'>翻转</b>式显示方案

    【GD32 MCU入门教程】GD32 MCU GPIO 结构与使用注意事项

    本文是专门为基于GD32 MCU开发的工程设计人员提供,主要介绍了GPIO的功能配置、内部结构以及在不同场景使用时的注意事项,旨在帮助GD32 MCU开发者优化对通用型输入输出端口(GPIO
    的头像 发表于 09-07 10:34 578次阅读
    【GD32 <b class='flag-5'>MCU</b>入门教程】GD32 <b class='flag-5'>MCU</b> <b class='flag-5'>GPIO</b> 结构与使用注意事项

    DDR4内存频率最高多少

    DDR4内存频率最高值是一个随着技术进步而不断演变的指标。目前,DDR4内存的频率已经取得了显著的提升,但具体到最高频率,则需要结合多个方面来讨论。
    的头像 发表于 09-04 12:37 1844次阅读

    ESP8266在深度睡眠模式下是否会保持其GPIO状态?

    想知道是否有人知道ESP8266在深度睡眠模式下是否会保持其 GPIO 状态。 简单示例:假设有一个 LED 连接到 GPIO4 之一。想点亮 LED,然后进入深度睡眠 10 秒
    发表于 07-08 06:39

    STM8 GPIO翻转速度只有1.1MH这是为什么呢?

    , GPIO_Pin_2, GPIO_Mode_Out_PP_Low_Fast); while (1) { GPIOB->ODR ^= GPIO_Pin_2; } } 实现测量GPIO
    发表于 05-16 06:19

    什么是GPIOGPIO组成原理

    GPIO全拼叫General Purpose Input Output(通用输入输出)简称IO口也叫总线扩展器,GPIO口是由引脚,功能寄存器组成,不同的架构中的GPIO封装不同,所使用的引脚数与寄存器数不同,具体可以参考芯片手
    发表于 04-28 12:30 6667次阅读
    什么是<b class='flag-5'>GPIO</b>?<b class='flag-5'>GPIO</b>组成原理

    请问如何提高STM32 GPIO输出速度?

    由于应用需要,用GPIO输出高低电平产生脉冲,通过软件控制GPIO输出翻转。用的是STM32F412, APB2最高达到100M,可实际GPIO
    发表于 04-12 06:05

    MCU启动失败竟因GPIO先上电?

    由于 RT1060 上 GPIO_AD_Bx 和 GPIO_Bx 两组 PAD 供电均来自于 NVCC_GPIO,当其中任何一个 GPIO 有电压时,均可能会漏电到 NVCC_
    发表于 03-28 10:32 678次阅读
    <b class='flag-5'>MCU</b>启动失败竟因<b class='flag-5'>GPIO</b>先上电?

    通用 32位 MCU FAQ

    的精度是在 1%以内。内部低速时钟有2 个频率可以选择,LIRC.38.4KHz/32.768KHz . 问:CS32F03X Deepsleep 模式下,保留 GPIO 唤醒,低功耗电流是多少
    发表于 03-22 15:15

    请问STM32H743ZIT6使用GPIO输出翻转电平如何达到4Mhz?

    由于设计原因,所在引脚无法复用定时器PWM功能,只能用定时器在定时中断手动翻转引脚电平,但需要输出4MHz以上的时钟信号给其他芯片使用。听说GPIO翻转50MHz,但实际1Mhz都不到。这需要如何做呢?
    发表于 03-15 06:02

    GD32 MCU如何将烧录口配置为GPIO使用?

    如果大家在进行GD32 MCU开发时发现GPIO引脚使用不足,可以尝试将烧录口配置为GPIO使用,这样就可以多出几个引脚使用,但使用的时候如何配置以及有哪些注意事项,本视频将会为大家进行解答。
    的头像 发表于 02-20 10:18 1860次阅读
    GD32 <b class='flag-5'>MCU</b>如何将烧录口配置为<b class='flag-5'>GPIO</b>使用?

    instance是何时翻转的?每次有多少instance在翻转

    在run dynamic vectorless IR时,instance是何时翻转的?每次有多少instance在翻转
    的头像 发表于 01-26 09:31 498次阅读
    instance是何时<b class='flag-5'>翻转</b>的?每次有多少instance在<b class='flag-5'>翻转</b>?

    MCU复位时GPIO是什么状态?#MCU #单片机 #电子工程师 #GPIO

    单片机mcu
    聚沃科技
    发布于 :2024年01月20日 09:35:51

    MCU复位时GPIO是什么状态?

    大家一定遇到过上电或者复位时外部的MOS电路或者芯片使能信号意外开启,至此有经验的工程师就会经常关心一个问题,MCU复位时GPIO是什么状态?什么电路需要外部加上下拉?
    的头像 发表于 01-19 10:36 1563次阅读
    <b class='flag-5'>MCU</b>复位时<b class='flag-5'>GPIO</b>是什么状态?

    stm32最高工作频率是多少

    STM32是一款基于ARM Cortex-M内核的高性能微控制器,由STMicroelectronics公司生产。它具有丰富的外设和功能,广泛应用于各种嵌入式系统开发。本文将介绍STM32的最高
    的头像 发表于 01-03 15:54 4030次阅读