www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]在游戲廳里轉(zhuǎn)一圈不難發(fā)現(xiàn),總會有幾個少男少女在跳舞機前手舞足蹈,四周的觀眾圍得水泄不通。勁爆的音樂,富有青春氣息的舞姿使跳舞機游戲極其拉風(fēng),也正因為如此,跳舞機市場前景非常看好。

項目背景及可行性分析

項目名稱:手舞足蹈跳舞機

項目的主要內(nèi)容:在游戲廳里轉(zhuǎn)一圈不難發(fā)現(xiàn),總會有幾個少男少女在跳舞機前手舞足蹈,四周的觀眾圍得水泄不通。勁爆的音樂,富有青春氣息的舞姿使跳舞機游戲極其拉風(fēng),也正因為如此,跳舞機市場前景非??春谩?/p>

我們的目標就是設(shè)計一個基于FPGA的跳舞機。伴隨著音樂的節(jié)奏,跳舞機的LCD顯示器上會出現(xiàn)一個個方向不同的箭頭符號,引導(dǎo)玩家完成相應(yīng)的舞蹈動作,玩家可以在跳舞機上盡情地手舞足蹈,而跳舞機的壓力傳感器和光傳感器會忠實地捕捉玩家的動作,轉(zhuǎn)換器將處理過后的動作信息傳遞給CPU,CPU根據(jù)游戲規(guī)則,公正地給玩家評分,LCD則會公布玩家的得分情況。在游戲進行的過程中,LED會隨著音樂節(jié)奏的快慢不停地調(diào)整發(fā)光節(jié)奏,竭力為玩家營造出絢麗的游戲氛圍;揚聲器也會不停地為玩家吶喊助威,尤其是玩家表現(xiàn)出色時,揚聲器會不遺余力地為玩家喝彩。

首先我們要設(shè)計一個soc,片上系統(tǒng)的某些功能模塊可以使用預(yù)定制模塊IP核,例如MicroBlaze(我們選擇它作為CPU)就可以使用Xilinx公司提供的IP核來實現(xiàn);當(dāng)然,我們的系統(tǒng)中也存在獨立設(shè)計的系統(tǒng)結(jié)構(gòu),例如PPU(圖像處理器)。該系統(tǒng)脫離了pc,這樣大大降低了系統(tǒng)的成本與功耗,減小了體積,而且軟硬件的更新比較方便。除了完成硬件設(shè)計之外,我們還有大量工作需要在soc上用軟件完成,例如移植操作系統(tǒng)、編寫游戲軟件框架和跳舞機游戲軟件等。

進展情況:現(xiàn)在處于模塊設(shè)計階段

項目關(guān)鍵技術(shù)及創(chuàng)新點的論述

要處理大量的圖像文件,其中,圖層間的α運算、圖像的卷動等圖形圖像運算會頻繁發(fā)生,如果這些運算都交給CPU處理,就會占用大量的CPU資源,會破壞圖像顯示的連貫性。我們引入PPU,用于將上述繁重的計算任務(wù)從CPU分離出來,從而提高系統(tǒng)的性能。

聲像同步也是項目的關(guān)鍵技術(shù)之一:SoC集成的Mp3 Decoder將游戲音樂文件解碼為PCM流,PCM流傳輸?shù)絻蓧K同樣大小的緩沖區(qū)(暫且假設(shè)每塊緩沖區(qū)的大小為1K),如下圖所示,這兩塊緩沖區(qū)相當(dāng)于構(gòu)成一個循環(huán)隊列,一塊緩沖區(qū)的PCM流文件播放完以后,接著播放另一個緩沖區(qū)中的流文件。在切換緩沖區(qū)時,會產(chǎn)生中斷,在這個中斷周期,系統(tǒng)渲染新的圖像幀,從而實現(xiàn)聲像像同步。

游戲開發(fā)Framework:這是在該硬件驅(qū)動上實現(xiàn)的一組API,它是獨立于跳舞機游戲的,提供游戲開發(fā)的常用接口,規(guī)定了游戲開發(fā)的模型。

技術(shù)成熟性和可靠性論述:

