《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM+FPGA高分辨率液晶顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于ARM+FPGA高分辨率液晶顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
來源:微型機(jī)與應(yīng)用2014年第6期
張占來,,任紅光,,季新明
(上海朗睿電子科技有限公司 鄭州研發(fā)中心,,河南 鄭州450002)
摘要: 結(jié)合ARM操作靈活和FPGA實(shí)時(shí)處理的優(yōu)點(diǎn),,提出采用ARM+FPGA結(jié)構(gòu)驅(qū)動(dòng)高分辨率RGB888液晶顯示屏,。ARM接口豐富,、操作靈活可以滿足客戶操作方便的需求,;FPGA模塊采用FPGA+DDR形式,,數(shù)據(jù)存取速度達(dá)到400 MB/s可以滿足畫面刷新速度較快的需求,;FPGA操作DDR方式采用雙端口64 bit模式,設(shè)計(jì)32 bit數(shù)據(jù)讀取寬度,實(shí)現(xiàn)RGB888數(shù)據(jù)無失真顯示,。通過ARM處理器LPC1788和Xilinx公司XC6SLX9硬件平臺(tái)搭建形成產(chǎn)品,在很大程度上滿足了工業(yè)液晶顯示市場(chǎng)的需求。
Abstract:
Key words :

摘  要: 結(jié)合ARM操作靈活和FPGA實(shí)時(shí)處理的優(yōu)點(diǎn),,提出采用ARM+FPGA結(jié)構(gòu)驅(qū)動(dòng)高分辨率RGB888液晶顯示屏,。ARM接口豐富、操作靈活可以滿足客戶操作方便的需求,;FPGA模塊采用FPGA+DDR形式,,數(shù)據(jù)存取速度達(dá)到400 MB/s可以滿足畫面刷新速度較快的需求,;FPGA操作DDR方式采用雙端口64 bit模式,設(shè)計(jì)32 bit數(shù)據(jù)讀取寬度,實(shí)現(xiàn)RGB888數(shù)據(jù)無失真顯示。通過ARM處理器LPC1788和Xilinx公司XC6SLX9硬件平臺(tái)搭建形成產(chǎn)品,在很大程度上滿足了工業(yè)液晶顯示市場(chǎng)的需求,。
關(guān)鍵詞: ARM+FPGA,; 工業(yè)液晶顯示器; 高分辨率,; 全彩

    傳統(tǒng)工業(yè)液晶顯示方案一般采用ARM結(jié)構(gòu)[1],,即ARM響應(yīng)用戶操作的同時(shí)又驅(qū)動(dòng)液晶顯示屏,實(shí)現(xiàn)人機(jī)交互操作,。隨著工業(yè)液晶顯示的不斷提高,,高分辨率顯示屏應(yīng)用于工業(yè)場(chǎng)合,傳統(tǒng)ARM方案驅(qū)動(dòng)高分辨率顯示屏已力不從心,操作反應(yīng)遲鈍,、刷屏速度慢,、顯示效果差等缺點(diǎn)暴露出來。為解決上述缺點(diǎn),,本文給出一種ARM+FPGA結(jié)構(gòu)驅(qū)動(dòng)高分辨率液晶顯示設(shè)計(jì)方案,。
1 方案設(shè)計(jì)及工作原理
    本文方案架構(gòu)如圖1所示,主要分為ARM操作處理和FPGA接收顯示數(shù)據(jù)兩大部分,,其核心是用FPGA取代ARM內(nèi)部顯示緩沖區(qū),,提高ARM處理速度的同時(shí),,將ARM顯示數(shù)據(jù)寬度由16 bit提升到32 bit,,從整體上提升工業(yè)液晶顯示器性能。

1.1 ARM操作處理
     ARM操作處理結(jié)構(gòu)如圖2所示,。畫面信息通過人機(jī)交互接口和MCU下載到NAND Flash中,需要顯示時(shí),,MCU將畫面讀出,根據(jù)要求送出需要顯示的數(shù)據(jù)至FPGA。為達(dá)到高畫質(zhì),、刷屏速度快的效果,,NAND Flash及SDRAM采用32 bit數(shù)據(jù)寬度的設(shè)計(jì),MCU內(nèi)部處理使用32 bit模式,,需要顯示的數(shù)據(jù)直接送出32 bit,。
