?

多路圖像數據合成LCD顯示控制器設計*

2015-02-21 07:49陳東旭
電子技術應用 2015年12期
關鍵詞:時序嵌入式處理器

陳東旭,李 宏

(寧波大學 信息科學與工程學院,浙江 寧波 315211)

0 引言

隨著嵌入式技術的發展,LCD在嵌入式系統中的廣泛應用推動了LCD顯示控制器的發展和完善。隨著所需顯示的圖像信息增加、功能要求增多對LCD顯示控制器的功能提出了更高的要求[1]。

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

針對以上情況,結合實際工程需求,本文提出了一種基于FPGA的專用LCD顯示控制器,具有多路圖像協調存取、畫中畫顯示、OSD字符疊加等功能,可用于視頻信息和顯示數據混合輸入領域。

1 LCD顯示控制器總體構架

1.1 具有多路圖像數據合成的改進型嵌入式系統

典型的具有視頻顯示功能的嵌入式系統如圖1(a)所示,主要由ARM最小系統、攝像頭、集成或專用LCD顯示控制器、顯存模塊、LCD組成。其中LCD顯示控制器由ARM處理器自帶或外接專用芯片,在需要多路圖像處理時需調用自身ARM處理器,極大增加了ARM處理器的負擔,不得不選用高端處理器來達到所需處理性能要求。

針對典型電路的不足,本設計將實時視頻直接接入LCD顯示控制器處理,而不經過ARM處理器,系統結構如圖1(b)所示。由LCD顯示控制器直接完成視頻數據與操作顯示數據的存取、合成、疊加等處理操作,降低了ARM處理器處理圖像數據的壓力,從而保證系統高效穩定工作。

圖1 嵌入式系統改進前后對比圖

1.2 LCD顯示控制器的工作原理及構架

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

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

圖2 LCD顯示控制器結構框圖

2 圖像接口電路設計

2.1 視頻接口電路設計

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

2.2 8080接口協議解析電路設計

ARM最小系統顯示數據以8080時序輸入,8080接口協議解析電路,一方面配合其時序接收相應的數據信息,另一方面對接收到的數據信息進行解析[4],具體設計的總線連接和寄存器設置如圖3所示。

圖3 8080接口總線連接與寄存器設置圖

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

表1 8080接口模塊寄存器配置設定

3 協調存取電路設計

存取協調電路包括視頻與顯示數據的預處理、SDRAM協調控制器,其中SDRAM協調控制器是整個協調控制電路的核心,為了讓LCD顯示控制器靈活存取連續更新的視頻數據和非連續更新的ARM最小系統顯示數據,改進了傳統的SDRAM控制器,總體結構如圖4所示,使其在操作兩類不同數據時更加靈活高效便捷,并可以移植擴展。

3.1 SDRAM主協調器設計

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

圖4 SDRAM協調控制器結構圖

其中S為有效像素點個數,H0、V0為起始行地址和起始列地址,H1、V1為結束行地址和結束列地址。

3.2 SDRAM從協調器設計

SDRAM從協調器會根據接收的信息對對應數據進行存儲規劃,對于視頻數據,從協調器使用順序存取,而在ARM顯示數據部分,則使用映射存取,具體對應關系如圖5所示。

圖5 顯示位置和存儲位置映射示意圖

當ARM處理器需更新上圖所示區域時,可以根據式(2)計算出對應SDRAM在存儲上述所更新數據時的地址值。

其中VM、HM為LCD顯示區域行像素點和列像素點,CM、RM為SDRAM存取列地址和行地址,AR為更新數據在SDRAM存儲時的起始行地址、AC為更新數據在SDRAM存儲時的起始列地址、NV為連續存儲的像素點值,NH為所需更新的區域塊,BA為連續存儲像素點結束后需跳過像素點個數。

3.3 SDRAM控制器設計

SDRAM控制器主要完成初始化、自刷新、行列地址輸出、讀寫控制等針對SDRAM的直接操作。在本設計中,SDRAM除了完成初始化和自刷新等基本控制功能外,其他的讀寫切換、分頁地址切換都受對應SDRAM從協調器控制,最終完成單片SDRAM的部分乒乓存取,主要利用SDRAM高速讀寫來完成片內的分頁讀寫切換。

