Ref doc:
IMX6 user manual LDB chap
T15 LVDS spec
Screen developer / WFD pdf
嵌入式开发应用手册
1. Imx6 LDBC( lvds display bridge ctrl)
可以看到,LDB将IPU的输入数据输出到Display Interface(DI), 并且控制DI
下文摘录于IMX6 用户手册,描述了LDB的主要作用
可以看到这里支持两路DI,channel 0 / 1
LDB支持的两种数据mapping模式
2. T15 LVDS spec 与 电路图
可以看到,LVDS 连接到了 channel 0
时序图 说明了这个设备扫描一行/一帧需要的时钟和可以工作的时钟频率,LDB要按照设备支持的频率输入
Data mapping 说明了设备正常显示像素需要的数据格式,RGB888的情况下,每个颜色需要8个bit,但是并不是以Byte为单位传输的,具体格式参考下图,除掉8 bit *3 = 24bit 的颜色数据,还有DE VS HS CTL 4个bit,一共28bit. 对应到每个输入的一个时钟内发送了7bit的有效数据,一共28bit,符合逻辑.
但是这款显示器,只有DE位有效,另外三位是无效的.
3. 工作原理 和 关键参数
注:下文中的B的单位是bit
从时序图来看:
扫描一行的时间需要 HSPW+HBPD+HOZVAL+HFPD 个CLK ,记为 tH
扫描一帧的时间需要 VSPW+VBPD+LINEVAL+VFPD 个tH,记为tV总时钟为 tV*FPS
4. How to config a display on QNX
QNX上通过screen 来配置,它是一个入口工具,负责加载gpu驱动,图形图像库,配置相关寄存器,而它需要两个输入源来决定如何配置.
a. Graphics.conf 这个配置文件申明了加载哪些驱动/ 库,DI 如何设置,链接哪些配置的库,图形的参数等等,具体参考Screen_developer_guide.pdf中configration一章
b. 一个库文件用来设定DI相关设定,称为wfdcfg lib.前面可以看到,一个显示设备需要两部分关键参数,时序和data mapping. 参考openWF_configuration_Developers.pdf
mode定义了一个显示设备的配置
Wfdcfg_timing定义了时序
Wfdcfg_keyval定义了data mapping 等其他参数
一个mode实例:
51.2mhz是lcd支持的一个频率,我们来看一下当FPS是60时,是否可以得到这个数据
1344 * 635 * 60 =51206400 CLK ,匹配
接下来的其他参数也可以根据时序表计算得出,同时可以发现hs / vs 这两个bit 在data mapping中是无效的,既参数中的hsw / vsw 要求不是那么严格,可以自己适当调整.
同时参考spec ,设定 data mapping 与 rgb 格式即可