摘 要:頭盔顯示器在很多領域正得到廣泛的應用,它在微型顯示器上顯示高清晰度圖像,應用一定的光學系統,在人眼前方形成類似于電腦顯示屏的虛像,人們可以通過他來觀看高清晰度視頻圖像。利用FPGA設計頭盔顯示器與HY57V643220 SDRAM之間的接口,主要研究將SDRAM應用于顯示系統中作為圖像數據存儲器,采用FPGA實現其讀寫控制功能,并產生驅動LCoS成像所需的完整圖像視頻信號。
關鍵詞:頭盔顯示器;硅上液晶顯示器;彩色時序;FPGA;SDRAM
Application and Research about SDRAM in the Head Mounted Display System
WU Yuhua,LIANGChen,LI Li,ZHOU Yukun
(Beijing Electronic Science and Technology Institute,Beijing,100070,China)
Abstract:Head Mounted Display (HMD) is one of the display systems being applied widely in many areas now.It uses the optical system to make the user feel that there is a computer screen before his eyes,but it is really a virtual image.And people can use the HMD to view the high-definition video.This paper introduces that how to use the FPGA to design the interface between Head Mounted Display and HY57V643220 SDRAM.This paper studies that SDRAM used to the image data storage unit,implements SDRAM controller functions to read and write by FPGA.At the same time it generats video signal which can drive LCoS imaging.
Keywords:HMD;LCoS;color sequence;FPGA;SDRAM
SDRAM具有大容量和高速的優點,因此在需要高速、大容量存儲器的系統中得到廣泛應用,如應用在目前的計算機內存中。但是SDRAM的控制比較復雜,其接口不能直接與目前廣泛應用的普通微處理器連接,例如MCS-51系列、Motorola 68000系列,這樣就限制了SDRAM在微處理器系統中的應用。本文設計了微型顯示器和SDRAM的接口電路,采用大規模現場可編程陣列集成電路FPGA實現SDRAM的讀寫控制器功能,并產生驅動LCoS液晶成像所需的完整圖像視頻信號,選用了SDRAM是本設計的難點和特色。由于SDRAM同時具有SRAM存取速度快和DRAM集成度高的優點,所以選用SDRAM作為幀存儲單元。
1 SDRAM在顯示系統中的應用
1.1 SDRAM簡介
SDRAM是同步動態隨機存儲器(Synchronous DRAM)的簡稱,分為PC66,PC100,PC133等不同規格,而規格后面的數字就代表著該內存最大所能正常工作系統總線速度,比如PC100,說明此內存可以在系統總線為100 MHz的電腦中同步工作。與系統總線速度同步,也就是與系統時鐘同步,這樣就避免了不必要的等待周期,減少數據存儲時間。同步還使存儲控制器知道在哪一個時鐘脈沖期由數據請求使用,因此數據可以在脈沖上升沿開始傳輸。SDRAM采用3.3 V工作電壓,168 Pin的DIMM接口,帶寬為64位。
1.2 LCoS顯示器介紹
LCoS顯示器是一類新型的反射式顯示器,是半導體VLSI技術和液晶顯示技術巧妙結合的高新技術產品。他具備低功耗、微型尺寸、超輕重量等特點,在個人便攜顯示應用方面非常有優勢。他通常只有指甲大小,相應的像素也就非常小,但配備有用于放大圖像的光學系統。其技術核心的關鍵部件為單晶硅背板(LCoS顯示芯片),是一塊多功能、多結構的片上系統(SoC)。然而,SoC類芯片的設計必須全盤考慮整個系統的各種情況。正是因為如此設計周全,與由分離IC組合的顯示系統相比,SoC類芯片可以在同樣的工藝技術條件下實現更高性能的系統指標??梢灶A計,以系統芯片方式設計生產的新一代液晶顯示器。
1.3 SDRAM在顯示系統中的應用
在雷達光柵顯示系統中,應用SDRAM作為視頻存儲器時,采用FPGA實現控制電路。應用于實際工業生產現場中的大型LED顯示系統,也需要編寫SDRAM接口電路。SDRAM也可以應用于LCoS液晶顯示驅動電路中作為圖像數據存儲的單元。
2 頭盔顯示器
頭盔顯示器(Head Mount Display)是應用非常廣泛的一種顯示系統,他應用微型顯示器和一定的光學系統,在人眼的前方產生類似于18到24英寸電腦顯示屏的虛像。如今頭盔顯示器在很多領域得到廣泛的應用,如只有太陽鏡大小、重量極輕的虛擬現實眼鏡,醫療人員在做顯微手術時,可用他來觀察手術部位的圖像,軍隊里將他用在飛行員和戰士的頭盔上,在演習和實際作戰中使用,在單片LCoS頭盔顯示器中,經常用彩色時序來形成彩色圖像。
2.1 LCoS彩色時序顯示原理
彩色時序是將一場的時間分成3個子場,在每個子場的時間內分別把圖像的R,G,B信號寫入顯示屏,并依次點亮紅綠藍三色光源,利用人眼的視覺暫留特性實現彩色圖像的顯示,在彩色時序顯示模式下,一場圖像的顯示時間(T)和各子場的時間關系如圖1所示。

