《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 嵌入式系統(tǒng)的顯卡方案設計
嵌入式系統(tǒng)的顯卡方案設計
何汶靜,黃子強
川北醫(yī)學院 醫(yī)學影像學系生物醫(yī)學工程教研室,四川 南充637000
摘要: 介紹具有面向微處理器的通用接口顯卡系統(tǒng),可使低速微處理器輕松驅動高分辨率顯示器,且占用微處理器的時間極少。該方案以DDR SDRAM為顯存存儲圖像數(shù)據,以FPGA為核心,控制并讀/寫顯存中的數(shù)據,并將顯存中的數(shù)據同步到液晶屏的驅動時鐘下,形成持續(xù)的數(shù)據流,同時輸出控制信號控制液晶屏的驅動,嵌入式微處理器僅需要在改變圖像時輸出數(shù)據,而不需持續(xù)輸出驅動信號和數(shù)據流,從而大大降低嵌入式處理器的驅動負擔。
中圖分類號: TN791
文獻標識碼: A
Design of graphics card for embedded system
HE Wen Jing,HUANG Zi Qiang
Biomedical Engineering Teachers' Office,Dept.of Imaging Medicine,North Sichuan Medical College,Nanchong 637000,China
Abstract: The graphics card introduced in the essay has common interface. It makes low speed MCU drive high resolution display without requiring a great deal of time of MCU. Taking DDR SDRAM as graphic memory and FPGA as control core, the graphics card only demands just a frame of data when changing the picture on the screen rather than continuous data flow and real-time control signals.
Key words : embedded system;FPGA;graphics card;DDR SDRAM

    嵌入式系統(tǒng)可以用各種微處理器代替通用計算機的CPU,實現(xiàn)既定功能并驅動顯示系統(tǒng)以方便人機交流。早期的單片機由于低時鐘頻率(小于5 MHz)和低I/O口數(shù)量的限制,一般只驅動像素比較少(5 000像素以內)的液晶顯示器[1-2]。近年來隨著制作工藝的發(fā)展和設計結構的優(yōu)化[3],單片機的最高時鐘頻率和I/O口的數(shù)量都得到了很大提高,低耗能低電壓單片機不斷出現(xiàn)[4],新調試技術使開發(fā)過程效率更高[5],驅動幾千像素的液晶顯示器早已出現(xiàn)。然而,更友好的人機界面需要更高分辨率的液晶顯示器??疾炷壳傲餍械囊壕э@示器驅動方式可以看到,無論使用何種單片機或作為嵌入式系統(tǒng)的微處理器,都會被液晶顯示器的驅動控制部分占據大量資源,這就給單片機的性能帶來了巨大的挑戰(zhàn)。例如三星某顯示器模組,分辨率為800×480,輸入時鐘要求為32.24 MHz~48 MHz,這樣的要求使得單片機力不從心。本文研究并開發(fā)一種面向嵌入式系統(tǒng)的通用顯示器。它以類似于通用計算機的顯存存儲圖像數(shù)據,以FPGA控制并讀/寫顯存中的數(shù)據,控制液晶屏的驅動。嵌入式微處理器僅需要在改變圖像時輸出數(shù)據,這樣,其他時間便可全部空出,用于控制其所在的自動化系統(tǒng)。
1 系統(tǒng)構架
    由于DDR SDRAM(83 MHz~167 MHz)和液晶顯示器(32.24 MHz~48 MHz)之間的時鐘周期不匹配,F(xiàn)PGA在設計中主要起控制協(xié)調作用。系統(tǒng)總體構架框如圖1, 分為以FPGA為中心的控制模塊和液晶顯示模塊兩部分。

    FPGA控制模塊部分主要負責接收來自單片機的圖像數(shù)據D[5:0]和控制信號Hsys(行同步信號)、Vsys(場同步信號)和隨路傳輸?shù)妮敵鰣D像數(shù)據的時鐘信號CLK(50 MHz以下)。為了節(jié)省單片機內部的時鐘資源和輸出口的數(shù)量,對于18 bit彩色顯示的LCM,F(xiàn)PGA連接單片機的圖像數(shù)據輸入口可設計為6 bit,再在FPGA內部將接收到的數(shù)據串并轉換為18 bit數(shù)據輸出至液晶顯示模塊。因此在FPGA與單片機接口處,每個時鐘FPGA僅接收R、G、B三組顏色數(shù)據中的一組D[5:0],經過FPGA的片內RAM緩存滿480個D[5:0]以后再一次存儲到一行DDR SDRAM中,同時給出存儲單元的地址和各種控制信號。
    硬件接口上,由于DDR SDRAM是高速器件,主要考慮與FPGA之間的互連。在布局布線時要求各數(shù)據線DQ和數(shù)據采樣線DQS嚴格等長,以及采用FPGA對DDR SDRAM的專用接口。
