备注:Tensilica,一家位于硅谷的半导体知识产权核心业务公司,现已被Cadence 设计系统公司收购。
一直以来,我们都可以在ESP8266和ESP32芯片上使用I2S进行视频输出。Aquaticus ESP32合成视频库的出现改变了视频输出的方式,ESP32合成视频库可以简化PAL、NTSC和SECAM等tensilica上的任一视频输出任务。
该合成视频库不需要任何外部硬件,只需要将RCA连接器连接到GPIO25(I2S data)和GND,再加上与LVGL库的集成,就可以轻松创建图形用户界面。如下图所示:

该库也支持灰度视频输出(此阶段无颜色),支持从384×288到720×288的多种分辨率(最高25或30 Hz)。ESP32视频合成库可用于PAL、SECAM和NTSC的六个不同像素时钟,以及六种帧缓冲格式。即RGB565、RGB332、Gray 8 bits/pixel、Gray 4 bits/pixel、Monochrome 1 bit/pixel、LVGL Monochrome 1 byte/pixel。
你们可以在Github中找到根据GPL v3许可发布的ESP32合成视频库源代码,入门说明,以及API文档。其中的“hello world”示例以PAL格式384×288分辨率或NTSC格式320×240分辨率显示出了飞利浦PM5544的图案(电视机检验图)。
1 2 3 4 5 6 |
#include "video.h" void app_main(void) { video_test_pal(VIDEO_TEST_PM5544); } |
上面的示例是PAL和SECAM输出,将函数改为video_test_ntsc就变成了 NTSC输出。
它需要带有-O2 CFLAGS的ESP32-IDF框架(用于测试的4.4版),以及可选的LVGL图形库(已测试 8.3 版)。该库似乎已经在其中一个Wemos D1迷你板上进行测试了。该库列出的一些应用程序还包括信息娱乐系统、仿真器、8位游戏控制台和视频诊断等。
本文消息来源于Hackaday。

文章翻译者:Jacob,嵌入式系统测试工程师、RAK高级工程师,物联网行业多年工作经验,熟悉嵌入式开发、测试各个环节,对不同产品有自己专业的分析与评估。