目前市場上有很多基于PC的跳舞機的設(shè)計案例可以參考(當(dāng)中的PPU部件等關(guān)鍵功能模塊可以參考任天堂公司紅白機的設(shè)計),技術(shù)已經(jīng)相當(dāng)成熟。

項目實施方案

方案基本功能框圖及描述

硬件功能框圖及描述

Compact Flash(CF) Card:

CF卡扮演只讀存儲器的角色,用于存儲游戲文件;游戲文件分為三個部分:第一部分是控制程序,這一部分供CPU(MicroBlaze)執(zhí)行;第二部分是位圖文件,這一部分由PPU處理;第三部分是音樂文件,其中MP3格式的文件交給圖中所示的MP3 Decoder處理。

之所以使用CF卡作為ROM,是因為CF卡可以很方便地從系統(tǒng)中取出,并與PC兼容,這樣容易實現(xiàn)游戲軟件的更新。

PPU(Physics Processing Unit):

用于圖像顯示加速。在程序運行過程中,有大量位圖文件需要顯示,考慮到處理這些位圖文件會給CPU帶來沉重的負擔(dān),我們引入PPU,用來實現(xiàn)圖像顯示加速功能。

LCD顯示的圖像由三個圖層構(gòu)成,它們分別是背景層、卡通層與前景層。

背景層用于顯示游戲背景圖像,背景圖像有時需要縱向移動。某些游戲為了縱向卷動顯示圖像,是通過反復(fù)改寫顯示映射單元的內(nèi)容來實現(xiàn)的,這種辦法處理速度太慢。為了更快地實現(xiàn)背景圖像的縱向移動,我們采用移動顯示窗口的辦法。移動顯示窗口的大小與LCD的大小相當(dāng)(1024×768);背景圖像文件在CF卡中以矩陣的形式連續(xù)存儲,每行也包含1024個像素。因此如果需要畫面移動,只需將顯示窗口向相反的方向移動即可。這樣每次顯示畫面移動一行,顯示窗口僅需要重新繪制一行,可以大幅度提高背景圖像的顯示速度,降低cpu占用。

卡通層用于顯示游戲中的提示動作,提示動作提示玩家該在什么時間完成什么樣的游戲動作(例如踩下向前按鈕、伸出左手等)。CPU將提示動作的種類、顯示時間、顯示坐標發(fā)送給PPU,PPU則在規(guī)定的時間,將規(guī)定種類的提示動作顯示在規(guī)定的坐標處。

前景層顯示玩家游戲動作的情況以及最終的得分情況。根據(jù)玩家完成游戲動作的時間與游戲規(guī)定時間的比較結(jié)果,可將完成情況分為不同的級別,每種級別對應(yīng)不同的前景層位圖文件。

值得注意的是顯示過程中,層與層之間會出現(xiàn)α運算。所有的α運算均由PPU處理。

MP3 Decoder/頻譜分析功能部件

游戲中的聲音以mp3的格式儲存在CF卡中,cpu從Flash中讀取mp3文件,送給MP3 Decoder處理,將它轉(zhuǎn)化成PCM格式的數(shù)據(jù),再將PCM流轉(zhuǎn)換成模擬信號,最終通過揚聲器播放出來。

游戲中的聲音包括兩種,一種是游戲背景音樂,存儲格式是MP3格式,由MP3 Decoder處理,從游戲開始就連續(xù)播放,一直到游戲結(jié)束為止;另一種是游戲提示音,提示音持續(xù)時間較短,通常只有幾秒鐘,存儲格式為WAV格式,不需要解碼,不同提示音文件分別對應(yīng)著玩家完成游戲動作的情況或得分情況,CPU通過判斷玩家完成動作情況或得分情況控制播放對應(yīng)的提示音文件。

要想營造絢麗、歡快的游戲氛圍,變幻多端的燈光效果是必不可少的,為了模擬這種效果,我們設(shè)計了頻譜分析模塊。該模塊從MP3 Decoder接收PCM流文件,通過對PCM文件進行頻譜分析,得知游戲節(jié)奏的快慢,并控制LED指示燈根據(jù)游戲的節(jié)奏按照不同的頻率進行顯示。