1.2 FPGA接收顯示數(shù)據(jù)
      FPGA操作處理結(jié)構(gòu)如圖3所示。FPGA主要完成以下任務(wù):根據(jù)液晶顯示時(shí)序產(chǎn)生讀寫顯示控制部分,;將接收的數(shù)據(jù)存儲(chǔ)到DDR中,;從DDR中讀取需要顯示的數(shù)據(jù),將需要顯示的數(shù)據(jù)轉(zhuǎn)換為L(zhǎng)VDS信號(hào)格式,,輸出驅(qū)動(dòng)液晶顯示屏,。

1.2.1讀寫顯示控制單元設(shè)計(jì)
    根據(jù)液晶顯示時(shí)序設(shè)計(jì)讀寫顯示控制單元。各種液晶顯示屏雖然時(shí)序有差異,,但原理[2]相同,如圖4所示,,包括顯示時(shí)鐘DCLK,、顯示數(shù)據(jù)RGB_data、場(chǎng)頻Vs,、行頻Hs,、場(chǎng)消隱和行消隱,只要滿足以上條件即可驅(qū)動(dòng)顯示屏,。在行消隱期間將每行需要顯示的數(shù)據(jù)從DDR中讀取到讀FIFO中用于該行的顯示,,完成每行的讀操作后將寫FIFO中數(shù)據(jù)存儲(chǔ)到DDR中。

1.2.2 LVDS信號(hào)設(shè)計(jì)
    LVDS信號(hào)中傳輸?shù)臄?shù)據(jù)是按照LVDS信號(hào)格式排列顯示的,,LVDS信號(hào)設(shè)計(jì)就是將需要顯示的RGB888數(shù)據(jù),、DE使能信號(hào)和時(shí)鐘信號(hào)轉(zhuǎn)換為圖5所示的LVDS信號(hào)格式[3]。

2 硬件設(shè)計(jì)
     硬件設(shè)計(jì)主要分為ARM硬件設(shè)計(jì)模塊和FPGA硬件設(shè)計(jì)模塊,。
2.1 ARM硬件設(shè)計(jì)
    ARM硬件設(shè)計(jì)部分主要由ARM芯片1788,、4片8 bit NAND Flash存儲(chǔ)芯片及兩片16 bit SDRAM組成,如圖6所示,。LPC1788通過并口,、串口或者USB接口接收畫面信息,經(jīng)過處理預(yù)先存儲(chǔ)到NAND Flash中,;根據(jù)用戶需求再?gòu)腘AND Flash中讀取將要顯示的畫面信息,同時(shí)配合SDRAM操作,將需要顯示的畫面送至FPGA硬件設(shè)計(jì)模塊,,進(jìn)行下一步驅(qū)動(dòng)顯示屏操作。

2.2 FPGA硬件模塊設(shè)計(jì)
    FPGA硬件設(shè)計(jì)模塊主要由一片Xilinx公司的XC6SLX9芯片和一片鎂光公司的MT46V32M16-5B組成,,如圖7所示,。在XC6SLX9內(nèi)部需要設(shè)計(jì)的硬件結(jié)構(gòu)包括:接收LPC1788送出的需要顯示的數(shù)據(jù);從MT46V32M16-5B中讀取顯示數(shù)據(jù)轉(zhuǎn)換至LVDS驅(qū)動(dòng)顯示屏。

 

 

    為方便處理,,保證系統(tǒng)穩(wěn)定可靠,,F(xiàn)PGA芯片XC6SLX9內(nèi)部時(shí)鐘資源分配如圖8所示。外部時(shí)鐘40 MHz輸入到FPGA內(nèi)部時(shí)鐘鎖相環(huán),經(jīng)設(shè)計(jì)分別輸出200 MHz至MT46V32M16-5B,;80 MHz至DDR操作控制單元,、寫FIFO的讀時(shí)鐘和讀FIFO的寫時(shí)鐘;400 MHz至LVDS信號(hào)產(chǎn)生模塊的同時(shí),,經(jīng)7分頻輸出57.14 MHz至讀FIFO中的讀時(shí)鐘,。其中,寫FIFO的寫時(shí)鐘來自LPC1788的MCU_CLK。

