【EPS32S3学习笔记】OV2640+OLED的图像刷新率

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

之前将OLED+OV2640调通了之后,做了一个小Demo,一开始的显示效果并不是很好,刷新率上不了,而且拖影挺明显。后面来回调整了以下,速度上没有理想的那样好,但是勉强可以接受。下面是一些可以帮助提升刷新率的点。


提示:以下是本篇文章正文内容,下面案例可供参考

一、任务的分配

任务在创建的时候是可以指定其运行的CPU的,像这个应用中,如果把GUI和Camera都放在同一个CPU里运行,必然会有所卡顿,所以要对CPU合理的进行利用。
再一个ESP32S3的CPU频率可以配置到240MHz,SDK配置里默认好像是160MHz,性能既然有富裕,别浪费了,直接全速跑起。虽然对GUI的刷新率影响不大,但是实际的效果会好一点。

二、Camera的配置

对Camera速度影响最大的,或者根本。其实是XCLK的速度。这一点没有深入研究,但是提高速度后运行会异常,可能是硬件本身的限制。
其次是一些应用层面的。
如果是做图传,显示的硬件与ESP32是分离的,可以设置Camera以JPEG来传输图像,这样数据量低,同等时钟下,采集一张图片的速度会快很多。
实测:以FRAMESIZE_QVGA的设置下(320*240),PIXFORMAT_RGB565模式下图像的采集帧率大概是每秒钟13张左右,PIXFORMAT_JPEG模式下图像的采集帧率大概是每秒钟25张左右。

三、GUI相关的配置

影响GUI部分的刷新率主要是SPI的速率,之前SDK里面默认的应该是20MHz的频率,这样的速率一般的情况还好,但这里是用来刷新图像,每次都是对整屏进行刷新,因此SPI速度的快慢直接影响屏幕刷新率。所以也是简单的直接将SDK配置里的SPI速率提高到40MHz,这个其实已经超过显示IC规格书里面的最大的频率,而且实际看SPI SCK的波形已经失真严重了,但是竟然一切显示运行正常,也是万幸。
另外稍微注意一下,用来做图像显示的这个组件不要加别的处理了,例如翻转之类的,会大大影响速率。如果需要翻转、亮度调节的,可以直接设定图像传感器。

总结

提示:这里对文章进行总结:

最后实测了下,GUI刷新率能保持33帧。图像勉强可以看,主要还是受制于camera这块的采集速率,后面还有一些优化方法的也继续分享出来。

猜你喜欢

转载自blog.csdn.net/lunzilx/article/details/128952409