• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA 的3D 光立方設計*

      2012-08-09 08:08:30康志強湯勇明
      電子器件 2012年6期
      關鍵詞:存器每層解碼

      康志強,汪 佳,湯勇明

      (東南大學電子科學與工程學院,南京 210096)

      在顯示技術迅速發(fā)展的今天,光立方[1]作為一種新型信息發(fā)布媒體,給人們帶來了一種全新的視覺體驗。本文研究了采用三維藍光LED 陣列作為顯示載體,F(xiàn)PGA 作為控制平臺的方案,對系統(tǒng)內(nèi)部算法進行合理劃分及處理,充分利用FPGA 的高速并行處理能力和NIOS 雙核[2-6]技術,進行了一系列應用開發(fā),為實現(xiàn)該3D 視覺信息平臺提供了一種新的參考解決方案。

      1 總體方案

      本系統(tǒng)的工作原理基于對簡單二維LED點陣[7]顯示屏的擴展,利用層疊加技術構(gòu)建出立體LED 矩陣,用FPGA 開發(fā)平臺DE0 進行控制系統(tǒng),實現(xiàn)三維顯示功能。利用人眼的視覺暫留效應實現(xiàn)簡單的靜態(tài)圖像顯示和立體動畫顯示,并基于動態(tài)顯示實現(xiàn)真正意義上的三維游戲。

      圖1 系統(tǒng)結(jié)構(gòu)框圖

      系統(tǒng)總體功能框圖如圖1所示。系統(tǒng)采用NOIS 雙核模式,利用CPU1 控制光立方掃描及人機交互部分,并進行內(nèi)部數(shù)據(jù)運算和處理;利用CPU2控制音頻解碼與輸出;雙核間采用MUTEX 互斥量進行通信,實現(xiàn)兩CPU 的同步。整個光立方系統(tǒng)主要分為3種模式:靜態(tài)模式,動態(tài)模式和游戲模式。系統(tǒng)實現(xiàn)了良好的人機交互,可通過觸摸屏等進行模式切換。為實現(xiàn)光立方不同顯示模式的切換與音頻輸出的實時同步,在CPU1 嵌入了UCOS-Ⅱ[8]微型操作系統(tǒng)。

      2 硬件組成

      2.1 控制平臺

      針對系統(tǒng)實現(xiàn)中數(shù)據(jù)的快速運算處理以及外部接口的靈活配置需求,控制平臺采用Terasic 公司生產(chǎn)的DE0 開發(fā)系統(tǒng)。DE0 搭載了Altera Cyclone Ⅲ系列中的EP3C16 FPGA,可提供15,408 LEs(邏輯單元)以及346 I/O,此外,DE0 開發(fā)平臺還搭配了SD 卡、PS2 等豐富的周邊裝置,足以開發(fā)復雜的邏輯控制系統(tǒng),適合作為本光立方系統(tǒng)的控制平臺。

      2.2 光立方模塊

      光立方由512個藍色散光LED 組成,分為8層,每層64個(8x8)LED,每個LED 跟其他LED 之間都留有一定的間距,保持良好的通透性,利用LED 矩陣自身的空間立體性,達到三維顯示的效果。具體的連接為:每層64個LED 的陰極連接在一起,連接到三極管上,三極管由74HC138 控制是否對地導通,豎直方向同列的8個LED 的陽極連在一起,連接到鎖存器組成的列控制模塊的輸出端。光立方共有64個列單元,可用8個8 bit 鎖存器進行控制。

      圖2 光立方驅(qū)動電路

      光立方掃描驅(qū)動[9]電路分為層驅(qū)動電路和列驅(qū)動電路。層驅(qū)動電路產(chǎn)生層掃描信號,工作時,F(xiàn)PGA 輸出層控制信號,然后由74HC138 譯碼器譯碼,選通或關閉與每一層LED 陰極相連的三極管,由此來控制每一層是否對地導通。當三極管輸出為高時,選通對應的LED 層,當三極管輸出為低時,關閉對應的LED 層。豎直方向同列的LED 的陽極連接在一起,然后分別連接到8個鎖存器(74HC574)的輸出端,當鎖存器輸出為高,且LED 層被選通時,對應的LED 被點亮。光立方的空間圖像信息被分為8 層,列驅(qū)動電路將每層的數(shù)據(jù)信號依次送到選通的LED 列上,每層的64個LED 由8個8 bit 的鎖存器來分時控制,利用74HC138 進行8個鎖存器的分時選通,當每層的控制數(shù)據(jù)都寫入到鎖存器后,再通過層選信號選通相應層,在一個周期內(nèi)依次掃完8 層,由于一個周期的時間小于人眼的視覺暫留時間,所以從人眼看來是一幅完整的立體圖案。這樣便使用15個IO 擴展口來實現(xiàn)512個LED 的分時控制。通過這樣的工作原理就可以在光立方平臺上達到靜態(tài)畫面、動畫和立體小游戲等功能的實現(xiàn)。

      光立方的掃描過程有兩種方案:一是待8 層全部掃描完成后再進行信號輸出;二是每層掃描完成后即進行信號輸出??紤]到掃描連貫性、均勻性以及人眼的視覺特性,這里采用第2種方案。

      為避免光立方掃描過程中每列間因信號串擾而影響發(fā)光效果,在掃描每層前,先通過鎖存器的輸出使能端屏蔽輸出,等到每層全部掃描完后再打開使能端進行信號輸出。

      2.3 音頻解碼及輸出模塊

      音頻輸出模塊采用了硬解碼方式,通過擴展IO口輸出音頻數(shù)據(jù)并控制VS1003IC 對音頻進行解碼。音頻控制部分有兩種實現(xiàn)方案。一是音頻模塊使用與其他模塊共用一個NOIS 軟核,即系統(tǒng)單CPU模式;二是音頻模塊另外使用一個單獨的NOIS核控制,即系統(tǒng)雙CPU模式。因為外部接口較多,且每部分實時性要求都很高,為保證音質(zhì),系統(tǒng)使用了NIOS 雙核技術,用CPU2 控制音頻模塊,并利用MUTEX 互斥量成功實現(xiàn)了雙CPU 間的通信,解決了外部接口多,算法復雜,工作壓力大和實時性要求高之間的矛盾。

      因為音頻數(shù)據(jù)量較大,系統(tǒng)采用SD 卡來存儲音頻信息。通過對已有NIOS IP 核的改寫,使用SPI通信協(xié)議讀取SD 卡數(shù)據(jù),并對成功移植了文件系統(tǒng)FAT16,實現(xiàn)了大量數(shù)據(jù)的存儲和讀取。在播放音樂時,首先將音頻數(shù)據(jù)從SD 卡中讀到RAM 中,再依次送給VS1003 音頻模塊進行解碼播放。

      2.4 人機交互模塊

      人機交互媒介采用觸摸屏,顯示部分采用SSD1289IC 控制器驅(qū)動的TFT 屏,分辨率為320×240,顯示畫面清晰,觸摸感應部分采用ADS7843IC。

      SSD1289IC 提供了多種通信方式,例如SPI模式傳輸,8080-16 bit 并行傳輸?shù)?。為提高刷屏速率,?yōu)化系統(tǒng),我們采用了8080-16 bit 并行傳遞模式,并通過時序優(yōu)化,很好地實現(xiàn)了TFT 屏顯示。總的工作原理為:將圖片按照RGB565模式取模保存,顯示時利用SDRAM 作為緩存。每次刷屏時依次將每個像素點的RGB值通過16 bit 并行模式傳遞給SSD1289IC 內(nèi)部RAM,從而實現(xiàn)圖片顯示。

      ADS7843 是一個內(nèi)置12 bit模數(shù)轉(zhuǎn)換、低導通電阻模擬開關的串行接口芯片。供電電壓2.7 V~5 V,參考電壓VREF為1 V~+VCC,轉(zhuǎn)換電壓的輸入范圍為0~VREF,最高轉(zhuǎn)換速率為125 kHz。因其內(nèi)部結(jié)構(gòu)很容易實現(xiàn)電極電壓的切換,并能進行快速A/D 轉(zhuǎn)換。

      ADS7843 支持兩種參考電壓輸入模式:一種是參考電壓固定為VREF,另一種采取差動模式,參考電壓來自驅(qū)動電極。采用差動模式可以消除開關導通壓降帶來的影響。為提高采樣精度,IC 選用了差動模式進行采樣。

      3 軟件設計

      系統(tǒng)采用NIOS 的雙CPU 工作模式,CPU1 主要負責模式切換、內(nèi)部算法處理和光立方掃描,CPU2 主要進行音頻解碼控制與播放,CPU 間通過MUTEX 互斥量進行通信。上電復位后,兩CPU 分別加載程序數(shù)據(jù),并進行各功能模塊的初始化??梢酝ㄟ^觸摸屏與系統(tǒng)進行交互,實現(xiàn)模式控制、音頻播放等。通過CPU1 內(nèi)部算法處理后,在定時中斷中進行光立方掃描。因光立方掃描需每1 ms 中斷一次,對其他部分的處理影響較大。為解決這一問題,這里采用嵌入微型操作系統(tǒng)UCOS-Ⅱ進行實時任務調(diào)度,以實現(xiàn)各部分功能單元的有序進行。軟件工作流程如圖3所示。

      3.1 光立方掃描控制設計

      在定時中斷中實現(xiàn)光立方掃描的主要時序控制,過程如下:

      (1)關閉寄存器輸出;

      (2)通過8 次循環(huán),對光立方一層的8 列進行分時賦值、選通、掃描;

      (3)打開寄存器輸出;

      (4)通過譯碼器進行層選。

      1 ms 定時中斷函數(shù)如下:

      3.2 應用開發(fā)設計

      系統(tǒng)除了可對光立方進行可控掃描外,還進行了動態(tài)文字及圖像顯示以及3D 貪吃蛇等應用開發(fā)。應用開發(fā)的關鍵在于對各個LED 的顯示位置與時間進行可控設計,在充分考慮人眼視覺特征的情況下,通過良好的邏輯設計,以實現(xiàn)相關的應用開發(fā)。

      3D 貪吃蛇游戲的軟件開發(fā),結(jié)構(gòu)簡單清晰,體現(xiàn)了良好的邏輯設計。軟件設計將光立方掃描和貪吃蛇內(nèi)部數(shù)據(jù)處理分開,以達到各模塊的獨立性和簡潔性。

      貪吃蛇主要數(shù)據(jù)結(jié)構(gòu):

      貪吃蛇相關函數(shù):

      ps2_init和snakegame_init 函數(shù)分別完成PS/2 鍵盤初始化和貪吃蛇游戲的初始化,ps2_check和snake_move 函數(shù)分別進行鍵盤檢測和貪吃蛇數(shù)據(jù)處理。

      4 實現(xiàn)結(jié)果

      從二維顯示出發(fā),利用真正3D 空間排列的LED點陣和人眼的視覺暫留效應實現(xiàn)了光立方3D顯示效果。該系統(tǒng)可以進行圖像立體靜態(tài)顯示和音樂立方動態(tài)顯示,并基于動態(tài)顯示實現(xiàn)了真正意義上的三維小游戲。其觀賞性和娛樂性強,易于移植,具有很高的實用價值。由于控制部分設計需求較為復雜,本文采用NIOS 軟核實現(xiàn)。通過NIOS 雙核技術,使用兩個CPU 同時工作,解決了設計具體實施中遇到的接口較多,算法復雜等難題。為提高系統(tǒng)實時性,采用嵌入了UCOS Ⅱ微型操作系統(tǒng)進行任務調(diào)度,效果也很理想。

      圖4 實現(xiàn)效果圖

      當然,該作品仍有較多改進空間,如由于限于硬件資源的限制,光立方的分辨率還不是很高,只能顯示一些簡單的圖像和動畫,同時,現(xiàn)在只能進行單色顯示,有可能進行全彩LED[10]顯示改進。如果應用于一些較大型的場所,只要按照給出的設計方案對外圍電路進行相應擴展就可以成功實現(xiàn)。

      [1]LED Cube3-dimensional display[EB/OL].http://www.instructables.com/id/Led-Cube-8x8x8/.

      [2]楊軍.基于FPGA 的SOPC 實踐教程[M].科學出版社,2010.

      [3]赫建國,倪德克,鄭燕.基于Nios Ⅱ內(nèi)核的FPGA 電路系統(tǒng)設計[M].北京:電子工業(yè)出版社,2010.

      [4]Altera Corp.Creating Multiprocessor NiosⅡSystem Tutorial[EB/OL].Altera.2011.

      [5]高世明,孟令軍,李寶剛.基于NIOS 多核處理器的JPEG 解碼的設計與實現(xiàn)[J].器件與應用,2011,35(5).

      [6]張榮,黃?,摚畲褐?基于NIOSⅡ軟核處理器的嵌入式測試系統(tǒng)軟硬件設計研究[J].計算機測量與控制,2012(2).

      [7]王浩然,秦會斌.LED點陣屏顯示單元的設計與驅(qū)動控制[J].電子器件,2010,33(5):550-552.

      [8]周航慈.基于嵌入式實時操作系統(tǒng)的程序設計技術[M].北京:北京航空航天大學出版社,2011.

      [9]閔劍,余菲,梁蓓.一種應用于AMOLED 的陣列掃描控制電路[J].電子器件,2011,34(3):303-306.

      [10]談衛(wèi)星,胡建人.基于STM32 的全彩LED 顯示屏系統(tǒng)的設計[J].電子器件,2011,34(3):258-260.

      猜你喜歡
      存器每層解碼
      低面積與低延遲開銷的三節(jié)點翻轉(zhuǎn)容忍鎖存器設計
      一種低成本的四節(jié)點翻轉(zhuǎn)自恢復鎖存器設計
      《解碼萬噸站》
      攀登腳手架
      智取鉆石
      一種低功耗的容軟錯誤鎖存器設計
      解碼eUCP2.0
      中國外匯(2019年19期)2019-11-26 00:57:32
      NAD C368解碼/放大器一體機
      Quad(國都)Vena解碼/放大器一體機
      每層球有多重
      舞钢市| 微博| 安徽省| 襄樊市| 屏东县| 两当县| 长治市| 灌云县| 宜州市| 文山县| 南郑县| 和静县| 任丘市| 太原市| 伊春市| 泌阳县| 邵阳市| 泗水县| 聊城市| 巢湖市| 郧西县| 荥阳市| 黄浦区| 承德市| 瑞丽市| 苍溪县| 辉县市| 民乐县| 察隅县| 钟祥市| 类乌齐县| 阿拉善右旗| 岢岚县| 白玉县| 齐齐哈尔市| 澄城县| 紫金县| 五原县| 会泽县| 平泉县| 讷河市|