国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OMAP-L138處理器的OLED驅(qū)動(dòng)開發(fā)及實(shí)現(xiàn)

2012-12-31 00:00:00陳崇森
電子產(chǎn)品世界 2012年7期

引言

隨著用戶對(duì)微處理器的多核協(xié)作、更高集成度外設(shè)、更低熱量耗散以及更低總體系統(tǒng)成本的需求,TI公司推出了新一代的低功耗OMAP-L138雙核處理器。OMAP-L138可廣泛應(yīng)用于通信、工業(yè)、醫(yī)療診斷和音視頻嵌入式設(shè)備,ARM核擅長(zhǎng)用于操作系統(tǒng)的移植及豐富圖形人機(jī)界面的開發(fā),而DSP核擅長(zhǎng)于復(fù)雜算法的運(yùn)算,兩核的協(xié)同工作可大大增強(qiáng)嵌入式設(shè)備的數(shù)據(jù)處理能力,增強(qiáng)用戶的使用體驗(yàn)。OLED屏的驅(qū)動(dòng)實(shí)現(xiàn)是構(gòu)成良好的人機(jī)交互接口的重要組成部分,介紹了OMAP-L138的特點(diǎn)及LCD接口,實(shí)現(xiàn)了OLED屏的在Linux2.6及U-Boot中的驅(qū)動(dòng)開發(fā),在系統(tǒng)上電后快速顯示START LOGO的功能。

OMAP-L138的特點(diǎn)及LCD接口

OMAP-L138的特點(diǎn)[1]如下:

(1)內(nèi)部集成了375/456-MHz A R M 9 2 6 E J - S R I S C M P U及375/456-MHz C674x定/浮點(diǎn)VLIW DSP,可滿足系統(tǒng)的非實(shí)時(shí)多任務(wù)及實(shí)時(shí)高強(qiáng)度數(shù)據(jù)處理的應(yīng)用需求

(2)強(qiáng)大豐富的外設(shè)資源:

主要包括:1個(gè)EMAC控制器;1個(gè)USB2.0接口和1個(gè)USB1.1接口;2個(gè)I2C接口;1個(gè)McASP;兩個(gè)McBSP;2個(gè)SPI接口;4個(gè)64位通用定時(shí)器;實(shí)時(shí)時(shí)鐘(RTC);1個(gè)可配置的16位HPI;144個(gè)可配置的GPIO管腳;3個(gè)UART接口;2個(gè)eHRPWM和3個(gè)eCAP;1個(gè)EMIFA口,可接16位SDRAM/NOR Flash/NAND Flash;1個(gè)EMIFB口,可接16位的DDR2(最高頻率150MHz)或16位mDDR(最高頻率133MHz)[2];2個(gè)MMC/SD/SDIO;1個(gè)LCD控制器;1個(gè)SATA控制器;1個(gè)uPP接口;1個(gè)VPIF接口;眾多外設(shè)可以通過PSC(電源及睡眠控制)和管腳復(fù)用控制,根據(jù)系統(tǒng)需求靈活配置;

(3)高效的緩存機(jī)制。其中ARM核內(nèi)部有16KB的L1程序Cache和16KB的數(shù)據(jù)Cache,以及8KB中斷向量表存儲(chǔ)RAM;DSP核采用二級(jí)緩存結(jié)構(gòu),包括32KB的L1程序Cache、32KB的數(shù)據(jù)Cache和高達(dá)256KB可靈活配置的L2 Cache,L2可以被ARM核訪問;此外在兩核之間還有128KB的片內(nèi)SHARE RAM,可用于ARM核和DSP核高速交換數(shù)據(jù),而不影響各自的運(yùn)行。

(4)低功耗設(shè)計(jì)。采用1.2V內(nèi)核電壓,1.8V或3.3V可配置I/O接口電壓,不同使用情況下總功耗為440mW,待機(jī)模式功耗為15mW,在深度睡眠模式下功耗僅為6mW。

