我目前正在开发一个带有 ESP32-S3-WROOM-1-N8R8 的定制板,驱动一个 800x480 5" LCD 显示器,带有 16 位 RGB 接口。问题是,显示器只能在像素时钟
高达~14 Mhz。提高速度会导致可视化问题(屏幕上的图像移动)。
我相信这是一个与欠载相关的问题;GDMA 不够快,无法为 LCD 外围设备提供帧缓冲区的内容(这是位于 PSRAM 中。
粗略计算一下,运行在 80 MHz 的 octo-spi SPIRAM 接口应该提供 80 MB/s 的传输速度(忽略开销)。
因此,获取整个帧缓冲区(800*480*2 字节)应该需要9.6 毫秒。
LCD 显示屏的时钟频率为 16 MHz,刷新周期为 800*480/16M = 24 ms(忽略消隐周期)。
ESP32-S3 不应该能够处理这样的吞吐量吗?你对此有什么想法吗?
我尝试调整几乎所有 LCD 外设配置寄存器,但没有成功。
我正在使用最新的 esp-idf master 分支。