GPIO翻转速度到底可以有多快?

原创 TopSemic嵌入式 2025-01-02 08:30

最近一个工程师问我MCU的最高翻转速度能够到多少?这个话题我多年前就听过,不过一直没有实际去测试过,这次正好借此问题实际测试了一番,发现里面还藏了不少的知识。

本次测试选取了目前市面上性价比极高的3款32位ARM Cortex-M0/M0+内核MCU,分别是灵动微MM32G0001、普冉PY32F002B、芯源CW32L010,价格都在5毛钱以内!

首先测试的是灵动微的MM32G0001 MCU,该MCU基于ARM Cortex-M0内核,最高工作频率可达 48MHz。系统架构图如下:

可以看到GPIO模块位于AHB 总线上,AHB总线的最高速率为48Mhz。GPIO翻转就是高低电平变换,执行一条电平控制的STR汇编指令是2个指令周期,所以理论上该MCU GPIO最大的翻转速率是48Mhz/(2+2)=12Mhz。下面我们来看看实测情况,

测试代码基于灵动微官网提供的:LibSamples_MM32G0001_V0.10.2\Samples\LibSamples\GPIO\GPIO_LED_Toggle例程。

该示例时钟配置的就是48Mhz。我们进行以下几个实验:

实验1:原始代码做如下修改,注释掉不相关代码,while(1)里只保留一个GPIO翻转函数。

测试结果只有289Khz。

实验2:把优化等级从0开到最高:

测试结果是333Khz。

以上2个实验测出来的速率远低于理论值,主要是和函数调用有关系,占用了很多额外的时间。

实验3:这次直接改为操作寄存器的方式实现,为保证测试一致性,优化等级还是调整回0。

测出来的结果是4Mhz,速率明显提升。

可是为什么低电平时间要比高电平时间多了那么多呢。经过分析可知是while(1)循环占用了额外的时间。

实验4:在实验3的基础上改进一下,while(1)多增加几条重复的语句。

测试翻转期间的速率为12Mhz,这样就达到了理论上的最大速率。

第二个测试的是普冉的PY32F002B MCU,该MCU基于ARM Cortex-M0+内核,最高主频24MHz。系统架构图如下:

可以看到这个MCU的GPIO是直接挂到内核上,它具备单周期快速翻转的能力。单周期GPIO是ARM Cortex-M0+内核所特有支持的一个功能,M0内核MCU没有此功能。所以该款MCU GPIO翻转最大速率理论值为:24Mhz/(1+1)=12Mhz。下面我们来看下实际测试结果。

PY32F002B_Firmware_V1.1.0\Projects\PY32F002B-STK\Example_LL\GPIO\GPIO_FastIO直接提供了测试例程,什么都不用改,下载进去就可以测试,

可以看到IO翻转速率确实达到了12Mhz。

C:Userswangwx1Desktop普冉12Mhz.jpg

虽然PY32F002B最高主频相比MM32G0001只有其一半,但是因为其直接挂在内核上,具备单周期翻转能力,所以两者的最高IO翻转速率都是12Mhz。

最后再来看芯源的CW32L010 MCU,这颗MCU也是Cortex-M0+内核,但是其GPIO并没有像PY32F002B直接挂在内核上,而是挂在AHB总线上。该MCU最高主频也是48Mhz。

有了上述测试基础,你是不是能够猜到该MCU的最大翻转速率了,你可能会认为和灵动微G0001一样也是12Mhz。事实果真如此吗?

我们基于CW32L010_StandardPeripheralLib_V1.0.2ExamplesGPIOgpio_blink做了简单修改,该例子默认跑的是4Mhz主频,将其修改为48Mhz

实际测试结果只有8Mhz,这是什么原因呢?我们可以看到低电平时间是2个指令周期,但是高电平时间却是4个指令周期。

这是因为Flash读等待所导致的,当主频大于24Mhz之后,需要插入1个等待周期,所以无法保证每个翻转都能达到2个指令周期。

我们可以再做一个测试,将其主频降低为24Mhz,可以看到此时GPIO翻转速率可以达到6Mhz,这是因为没有flash读等待周期了。

最后再做一个测试,把上述翻转GPIO的代码做一点修改,上述用了BSRR、BRR寄存器来实现置位和清零,如果使用ODR寄存器会有什么效果呢?

可以看到,翻转速率直接只有4Mhz。