壓力傳感器/光傳感器

壓力傳感器和光傳感器分別接收玩家腳部與手部的動作作為原始輸入,每個傳感器對應(yīng)一個寄存器,該寄存器用于記錄輸入狀態(tài)。游戲中讀取輸入的操作全部在中斷周期中完成,游戲中斷時,如果傳感器有輸入,那么對應(yīng)的寄存器值被置為1,之后CPU讀各寄存器的狀態(tài)值,依次判斷玩家的輸入是否符合游戲要求,并確定游戲下一步的顯示圖像、播放聲音等操作。在中斷的最后階段還要對各狀態(tài)寄存器進行復(fù)位。

DDR SDRAM Controller

UART

用于調(diào)試。

軟件功能框圖及描述

除了完成硬件的設(shè)計之外,我們還要在soc之上完成設(shè)計游戲軟件等工作。下圖為跳舞機游戲流程圖。

B0:游戲尚未開始時,該模塊完成標題畫面的繪制、控制標題音樂的演奏;

B1:游戲尚未開始時,讀中斷周期的Start鍵值,如果Start鍵被按下,則進入C模塊;

B2:游戲尚未開始時,讀中斷周期的壓力傳感器值,并通過判斷壓力傳感器的值,選擇游戲的音樂種類;

D0:游戲進行過程中,讀中斷周期的Start鍵值,如果Start鍵被按下,則暫停游戲,當(dāng)Start鍵再次被按下時,恢復(fù)游戲;

D1:游戲進行過程中,完成背景層、卡通層的繪制,并控制背景音樂的播放;

D2:游戲進行過程中,在中斷周期讀各壓力傳感器的值,判斷游戲動作的完成情況,根據(jù)完成情況的不同,計算玩家的得分,控制播放相應(yīng)的游戲提示音、繪制對應(yīng)的前景層圖像;

E0,E1,E2,E3分別輔助D層模塊完成各自的功能,其具體功能如圖所示。

需要的開發(fā)平臺

實現(xiàn)本方案所需要的基本功能、功能、接口:

MicroBlaze軟核

DDR SDRAM

Compact Flash Controller

RS-232串行接口

XSGA Output

AC97 Audio CODEC

CPU Trace and Debug Port

USB 2 Programming Interface

所需要的目標FPGA開發(fā)平臺,簡述為什么需要此平臺:

在游戲運行過程中,圖像處理和聲音處理比較耗費計算資源,由于我們分別設(shè)計了PPU和MP3 Decoder對這兩部分功能進行處理,大大減輕了CPU的負擔(dān),因此MicroBlaze就可以滿足該系統(tǒng)的需求。

為了實現(xiàn)設(shè)計方案中描述的各項功能,我們需要CF Controller、RS-232串口等接口。

綜上分析各種需求,我們選擇使用Xilinx Virtex-II pro開發(fā)板。在設(shè)計過程中,需要使用Virtex-II pro開發(fā)板,一旦設(shè)計完成,如果需要投入生產(chǎn), Spartan芯片系列就能滿足要求。

方案實施過程中需要開發(fā)的模塊

MP3 Decoder

頻譜分析功能模塊

PPU

傳感器轉(zhuǎn)換器

各軟件功能模塊

上述模塊功能說明在功能框圖說明中已經(jīng)闡述

系統(tǒng)最終要達到的性能指標

最終的跳舞機系統(tǒng)能夠準確地判斷玩家的動作,并可以正確并流暢地顯示圖像、播放音樂。

需要的其它資源

設(shè)計輸入輸出功能子板

子板功能描述、接口說明、時間、方式

測試設(shè)備

列出在方案實施過程中所需要的測試設(shè)備(萬用表、示波器、頻譜儀、邏輯分析儀等)

仿真、開發(fā)工具

EDK用于SoC軟件的開發(fā)

Synplify用于硬件綜合

ModelSim用于系統(tǒng)仿真

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

