《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 多路圖像數(shù)據(jù)合成LCD顯示控制器設(shè)計(jì)
Digikey(202412)
2024测试测量培训202410
多路圖像數(shù)據(jù)合成LCD顯示控制器設(shè)計(jì)
2015年電子技術(shù)應(yīng)用第12期
陳東旭,李 宏
寧波大學(xué) 信息科學(xué)與工程學(xué)院,浙江 寧波315211
摘要: 針對(duì)現(xiàn)有LCD顯示控制器處理多路圖像數(shù)據(jù)合成的性能局限,提出了一種用于嵌入式系統(tǒng)的多路圖像數(shù)據(jù)合成LCD顯示控制器的設(shè)計(jì)方案。該方案以FPGA為顯示控制器的核心處理器件,經(jīng)視頻接口和8080接口輸入數(shù)據(jù),由SDRAM協(xié)調(diào)控制器完成數(shù)據(jù)存取,最終通過(guò)合成疊加送入LCD完成顯示。通過(guò)實(shí)際電路驗(yàn)證表明,該LCD顯示控制器可以實(shí)現(xiàn)多路圖像數(shù)據(jù)的輸入、合成、顯示,且性能良好、運(yùn)行穩(wěn)定,并具有一定的移植性和可擴(kuò)展性,可應(yīng)用于有特殊圖像處理要求的嵌入式系統(tǒng)中。
關(guān)鍵詞: FPGA 多路 合成 顯示控制器
中圖分類(lèi)號(hào): TP33;TN911.73
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.006

中文引用格式: 陳東旭,李宏. 多路圖像數(shù)據(jù)合成LCD顯示控制器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2015,41(12):28-31,35.
英文引用格式: Chen Dongxu,Li Hong. Design of LCD display controller for multi-channel image data synthesis[J].Application of Electronic Technique,2015,41(12):28-31,35.
Design of LCD display controller for multi-channel image data synthesis
Chen Dongxu,Li Hong
Faculty of Electrical Engineering and Computer,Ningbo University,Ningbo 315211,China
Abstract: Aiming at performance limitations of the traditional LCD display controller in processing multi-channel image data synthesis, a design of LCD display controller for multi-channel image data synthesis used for embedded system is proposed. It uses FPGA as core device for display controller, inputs data via both video and 8080 interfaces, loads and accesses data by SDRAM coordinate controller, finally displayed by a series process of synthesis, stack and sending into LCD. Experiments result shows that the LCD display controller can realize multi-channel image data input, synthesis and display with good performance and good stable operation,this controller can be applied to embedded systems for special image processing requirements because of the portability and scalability.
Key words : FPGA;multi-channel;synthesis;display controller

    

0 引言

    隨著嵌入式技術(shù)的發(fā)展,LCD在嵌入式系統(tǒng)中的廣泛應(yīng)用推動(dòng)了LCD顯示控制器的發(fā)展和完善。隨著所需顯示的圖像信息增加、功能要求增多對(duì)LCD顯示控制器的功能提出了更高的要求[1]。

    當(dāng)前,嵌入式領(lǐng)域使用的LCD顯示控制器主要有微處理集成型和專(zhuān)用型兩種類(lèi)型,如LPC1788自帶的LCD顯示控制器和ILI9320專(zhuān)用LCD顯示控制器,由于使用便捷、性能穩(wěn)定,在一般嵌入式系統(tǒng)的顯示領(lǐng)域應(yīng)用廣泛。但隨著嵌入式系統(tǒng)定制化需求提高、顯示要求增多,如需視頻和操作界面等多路圖像混合輸出顯示的場(chǎng)合,上述的LCD顯示控制器由于接口單一、功能固定,很難滿(mǎn)足實(shí)際需求。如依舊使用這類(lèi)顯示控制器,則往往需嵌入式處理器完成顯示前的合成處理,極大地增加了嵌入式處理器的處理壓力,不但需要額外選擇性能高端的處理器,更是加大了編程開(kāi)發(fā)難度[2]。

    針對(duì)以上情況,結(jié)合實(shí)際工程需求,本文提出了一種基于FPGA的專(zhuān)用LCD顯示控制器,具有多路圖像協(xié)調(diào)存取、畫(huà)中畫(huà)顯示、OSD字符疊加等功能,可用于視頻信息和顯示數(shù)據(jù)混合輸入領(lǐng)域。

1 LCD顯示控制器總體構(gòu)架

1.1 具有多路圖像數(shù)據(jù)合成的改進(jìn)型嵌入式系統(tǒng)

    典型的具有視頻顯示功能的嵌入式系統(tǒng)如圖1(a)所示,主要由ARM最小系統(tǒng)、攝像頭、集成或?qū)S肔CD顯示控制器、顯存模塊、LCD組成。其中LCD顯示控制器由ARM處理器自帶或外接專(zhuān)用芯片,在需要多路圖像處理時(shí)需調(diào)用自身ARM處理器,極大增加了ARM處理器的負(fù)擔(dān),不得不選用高端處理器來(lái)達(dá)到所需處理性能要求。 

