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 格式即可