效果:LVDS+HDMI 都是1080P的分辨率的屏,两者显示的内容完全一样,内容同步更新,无延迟。
实现过程中没有使用Wayland、X11、X-window等插件支持。单纯的底层驱动实现。
显示,一直都是一个很通用的功能,需要人机交互的产品,基本都有个屏。
IMX6D 有3种屏幕显示接口: HDMI、LVDS、LCD。这三种接口基本满足了大部分产品显示接口的需求。
在使用IMX6的过程中,只是简单的使用一种接口,或者同时独立的使用多种接口,这些都是比较简单的,在NXP官网提供的BSP里面就已经实现了,但是在面对产品的更高需求时,官网提供的BSP就显得有点乏力了。因此这里我们来介绍一下目前官网还没有公开支持的双屏同显功能。
注:IMX6D在硬件上有两路LVDS通道。
在实现双屏同显的过程中,我们需要了解以下相关信息:
IPU、DI、dual-mode、split-mode
我简单说一下我对上面几个关键词的理解,以及它们之间的关系:
IPU:Image Processing Unit,图像处理单元。
DI:Display Interface,显示接口。
dual-mode:LVDS接口的一种模式,双通道模式,两路LVDS输出相同的图像。(这里可以通过接2个单路LVDS屏实现LVDS的双屏同显)
split-mode:LVDS接口的一种模式,分离模式,将LVDS图像输出分离为奇偶,奇路通道显示奇数据位图像,偶路通道显示偶数据位图像。
那么上面4着的联系是什么呢?
一个IPU有两个DI,一个DI对应一种显示接口。
那么我们这里双屏同显怎