2 FPGA內部模塊設計
    高實時性是系統(tǒng)設計的基本要求。為統(tǒng)籌兼顧重要性各不相同的任務,一般采用時序和電路結構優(yōu)化[6],以及各模塊并行處理[7]實現(xiàn)。
    本系統(tǒng)中,3個主要器件都需要FPGA控制,且控制信號較多,數(shù)據通路設計又需考慮到3個時鐘域的互相轉換和相互通信,較為復雜。設計采用了自頂向下的模塊化設計思路[8],將數(shù)據通路和數(shù)據控制通路分離,如圖2。單獨設計控制信號模塊,并輸入數(shù)據通路模塊以控制和處理數(shù)據,使輸出的數(shù)據達到設計要求。

2.1 數(shù)據通路設計
    數(shù)據通路由如圖3所示的模塊構成。圖中未標注的控制信號接口與控制信號模塊相連。

      PLL(Phase Lock Loop):鎖相環(huán)是FPGA內部底層資源,此處將輸入的50 MHz的時鐘通過倍頻、移相等得到系統(tǒng)所需的System clk(100 MHz,相位偏移0°)、Write clk(100 MHz,相位偏移-90°)和LCM clk(33 MHz,相位偏移0°)。

      DQS:DQS信號控制模塊,控制與DDR SDRAM的DQS引腳相連的DQS引腳,雙向接口在使能信號oe的控制下產生或接收DQS信號,并將接收到的DQS信號移相90°以后作為FPGA內部對DQ數(shù)據組的采樣信號。
    BUFFER IN:輸入緩存模塊,在外部時鐘和外部控制信號的作用下接收數(shù)據并緩存到片內RAM,每滿480個數(shù)據發(fā)出一次Ready信號,表示緩存中已存滿可占用一行DDR SDRAM存儲單元的數(shù)據。
    DQ:DQ數(shù)據控制模塊,控制與DDR SDRAM的DQ引腳組相連的DQ引腳組,雙向接口,在使能信號oe的控制下輸出或接收DQ組數(shù)據。輸出數(shù)據時使用Write clock,輸入數(shù)據時使用DQS模塊產生的dqs read信號對輸入數(shù)據采樣,并將結果輸出到下級模塊。
    BUFFER OUT:輸出緩存模塊,緩存來自DDR SDRAM的數(shù)據,并在控制信號的控制下按LCM時序輸出彩色圖像數(shù)據。
2.2 控制模塊設計
    頂層控制信號模塊由CONTROL模塊和LCM DRIVEN模塊兩部分構成,如圖4所示。主要負責各模塊之間的通信,產生控制信號控制數(shù)據的流向,向各器件輸出控制信號等。

    CONTROL:控制模塊,為DDR SDRAM分配讀、寫時間:以200 MHz的數(shù)據率在讀時間段讀出5行DDR SDRAM中的數(shù)據,緩存到BUFFER OUT,再以33 MHz的速度讀出并輸出到LCM;在寫時間段探測數(shù)據通路中的BUFFER IN中的數(shù)據是否緩存完成,若完成則產生信號開始對DDR SDRAM寫入數(shù)據。在DDR SDRAM的讀寫過程中根據需要產生DDR SDRAM控制信號、讀寫行列地址信號,為驅動LCM產生控制信號:行、場同步信號(Hsys LCM、Vsys LCM),數(shù)據有效信號(DE LCM)。
    LCM DRIVEN:LCM驅動模塊,輸入LCM的控制信號,產生LCM驅動所需的各種控制信號,并輸出到FPGA的I/O,結合外圍電路,驅動LCD。
