[QNX] LVDS配置

时间:2024-04-10 07:29:58

Ref doc

IMX6 user manual LDB chap

T15 LVDS spec

Screen developer / WFD pdf

嵌入式开发应用手册

 

1. Imx6 LDBC( lvds display bridge ctrl)

可以看到,LDBIPU的输入数据输出到Display Interface(DI), 并且控制DI

下文摘录于IMX6 用户手册,描述了LDB的主要作用

 [QNX] LVDS配置

可以看到这里支持两路DIchannel 0 / 1

 [QNX] LVDS配置

 

 

LDB支持的两种数据mapping模式

 [QNX] LVDS配置

 

2. T15 LVDS spec 与 电路图

可以看到,LVDS  连接到了 channel 0

 [QNX] LVDS配置

 

时序图 说明了这个设备扫描一行/一帧需要的时钟和可以工作的时钟频率,LDB要按照设备支持的频率输入

 [QNX] LVDS配置

Data mapping 说明了设备正常显示像素需要的数据格式,RGB888的情况下,每个颜色需要8bit,但是并不是以Byte为单位传输的,具体格式参考下图,除掉8 bit *3 = 24bit 的颜色数据,还有DE VS HS CTL 4bit,一共28bit. 对应到每个输入的一个时钟内发送了7bit的有效数据,一共28bit,符合逻辑.

但是这款显示器,只有DE位有效,另外三位是无效的.

 [QNX] LVDS配置

 

 

 

3. 工作原理 关键参数

注:下文中的B的单位是bit

 [QNX] LVDS配置

 [QNX] LVDS配置

从时序图来看:

扫描一行的时间需要 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.pdfconfigration一章

b. 一个库文件用来设定DI相关设定,称为wfdcfg lib.前面可以看到,一个显示设备需要两部分关键参数,时序和data mapping. 参考openWF_configuration_Developers.pdf

 [QNX] LVDS配置

mode定义了一个显示设备的配置

 [QNX] LVDS配置

Wfdcfg_timing定义了时序

 


[QNX] LVDS配置

[QNX] LVDS配置

Wfdcfg_keyval定义了data mapping 等其他参数

 

一个mode实例:

[QNX] LVDS配置

[QNX] LVDS配置

[QNX] LVDS配置

 

51.2mhzlcd支持的一个频率,我们来看一下当FPS60时,是否可以得到这个数据

1344 * 635 * 60 =51206400 CLK ,匹配

接下来的其他参数也可以根据时序表计算得出,同时可以发现hs / vs 这两个bit data mapping中是无效的,既参数中的hsw / vsw 要求不是那么严格,可以自己适当调整.

同时参考spec ,设定 data mapping rgb 格式即可