這是一個很好的時鐘,有很大的片段,你可以設(shè)置每個片段的顏色和強度。有三個按鈕,蜂鳴器,光傳感器和RTC與備用電池。時鐘通過USB C供電,具有當(dāng)前時間,計時器和秒表等功能。請隨意添加您自己的功能!

關(guān)鍵字: 蜂鳴器 光傳感器 RTC

車規(guī)級壓力傳感器作為感知系統(tǒng)的核心組件,其性能直接決定發(fā)動機管理、剎車控制、胎壓監(jiān)測等關(guān)鍵系統(tǒng)的可靠性。尤其在-40℃~150℃寬溫域環(huán)境下,傳感器需同時克服溫度漂移、材料形變、電磁干擾等多重挑戰(zhàn),而高精度信號調(diào)理電路正...

關(guān)鍵字: 車規(guī)級 壓力傳感器

在工業(yè)自動化與精密測量領(lǐng)域,壓阻式壓力傳感器憑借其高靈敏度與寬量程特性,成為壓力監(jiān)測的核心器件。然而,傳統(tǒng)調(diào)理電路中存在的零點漂移問題,常導(dǎo)致測量誤差超過1%FS(滿量程),嚴重制約了其在高精度場景中的應(yīng)用。通過“四線制...

關(guān)鍵字: 壓力傳感器 調(diào)理電路

隨著可穿戴設(shè)備向?qū)I(yè)化、醫(yī)療化方向演進,智能運動鞋墊憑借其非侵入式監(jiān)測能力,成為步態(tài)分析領(lǐng)域的研究熱點。本文將圍繞柔性壓力傳感器陣列的硬件設(shè)計、數(shù)據(jù)采集與步態(tài)分析算法展開,結(jié)合實際代碼實現(xiàn),探討從傳感器信號到步態(tài)特征提取...

關(guān)鍵字: 智能運動鞋墊 壓力傳感器

2025年4月8日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 推出全新預(yù)測性維護解決方案在線資源,致力于為各種技能水平的工程師提供先進技術(shù)...

關(guān)鍵字: 工業(yè)自動化 壓力傳感器 半導(dǎo)體

在這個項目中,我們將使用強度敏感的壓力傳感器來創(chuàng)建一個警報,在視覺和聲音上警告我們在展示中發(fā)布的圖形被操縱。這些人物被白光照亮。當(dāng)你被操縱時,燈光的顏色就會變成紅色,并發(fā)出警報。即使我們把圖形放回原處,燈光的顏色也不會改...

關(guān)鍵字: 壓力傳感器 電阻 FSR傳感器 LED

作為一個人口稠密的城市國家,新加坡傳統(tǒng)農(nóng)業(yè)用地有限,在實現(xiàn)糧食安全和可持續(xù)發(fā)展方面面臨著獨特的挑戰(zhàn)。其雄心勃勃的“30 by 30”目標是到2030年在當(dāng)?shù)厣a(chǎn)30%的農(nóng)業(yè)需求。我們的目標是建立一個系統(tǒng),使農(nóng)業(yè)更有效率,...

關(guān)鍵字: 傳感器 光傳感器 液晶屏

2025年2月8日 – 專注于推動行業(yè)創(chuàng)新的知名新品引入 (NPI) 代理商?貿(mào)澤電子 (Mouser Electronics) 即日起開售Melexis的MLX90834 Triphibian?絕對壓力傳感器。作為高度...

關(guān)鍵字: 壓力傳感器 電動汽車 熱管理

應(yīng)變式壓力傳感器是一種廣泛應(yīng)用于工業(yè)自動化控制和測量領(lǐng)域的壓力傳感器。它能夠根據(jù)物體受力的變化來測量壓力的大小,并將壓力轉(zhuǎn)化為電信號輸出

關(guān)鍵字: 壓力傳感器 電信號

氣泵壓力傳感器是一種常見的傳感器設(shè)備,用于測量和監(jiān)測氣體泵系統(tǒng)中的壓力變化。它在許多工業(yè)和自動化應(yīng)用中起著重要作用,例如汽車制造、空調(diào)系統(tǒng)、液壓系統(tǒng)等。

關(guān)鍵字: 氣泵 壓力傳感器
關(guān)閉