999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LVDS接口的LCD顯示系統(tǒng)設(shè)計(jì)

2021-07-12 17:16:04尹凱
電子樂園·下旬刊 2021年4期

尹凱

摘要:本文介紹了具有LVDS接口的LCD在嵌入式顯示系統(tǒng)中的應(yīng)用,詳細(xì)討論了與ARM處理器的接口電路設(shè)計(jì)和Linux驅(qū)動(dòng)開發(fā)。

關(guān)鍵詞:LVDS;LCD;幀緩沖

1.引言

LVDS接口的LCD具有傳輸數(shù)據(jù)快,功耗低等特點(diǎn)。LCD顯示一幅畫面稱為一幀,對于畫面中的所有RGB像素點(diǎn),在Linux驅(qū)動(dòng)中會(huì)有一段緩沖區(qū)與之對應(yīng),該緩沖區(qū)被稱為幀緩沖。本文主要探討了ARM處理器RGB數(shù)據(jù)的串行化輸出和Linux幀緩沖驅(qū)動(dòng)的配置操作。

2.硬件電路設(shè)計(jì)

2.1LCD接口信號(hào)定義

本系統(tǒng)使用的是三菱電子的6.5寸LCD模塊AA065VE11,該模塊顯示分辨率為640×480,在接收端采用LVDS接口(使用的接口器件為THC63LVDF84B),支持單路6bit/8bit的RGB數(shù)據(jù)格式,管腳定義如下表所示。

2.2LVDS接口電路設(shè)計(jì)

在本設(shè)計(jì)中,使用的ARM處理器是MARVELL公司的PXA270,PXA270內(nèi)置的LCD控制器的主要接口信號(hào)包括:

lLDD(17:0):數(shù)據(jù)總線,一次可傳輸4位、8位、16位或18位數(shù)據(jù);

lL_PCLK_WR:像素時(shí)鐘,主動(dòng)模式下,像素時(shí)鐘連續(xù)跳變;

lL_LCLK_A0:行掃描時(shí)鐘,主動(dòng)模式下,它是水平同步信號(hào);

lL_FCLK_RD:幀掃描時(shí)鐘,在主動(dòng)模式下,它是垂直同步信號(hào);

lL_BIAS:AC偏置,主動(dòng)方式下,它是數(shù)據(jù)輸出使能信號(hào)。

我們這里使用18bpp像素深度的數(shù)據(jù)格式,顏色模式為RGB666,此時(shí)LCD控制器數(shù)據(jù)總線與RGB信號(hào)的對應(yīng)關(guān)系如下圖所示。

對于LCD控制器輸出的TTL電平信號(hào),需要增加一個(gè)接口電路,實(shí)現(xiàn)TTL信號(hào)到LVDS差分信號(hào)的轉(zhuǎn)換。這里使用TI公司的SN75LVDS83B串行器實(shí)現(xiàn),硬件連接如下圖所示。

其中LVDS信號(hào)由3組數(shù)據(jù)差分和1組時(shí)鐘差分信號(hào)組成,每個(gè)數(shù)據(jù)通道傳輸6位數(shù)據(jù)。

3.Linux顯示驅(qū)動(dòng)開發(fā)

這里使用linux-2.6.35.9內(nèi)核版本作為軟件開發(fā)平臺(tái),該內(nèi)核版本中已經(jīng)包含了幀緩沖(Framebuffer)設(shè)備驅(qū)動(dòng)的實(shí)現(xiàn)代碼,主要由fbmem.c和pxafb.c文件組成。在fbmem.c文件中,實(shí)現(xiàn)了提供給上層應(yīng)用程序調(diào)用的設(shè)備文件標(biāo)準(zhǔn)操作接口。在pxafb.c文件中,實(shí)現(xiàn)了對硬件設(shè)備的訪問接口,根據(jù)傳遞的硬件參數(shù)信息,完成硬件設(shè)備的初始化和其他操作。我們只需要根據(jù)自己的硬件配置對內(nèi)核中的現(xiàn)有代碼進(jìn)行裁剪、修改即可。

3.1LCD硬件參數(shù)計(jì)算