qrs4-t1.gif

    針對(duì)典型電路的不足,本設(shè)計(jì)將實(shí)時(shí)視頻直接接入LCD顯示控制器處理,而不經(jīng)過(guò)ARM處理器,系統(tǒng)結(jié)構(gòu)如圖1(b)所示。由LCD顯示控制器直接完成視頻數(shù)據(jù)與操作顯示數(shù)據(jù)的存取、合成、疊加等處理操作,降低了ARM處理器處理圖像數(shù)據(jù)的壓力,從而保證系統(tǒng)高效穩(wěn)定工作。

1.2 LCD顯示控制器的工作原理及構(gòu)架

    LCD顯示控制器由視頻接口電路完成視頻數(shù)據(jù)的轉(zhuǎn)換、輸入,由8080、6800等協(xié)議接口電路完成ARM最小系統(tǒng)顯示數(shù)據(jù)的解析、輸入,再由主控器與存儲(chǔ)控制器把兩路數(shù)據(jù)分別存入片外存儲(chǔ)器中,再由后級(jí)合成顯示電路從顯存中讀取所需要的圖像數(shù)據(jù),合成處理后配合LCD顯示所需要時(shí)序一同送入LCD中,完成最終的顯示。

    根據(jù)上述原理提出了如圖2所示的LCD顯示控制器構(gòu)架,主要由圖像接口、圖像緩存、協(xié)調(diào)存取、顯示合成等模塊組成,完成從圖像接入、處理、存取、輸出顯示等一系列工作[3]。 

qrs4-t2.gif

2 圖像接口電路設(shè)計(jì)

2.1 視頻接口電路設(shè)計(jì)

    本設(shè)計(jì)選用OV7670作為接入攝像頭,不經(jīng)過(guò)ARM最小系統(tǒng)處理直接接入LCD顯示控制器中,通過(guò)SCCB總線(xiàn)對(duì)OV7670進(jìn)行初始化配置,然后把配置完成信息傳遞給拼接模塊,由拼接模塊來(lái)接收OV7670攝像頭輸入的視頻像素信號(hào)、像素時(shí)鐘、行同步幀同步信號(hào),最終輸出16位RGB565格式數(shù)據(jù)、拼接后像素的像素時(shí)鐘和幀有效信號(hào),視頻最高分辨率為640×480 ppi,幀率達(dá)到30幀/秒。

2.2 8080接口協(xié)議解析電路設(shè)計(jì)

    ARM最小系統(tǒng)顯示數(shù)據(jù)以8080時(shí)序輸入,8080接口協(xié)議解析電路,一方面配合其時(shí)序接收相應(yīng)的數(shù)據(jù)信息,另一方面對(duì)接收到的數(shù)據(jù)信息進(jìn)行解析[4],具體設(shè)計(jì)的總線(xiàn)連接和寄存器設(shè)置如圖3所示。

qrs4-t3.gif

    在ARM最小系統(tǒng)部分,可以使用模擬8080方式或FSMC(可變靜態(tài)存儲(chǔ)控制器)進(jìn)行時(shí)序信號(hào)的傳輸,其中使用FSMC方式速度更快、更便捷[5]。具體FPGA設(shè)置的控制功能和寄存器配置如表1所示,ARM處理器編程時(shí)只要按照以下數(shù)據(jù)時(shí)序要求,就可以方便地進(jìn)行寄存器控制和數(shù)據(jù)讀寫(xiě)。

qrs4-b1.gif

3 協(xié)調(diào)存取電路設(shè)計(jì)

    存取協(xié)調(diào)電路包括視頻與顯示數(shù)據(jù)的預(yù)處理、SDRAM協(xié)調(diào)控制器,其中SDRAM協(xié)調(diào)控制器是整個(gè)協(xié)調(diào)控制電路的核心,為了讓LCD顯示控制器靈活存取連續(xù)更新的視頻數(shù)據(jù)和非連續(xù)更新的ARM最小系統(tǒng)顯示數(shù)據(jù),改進(jìn)了傳統(tǒng)的SDRAM控制器,總體結(jié)構(gòu)如圖4所示,使其在操作兩類(lèi)不同數(shù)據(jù)時(shí)更加靈活高效便捷,并可以移植擴(kuò)展。

qrs4-t4.gif

