• 
    

    
    

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

      ?

      基于SOPC的乒乓球游戲設(shè)計

      2011-09-06 01:19:36郭子劍
      山西電子技術(shù) 2011年5期
      關(guān)鍵詞:方波示波器小球

      郭子劍

      (中國地質(zhì)大學(xué)(北京),地球物理與信息技術(shù)學(xué)院,北京 100083)

      0 引言

      FPGA(Field Programmable Gate Array),現(xiàn)場可編程門陣列。它是繼PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的成果。它作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。作為一種可編程器件,F(xiàn)PGA與傳統(tǒng)的數(shù)字電路和門電路相比,它采用邏輯單元陣列的模式,內(nèi)部包含有可配置邏輯模塊、輸出輸入模塊和內(nèi)部連線三個部分。通過硬件描述語言(如VHDL語言)完成的電路設(shè)計,可以通過綜合與布局,快速燒錄至FPGA芯片上進(jìn)行測試。

      SOPC(System On Programmable Chip),可編程片上系統(tǒng)。它是用可編程邏輯技術(shù)把整個系統(tǒng)放到一塊硅片上,用于從事嵌入式系統(tǒng)的系統(tǒng)研究和電子測量處理等領(lǐng)域。SOPC是一種特殊的嵌入式系統(tǒng),它既是片上系統(tǒng)(SOC),即由單個芯片完成整個系統(tǒng)的主要邏輯功能,但它又不是簡單的SOC,也是可編程系統(tǒng),具有靈活的設(shè)計方式,可裁剪、可擴(kuò)充、可升級,并具備軟硬件在系統(tǒng)可編程的功能。

      1 乒乓球游戲玩法介紹

      將雙通道示波器作為顯示屏。將兩路信號輸入示波器中,讓示波器工作在X/Y模式。

      單片機(jī)實驗板上的兩個按鈕作為控制鍵分別用于左擊球和右擊球,當(dāng)小球接近屏幕左邊時按下左擊球可將球擊回右側(cè),右側(cè)擊球亦然。小球可以按照一定的拋物線軌跡自動在屏幕上左右運動,連續(xù)按下兩次擊球鍵能夠擊出高拋球,使球飛行距離增高。當(dāng)球接觸到屏幕邊沿而未按下?lián)羟蜴I則被判定為輸球。

      2 實驗器件

      Cyclone III(EP3C10E144C8)FPGA實驗板,單片機(jī)P89V51實驗板(含按鍵顯示屏等),電阻導(dǎo)線若干。

      Altera公司生產(chǎn)的Cyclone III FPGA芯片具有低功耗、低成本和高性能等特點。其體系結(jié)構(gòu)包括高達(dá)120K的垂直排列邏輯單元(LE)、以9-Kbit(M9K)模塊構(gòu)成的4Mbits嵌入式存儲器、200個18x18的嵌入式乘法器。利用TSMC的65nm低功耗(LP)工藝,Cyclone III FPGA芯片提供豐富的邏輯、存儲器和DSP功能,功耗更低。在可編程邏輯發(fā)展歷史中,Cyclone III FPGA比其他低成本FPGA系列能夠支持實現(xiàn)更多的應(yīng)用。

      3 實驗原理及模塊詳解

      用方波發(fā)生器生成兩個占空比可變的方波,方波經(jīng)過低通濾波器生成兩個通道的直流信號用于控制小球在X軸和Y軸的位置。通過改變方波占空比從而改變直流信號的值。用SOPC與單片機(jī)通訊實現(xiàn)按鍵對小球運動的控制。

      3.1 方波發(fā)生器生成原理

      圖1 占空比可變的方波發(fā)生器模塊

      代碼分析:

      3.2 直流信號生成方法

      生成直流信號的方法很多。在此論述幾種常見方法。

      第一種是通過D/A芯片。市場上D/A芯片較多,如DAC0832,DAC0809等。這種方法原理簡單,只需給定恒定的數(shù)字值便可以輕松控制輸出直流波形的電壓值。出于成本考慮,我們轉(zhuǎn)而另一種方法。

      第二種方法是低通濾波法。例如當(dāng)方波占空比為100%時可當(dāng)作是直流高電平信號。而占空比為0表示零電平。將一定占空比的直流信號經(jīng)過低通濾波器,經(jīng)過計算可知占空比對于輸出信號的電平高低成線性關(guān)系。所以我們可以利用這點來完成電平控制。

      3.3 擊球控制

      運用單片機(jī)與FPGA實驗板之間的通訊完成擊球命令的傳遞。常見的通訊方法:串口通訊和并口通訊。

      并口通訊雖然使用簡單,但是速度較慢,占用管腳較多,實現(xiàn)功能受到位數(shù)限制,可以完成的指令較少。于是利用串口通訊。在Quartus軟件下運行SOPC Builder生成SOPC并為其添加UART功能。設(shè)置波特率為9600。利用SOPC的txd和rxd兩個端口與單片機(jī)的串口端相連接。于是便可以在程序中加入串口接收中斷并且在中斷服務(wù)函數(shù)中完成大量工作。以下編碼全部用C語言完成。

      圖2 SOPC模塊

      代碼分析:

      首先簡單介紹Avalon總線。SOPC Builder自動生成的Avalon交換架構(gòu)是針對系統(tǒng)處理器和外設(shè)的專用互聯(lián)需求進(jìn)行優(yōu)化。Avalon總線可以連接許多外部設(shè)備,如定時器/計數(shù)器,外部三態(tài)橋接,外部SRAM接口,UART,LCD接口,用戶邏輯接口JTAG,UARTC,并行I/O等。代碼中,IOWR_ALTERA_AVALON_UART_STATUS()函數(shù)可以完成向串口發(fā)送數(shù)據(jù)的任務(wù),IOWR_ALTERA_AVALON_PIO_DATA()函數(shù)則可以給內(nèi)部工程發(fā)送并行數(shù)據(jù),控制占空比的值。

      在中斷服務(wù)函數(shù)中,通過設(shè)置標(biāo)志位變量flag辨別是否為雙擊命令。在確定擊球方式后生成cmd的四種狀態(tài)。cmd為全局變量,在main()函數(shù)中實現(xiàn)狀態(tài)的選擇。

      3.4 小球運動程序

      程序分析:

      該段程序是主函數(shù)main()的關(guān)鍵部分,其中數(shù)組xlabel[50]是小球在X軸方向的運動軌跡,軌跡方程是xlabel=i×5。數(shù)組 ylabel[50]和 ylabel2[50]是小球在 Y 方向的兩個軌跡,軌跡方程分別為ylabel=-0.007i2+1.792i和ylabel2=-0.013i2+3.328i,其中i是小球運動的變量,在for循環(huán)函數(shù)中勻速增加或減小。當(dāng)出現(xiàn)break時小球運動方向改變。當(dāng)i=0或者i=49時,說明小球觸壁卻沒能遭到有效擊球,判定一方得分,通過UART發(fā)送指令在單片機(jī)上顯示比分。delay()函數(shù)用來控制小球的運動速度。

      4 實驗結(jié)果

      將程序燒寫到FPGA芯片內(nèi)部,在Nios II開發(fā)環(huán)境下運行Run as Nios II Hardware。把低通濾波器的兩個輸出通道分別接到雙蹤示波器的輸入端。觀察到示波器上顯示出小球沿著拋物線軌跡來回運動,并可以通過按鍵實現(xiàn)擊球命令改變小球運動。

      5 結(jié)束語

      本實驗可以進(jìn)行適當(dāng)改進(jìn)。比如小球軌跡可以選用三個或三個以上更加豐富的軌道碼表,這樣小球的運動軌跡將更加多樣。還可以設(shè)立對游戲難度的設(shè)置,改變對小球的運動速度,這個想法可以在中斷服務(wù)函數(shù)通過對delay()函數(shù)進(jìn)行實參的變換而實現(xiàn)。

      [1]潘松,黃繼業(yè),EDA技術(shù)與VHDL[M].第3版.北京:清華大學(xué)出版社,2009.

      [2]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,1980.

      [3]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006.

      [4]張俊謨.單片機(jī)中級教程:原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.

      猜你喜歡
      方波示波器小球
      聯(lián)想等效,拓展建模——以“帶電小球在等效場中做圓周運動”為例
      小球進(jìn)洞了
      小球別跑
      小球別跑
      家教世界(2020年10期)2020-06-01 11:49:26
      一款教學(xué)示波器的Y通道設(shè)計與實現(xiàn)
      電子制作(2017年13期)2017-12-15 09:00:08
      可攜帶式虛擬雙蹤示波器
      電子制作(2017年20期)2017-04-26 06:57:46
      碳納米管方波電沉積鉑催化劑的制備及其催化性能研究
      方波外場下有限維量子系統(tǒng)的控制協(xié)議
      基于Matlab的方波分解與合成仿真實驗設(shè)計
      一種幅頻可調(diào)的高頻高壓方波電源的研制
      丰原市| 郴州市| 驻马店市| 晴隆县| 漾濞| 芷江| 彰化市| 盈江县| 称多县| 响水县| 博爱县| 县级市| 康乐县| 甘肃省| 蓬安县| 姜堰市| 屯昌县| 磐安县| 禄丰县| 龙井市| 长垣县| 龙南县| 略阳县| 清原| 嘉峪关市| 三江| 郴州市| 博湖县| 红安县| 大同市| 雷山县| 株洲市| 迁安市| 巴里| 蛟河市| 浪卡子县| 三亚市| 顺义区| 新郑市| 石泉县| 杭锦旗|