幀緩沖是Linux為顯示設(shè)備提供的一個(gè)接口,它對LCD設(shè)備在顯示一屏數(shù)據(jù)過程中的時(shí)序劃分如下圖所示。

其中各個(gè)參數(shù)的含義說明如下:

lxres:每行的像素點(diǎn)數(shù);

lyres:屏幕的行數(shù);

lhsync_len:水平同步信號(hào)的寬度,單位是像素時(shí)鐘周期;

lleft_margin:水平同步信號(hào)結(jié)束到一行有效數(shù)據(jù)開始之間的無效點(diǎn)數(shù);

lright_margin:一行有效數(shù)據(jù)結(jié)束到下一個(gè)水平同步信號(hào)開始之間的無效點(diǎn)數(shù);

lvsync_len:垂直同步信號(hào)的寬度,單位是行數(shù);

lupper_margin:垂直同步信號(hào)結(jié)束到一幀圖像開始之間的無效行數(shù);

llower_margin:一幀圖像結(jié)束到下一個(gè)垂直同步信號(hào)開始之間的無效行數(shù)。

AA065VE11的工作模式為DE(DATA ENABLE)模式,其主要接口時(shí)序見下表所示。

1)像素時(shí)鐘計(jì)算

根據(jù)表2中給出的DCLK信息,可以計(jì)算得到像素時(shí)鐘如下:

pixclock = (1<<12) /((640+160)×(480+45)×60)= 39682;

其中像素時(shí)鐘的單位是皮秒,60表示每秒顯示60幀。

2)前后邊沿計(jì)算

前后邊沿是給水平、垂直同步信號(hào)往屏幕刷新數(shù)據(jù)所提供的預(yù)留時(shí)間,如果設(shè)置不當(dāng)會(huì)造成顯示圖像的偏移。從表2給出的DENA信息可以得知,LCD設(shè)備掃描一行的空白像素點(diǎn)數(shù)是160個(gè),掃描一屏的空白行數(shù)是45行。因?yàn)槠聊簧巷@示的圖像是連續(xù)的,所以可以得到一行總的空白像素點(diǎn)數(shù)滿足如下等式:

right_margin + hsync_len + left_margin = 160;

可以得到一屏總的空白行數(shù)滿足如下等式:

upper_margin + lower_margin + hsync_len = 45;

在驅(qū)動(dòng)中配置LCD設(shè)備的硬件參數(shù)時(shí),需要滿足以上兩個(gè)等式關(guān)系。

1.1Framebuffer驅(qū)動(dòng)配置

a)修改板級文件

在內(nèi)核目錄arch/arm/mach-pxa/下的板級文件中添加LCD設(shè)備的初始化代碼,主要改動(dòng)如下:

1) 添加LCD控制器的管腳信息

static unsigned long pcm027_lcd_pin_config[] = { GPIO58_LCD_LDD_0, GPIO59_LCD_LDD_1, GPIO60_LCD_LDD_2, GPIO61_LCD_LDD_3, GPIO62_LCD_LDD_4, GPIO63_LCD_LDD_5, GPIO64_LCD_LDD_6, GPIO65_LCD_LDD_7, GPIO66_LCD_LDD_8, GPIO67_LCD_LDD_9, GPIO68_LCD_LDD_10, GPIO69_LCD_LDD_11, GPIO70_LCD_LDD_12, GPIO71_LCD_LDD_13, GPIO72_LCD_LDD_14, GPIO73_LCD_LDD_15, GPIO86_LCD_LDD_16, GPIO87_LCD_LDD_17, GPIO74_LCD_FCLK, //TFT vsync GPIO75_LCD_LCLK, //TFT hsync GPIO76_LCD_PCLK, GPIO77_LCD_BIAS, //TFT output-enable

};

2) 添加LCD設(shè)備的硬件參數(shù)

static struct pxafb_mode_info mitsubishi_aa065ve11_mode = { .pixclock = 39682, //picosecond .xres = 640, .yres = 480, .bpp = 18, .hsync_len = 0, .left_margin = 80, .right_margin = 80, .vsync_len = 0, .upper_margin = 25, .lower_margin = 20, .sync = 0,

};

static struct pxafb_mach_info mitsubishi_aa065ve11_info = { .modes = &mitsubishi_aa065ve11_mode, .num_modes = 1, .lcd_conn = LCD_COLOR_TFT_18BPP,

};