OMAP-L138的LCD控制器里面包含兩個(gè)獨(dú)立的控制器,分別是Raster(光柵)控制器和LIDD控制器。兩個(gè)控制器獨(dú)立工作,但是每次只能有一個(gè)處于活動(dòng)狀態(tài)。光柵控制器用于控制同步的LCD接口。它提供時(shí)序

控制和不間斷的圖形數(shù)據(jù)刷新到顯示屏顯示。通過可配置的時(shí)序控制支持多種不同型號(hào)不同尺寸的單色和全彩顯示屏顯示,內(nèi)置調(diào)色板、灰度色標(biāo)/序列化器。圖形數(shù)據(jù)在幀緩沖中處理和存儲(chǔ),幀緩沖為系統(tǒng)中的一個(gè)連續(xù)的內(nèi)存塊。內(nèi)置的DMA引擎提供圖形數(shù)據(jù)給光柵引擎,再輸出到外部的LCD設(shè)備顯示;LIDD控制器用于控制異步的LCD接口,它提供完全可配置的時(shí)序控制信號(hào)(CS,WE,OE,ALE)和輸出數(shù)據(jù)[3]。該驅(qū)動(dòng)開發(fā)主要使用光柵控制器。

系統(tǒng)采用維信諾公司生產(chǎn)的

O L E D屏,此屏為240*320像素,262K色,采用18位編碼方式的AMOLED點(diǎn)陣顯示屏。它具有高亮度,自散熱,高對(duì)比度,細(xì)邊框,寬視角,工作溫度范圍很寬等優(yōu)點(diǎn)。此屏除了與OMAP-L138的RGB LCD接口連接外,還需增加SPI口連接,用于OLED屏內(nèi)驅(qū)動(dòng)芯片的初始化,而背光控制則通過控制其供電電源使能完成。LCD控制器支持16位/像素的編碼方式,采用成RGB565(5位紅、6位綠、5位藍(lán))模式連接,具體連接如圖1所示。

OLED屏在Linux2.6內(nèi)核的驅(qū)動(dòng)開發(fā)

OLED屏驅(qū)動(dòng)本質(zhì)上屬于字符設(shè)備驅(qū)動(dòng),Linux為此類顯示設(shè)備提供了

觀測(cè)效果,刷新頻率為60Hz,像素時(shí)鐘為4.608MHz,不反轉(zhuǎn)像素時(shí)鐘極性,最終確定LCD控制器的具體參數(shù)如下:width=240,height=320,hfp=2,hbp=2,hsw=3,vfp=8,vbp=6,vsw=2。

U-Boot中添加OLED屏的初始化及顯示LOGO功能

OLED屏除了具有普通16位RGB接口的一般特性外,還需連接其SPI口,用于對(duì)屏內(nèi)部驅(qū)動(dòng)芯片S6E63D6進(jìn)行初始化,可以實(shí)現(xiàn)接口類型配置、背光供電電壓、屏的亮度等調(diào)節(jié)。另外還增加了一個(gè)GPIO引腳控制背光供電電路使能,用于控制背光的打開及關(guān)閉。采用OMAP-L138的SPI1與OLED的SPI口連接,其SPI驅(qū)動(dòng)時(shí)序要求如圖4所示。

驅(qū)動(dòng)芯片S6E63D6內(nèi)包含數(shù)十個(gè)寄存器,可以劃分為數(shù)個(gè)寄存器組,初始化過程中密切相關(guān)的寄存器組包括:顯示控制、電源控制、Gamma控制寄存器組[5]。根據(jù)S6E63D6的SPI通信要求,先傳輸寄存器地址,后傳輸寄存器值。每次傳輸3個(gè)字節(jié),首字節(jié)寫入0x70或0x72以表示此次傳輸?shù)氖堑刂愤€是寄存器值,后兩個(gè)字節(jié)對(duì)應(yīng)傳輸?shù)刂坊蚣拇嫫髦怠R罁?jù)SPI口通信時(shí)序要求配置OMAP-L138的SPI1驅(qū)動(dòng)[6];根據(jù)傳輸協(xié)議,封裝好writeRegAddr和writeRegData函數(shù),從而對(duì)各寄存器組進(jìn)行初始化。在U-Boot當(dāng)中,將S6E63D6的初始化封裝成oled_init函數(shù)放在OMAP-L138對(duì)應(yīng)平臺(tái)的board_init函數(shù)當(dāng)中執(zhí)行。S6E63D6的初始化步驟為:(1)設(shè)置入口模式寄存器;(2)關(guān)閉備用模式;(3)設(shè)置Gamma控制寄存器組;(4)設(shè)置RGB565接口模式;(5)打開顯示屏。

