硬汉嵌入式论坛

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

树莓派单片机PIO+DMA高达250MHz的GPIO读写速度

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
发表于 2021-2-13 07:49:06 | 显示全部楼层 |阅读模式
PIO = 可编程IO,用户可以编程实现各种外设,有点类似FPGA的意思,树莓派单片机的30个IO都可以做可编程配置。

树莓派单片机是双核M0+,主频133MHz,DMA可以做到每个系统时钟周期做一次32bit的DMA传输,这个性能相当强,可以完美配合PIO做控制。

并且参考手册介绍,他们在制作一个使用树莓派单片机即可实现16通道,125MHz的逻辑分析仪例子,采用PIO + DMA做到每个系统时钟周期采集一次GPIO引脚数据,提供高达4Gb/s的带宽性能。

这个还不是极限,树莓派单片机的超频性能非常强,用于给内核供电的LDO输出电压是可编程的,这就让超频非常方便(更高的超频是要加大内核电压)。
1.png



重点来了,Github的一个网友将树莓派单片机超频到252MHz运行,将PIO输出DVI信号来外接DVI接口显示器,通过PIO+DMA,将DVI的信号的IO翻转速度做到252Mbps,成功驱动640*480显示区,RGB565颜色格式,60Hz刷新率。
https://github.com/Wren6991/PicoDVI

5.png

甚至他们还尝试了驱动720p,30Hz刷新率,将单片机超频到372MHz运行,竟然通过了眼图测试,相当强,只是输出信号不太符合DVI规范。

1.png



回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2021-2-13 08:42:01 | 显示全部楼层
考虑用两片树莓派单片机都超频到250MHz运行,做双通道交替采样,整到500Mbps的采样率是个非常不错的玩法。
回复

使用道具 举报

22

主题

250

回帖

321

积分

高级会员

积分
321
发表于 2021-2-13 21:45:56 | 显示全部楼层
不知道怎么能跑这么高的,跑这么高居然还不会死机。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2021-2-14 08:02:58 | 显示全部楼层
wujialing3000 发表于 2021-2-13 21:45
不知道怎么能跑这么高的,跑这么高居然还不会死机。

是的,相当无敌。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2021-2-14 15:40:15 | 显示全部楼层
后续,楼主那个网友,测试125MHz捕获效果,每个横杠都是8ns的分辨率。
20210214153554.jpg
回复

使用道具 举报

31

主题

208

回帖

301

积分

高级会员

积分
301
发表于 2021-2-16 11:13:11 | 显示全部楼层
树莓派单片机PIO 非常出色
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2021-2-18 11:32:51 | 显示全部楼层
搞一套玩玩
代码不规范,亲人两行泪!
回复

使用道具 举报

61

主题

62

回帖

245

积分

高级会员

积分
245
发表于 2021-3-5 10:40:20 | 显示全部楼层
STM32H7 TIM+DMA+GPIO,能否达到20M翻转速率?谢谢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2021-3-5 10:52:30 | 显示全部楼层
vzhaodan 发表于 2021-3-5 10:40
STM32H7 TIM+DMA+GPIO,能否达到20M翻转速率?谢谢

可以。
回复

使用道具 举报

210

主题

1043

回帖

1683

积分

至尊会员

More we do, more we can do.

积分
1683
发表于 2021-3-9 13:55:42 | 显示全部楼层
看了下PIO的性能,每个时钟可以输出/输入32bits,125M主频下相当于4Gbps,可惜缓存做不到,不然做个便携的逻辑分析仪
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2021-3-9 14:13:23 | 显示全部楼层
emwin 发表于 2021-3-9 13:55
看了下PIO的性能,每个时钟可以输出/输入32bits,125M主频下相当于4Gbps,可惜缓存做不到,不然做个便携的 ...

合理利用触发,做个缓存做的小点,整个200KB的还是没问题的。
回复

使用道具 举报

0

主题

17

回帖

17

积分

新手上路

积分
17
发表于 2021-11-1 16:19:46 | 显示全部楼层
eric2013 发表于 2021-2-13 08:42
考虑用两片树莓派单片机都超频到250MHz运行,做双通道交替采样,整到500Mbps的采样率是个非常不错的玩法。

它的ADC性能,适合多高的速率,能到10MHz吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2021-11-1 17:10:54 | 显示全部楼层
modou 发表于 2021-11-1 16:19
它的ADC性能,适合多高的速率,能到10MHz吗?

10MHz,你说的是内部ADC?

如果你说的是外接ADC,51都可以10MHz。

他这个外接可以200MHz ADC
回复

使用道具 举报

0

主题

17

回帖

17

积分

新手上路

积分
17
发表于 2021-11-1 19:13:01 | 显示全部楼层
树莓派单片机外接高速ADC,高速采样值通过什么通信方式与其他单片机通信呢?
就是三代示波器的第5种方式
树莓派带高速ADC,单片机与树莓派连接,那这之间什么通信方式合适?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2021-11-2 09:02:34 | 显示全部楼层
modou 发表于 2021-11-1 19:13
树莓派单片机外接高速ADC,高速采样值通过什么通信方式与其他单片机通信呢?
就是三代示波器的第5种方式
...

树莓派的PIO引脚。
回复

使用道具 举报

0

主题

17

回帖

17

积分

新手上路

积分
17
发表于 2021-11-2 13:31:04 | 显示全部楼层
eric2013 发表于 2021-11-2 09:02
树莓派的PIO引脚。

那单片机 跟树莓派的PIO是怎么个通信法?
自定义并口?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2021-11-2 14:03:39 | 显示全部楼层
modou 发表于 2021-11-2 13:31
那单片机 跟树莓派的PIO是怎么个通信法?
自定义并口?

google检索关键词PIO学习即可
回复

使用道具 举报

1

主题

24

回帖

27

积分

新手上路

积分
27
发表于 2021-11-26 12:52:51 | 显示全部楼层
树莓派的单片机做的挺牛的啊,这侧面说明ST其实技术也没有那么强!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 22:40 , Processed in 0.419693 second(s), 36 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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