新型高分辨率LCD控制器的設(shè)計(jì)與實(shí)現(xiàn)
摘 要: 為了解決ARM等嵌入式處理器驅(qū)動(dòng)大屏幕LCD困難的問題,提出了一種基于FPGA的大屏幕LCD控制器解決方案。該控制器通過搭建合理的架構(gòu)設(shè)計(jì)及巧妙的總線仲裁機(jī)制,解決了大屏幕顯示所需的高刷新率和高更新率問題。同時(shí),多個(gè)內(nèi)部寄存器使其支持各種型號(hào)的LCD顯示器,并成功地驅(qū)動(dòng)了15英寸的LCD顯示器。
關(guān)鍵詞: 大屏幕LCD; FPGA; LCD控制器
隨著電子技術(shù)的發(fā)展,大屏幕LCD顯示器越來(lái)越多地成為各種電子設(shè)備的顯示終端。但是現(xiàn)有的大部分嵌入式處理器,因?yàn)槠渥陨淼目偩€速率限制了驅(qū)動(dòng)大屏幕LCD的能力。例如自帶LCD控制器的ARM嵌入式處理器(三星的2440),其系統(tǒng)總線的時(shí)鐘頻率最高只能達(dá)到133 MHz[1],除了要傳輸顯示LCD屏的數(shù)據(jù)外,系統(tǒng)總線還要提供其他設(shè)備的數(shù)據(jù)吞吐,所以它的數(shù)據(jù)傳輸量只能滿足小屏幕的顯示,無(wú)法滿足高分辨率屏幕的數(shù)據(jù)顯示。
市場(chǎng)上有很多專用的LCD控制芯片,但是其價(jià)格較高、配置不靈活。因此,本文基于能夠高速運(yùn)行的FPGA[2]為處理核心,以SDRAM作為顯示緩存,設(shè)計(jì)LCD控制器,既能夠?qū)RM的系統(tǒng)總線上的顯示數(shù)據(jù)取出,并驅(qū)動(dòng)大屏幕顯示數(shù)據(jù),又能夠解決專用芯片的弊端。成功地解決了嵌入式處理器在驅(qū)動(dòng)大屏幕LCD時(shí)的資源緊張問題,并可提供清晰穩(wěn)定的圖像顯示。
1 架構(gòu)選擇及硬件實(shí)現(xiàn)
1.1 架構(gòu)分析選擇
根據(jù)嵌入式處理器的工作原理,有三種架構(gòu)形式可以實(shí)現(xiàn)LCD控制器的設(shè)計(jì)[3],如圖1所示。架構(gòu)2和架構(gòu)3采用了與CPU共用顯示存儲(chǔ)器的方式,在顯示過程中,CPU和LCD控制器需要間斷地釋放對(duì)共用存儲(chǔ)器的訪問,以完成刷新數(shù)據(jù)和更新數(shù)據(jù)在存儲(chǔ)器中的交互。這兩種架構(gòu)中,CUP對(duì)存儲(chǔ)器的訪問會(huì)直接影響到顯示數(shù)據(jù)的更新及LCD顯示器的顯示效果。盡管架構(gòu)2增加了本地存儲(chǔ)器,提高了系統(tǒng)性能,但是同樣受到架構(gòu)模式的制約。而架構(gòu)1避免了共用顯示存儲(chǔ)器的模式,將LCD控制器作為總線上的一個(gè)外設(shè),CPU將需要更新顯示的數(shù)據(jù)通過存儲(chǔ)器接口發(fā)送給總線上的LCD控制器,LCD控制器控制LCD顯示。本文系統(tǒng)即采用了架構(gòu)1形式的架構(gòu)。
1.2 系統(tǒng)硬件設(shè)計(jì)
基于架構(gòu)1設(shè)計(jì)了圖2所示的硬件結(jié)構(gòu)。整個(gè)系統(tǒng)以FPGA對(duì)更新數(shù)據(jù)和刷新數(shù)據(jù)的仲裁處理為核心,配合SDRAM的操作及顯示數(shù)據(jù)的傳輸標(biāo)準(zhǔn)轉(zhuǎn)換(LVDS轉(zhuǎn)換)完成其大屏幕顯示器驅(qū)動(dòng)的任務(wù),實(shí)現(xiàn)顯示功能。
XC6SLX45是XILINX公司新推出的一款FPGA,屬于SPARTAN6系列,具有很高的性價(jià)比優(yōu)勢(shì)。利用FPGA配置靈活的特點(diǎn),在硬件方面FPGA主要實(shí)現(xiàn)四個(gè)接口:CPU接口、SDRAM接口、FPGA配置接口和LCD接口。其中,SDRAM接口[4]和LCD接口都是常用的標(biāo)準(zhǔn)接口,這里不再贅述。FPGA的配置接口用于對(duì)FPGA的被動(dòng)串行配置,采用FPGA的這種配置方式可以很好地提高該控制器的可移植性,又可以節(jié)省FPGA的配置芯片的成本。LCD控制器通過CPU接口連接到AMBA總線上[5],并以存儲(chǔ)器的方式被嵌入式處理器訪問。