2.2 彩色時序控制器的實現方法
對于彩色時序控制器,采用FPGA作為核心處理器件,外掛高速大容量的存儲器就可以實現彩色時序顯示的控制。選用高速FPGA和大容量SDRAM作為緩存,采用乒乓存儲,實現兩片SDRAM的交替讀寫,滿足系統實時性要求。
3 SDRAM讀寫及切換控制設計
3.1 SDRAM HY57V643220介紹
SDRAM與SRAM不同,他只能將數據保持很短的時間。為了保持數據,SDRAM必須隔一段時間刷新一次,如果存儲單元沒有被刷新,數據就會丟失。HY57V643220是4內存區(BANK)×512 k×32 b的SDRAM,其主要性能特點如下:工作電壓為3.3 V,所有的器件引腳都是與LVTTL接口相兼容的;所有的輸入和輸出操作都是在時鐘CLK上升沿的作用下進行;通過UDQM或者LDQM來實現數據掩碼功能;刷新周期為4096;可編程的突發傳輸方式、突發長度;可編程的列地址選擇信號(CAS)潛伏周期。
3.2 整體設計
在設計中,對于數據變換之后輸出的32 b數據,需要按照紅綠藍分別寫入三個區,我們可以利用4個存儲BANK,只用其中的三個BANK來分別存儲紅綠藍圖像數據,這樣可以方便的實現預期的功能,讀取時按照BANK0,BANK1,BANK2的順序即可。對于SDRAM的讀寫控制設計分為寫地址發生、讀地址發生和讀寫切換三大部分。
3.3 寫地址產生模塊
寫的過程是將不同顏色的圖像數據存儲到SDRAM中不同的BANK。寫地址產生電路由四個小模塊組成,分別是初始化模塊ini、預充電模塊ref、寫地址產生模塊add以及譯碼電路模塊exe。
輸入信號有場同步信號vs、像素時鐘信號clk和數據寫允許信號sent_en。輸出信號有地址信號AD0~AD10(其中在ACTIVE命令時(寫每一行前):AD0~AD10分別代表所激活的行的地址,之后寫入時AD0~AD7表示所要存儲數據的相應行的列地址)、BANK的選擇地址BA1、BA0、行選通信號RAS(低電平有效)、列選通信號CAS(低電平有效)。
寫地址分4個部分:初始化命令產生部分,自動刷新命令產生部分,地址命令產生部分和譯碼執行部分。
3.3.1 初始化命令產生
由圖2看到SDRAM初始化過程是,時鐘穩定后對所有BANK預充電,執行PRECHARGE命令(pre1為高電平),所有BANK進入空閑狀態;再經過兩個自動刷新命令(ref1維持兩個時鐘周期的高電平),載入模式寄存器(load_mode為高電平),即完成SDRAM的初始化操作。在完成初始化操作之后輸出setup變為高電平,作為其他模塊的輸入,此時其他模塊就可以進行操作。

