【摘要】將LED 顯示屏的特點和自由立體顯示的視覺效果相結合,采用特殊的LED 立體顯示屏,利用片上系統(tǒng)(SoC)和可編程片上系統(tǒng)(SoPC)的設計方法,提出立體LED 顯示屏控制系統(tǒng)的完整設計方案。在LED 時序發(fā)生器的設計中利用直接內存存?。―MA)傳輸技術,生成隊畫面數據,用改進型的D/T 轉換技術控制所有像素點的亮度。結果表明,本設計借用了立體液晶顯示的解決方法,在LED 顯示屏上實現了自由立體顯示,保證了屏幕的刷新速率,同時還降低了立體真彩顯示系統(tǒng)的復雜性。該設計方案能夠保證畫面有效實時顯示,具有較強的實用性。
1 引言:
LED視頻顯示屏由于亮度高、視角廣、壽命長、功耗低、性價比高,而且具有可與計算機同步顯示各種文字、圖形、圖像,可實時播放電視、錄像、影碟等視頻信號,可即時輸入、編輯各種多媒體數據等優(yōu)點,使其在街頭、廣場、商業(yè)中心、運動場所、娛樂場所、控制中心等許多公共場合得到了廣泛的應用。
隨著人們對視覺要求的不斷提高,如何在LED 大屏幕上實現自由立體顯示成為急待解決的問題。為此,筆者提出了一種新的解決方案,使得在LED 顯示屏上實現自由立體顯示成為可能,同時還降低了立體真彩LED 顯示系統(tǒng)的復雜性。
2 系統(tǒng)硬件設計:
由自由立體顯示原理可知,要實現LED 立體顯示除了有立體信號源,對外還需要有自由立體LED 顯示屏和控制系統(tǒng)。由于自由立體顯示的一幀畫面需要一對圖像數據,和現有的LED 大屏幕顯示器相比,要達到同樣的顯示規(guī)模其顯示數據量增加一倍,掃描速度也增加一倍,因此選擇Altera 的Nois 結構。該結構的特點是具有嵌入式系統(tǒng)IP 軟核,含有很多接口模塊,包括可配置高速緩存模塊、SDRAM 控制器、DMA、定時器、協處理器等。在植入(配置進)FPGA 前,用戶可根據設計要求,利用QuartusⅡ和SoPC builder,對Nois 及外圍系統(tǒng)進行構建,使該嵌入式系統(tǒng)在硬件結構、功能特點、資源占用等方面全面滿足用戶設計系統(tǒng)的要求。特有的Avalon 總線結構通信接口,使用戶可隨意配置32/16 位總線指令集和數據通道。
同時Avalon 的流模式結構還能在沒有CPU 干預的情況下自動按順序進行數據傳輸,提高運行速度,因此充分滿足自由立體LED 顯示器對速度的要求。
2.1 LED 立體顯示屏的設計:
自由立體顯示是基于雙目視差原理實現的, 有4 種不同格式的圖像源,分別是SS 格式、TB 格式、FS 格式和FrS 格式。SS 格式為左、右視圖列交叉顯示;TB 格式、FS格式為左、右視圖行交叉顯示;FrS 格式為第1 幀奇數列、第2 幀偶數列列交叉顯示。對應4 種不同的3D 模式,其數據存儲方式也有所區(qū)別。根據人類的視覺原理和SS 格式,本設計的LED 自由立體顯示屏設計成由特殊排列的紅、綠、藍子像素構成,紅、綠、藍子像素的排列在水平方向上為自左至右均勻間隔排列構成一個水平行,在垂直方向上為紅、綠、藍子像素各構成一個垂直列,同樣均勻間隔排列。顯示屏上放置一塊光柵板,利用該光柵板保證觀察者通過光柵左眼只能看到顯示單元顯示的左眼圖像,而右眼只能看到顯示單元顯示的右眼圖像,從而獲得不用佩帶眼鏡就可以觀看的自由立體圖像,通過FPGA 控制器驅動顯示自由立體動態(tài)圖像。
2.2 FPGA 結構設計:
本系統(tǒng)采用可以在線配置Nios 軟核的FPGA 芯片EP1C6QC240C8。系統(tǒng)根據自由立體LED 的要求利用Avalon 總線配置了32 位CPU 軟核以及ROM,RAM,SRAM,FIFO,SDRAM 和DMA 等片內外資源, 用以存儲和快速傳輸數據, 同時還專門設計了LED 控制器以實現自由立體LED 顯示功能。
圖1 FPGA 系統(tǒng)結構圖[!--empirenews.page--]
系統(tǒng)硬件結構如圖1 所示。Nios Ⅱ主端口的時鐘是內部總線的時鐘,本系統(tǒng)采用50 MHz,用流模式傳輸的最大帶寬能達到100 Mbit/s。在電路設計時,首先用硬件描述語言寫用戶邏輯,創(chuàng)建Alvalon Slave 接口使之直接和DMA 控制器的主端口相連接, 完成硬件設計。再在Nios Ⅱ IDE 環(huán)境下,用C 語言編寫DMA 初始化和控制程序,使得流模式的數據傳輸在FIFO 與Avalon 總線的接口上,能夠做到無縫連接。
2.3 立體LED 控制器的設計:
Avalon 流模式LED 控制器硬件結構如圖2 所示,用硬件描述語言設計LED 時序發(fā)生器, 由于LED 各個像素點的色彩是以RGB 形式的亮度數據用二進制數字方式存儲在SDRAM 中的,使用D/T 轉換技術[5]即亮度時間轉換技術就可以實現LED 屏的全彩顯示。筆者設計了一個專用的函數f(i),用此函數即可統(tǒng)一控制各個像素點實現全屏幕所有像素點相互獨立而又同步的D/T 轉換。這里,f(i)作為LED_latch 信號。
圖2 Avalon 流模式LED 控制器結構圖
因為FIFO 中的數據格式是左、右視圖列交叉顯示,因此LED 控制驅動器的設計是以列驅動的。LED 時序發(fā)生器的設計如圖3 所示,將立體圖像對中左、右眼圖像幀每個像素的數據用乒乓開關控制存儲在FIFO 緩存之中,以16 個列像素點的驅動為例,FIFO 緩存之中的左、右視頻數據分別各連接一個16 位可預置移位寄存器,通過16 個時鐘脈沖的移位產生16 個像數的驅動數據,由片選信號選擇顯示行數,由D/T 轉換函數f(i)作為LED_latch信號鎖存,FIFO 緩存的數據經過8 次移位即可完成1 個像素的真彩驅動。
圖3 LED 時序發(fā)生器內部結構圖
每幀畫面顯示1 個立體像素真彩信號的時間需要移位8 次, 即250 個基本周期。如果LED 大屏幕顯示器每秒最多顯示30 幀, 采用1/8 驅動模式和立體像素的1/2時分復用, 再考慮選用16 位移位鎖存LED 恒流驅動電路,實際要求的時鐘頻率為2 MHz。
3 系統(tǒng)軟件設計與仿真:
軟件設計就是利用SoPC Builder 生成軟件文件,用文本編輯器編寫匯編語言或C/C++源程序,用GUNPro 將源程序編譯成可執(zhí)行文件, 并通過下載電纜對可執(zhí)行程序進行調試和運行。軟件系統(tǒng)分為兩部分:主程序和中斷服務程序。主程序主要完成系統(tǒng)的初始化,其主要功能是:對于系統(tǒng)中的每一個微處理器,從設備都生成一個定義該設備地址的頭文件,為軟件開發(fā)創(chuàng)建存儲器映射文件。DMA 的操作都通過中斷服務程序執(zhí)行,把需要送出的像素信息排成一行順序送出形成數據流,借助于Avalon 流模式外設的設計方法, 實現一個Avalon 流模式的LED 控制器。利用DMA 控制器在流模式控制器和SRAM 之間建立一條DMA 傳送通道, 讓硬件來完成像素信息的自動讀取。軟件流程如圖4 所示,部分內部時序仿真如圖5 所示。[!--empirenews.page--]
圖4 軟件流程圖
4 小結:
在本文的設計中,利用SoPC 解決方案,選用Nios Ⅱ32 位處理器,根據人類的視覺原理,將3D 立體顯示SS格式數據在專門設計的帶有光柵的LED 立體顯示屏上顯示出來。采用了Avalon 總線的流數據傳輸結構極大地提高了數據處理的速度,加快掃描頻率,同時專門設計了改進型的D/T 轉換技術, 使得系統(tǒng)只使用一個函數就實現了所有像素點亮度的控制,極大地降低了LED 時序電路發(fā)生器的復雜性。通過系統(tǒng)仿真得到了相對滿意的效果。但是在設計過程中發(fā)現,LED 大屏幕顯示器前的光柵設計極為關鍵,包括與顯示屏的距離、光柵的具體尺寸、觀看的距離以及其間的相互關系等還有待進一步研究。