《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 新型高分辨率LCD控制器的設(shè)計(jì)與實(shí)現(xiàn)
新型高分辨率LCD控制器的設(shè)計(jì)與實(shí)現(xiàn)
來源:電子技術(shù)應(yīng)用2011年第6期
陳 重, 李 浩, 陳 曦
(電子科技大學(xué) 電子科學(xué)技術(shù)研究院,四川 成都 611731)
摘要: 為了解決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 LCD控制器 XC6SLX45
中圖分類號(hào): TP334
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)06-123-04
Design and implementation of large-screen LCD controller
Chen Zhong, Li Hao, Chen Xi
Research Institute of Electronic Science and Technology, UESTC, Chengdu 611731, China
Abstract: This paper provides a design of large-screen LCD controller to solve the problem that ARM and other embedded processors can’t drive large-screen LCD. The controller resolves the conflict between high refresh rate and high update rate, that the large screen display needs, by building a rational architecture and bus arbitration mechanism. The registers in the LCD controller make the LCD controller support various types of LCD displays. This LCD controller has driven a 15-inch LCD monitor successfully.
Key words : large-screen LCD; FPGA; LCD controller


    隨著電子技術(shù)的發(fā)展,大屏幕LCD顯示器越來越多地成為各種電子設(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ù)傳輸量只能滿足小屏幕的顯示,無法滿足高分辨率屏幕的數(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ǔ)器的方式被嵌入式處理器訪問。

 

 

 HY57V283220是一款32 bit數(shù)據(jù)總線寬度的SDRAM,采用32 bit的數(shù)據(jù)總線能夠很好地提高本控制器的數(shù)據(jù)處理速度和其驅(qū)動(dòng)能力。DS90C38是一款通用的大屏幕LCD顯示器LVDS接口轉(zhuǎn)換芯片,可以適用于大部分差分接口的LCD顯示器,設(shè)計(jì)中,可以很好地將FPGA產(chǎn)生的RGB格式的數(shù)據(jù)轉(zhuǎn)換成高速串行差分?jǐn)?shù)據(jù)格式。
1.3 硬件接口電路設(shè)計(jì)
 控制器與CPU的接口是ARM的存儲(chǔ)器訪問接口,接口采用異步通信方式并由26 bit地址線、32 bit數(shù)據(jù)總線接入讀寫片選線組成,其接入接口硬件圖如圖3所示。


 顯示屏接口采用標(biāo)準(zhǔn)的大屏幕LVDS接口,通過LVDS轉(zhuǎn)換芯片與外圍LCD屏幕連接,將FPGA產(chǎn)生的RGB等信號(hào)轉(zhuǎn)換成高速差分串行輸出信號(hào)。LCD顯示器接口如圖4所示?! ?/p>


2 FPGA軟件設(shè)計(jì)
        FPGA軟件模塊及功能示意圖如圖5所示,其軟件設(shè)計(jì)分為4個(gè)模塊:(1)DCM時(shí)鐘管理模塊。主要功能是利用FPGA內(nèi)部DCM產(chǎn)生其他模塊所需的時(shí)鐘;(2)接收模塊。主要用來接收CPU發(fā)送來的需要更新的顯示數(shù)據(jù),作適當(dāng)處理后進(jìn)行數(shù)據(jù)緩存;(3)顯存管理模塊。主要用來解決CPU寫入數(shù)據(jù)和LCD顯示器讀出數(shù)據(jù)之間的沖突;(4)LCD驅(qū)動(dòng)模塊。主要用于產(chǎn)生LCD顯示器需要的時(shí)序。

2.1 接收模塊
    接收模塊的程序流程圖如圖6(a)所示。系統(tǒng)上電復(fù)位后,接收模塊進(jìn)入等待接收數(shù)據(jù)狀態(tài),當(dāng)有來自CPU的數(shù)據(jù)請(qǐng)求時(shí),接收模塊通過CPU接口通信協(xié)議接收數(shù)據(jù),數(shù)據(jù)包括顯示數(shù)據(jù)和存儲(chǔ)地址。接收數(shù)據(jù)后,首先對(duì)地址進(jìn)行譯碼。地址分為顯示數(shù)據(jù)地址和寄存器地址:當(dāng)?shù)刂窞榧拇嫫鞯刂窌r(shí),接收數(shù)據(jù)對(duì)寄存器進(jìn)行操作,用來對(duì)LCD屏的屬性進(jìn)行配置和控制,以增強(qiáng)LCD控制器對(duì)不同LCD屏的兼容性;當(dāng)?shù)刂窞閿?shù)據(jù)地址時(shí),將CPU傳遞的線性地址譯碼為SDRAM寫入操作的bank地址、行地址和列地址。地址譯碼后,將地址和數(shù)據(jù)進(jìn)行封包組幀,并且加入自動(dòng)預(yù)充電標(biāo)志位,以提高SDRAM的寫入數(shù)據(jù)速度。判斷預(yù)充電標(biāo)志位是否有效的依據(jù)是:數(shù)據(jù)地址是SDRAM的“行末”地址、后一個(gè)數(shù)據(jù)不與當(dāng)前數(shù)據(jù)的行地址相同,然后將封號(hào)幀的數(shù)據(jù)依次傳入接收緩存(FIFO)中,等待顯存管理模塊的讀取。數(shù)據(jù)的幀格式如表1所示。


