imx顯示驅動引數詳解

2021-10-05 11:33:31 字數 1477 閱讀 5901

struct fb_videomode ;

結構體中引數和顯示影象的對應關係如下:

各引數具體含義:

u32 pixclock; /*每個畫素時鐘週期的長度,單位是皮秒(10 ^ -12 秒)*/ 

u32 left_margin; /*即hbp (horizontal back porch),從水平同步訊號到一行的有效資料之間的vclk數*/ 

u32 right_margin; /*即hfp(horizontal front porth),一行的有效資料結束到下乙個水平同步訊號開始之間的vclk數*/ 

u32 upper_margin; /*即vbp(vertical back porch),在一幀影象開始時,垂直同步訊號以後的無效行數*/ 

u32 lower_margin; /*即vfb(vertical front porch),在一幀影象結束後,垂直同步訊號以前的無效行數*/ 

u32 hsync_len; /*即hspw(horizontal sync pulse width),表示水平同步訊號的寬度,用vclk計算*/ 

u32 vsync_len; /*即vspw(vertical sync pulse width),表示垂直同步脈衝的寬度,用行數計算*/

計算公式:

pixclock的計算:

dotclk = refresh × (xres + left_margin + right_margin + hsync_len) × (yres + upper_margin + lower_margin + vsync_len)  (單位:hz)

pixclock = 10^12 / dotclk (單位:皮秒)

例如:static const struct fb_videomode vga_mode = 

;其中,refresh=60,xres=640,yres=480,left_margin=48, right_margin=16,upper_margin=33, lower_margin=10,hsync_len=96,vsync_len=2。

dotclk = refresh × (xres + left_margin + right_margin + hsync_len) × (yres + upper_margin + lower_margin + vsync_len)

= 60 * (640 + 48 + 16 + 96) * (480 + 33 + 10 + 2)

= 25.2 * 10^6 (hz)

則重新整理一幀畫面所需的時間為 1 / dotclk (s) = (1 / 25.2) * (10 ^ -6) (s) = 0.039683 (us)。

而pixclock引數的單位是ps,1us = 10^6 ps,故:

pixclock = 0.039683 * (10 ^ 6) (ps)

= 39683 (ps)

imx6q can驅動理解

理解imx536的can驅動還是從probe開始吧,2.6版本核心can驅動是歸屬於網路驅動 所以我得先去把網路驅動幾個重要結構體先找出來吧。前進吧 年輕人。static struct platform driver flexcan driver probe flexcan probe,remove...

imx6q 驅動開發

一 leds驅動 vim imx6q arm2.dts 根節點中新增 leds led5 led6 測試leds cd sys bus platform devices leds leds led5 echo 1 brightness echo 0 brightness 二 lcd驅動 檢視解析度 ...

WINCE流驅動介面函式引數詳解

dword init dword dwcontext,lpcvoid lpvbuscontext dwcontext 指向登錄檔的指標,說明流驅動的活動鍵的路徑。lpvbuscontext 作為activedevice的第四個引數傳遞程序對映的指標。返回值 若此函式執行成功,則返回乙個裝置上下文控制...