硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2080|回复: 5
收起左侧

[GPIO] ZYNQ里面的一个图也许可以解释H7的GPIO速度慢,而映射为PWM, SDRM等外设后速度快的问题

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2021-11-18 14:25:25 | 显示全部楼层 |阅读模式
之前测试H7的通用GPIO速度只有20MHz左右,而映射为SDRAM就可以120MHz,映射为PWM也可以轻松100MHz。这个差距太大了,

今天看ZYNQ参考手册,里面有一个图很有意思,ZYNQ映射到高速设备的时候,里面是一级多路选择器,映射为I2C,串口等低速设备时,经过了很多路选择器才到达。

感觉H7的IO引脚做通用IO控制的时候,应该是经过很多通道才到达的,不是直通GPIO控制。

QQ截图20211118142433.png




回复

使用道具 举报

18

主题

285

回帖

339

积分

高级会员

积分
339
发表于 2021-11-18 21:08:36 | 显示全部楼层
根源是代码在flash上执行慢造成的,把代码放到ram上跑能达到io的最大速度
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2021-11-18 21:22:39 | 显示全部楼层
木兰花 发表于 2021-11-18 21:08
根源是代码在flash上执行慢造成的,把代码放到ram上跑能达到io的最大速度

在RAM刷不行,因为RAM既要做刷代码,又要刷数据,反倒慢了。

H7的内部Flash还是非常强劲的,可以70MHz,0延迟,64bit带宽,配合Cache,完全加载GPIO代码无法压力。像F4那种24MHz ,0延迟,32位带宽的内部Flash跑GPIO刷新还能干70MHz。下面这个例子H7就是FMC软件刷新,内部Flash,可以证明我的看法

STM32H7的FMC做纯软件IO输出控制可以输出40MHz方波
http://www.armbbs.cn/forum.php?m ... 1282&fromuid=58
(出处: 硬汉嵌入式论坛)


回复

使用道具 举报

18

主题

285

回帖

339

积分

高级会员

积分
339
发表于 2021-11-19 10:40:13 | 显示全部楼层
eric2013 发表于 2021-11-18 21:22
在RAM刷不行,因为RAM既要做刷代码,又要刷数据,反倒慢了。

H7的内部Flash还是非常强劲的,可以70MHz ...

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2021-11-19 12:44:30 | 显示全部楼层

内部RAM刷程序,我用这个帖子测试过,效果差不多

基于STM32H7的内部SRAM程序调试工程模板(512KB的AXI SRAM存程序,DTCM做主RAM)
http://www.armbbs.cn/forum.php?m ... 3112&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

18

主题

285

回帖

339

积分

高级会员

积分
339
发表于 2021-11-19 15:54:44 | 显示全部楼层
eric2013 发表于 2021-11-19 12:44
内部RAM刷程序,我用这个帖子测试过,效果差不多

基于STM32H7的内部SRAM程序调试工程模板(512KB的AXI ...

多谢多谢
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 21:39 , Processed in 0.176718 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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