2.2 顯存管理模塊
 顯存管理模塊分為:SDRAM接口模塊和SDRAM控制模塊。SDRAM接口模塊根據(jù)SDRAM的操作時(shí)序建立SDRAM訪問接口;SDRAM控制模塊仲裁CPU的顯示更新數(shù)據(jù)和LCD的顯示刷新數(shù)據(jù)在SDRAM中的讀寫操作,其操作機(jī)制如圖6 (b)所示。系統(tǒng)上電復(fù)位后進(jìn)入監(jiān)控狀態(tài),然后進(jìn)入SDRAM讀操作狀態(tài),將LCD顯示緩存中存入一定量的顯示數(shù)據(jù)后,管理模塊進(jìn)行N次的SDRAM刷新操作,刷新結(jié)束后顯存管理模塊將一直監(jiān)視接收緩存,直到顯示緩存中數(shù)據(jù)不足時(shí)則循環(huán)進(jìn)行讀操作。
    SDRAM是動(dòng)態(tài)存儲(chǔ)器,合理的操作機(jī)制可以提高SDRAM的讀寫速度。本控制器在SDRAM的操作上引入了如下機(jī)制以提高系統(tǒng)的性能:
  (1)讀寫操作分開獨(dú)立連續(xù)進(jìn)行:將SDRAM中數(shù)據(jù)連續(xù)讀出固定個(gè)數(shù)的數(shù)據(jù),然后進(jìn)入連續(xù)寫入狀態(tài)。
  (2)連續(xù)兩個(gè)數(shù)據(jù)不同行時(shí),采用自動(dòng)預(yù)充電讀寫操作,同行則不進(jìn)行預(yù)充電操作。
    (3)在空閑狀態(tài)進(jìn)行手動(dòng)刷新SDRAM,
本系統(tǒng)的讀操作是周期進(jìn)行的,在每次讀操作后進(jìn)行固定周期數(shù)的刷新操作,既保證了刷新次數(shù),又節(jié)省了刷新時(shí)間。
  (4)采用32 bit的SDRAM,以增加位寬換取速度。
2.3 LCD驅(qū)動(dòng)模塊
  該模塊根據(jù)LCD標(biāo)準(zhǔn)的時(shí)序要求產(chǎn)生行時(shí)鐘、場(chǎng)時(shí)鐘和數(shù)據(jù)使能信號(hào),并且配合像素時(shí)鐘將LCD顯示緩存中的32 bit數(shù)據(jù)以16 bit讀出。
3  實(shí)驗(yàn)驗(yàn)證
  本設(shè)計(jì)采用的SDRAM的工作時(shí)鐘為133 MHz,為了減少異步時(shí)鐘造成的問題,F(xiàn)PGA的系統(tǒng)工作時(shí)鐘也采用了相同頻率的工作時(shí)鐘,并且成功地應(yīng)用于某船載導(dǎo)航雷達(dá)的現(xiàn)實(shí)界面的實(shí)現(xiàn)上。在雷達(dá)圖像顯示中,ARM與LCD控制器之間的數(shù)據(jù)量為30 MB/s,屏幕采用了日立公司TMS150XG1-10TB型號(hào)的TFT-LCD顯示器,LCD屏幕的分辨率為1 024×768,像素時(shí)鐘為65 MHz。實(shí)驗(yàn)結(jié)果證明,LCD控制器的工作性能良好,屏幕顯示清晰穩(wěn)定。利用chipscope抽取主要的數(shù)據(jù)如圖7所示。抽取結(jié)果顯示,接收到的ARM數(shù)據(jù)經(jīng)過組幀最后正確地產(chǎn)生了用于顯示的數(shù)據(jù)。

    本文介紹了新型高分辨率LCD控制器,解決了大屏幕顯示所需的高刷新率和高更新率問題。同時(shí),多個(gè)內(nèi)部寄存器使其支持各種型號(hào)的LCD顯示器,并已成功地驅(qū)動(dòng)了15英寸的LCD顯示器。
參考文獻(xiàn)
[1] ELECTRONICS S. S3C2440A 32-bit CMOS microcontroller user′s manual(R).2004.
[2] 王順利,戴明,孫麗娜. 基于FPGA的一種新型8通道數(shù)據(jù)采集系統(tǒng)[J].電子技術(shù)應(yīng)用,2009,35(11).
[3] MOTION S. SM502 mobile multimedia companion chip Databook(R).2006.
[4] 李衛(wèi),王杉,魏急波. SDRAM控制器的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子工程師,2004,30(10).
[5] 曹志香,桑愛兵,丁黃勝,等.基于AMBA總線的嵌入式彩色LCD控制器的設(shè)計(jì)及FPGA實(shí)現(xiàn)[J].電子器件,
2004,27(1).

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