3 實現(xiàn)結果
    數(shù)據接口利用Altera公司專用SignalTapⅡ邏輯分析儀驗證。圖5、圖6是用邏輯分析儀截取的芯片運行時在各引腳或邏輯單元處的實時波形圖。圖5表示數(shù)據輸入FPGA直到進入DDR SDRAM的數(shù)據通路部分。數(shù)據輸入經緩沖模塊后按照進入FPGA的順序,分奇偶兩路(Qj、Qo)進入DQ接口模塊,并合并成一路雙倍速經DQ端口輸出FPGA。該過程同時輸出CAS、RAS、WE等命令信號和地址信號(ADDR)。由于設定了邏輯分析儀以系統(tǒng)時鐘100 MHz速率采樣各信號,因此對于數(shù)據率是200 MHz的DQ雙向口,該采樣信號只能間隔一個數(shù)據采樣一次,而不能完全反映出DQ輸出口的數(shù)據率。

    圖6表示數(shù)據讀出DDR SDRAM進入FPGA經緩沖輸出FPGA的數(shù)據通路部分。DDR SDRAM在CAS、RAS、WE等命令信號和地址信號(ADDR)控制下,將對應地址存儲單元的數(shù)據以200 MHz的雙倍數(shù)據率經DQ雙向I/O口輸入FPGA,并經DQ接口模塊轉換為100 MHz的單倍數(shù)據率,分兩路輸出(inst9、inst10)。經輸出緩沖模塊緩存后,再轉換為LCM模塊所需的時鐘頻率33.33 MHz,并行輸出FPGA。類似的,由于邏輯分析儀以系統(tǒng)時鐘100 MHz速率采樣,DQ輸入口的數(shù)據率在圖中不能完全反映出來。
    至此,數(shù)據經過了設計中所有為其設置的模塊和接口,包括輸入接口、輸入緩沖模塊、DQ/DQS接口、輸出緩沖模塊和輸出接口。
    設計ARM輸出數(shù)據時鐘是0.3 MHz,隨著數(shù)據逐漸經片內輸入緩存輸入DDR SDRAM替換掉原有數(shù)據,對應在屏上的圖像也逐漸被替換,該驗證過程說明DDR SDRAM在過程中起到了幀存儲器的作用,設計的系統(tǒng)與預期要求相符。
    該顯卡系統(tǒng)以單片DDR SDRAM為顯示存儲器存儲圖像數(shù)據,以FPGA為控制中心,嵌入式系統(tǒng)僅需通過I/O口在需改變圖像時輸出一幀數(shù)據至顯卡,不需實時提供數(shù)據流和各種顯示器控制信號,從而使嵌入式微處理器有足夠的時間控制其所在的自動化系統(tǒng)。
    設計采用800×480分辨率液晶顯示器為圖像輸出設備,具有面向微處理器的通用接口,可匹配數(shù)據輸出時鐘頻率50 MHz以下的微處理器。由于系統(tǒng)圖像數(shù)據來自單片機,因此分立的系統(tǒng)沒有數(shù)據來源,為了驗證設計的正確性,驗證步驟里采用了周立功單片機有限公司的EasyARM2131開發(fā)板驗證設計結果。驗證結果表明,設計達到了預期要求。
參考文獻
[1] KWOK L H,HO S.A unique application specific MCU for handheld data bank and terminals.Consumer Electronics. 1989,35(8):654-659.
[2] 趙志衡,馬金海,李文清,等.89C51與液晶模塊MSCG12864的接口設計.微處理機,2006,06:12-17.
[3] HU Yue Li,CAO Jia Lin,RAN Feng,et al.Design of a high performance microcontroller.High Density Microsystem  Design and Packaging and Component Failure Analysis,2004.HDP′04.Proceeding of the Sixth IEEE CPMT Conference on.Proceeding of HDP′04:25-28.
[4] CHANG K L,GWEE C B.A low-energy low-voltage asynchronous 8051 microcontroller core.Circuits and Systems,2006.ISCAS 2006.Proceedings.2006 IEEE International Symposium on.ISCAS 2006:3181-3184.
[5] HU Yue li,XIONG Bing.Design of an embedded on-chip debug support module of a MCU.High Density Microsystem  Design and Packaging and Component Failure Analysis,2006.HDP′06.Conference on.Proceeding of HDP′06:5-8.
[6] CONG J,MINKOVICH K.Optimality study of logic synthesis for LUT-Based FPGAs.Computer-Aided Design of Integrated Circuits and Systems.Computer-Aided Design of Integrated Circuits and Systems,IEEE Transactions on,2007,26(2):230-239.
[7] 龔大年,何蕓,曹志剛.視頻信號處理器的并行結構綜述及分類.電子學報,2000,28(7):96-101.
[8] CILETTI M D.Advanced digital design with the verilog HDL. Publishing House of Electronics Industry,2006:74-79.

此內容為AET網站原創(chuàng),未經授權禁止轉載。