4 合成顯示電路設計

4.1 合成控制電路設計

合成模塊從SDRAM中讀取所需顯示數據,根據顯示方式進行數據的篩選調整,然后把相應的顯示數據點輸出,合成控制功能示意圖如圖6所示,其中根據顯示方式的不同,分別可以顯示單視頻、單ARM顯示信息和畫中畫顯示,以方便嵌入式系統根據對應顯示要求進行調節控制,達到最佳的顯示操作體驗[6]。

圖6 合成控制模塊功能示意圖

4.2 OSD字符疊加電路設計

OSD字符疊加是一種輔助信息顯示方法,可以在原本輸出顯示的圖像上疊加所需輔助顯示的字符信息,以達到顯示效果最優化,本設計在最終數據輸出部分加入了OSD疊加模塊,ROM中數據有疊加所需給定,并通過分層疊加操作對輸入顯示數據進行處理,通過透明度的調節可以讓隨屏疊加字符有透明效果,用以表示輔助信息的次重點[7]。

4.3 LCD驅動時序產生電路設計

時序發生模塊接收最終處理完成的顯示數據,并根據對應顯示屏的驅動時序,產生相應的驅動時序,把所需顯示數據送到LCD上完成顯示。本設計選取群創的7寸屏AT070TN83作為最終顯示屏幕。關鍵時序參數如表2所示,其中的tCLK的典型值為30 ns。

表2 同步模式輸入信號時序特征值

5 LCD顯示控制器的實現與功能測試

基于上述設計,用Verilog HDL編程在FPGA cyclone II EP2C35F484C8N上實現,用兩片1 M×4 BANK×16 bit容量的SDRAM K4S641632作為數據顯存,并通過攝像頭OV7670、ARM STM32F103和群創 7寸屏 AT070TN83進行系統測試。

利用SignalTap II工具實時捕捉輸出端信號,主要包括驅動時鐘lcd_clk、行同步信號lcd_hs、幀同步信號lcd_vs、數據有效信號lcd_en、顯示數據藍色分量lcd_blue,捕捉實時顯示驅動時序如圖7和圖8所示。

圖7 行同步輸出時序圖

圖8 幀同步輸出時序圖

由測試時序分析可得 LCD顯示控制器產生的時序完全符合7寸屏AT070TN83驅動所需的時序要求。

LCD顯示控制器接入實際嵌入式系統中進行顯示效果測試,主要包括ARM、攝像頭和LCD屏等器件,最終實際的顯示界面如圖9所示。

圖9 LCD測試顯示效果圖

上圖中A區域為實時視頻顯示區域,B區域為由ARM顯示數據確定的操作界面的顯示區域,C區域為由OSD字符疊加形成的字符區域,其中視頻顯示界面可對大小位置進行調節,顯示界面可根據用戶自定義編程設置,并可以靈活加入各類隨屏顯示內容。經測試,LCD顯示控制器設計運行良好、顯示效果穩定可靠,可以滿足設計需求。

6 結論

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

[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直接驅動RGB接口的TFT數字彩屏設計[J].單片機與嵌入式系統應用,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接口驅動TFT彩屏設計[J].現代電子技術,2013(20):139-141,144.

[6]萬鵬,楊大偉.基于FPGA的視頻疊加融合系統設計與實現[J].電子技術應用,2013,39(9):44-46.

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

猜你喜歡
時序嵌入式處理器
清明
基于不同建設時序的地鐵互聯互通方案分析
TS系列紅外傳感器在嵌入式控制系統中的應用
搭建基于Qt的嵌入式開發平臺
基于FPGA 的時序信號光纖傳輸系統
嵌入式軟PLC在電鍍生產流程控制系統中的應用
基于模體演化的時序鏈路預測方法
Imagination的ClearCallTM VoIP應用現可支持Cavium的OCTEON? Ⅲ多核處理器
ADI推出新一代SigmaDSP處理器
倍福 CX8091嵌入式控制器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合