3.3.2 自動刷新命令產生模塊
此模塊內部實質是一個計數器,在初始化完成之后,每15.625 μs輸出ref2出現一個時鐘周期長的高電平,即刷新命令。
3.3.3 寫地址產生模塊
SDRAM初始化完成之后,每寫完一行,需要一個預充電命令關閉這一行(pre2為高),接著是激活命令(active為高),激活下一個要寫的行,然后進行寫操作(write為高);寫的過程中,每三個時鐘周期依次寫不同BANK的同一個地址單元,寫好一個單元地址數加1。

3.3.4 譯碼執行模塊
前面三個模塊分別產生寫、激活、預充電等命令要求,但是需要把這些命令要求作為譯碼執行模塊的輸入,通過譯碼產生相應的ras_,cas_,we_輸出,進而控制SDRAM的寫,預充電等。圖4給出譯碼電路仿真波形。

3.4 讀地址產生模塊
讀地址發生電路的功能是按順序將紅綠藍圖像數據讀取輸出到LCoS顯示屏,由于每種顏色的圖像數據分別存儲于3個BANK,所以讀取時要按順序分別讀取3個BANK中的數據。
仿真波形如圖5,讀地址模塊的核心也是幾個計數器,采用突發讀模式,突發長度為8,每8個時鐘周期進行一次讀命令(cas_為低電平)。

3.5 讀寫切換電路
實現兩組存儲器之間讀寫的切換是實現實時視頻顯示的關鍵所在,在一幀的時間里,在從一組存儲器向LCoS顯示屏輸出圖像數據,同時通過數據變換模塊往另一組存儲器寫圖像數據,下一幀時間里將讀寫切換過來,這樣不斷的交替進行,向顯示屏輸出連續的視頻數據,實現實時顯示。這一部分首先要完成兩組SDRAM的讀寫地址的切換,由于一幀的時間為40 ms,我們可以先產生一個周期為80 ms,脈沖寬度為40 ms的控制信號sw1,用他來控制兩組SDRAM的讀寫地址切換。
除了讀寫地址信號的切換,同時還要實現數據輸出切換,即在讀SDRAM1寫SDRAM2時,與顯示屏接口的數據輸出口應當輸出SDRAM1里數據,相反在寫SDRAM1讀SDRAM2時,與顯示屏接口的數據輸出口應當輸出SDRAM2里的數據。
4 結 語
本文研究SDRAM和頭盔顯示器的接口電路,使用Verilog硬件描述語言和Quartus Ⅱ編譯環境,以FPGA作為核心器件,選擇大容量,高速SDRAM作為存儲器設計了整個系統,完成了功能仿真。設計主要是根據模塊化編程,分為三大部分實現,分別是數據變換部分、LCoS顯示屏所需要的時序信號產生部分、SDRAM讀寫控制以及切換部分。通過軟件的功能仿真,可以實現預設功能。
參 考 文 獻
[1]成軍,倪旭翔,陸祖康.SDRAM在LCoS液晶驅動接口電路中的應用實現[J].光學儀器,2005,27(04):26-30.
[2]趙丕鳳,徐元欣,趙亮,等.多路讀寫的接口設計[J].電子技術應用,2002,28(9):11-13.
[3]李家星.基于嵌入式系統和FPGA的通用總線控制器的設計與實現[J].微計算機信息,2007(1):242-243.
[4]徐虹,葉豐,孟利民.基于圖像處理的SDRAM通用接口設計[J].現代電子技術,2006,29(16):67-69.
[5]Sven Heithecker,Rolf Ernst.Traffic Shaping for an FPGA-based SDRAM Controller with Complex QoS Requirements.1515 Broadway,17th Floor New York,NY USA.2005:575-578.
[6]Jun Shao,Brian T Davis.The bit-reversal SDRAM Address Mapping.1515 Broadway,17th Floor New York,NY USA.2005:62-71.
作者簡介 武玉華 男,1978年出生,山東費縣人,碩士,講師。主要研究領域為電子與信息安全等。