完成屏內(nèi)驅(qū)動(dòng)芯片S6E63D6初始化后,還需要對(duì)OMAP-L138的LCD控制器進(jìn)行初始化,主要是對(duì)Raster模式下對(duì)各控制寄存器進(jìn)行配置,參數(shù)與Linux下基本一致。對(duì)LCD控制器的初始化封裝成LCDC_init函數(shù)放在U-Boot/lib_arm/board.c中的start_ armboot里面執(zhí)行。

用戶希望系統(tǒng)上電后第一時(shí)間能看到顯示屏的動(dòng)作,以確定系統(tǒng)工作是否正常,所以O(shè)LED屏的初始化完成后,將開機(jī)LOGO圖片數(shù)據(jù)輸出到LCDC_init中設(shè)置frame bufer所在的內(nèi)存地址,通過DMA機(jī)制自動(dòng)傳輸圖像數(shù)據(jù)到就OLED屏顯示,就實(shí)現(xiàn)了開機(jī)顯示圖像功能。

結(jié)語(yǔ)

本文詳細(xì)介紹了維信諾的262K色OLED屏在OMAP-L138平臺(tái)的驅(qū)動(dòng)開發(fā)具體方法,該屏在系統(tǒng)應(yīng)用過程中顯示圖像清晰細(xì)膩,QT/E等圖形界面應(yīng)用程序運(yùn)行良好,可流暢播放視頻文件,有很寬的觀賞視角,其在苛刻的氣候條件下使用仍然表現(xiàn)出良好的穩(wěn)定性,可用于手持終端、車載系統(tǒng)等通信、工業(yè)領(lǐng)域,對(duì)雙核微處理器平臺(tái)的嵌入式系統(tǒng)開發(fā)具有重要意義。

參考文獻(xiàn):

[1] OMAP-L138 C6-Integra DSP+ARM Processor (Rev. D)[Z].Texas Instruments,2011

[2] 付建偉,王厚軍,曾浩.一種數(shù)字示波器的微處理器硬件設(shè)計(jì)[J].世界電子元器件,2010,(09)

[3] TMS320C674x/OMAP-L1x Processor Liquid Crystal Display Controller (LCDC) User’s Guide[Z].Texas Instruments,2010

[4] 宋寶華.Linux設(shè)備驅(qū)動(dòng)開發(fā)詳解[M].北京:人民郵電出版社,2008[5] S6E63D6 MOBILE DISPLAY DRIVER IC Rev.1.10[Z]. Samsung Electronics,2007

[6] TMS320C674x/OMAP-L1x Processor Serial Peripheral Interface (SPI) User’s Guide[Z].Texas Instruments,2010

重庆市| 鄯善县| 安平县| 屯门区| 乌兰浩特市| 白山市| 石家庄市| 洪江市| 肥西县| 高雄市| 宁远县| 郎溪县| 岳池县| 涿鹿县| 和林格尔县| 衢州市| 牙克石市| 武陟县| 南岸区| 湘阴县| 广东省| 边坝县| 景谷| 隆德县| 微博| 温宿县| 仁寿县| 衡南县| 百色市| 清远市| 溧阳市| 富平县| 社旗县| 贺兰县| 舞阳县| 乌鲁木齐市| 全州县| 曲麻莱县| 墨脱县| 秦安县| 交城县|