3.1 SDRAM主協(xié)調(diào)器設(shè)計(jì)

    SDRAM主協(xié)調(diào)器主要根據(jù)控制信息控制SDRAM從控制器工作,完成視頻數(shù)據(jù)與顯示數(shù)據(jù)的協(xié)調(diào)。其中視頻幀有效信號(hào)和起始、結(jié)束地址分別給出視頻數(shù)據(jù)和ARM顯示數(shù)據(jù)的幀完成信號(hào),其中ARM顯示數(shù)據(jù)像素點(diǎn)與起始地址、結(jié)束地址關(guān)系如式(1)所示:

    qrs4-gs1.gif

其中S為有效像素點(diǎn)個(gè)數(shù),H0、V0為起始行地址和起始列地址,H1、V1為結(jié)束行地址和結(jié)束列地址。

3.2 SDRAM從協(xié)調(diào)器設(shè)計(jì)

    SDRAM從協(xié)調(diào)器會(huì)根據(jù)接收的信息對(duì)對(duì)應(yīng)數(shù)據(jù)進(jìn)行存儲(chǔ)規(guī)劃,對(duì)于視頻數(shù)據(jù),從協(xié)調(diào)器使用順序存取,而在ARM顯示數(shù)據(jù)部分,則使用映射存取,具體對(duì)應(yīng)關(guān)系如圖5所示。

qrs4-t5.gif

    當(dāng)ARM處理器需更新上圖所示區(qū)域時(shí),可以根據(jù)式(2)計(jì)算出對(duì)應(yīng)SDRAM在存儲(chǔ)上述所更新數(shù)據(jù)時(shí)的地址值。

    qrs4-gs2.gif

其中VM、HM為L(zhǎng)CD顯示區(qū)域行像素點(diǎn)和列像素點(diǎn),CM、RM為SDRAM存取列地址和行地址,AR為更新數(shù)據(jù)在SDRAM存儲(chǔ)時(shí)的起始行地址、AC為更新數(shù)據(jù)在SDRAM存儲(chǔ)時(shí)的起始列地址、NV為連續(xù)存儲(chǔ)的像素點(diǎn)值,NH為所需更新的區(qū)域塊,BA為連續(xù)存儲(chǔ)像素點(diǎn)結(jié)束后需跳過(guò)像素點(diǎn)個(gè)數(shù)。

3.3 SDRAM控制器設(shè)計(jì)

    SDRAM控制器主要完成初始化、自刷新、行列地址輸出、讀寫(xiě)控制等針對(duì)SDRAM的直接操作。在本設(shè)計(jì)中,SDRAM除了完成初始化和自刷新等基本控制功能外,其他的讀寫(xiě)切換、分頁(yè)地址切換都受對(duì)應(yīng)SDRAM從協(xié)調(diào)器控制,最終完成單片SDRAM的部分乒乓存取,主要利用SDRAM高速讀寫(xiě)來(lái)完成片內(nèi)的分頁(yè)讀寫(xiě)切換。

4 合成顯示電路設(shè)計(jì)

4.1 合成控制電路設(shè)計(jì)

    合成模塊從SDRAM中讀取所需顯示數(shù)據(jù),根據(jù)顯示方式進(jìn)行數(shù)據(jù)的篩選調(diào)整,然后把相應(yīng)的顯示數(shù)據(jù)點(diǎn)輸出,合成控制功能示意圖如圖6所示,其中根據(jù)顯示方式的不同,分別可以顯示單視頻、單ARM顯示信息和畫(huà)中畫(huà)顯示,以方便嵌入式系統(tǒng)根據(jù)對(duì)應(yīng)顯示要求進(jìn)行調(diào)節(jié)控制,達(dá)到最佳的顯示操作體驗(yàn)[6]。

qrs4-t6.gif

4.2 OSD字符疊加電路設(shè)計(jì)

    OSD字符疊加是一種輔助信息顯示方法,可以在原本輸出顯示的圖像上疊加所需輔助顯示的字符信息,以達(dá)到顯示效果最優(yōu)化,本設(shè)計(jì)在最終數(shù)據(jù)輸出部分加入了OSD疊加模塊,ROM中數(shù)據(jù)有疊加所需給定,并通過(guò)分層疊加操作對(duì)輸入顯示數(shù)據(jù)進(jìn)行處理,通過(guò)透明度的調(diào)節(jié)可以讓隨屏疊加字符有透明效果,用以表示輔助信息的次重點(diǎn)[7]。

4.3 LCD驅(qū)動(dòng)時(shí)序產(chǎn)生電路設(shè)計(jì)

    時(shí)序發(fā)生模塊接收最終處理完成的顯示數(shù)據(jù),并根據(jù)對(duì)應(yīng)顯示屏的驅(qū)動(dòng)時(shí)序,產(chǎn)生相應(yīng)的驅(qū)動(dòng)時(shí)序,把所需顯示數(shù)據(jù)送到LCD上完成顯示。本設(shè)計(jì)選取群創(chuàng)的7寸屏AT070TN83作為最終顯示屏幕。關(guān)鍵時(shí)序參數(shù)如表2所示,其中的tCLK的典型值為30 ns。

