4107|9

9

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

合:基础操作之测试GPIO极限翻转的方式 [复制链接]

0x00 前言

本文针对芯片测试裸片使用GPIO进行极限的翻转测试,了解在这个单板上能实现的最快的IO翻转速度,因为实际上很多时候MCU的标准输出翻转测试的方式或者是测试的单板环境差别,理论中的数据可能会和实际显示有一定的区别,所以这里测试了这个demo单板的随机引脚的最快可靠翻转时间。

感谢兆易提供的相关环境与测试单板

0x10测试环境

  • demo单板
  • 电脑一台不必多讲
  • IAR 9+,主要是编译器支持会好些
  • 某个不愿意透露具体型号的逻辑分析仪(没打广告)
  • 某个不愿意透露具体型号的手持示波表(没打广告)

其中,随机引脚的选择标准如下:

  1. 为标准的IO接口
  2. 可以用来直接测试,没有外部接入
  3. 不开启复用模式

测试频率通过的标准如下:

  1. 占空比稳定为50%±3%,波形10秒内稳定无抖动
  2. 示波器查看跳变边沿无畸变

0x20 测试代码与测试步骤

测试的代码使用外部输入、内部稳定的时钟定时器,使用汇编字节码进行驱动(这点也是兆易的优点,库兼容了可读性与汇编优化度,基本上不需要怎么修改就可以直接用于测试。

下面附上测试代码。

#define REG32(addr)                  (*(volatile uint32_t *)(uint32_t)(addr))
#define GPIO_BOP(gpiox)            REG32((gpiox) + 0x00000018U)    /*!< GPIO port bit operation register */

    bool i = 0;
    void TIM_IRQHandler()
    {
        i = 1-i;
        if(i == 0)
            GPIO_BOP(LED1_GPIO_PORT) = LED1_PIN;
        else
            GPIO_BC(LED1_GPIO_PORT) = LED1_PIN;

    }

可以看到当前的操作基本上就是直接操作寄存器来执行,但是伪装成函数的方式,但是因为足够原子化所以不需要do_while_0的结构。所以基本上不需要改写。

使用逻辑分析仪测试稳定占空比的最大频率。随后使用示波表查看是否可以得到完整的波形。

0x30 测试结果

经过测试,笔者发现当前引脚的最大的IO翻转的频率约为6.25M,这个频率可能是仅在50%占空比下的最快频率,以保证绝大对数的普通数字协议的执行。而笔者之前做过HC32F460的基础版,最快的频率在3.33MHZ左右,两者相差的还是很大的

此帖出自GD32 MCU论坛

最新回复

那还是很不错的!   详情 回复 发表于 2023-12-6 11:36
点赞(1) 关注
 

回复
举报

5260

帖子

239

TA的资源

管理员

沙发
 

很少见有网友测试翻转速率的,这个一般什么项目会比较关注gpio的翻转速率

此帖出自GD32 MCU论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

模拟一些通讯协议中需要查看最快的通讯速度。  详情 回复 发表于 2022-2-6 14:36
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

翻转速率和主频有密切关系吧

此帖出自GD32 MCU论坛
 
 
 

回复

6960

帖子

11

TA的资源

版主

4
 

我也想知道这个翻转测试的作用,楼主科普一下,谢谢!

此帖出自GD32 MCU论坛
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

5
 
nmg 发表于 2022-2-4 08:45 很少见有网友测试翻转速率的,这个一般什么项目会比较关注gpio的翻转速率

模拟一些通讯协议中需要查看最快的通讯速度。

此帖出自GD32 MCU论坛
 
 
 

回复

7159

帖子

2

TA的资源

版主

6
 

逻辑分析仪的采集频率是多少?

此帖出自GD32 MCU论坛

点评

我这里使用20M的频率。逻辑分析仪最快支持100M  详情 回复 发表于 2022-2-20 11:57
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

7
 
wangerxian 发表于 2022-2-7 10:15 逻辑分析仪的采集频率是多少?

我这里使用20M的频率。逻辑分析仪最快支持100M

此帖出自GD32 MCU论坛

点评

6.25MHz能模拟不少通信的速度,频率稳定吗?  详情 回复 发表于 2022-2-21 09:19
 
 
 

回复

7159

帖子

2

TA的资源

版主

8
 
ncs19960831 发表于 2022-2-20 11:57 我这里使用20M的频率。逻辑分析仪最快支持100M

6.25MHz能模拟不少通信的速度,频率稳定吗?

此帖出自GD32 MCU论坛

点评

稳定状态下可以做到6.25,最快之前试了似乎能到10  详情 回复 发表于 2023-12-6 09:07
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

9
 
wangerxian 发表于 2022-2-21 09:19 6.25MHz能模拟不少通信的速度,频率稳定吗?

稳定状态下可以做到6.25,最快之前试了似乎能到10


此帖出自GD32 MCU论坛

点评

那还是很不错的!  详情 回复 发表于 2023-12-6 11:36
 
 
 

回复

7159

帖子

2

TA的资源

版主

10
 
ncs19960831 发表于 2023-12-6 09:07 稳定状态下可以做到6.25,最快之前试了似乎能到10

那还是很不错的!

此帖出自GD32 MCU论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表