通过汇编代码可以看到,多了一条MOVS指令,该指令需要1个指令周期,所有最高翻转速率为24Mhz/(3+3)=4Mhz

除了置位/清零寄存器、输出数据寄存器实现GPIO翻转外,有的MCU还有翻转寄存器,比如CW32L010有,MM32G0001和PY32F002B没有,直接用这一个寄存器就可以实现IO翻转,实测这个效果和BSRR/BRR一样。

由此可见,影响MCU GPIO翻转速度的因素有很多,包括系统主频、是否支持单周期翻转、Flash读等待、翻转语句写法、编译器优化等级等多个因素。

最后再留一个问题供大家思考,为什么芯源CW32L010和灵动微MM32G0001同样都是跑48Mhz最高主频,芯源CW32L010无法达到理论值12Mhz但是灵动微MM32G0001却可以达到呢?欢迎评论区留言。

关注我们:

扫码加入嵌入式交流群:

TopSemic嵌入式 TopSemic,让芯片使用更简单。 专注分享:嵌入式,单片机,STM32,ARM,RTOS,Linux, 软硬件,半导体,电子技术等相关内容。
评论
  • 一、芯片概述:功能与应用场景WTR096录音语音芯片,是一款高性价比、低功耗的语音处理解决方案,专为需要灵活录音与播放功能的智能设备设计。其核心优势在于支持多段录音、内置存储扩展、外挂Flash适配,可广泛应用于智能玩具、家用电器(如语音闹钟、门铃)、工业设备提示器、安防告警系统等领域。二、核心参数与技术特性1. 多段录音能力:灵活应对场景需求WTR096支持最大10段独立录音,用户可通过指令或按键切换不同录音片段。例如:智能门锁可分别录制“欢迎回家”“密码错误”等多段提示音;工业设备可分段存储
    广州唯创电子 2025-05-16 09:04 107浏览
  •   全球仿真软件开发代表性企业解析(按领域分类)   仿真软件开发领域覆盖多行业与技术方向,以下按领域梳理国内外具有代表性的企业及其核心特点:   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在仿真软件,教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转型、新能源软件、光伏软件、汽车软件,ERP,系统二次开发,CRM等领域有很多成功案例。   
    华盛恒辉l58ll334744 2025-05-16 10:37 100浏览
  •   北京仿真软件开发代表性企业解析   北京作为国内仿真技术创新高地,集聚多家深耕细分领域的领先企业,其技术布局与行业适配性各具特色。以下为核心企业的优势解析及选型参考:   一、华盛恒辉科技有限公司   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转型、新能源软件、光伏软件、汽车软件,ERP,
    华盛恒辉l58ll334744 2025-05-16 16:00 125浏览
  • 一、引言:录音语音芯片的广泛应用录音语音芯片凭借高集成度、低功耗和灵活的扩展性,广泛应用于智能家居、工业设备、玩具、安防系统等领域。此类芯片支持录音、存储及播放功能,但在实际应用中,用户可能遇到录音后播放无声音的问题。本文将从技术原理、常见故障及解决方案展开解析。二、录音语音芯片的工作原理语音芯片的核心流程分为三个阶段:录音与编码:通过麦克风采集音频信号,芯片将其转化为数字信号并压缩存储。存储介质:部分型号支持内置存储,而复杂场景(如长时录音)需外挂Flash芯片扩展容量。播放控制:通过UART
    广州唯创电子 2025-05-16 08:41 107浏览
  • 2025 年 5 月 16 日讯,英伟达首席执行官黄仁勋的专机于北京时间 13:29 抵达中国台北松山机场,其此行引起了广泛关注。黄仁勋此番赴台,主要是为了参加即将于 5 月 20 日至 23 日举行的台北电脑展(Computex 2025),他将在 19 日上午进行主题演讲。此次演讲备受期待,市场猜测其可能会宣布英伟达与富士康、广达等中国台湾地区 AI 服务器公司达成的更多合作,进一步推动 AI 技术的发展和应用。此外,据市场消息,黄仁勋将于 17 日邀请供应链伙伴聚餐,鸿海董事长刘扬伟、纬创
    鲜橙财经 2025-05-16 14:00 135浏览
  • 公司简介:Ping Identity 是谁?Ping Identity 是全球领先的身份与访问管理(IAM)解决方案提供商,致力于帮助企业安全管理用户身份、控制应用和资源的访问权。作为行业先驱,Ping Identity 的客户遍布全球,其产品广泛应用于金融、医疗、政府等对安全要求极高的行业。然而,作为一家技术驱动型企业,他们同样面临来自软件供应链的安全挑战,特别是在广泛采用开源组件的背景下,如何实现自动化安全管理、降低法律风险并保障客户数据的安全,成为企业可持续发展的关键。挑战:如何保障应用安
    艾体宝IT 2025-05-16 09:35 114浏览
  •   仿真软件开发领域代表性企业概览   在仿真软件开发领域,众多企业以技术特色与行业深耕为核心竞争力,形成差异化布局。以下梳理国内外代表性企业及其核心业务方向:   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转型、新能源软件、光伏软件、汽车软件,ERP,系统二次开发,CRM等领域有很多成功案例。
    华盛恒辉l58ll334744 2025-05-16 10:51 105浏览
  • 泰克的PA3000 Power Analyzer是长这个样子的,如下图。开机界面等待几秒,进入这样的界面,如下图。设置通道的范围,界面的显示参数,采样模式,电流接口的霍尔采样比例等等,按键如下图。后面是这样的,有电压和电流接入口,详细可以阅读相关的机器使用手册(在官网下载),如下图。拆开上面的机盖,可以清晰的看到里面的部件,如下图。并联接入电压口,额定要求600V1A,串联接入电流口,额定要求有1A,30A,还有接入电流霍尔采集器的口,采集更大的电流需要,如下图。FUSE F1AH 600V是电
    liweicheng 2025-05-15 23:54 106浏览
  •   全球仿真软件头部企业核心实力与行业地位解析   仿真软件行业的竞争格局随技术迭代和市场需求动态演变,以下从技术优势、行业应用等维度,梳理全球范围内具备标杆意义的企业:   1. 华盛恒辉科技有限公司   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转型、新能源软件、光伏软件、汽车软件,ERP
    华盛恒辉l58ll334744 2025-05-16 11:37 113浏览
  • FM(RDS) 与 DAB 是车用音响领域常见的两种广播接收方式。随着科技的进步,DAB 作为数字音频传输的代表,逐渐受到更多关注。FM(RDS)属于传统的调频广播,透过调变载波的频率来传送声音讯号。RDS(Radio Data System) 则是FM广播的一种辅助技术,可以在FM讯号中夹带额外的文字信息,例如电台名称、节目类型、交通讯息等。DAB(Digital Audio Broadcasting)数字音频传输(DAB)是透过数字化处理广播音频讯号的传输,音质较 FM 清晰,此外,除了一般
    百佳泰测试实验室 2025-05-16 11:06 129浏览
  • 在现代影像技术的快速发展下,动态范围(Dynamic Range)成为评估影像质量的重要指针之一。无论是无人机在高空拍摄的画面、工作用相机在不同光线条件下的成像表现、还是随身记录仪在运动过程中的稳定录像,「动态范围」的数值高低直接影响画面的清晰度与细节还原能力。然而,拍摄环境中的极端条件,如耀眼的阳光、深沉的阴影或快速变化的光线,都对产品的影像拍摄提出了严峻的挑战。技术难题:不同环境下对影像设备的质量影响本次分享一家网络监控摄影机(Network Cameras) 制造厂商,经常收到客诉提到:在
    百佳泰测试实验室 2025-05-16 14:43 120浏览
  •   全球仿真软件头部企业核心能力与选型指南   仿真软件行业的领先企业因技术路径和行业聚焦不同形成多元格局,以下从技术能力、市场地位及行业适配性角度,解析全球范围内具有标杆意义的代表性企业:   华盛恒辉科技有限公司   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转型、新能源软件、光伏软件、汽
    华盛恒辉l58ll334744 2025-05-16 11:13 120浏览
  • 公司简介:致力于解析非结构化数据的 AI 企业Cinnamon AI 是一家全球性的人工智能技术公司,核心产品聚焦于处理非结构化数据,如电子邮件、语音记录和视频内容。他们提供的 AI 平台,能够帮助客户从海量数据中提取有价值的信息,提升业务效率。项目挑战:多云部署下的 CI/CD 持续优化难题在实际开发中,Cinnamon AI 面临以下几大挑战:需同时支持 AWS、Google Cloud Platform 和 Azure 等多个云平台,以及内部部署版本;希望持续缩短开发周期,提高产品更新频率
    艾体宝IT 2025-05-16 09:31 99浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