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
    +关注

    关注

    147

    文章

    18640

    浏览量

    387807
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用CW32 MCU来实现UART串口通信与GPIO控制

    最近在项目中使用CW32 MCU,完成了一个简单的UART串口通信和GPIO控制的功能。CW32 MCU的资源相对丰富,特别适合一些低成本、低功耗的嵌入式应用。这里分享一下UART通信与GPI
    发表于 12-04 08:17

    IGH EtherCAT 主站上 ARMxy的真实表现:稳定、快到离谱

    一、EtherCAT 是什么?一个精妙的比喻 首先,忘掉传统网络的想法。您可以这样想象: 传统以太网(如TCP/IP):  就像邮差给一栋公寓楼的每家每户送信。邮差需要走到每一户门口(节点),敲门,等待,把信(数据)交给住户。效率低,延迟高。 EtherCAT:  就像一列高速行驶的“数据火车”。这列火车只有一个车头(主站),它沿着轨道(网络)飞驰。每个站台(从站设备)都有一个工人,当火车经过时,工人以闪电般的速度: 取走  车上指定给自己
    的头像 发表于 12-03 16:41 444次阅读
    IGH EtherCAT 主站上 ARMxy的真实表现:稳定、<b class='flag-5'>快到</b><b class='flag-5'>离谱</b>

    请问芯源CW32L010 GPIO翻转速度到底可以有多快?

    请问芯源CW32L010GPIO翻转速度到底可以有多快?
    发表于 11-25 07:44

    GPIO、PWM、ADC,到底怎么区分?

    时不再迷糊。GPIO最基础的数字接口GPIO(GeneralPurposeInput/Output),通用输入输出,是MCU上最常见的引脚类型。GPIO的核心功能
    的头像 发表于 11-14 10:28 259次阅读
    <b class='flag-5'>GPIO</b>、PWM、ADC,到底怎么区分?

    芯源低功耗的MCU最高频率是多少?待机功耗最少多少?长待机一般多长时间?

    芯源低功耗的MCU最高频率是多少?待机功耗最少多少?长待机一般多长时间?
    发表于 11-14 07:29

    【EK-RA6E2开发指南】GPIO使用

    相信大多数学习嵌入式的朋友学习单片机的第一个程序都是点灯,毕竟点灯简单嘛,操作下GPIO即可。当然,本教程的第一个应用也从GPIO的使用开始。
    的头像 发表于 09-23 18:13 3092次阅读
    【EK-RA6E2开发指南】<b class='flag-5'>GPIO</b>使用

    九三阅兵首个先进武器曝光,坦克装上4面相控阵雷达13路传感器,网友直呼离谱

       随着“九三阅兵”日期的临近,多场演练举行,部分先进装备也陆续被媒体披露。    其中,最先被曝光、信息量最多的,莫过于被网友称为“双离谱”的第四代坦克装备,目前网络上已有该新型坦克的大量高清
    的头像 发表于 08-22 21:50 1.8w次阅读
    九三阅兵首个先进武器曝光,坦克装上4面相控阵雷达13路传感器,网友直呼<b class='flag-5'>离谱</b>!

    CYPD3120 上是否有允许从外部 MCU 访问读/写寄存器的可访问接口?

    TUSB564),MCU 需要知道 USB-C 电缆何时翻转,才能直接翻转 DP 接收端的通道极性。 CYPD3120 上是否有允许从外部 MCU 访问读/写寄存器的可访问接口?
    发表于 05-27 07:51

    单片机学习之GPIO

    今日分享如何通过手册理解单片机IO知识点含义解释:1.GPIO:同我们常说的IO口一样,GeneralPurposeInputOutput(通用输入/输出)简称为GPIO,每个GPIO端口可通过软件
    发表于 03-26 14:53 0次下载

    请问DLP3021-Q1中镜片翻转频率是多少,参数可以改变吗?

    请问DLP3021-Q1中镜片翻转频率是多少,参数可以改变吗,谢谢
    发表于 02-18 08:13

    ADS8342能处理的最高输入频率是多少?

    您好,我们在选用ADS8342时,对采样速率产生了疑问,望解答。芯片的吞吐率为250KSPS,意思是每秒250000次转换数据,想问下,是不是最高采样速率就是250KHZ或者说它能处理的最高输入
    发表于 02-07 08:14

    ADC08D1520QML可以采集到的最高频率是多少?

    如题,ADC08D1520QML的采样率为最高3GSPS。那如果要采集的信号的频率是1GHZ的,采集效果会如何呢?
    发表于 02-06 06:51

    GPIO使用教程 GPIO接口应用

    GPIO(General-Purpose Input/Output,通用输入/输出)接口是电子设备中的一个重要组成部分,主要用于控制和读取设备的数字信号。它通过简单的高(1)或低(0)电平来与系统
    的头像 发表于 01-31 10:10 5235次阅读

    GPIO错误排查与解决

    在嵌入式系统和微控制器编程中,通用输入输出(GPIO)是最常见的接口之一。然而,在使用GPIO时,我们可能会遇到各种错误。 1. 理解GPIO GPIO是微控制器上的一组引脚,可以被配
    的头像 发表于 01-09 09:46 3734次阅读

    4G模组GPIO接口实操|精选教程

    今天将把熟悉的4G模组GPIO接口实操整理成文,以Air724UG做出精选教程分享给大家。
    的头像 发表于 12-14 09:36 1920次阅读
    4G模组<b class='flag-5'>GPIO</b>接口实操|精选教程