3 系統(tǒng)方案設(shè)計(jì)和整體顯示效果測(cè)試
3.1系統(tǒng)方案設(shè)計(jì)要點(diǎn)及解決方法

    FPGA程序時(shí)序邏輯基于Xilinx ISE軟件提供的編程環(huán)境和相關(guān)資源[4],通過VHDL語(yǔ)言編寫完成,。結(jié)合系統(tǒng)特點(diǎn),,在進(jìn)行時(shí)序邏輯設(shè)計(jì)時(shí)需要解決以下問題。
    (1)ARM送出的顯示數(shù)據(jù)是一種隨機(jī)位置的像素點(diǎn),,所以在存儲(chǔ)數(shù)據(jù)時(shí)只能是單個(gè)數(shù)據(jù)的存儲(chǔ),,不能批量操作,否則會(huì)導(dǎo)致存取速度降低,。
    (2)高分辨率顯示屏像素點(diǎn)一般在1 280×1 024以上,,此類顯示屏要求驅(qū)動(dòng)數(shù)據(jù)是奇偶列數(shù)據(jù)分離驅(qū)動(dòng),,即雙路LVDS接口(見圖5)。因此在實(shí)現(xiàn)LVDS數(shù)據(jù)接口操作時(shí),,就需要將顯示的數(shù)據(jù)進(jìn)行奇偶分離處理,,同時(shí)送出至顯示屏。
    為解決上述問題,,本方案采用雙端口操作DDR控制器模塊,即其中一個(gè)端口負(fù)責(zé)ARM送出奇地址數(shù)據(jù)的接收至DDR和奇地址顯示屏數(shù)據(jù)的讀取至讀奇FIFO,;同時(shí),另一端口負(fù)責(zé)偶地址的存取并最終至讀偶FIFO,。在進(jìn)行顯示時(shí),采用雙路LVDS信號(hào)轉(zhuǎn)換方式,同時(shí)送出LVDS信號(hào)驅(qū)動(dòng)液晶顯示屏,。
3.2 系統(tǒng)方案硬件搭建
    LCD液晶顯示屏采用三星公司的LTM170ET01。系統(tǒng)采用ARM底板+FPGA核心板組合的方式實(shí)現(xiàn),,ARM模塊電路板(底板)如圖9所示,,F(xiàn)PGA模塊電路板(核心板)如圖10所示。在圖9中,,上位機(jī)通過USB接口或者串口與ARM實(shí)現(xiàn)人機(jī)交互,,ARM將需要顯示的數(shù)據(jù)送至FPGA模塊;FPGA將接收到的數(shù)據(jù)根據(jù)需要通過LVDS接口送出至LCD液晶顯示屏,。

3.3顯示效果評(píng)測(cè)
    傳統(tǒng)ARM顯示處理模式為16 bit,,即RGB656結(jié)構(gòu)。顯示屏接口數(shù)據(jù)為RGB888結(jié)構(gòu),就需要將RGB565結(jié)構(gòu)通過高位補(bǔ)低位的方式擴(kuò)展到RGB888模式,。而本文設(shè)計(jì)的數(shù)據(jù)接口為32 bit,,即xRGB8888模式,實(shí)現(xiàn)了與顯示屏接口的無損失對(duì)接,顯示全彩無失真,如圖11所示。

    傳統(tǒng)ARM方式既要響應(yīng)用戶操作,又要驅(qū)動(dòng)顯示屏,占用了ARM較多的資源,。而本文采用ARM+FPGA結(jié)構(gòu),將顯示部分由FPGA完成,節(jié)省了ARM資源的同時(shí),提高了ARM的響應(yīng)速度,。
    為了節(jié)約成本,將LVDS信號(hào)接口放在FPGA內(nèi)部實(shí)現(xiàn),省掉外部專用LVDS接口轉(zhuǎn)換芯片,,降低了產(chǎn)品硬件成本,提高了產(chǎn)品競(jìng)爭(zhēng)力,。
參考文獻(xiàn)
[1] NXP Semiconductors. LPC178x/7x.32-bit ARM Cortex-M3 microcontrolle r; up to 512 KB Flash and 96 KB SRAM; USB Device/Host/OTG;Ethernet;LCD;EMC.Rev.00.08.1.[Z]. 2011.
[2] Lux Display. AT070TN83 V.1[Z].
[3] Samaung Electronics.Samaung TFT-LCD.LTM-170ET01[Z].21.2009.
[4] Xilinx. Spartan-6 FPGA memory controller UG388(v2.3)[Z]. 2010.

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