qrs4-b2.gif

5 LCD顯示控制器的實(shí)現(xiàn)與功能測(cè)試

    基于上述設(shè)計(jì),用Verilog HDL編程在FPGA cyclone II EP2C35F484C8N上實(shí)現(xiàn),用兩片1 M×4 BANK×16 bit容量的SDRAM K4S641632作為數(shù)據(jù)顯存,并通過(guò)攝像頭OV7670、ARM STM32F103和群創(chuàng)7寸屏AT070TN83進(jìn)行系統(tǒng)測(cè)試。

    利用SignalTap II工具實(shí)時(shí)捕捉輸出端信號(hào),主要包括驅(qū)動(dòng)時(shí)鐘lcd_clk、行同步信號(hào)lcd_hs、幀同步信號(hào)lcd_vs、數(shù)據(jù)有效信號(hào)lcd_en、顯示數(shù)據(jù)藍(lán)色分量lcd_blue, 捕捉實(shí)時(shí)顯示驅(qū)動(dòng)時(shí)序如圖7和圖8所示。

qrs4-t7.gif

qrs4-t8.gif

    由測(cè)試時(shí)序分析可得 LCD顯示控制器產(chǎn)生的時(shí)序完全符合7寸屏AT070TN83驅(qū)動(dòng)所需的時(shí)序要求。

    LCD顯示控制器接入實(shí)際嵌入式系統(tǒng)中進(jìn)行顯示效果測(cè)試,主要包括ARM、攝像頭和LCD屏等器件,最終實(shí)際的顯示界面如圖9所示。

qrs4-t9.gif

    上圖中A區(qū)域?yàn)閷?shí)時(shí)視頻顯示區(qū)域,B區(qū)域?yàn)橛葾RM顯示數(shù)據(jù)確定的操作界面的顯示區(qū)域,C區(qū)域?yàn)橛蒓SD字符疊加形成的字符區(qū)域,其中視頻顯示界面可對(duì)大小位置進(jìn)行調(diào)節(jié),顯示界面可根據(jù)用戶(hù)自定義編程設(shè)置,并可以靈活加入各類(lèi)隨屏顯示內(nèi)容。經(jīng)測(cè)試,LCD顯示控制器設(shè)計(jì)運(yùn)行良好、顯示效果穩(wěn)定可靠,可以滿(mǎn)足設(shè)計(jì)需求。

6 結(jié)論

    本文以FPGA+SDRAM為核心,完成特定功能LCD顯示控制器的設(shè)計(jì)。充分利用FPGA高效并行處理的特點(diǎn),在帶視頻顯示功能的嵌入式系統(tǒng)設(shè)計(jì)時(shí)把復(fù)雜龐大的圖像數(shù)據(jù)處理合成功能放入到LCD顯示控制器內(nèi)部,極大地降低了ARM處理器的圖像處理壓力,讓一般ARM最小系統(tǒng)處理復(fù)雜圖像數(shù)據(jù)成為可能,同時(shí)LCD顯示控制器用Verilog HDL設(shè)計(jì)開(kāi)發(fā),有良好的移植性和功能拓展性,稍作修改和調(diào)整就可以適應(yīng)不同的嵌入式系統(tǒng)顯示要求。經(jīng)實(shí)際測(cè)試,該LCD顯示控制器運(yùn)行穩(wěn)定,顯示效果良好,可推廣用于視頻監(jiān)控、車(chē)載娛樂(lè)等具有視頻顯示功能的嵌入式系統(tǒng)中。

參考文獻(xiàn)

[1] MITHUNA C O,LIBIN T T,KRISHNAKUMAR R S,et al.System Verilog based design and implementation of LCD Controller IP Core(2015) 2015 International Conference on VLSI Systems,Architecture,Technology and Applications,VLSI-SATA 2015.

[2] 李鋼,王飛.STM32直接驅(qū)動(dòng)RGB接口的TFT數(shù)字彩屏設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011,11(8):28-30.

[3] LIU H,TANG W.Video Camera System Based on FPGA(2015) Proceedings-2014 7th International Symposium on Computational Intelligence and Design,ISCID 2014,2:249-252.

[4] SHI D,YE X,YE S.Design of microcontroller's display system based on FPGA.Proceedings of 4th International Conference on Intelligent Systems Design and Engineering Applications,ISDEA 2013:251-254.

[5] 湯莉莉,黃偉.基于STM32的FSMC接口驅(qū)動(dòng)TFT彩屏設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013(20):139-141,144.

[6] 萬(wàn)鵬,楊大偉.基于FPGA的視頻疊加融合系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2013,39(9):44-46.

[7] 黃燕群,李利品,王爽英,等.基于FPGA的OSD設(shè)計(jì)[J].液晶與顯示,2010,25(3):429-433.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。