3) 注冊平臺(tái)設(shè)備和資源

static void __init pcm027_init_lcd(void)

{ pxa2xx_mfp_config(ARRAY_AND_SIZE(pcm027_lcd_pin_config)); set_pxa_fb_info(&mitsubishi_aa065ve11_info);

}

b)修改內(nèi)核配置

在內(nèi)核配置中添加對framebuffer設(shè)備的支持。

Graphics support --->

<*>Support for frame buffer devices --->

<*>PXA LCD framebuffer support

Console display driver support --->

<*>Framebuffer Console support

3.2啟動(dòng)界面測試

系統(tǒng)加電開機(jī)后,LCD可以正常顯示啟動(dòng)界面如下圖所示。整個(gè)系統(tǒng)在運(yùn)行過程中顯示良好,性能穩(wěn)定。

4.結(jié)束語

由于LVDS接口采用了低電壓和低電流驅(qū)動(dòng)方式,因此實(shí)現(xiàn)了低噪聲和低功耗,這類接口的LCD適合集成度高以及高速傳輸?shù)惹度胧綉?yīng)用場合。本文所介紹的軟硬件開發(fā)方法,具有一定的參考價(jià)值。

參考文獻(xiàn)

[1] Marvell Inc.Marvell PXA270 Processor Developers Manual, 2009

[2] Mitsubishi Electric Corp.AA065VE11 Technical Specification, 2011

[3] 王黎明.深入淺出XScale嵌入式系統(tǒng).北京航空航天大學(xué)出版社, 2011

主站蜘蛛池模板: 国产一级裸网站| 无码免费的亚洲视频| 日韩免费成人| 久久国产高潮流白浆免费观看| 亚洲区欧美区| 国产肉感大码AV无码| 精品国产成人av免费| 91在线播放国产| av一区二区无码在线| 日韩中文无码av超清| 综合五月天网| 久久精品无码中文字幕| 亚洲欧美人成人让影院| 国产一区二区三区精品久久呦| 亚洲高清在线播放| a级毛片免费看| 久久婷婷国产综合尤物精品| 国产永久无码观看在线| 91亚瑟视频| 欧美激情首页| 午夜啪啪福利| 欧美日韩国产成人在线观看| 四虎永久免费网站| 精品国产福利在线| 日韩在线成年视频人网站观看| 亚洲精品视频在线观看视频| 国产毛片网站| 国产97视频在线观看| 亚洲国产一区在线观看| 2021国产精品自产拍在线| a毛片免费看| 欧美成人精品在线| 这里只有精品在线| 亚洲最大情网站在线观看| 极品国产在线| 青青操视频在线| 国产主播在线一区| 5555国产在线观看| 日本尹人综合香蕉在线观看 | 国产97视频在线| 无码福利日韩神码福利片| 伊人91视频| 亚洲美女久久| 久热这里只有精品6| 黄色网页在线播放| 婷婷六月在线| 不卡国产视频第一页| 亚洲人成色在线观看| 激情国产精品一区| 91免费国产在线观看尤物| 国产亚洲精| 日本免费一级视频| 色网在线视频| 国产精品无码翘臀在线看纯欲| 国产精品开放后亚洲| 欧美在线三级| 国产一在线| 谁有在线观看日韩亚洲最新视频| 夜夜拍夜夜爽| 国产成人欧美| 欧美啪啪一区| 人禽伦免费交视频网页播放| 欧美精品在线免费| 67194成是人免费无码| 欧美日韩国产一级| 亚洲欧美成人在线视频| 亚洲国产中文精品va在线播放 | 2021国产乱人伦在线播放| 亚洲中文字幕97久久精品少妇| 精品欧美一区二区三区在线| 性喷潮久久久久久久久| 国产成人精品一区二区三区| 免费看一级毛片波多结衣| 国产福利不卡视频| 免费久久一级欧美特大黄| 成年人视频一区二区| 欧美日韩亚洲国产主播第一区| 国产福利小视频在线播放观看| 国产不卡一级毛片视频| 五月六月伊人狠狠丁香网| 国产97公开成人免费视频| 国产特级毛片|