朱緒軍,譚 虎,周細鳳
(湖南工程學院 電氣信息學院,湘潭 411104)
基于STM32和UC/OS-II的影音游戲系統(tǒng)設計*
朱緒軍,譚 虎,周細鳳
(湖南工程學院 電氣信息學院,湘潭 411104)
采用STM32芯片搭載UC/OS-II操作系統(tǒng),設計了一個影音游戲系統(tǒng).闡述了系統(tǒng)的工作原理及基于STM32F407ZGT6芯片的硬件設計和基于NES游戲的程序設計.該系統(tǒng)軟硬件經(jīng)過調試驗證,實現(xiàn)了MP3音樂及視頻的播放、圖片的瀏覽以及NES游戲的運行等功能.該設計具有實時性強,可拓展性好,后期維護方便等特點.
STM32F407ZGT6;UC/OS-II;NES模擬器;WM8978
基于嵌入式應用對低功耗、高性能的要求,智能設備越來越多將操作系統(tǒng)移植到嵌入式芯片中,以滿足實時性的要求.本文結合ST公司的STM32F407ZGT6芯片[1]和UC/OS-II實時操作系統(tǒng)[2],將STM32嵌入式芯片應用于影音游戲系統(tǒng)的設計.影音游戲系統(tǒng)的整體功能包括音樂、視頻播放,圖片瀏覽,NES游戲娛樂等等.硬件設計中,電源模塊采用ASM1117-3.3V給主控芯片電路供電,圖形界面使用一個3.5寸LCD顯示,影音模塊采用WM8978解碼來輸出聲音,游戲模塊采用USB手柄操作游戲.軟件部分,移植UC/OS-II操作系統(tǒng)來運行各任務模塊.其中,游戲模塊采用NES模擬器來實現(xiàn)經(jīng)典的且較少空間占用的NES游戲[3].
總體設計分為兩個大部分,即核心板設計和底板設計.其中,最小系統(tǒng)和SRAM模塊設計在核心板上,其他外圍元器件,如TF卡模塊、音頻解碼模塊、LCD顯示模塊、USB接口等,設計在底板上.
在此硬件基礎上運行UC/OS-II操作系統(tǒng),然后再設計MP3播放器、視頻播放器、圖片瀏覽器、NES游戲機等程序,完成整個影音游戲系統(tǒng)的設計,系統(tǒng)組成如圖1所示.
圖1 系統(tǒng)組成框圖
2.1 核心板電路設計
將SRAM和STM32F407ZGT6集成一塊PCB板,并加入穩(wěn)壓電路,穩(wěn)壓芯片選用的是線性穩(wěn)壓AMS1117-3.3,將輸入進來的5 V直流電源,穩(wěn)成用于SRAM和STM32F407ZGT6芯片用的3.3 V.程序下載接口采用的是ST公司主推的SWD標準,此接口僅需四個引腳就可以下載程序.為防止意外短路而燒毀芯片,加了一個自恢復保險絲.接口選用的是2.54 mm的排針,這樣的排針適合直接可以插杜邦線,用于焊接后的調試主控的好壞[1].此外,還添加了主控芯片的復位電路、兩個指示用的LED燈等基本電路模塊.
2.2 底板設計
2.2.1 系統(tǒng)電源設計
在整個系統(tǒng)的電源設計上,由于整體的模塊比較多,選用的是24 V的適配器輸出電流3 A以滿足整體要求.為了使系統(tǒng)工作穩(wěn)定,要求電源的紋波必須比較小,故適宜使用線性穩(wěn)壓芯片,但是將24 V穩(wěn)到5 V如果用線性穩(wěn)壓,那發(fā)熱量和芯片的選型都沒有比較好的方法.對此,在24 V的輸入加了一個轉換效率高,且發(fā)熱量少的開關電源,選用的芯片是LM2596-5.0,將24 V穩(wěn)到5 V.然后再用線性穩(wěn)壓芯片AMS1117-5.0和AMS1117-3.3就得到芯片和模塊所需要的電壓了.此外,在電路的輸入和輸出都加了旁路電容和濾波電容,增加電源的穩(wěn)定[1].
同樣,在輸入端加入了自恢復保險絲,在穩(wěn)壓芯片輸出端加了瞬態(tài)電壓抑制二極管,以更好的保護整個電路.電源電路設計如圖2所示.
圖2 電源電路圖
2.2.2 音頻解碼電路設計
音頻解碼的芯片選用的是WM8978,WM8978的通信接口是IIS和IIC.IIC是用來配置WM8978的寄存器,IIS用來傳輸音頻數(shù)據(jù),只需要將音頻數(shù)據(jù)送入WM8978,就可以自動解碼輸出聲音.
WM8978芯片里面自帶的揚聲器功放可提供高達900 MW的功率,可以直接驅動揚聲器,耳機輸出也可以直接使用[1].
2.2.3 LCD顯示屏電路設計
顯示屏是選用的是3.5寸的TFT-LCD 液晶顯示屏[4],分辨率是480×320的彩色顯示屏,電路設計如圖3所示.
2.2.4 TF卡電路設計
為了存儲更多的數(shù)據(jù),增加了TF卡,TF卡電路設計如圖4所示.將各種數(shù)據(jù)放在TF中,需要的時候就將數(shù)據(jù)從TF卡中讀出.STM32F407ZGT6自帶了標準的TF卡接口,使用STM32F4自帶的SDIO接口驅動,4位模式,最高通信速度可達48 MHz,最高每秒可傳輸數(shù)據(jù) 24 M字節(jié)[5].
圖3 LCD顯示屏電路圖
圖4 TF卡電路圖
2.2.5 USB電路設計
為了控制引入了游戲手柄,而現(xiàn)在游戲手柄基本都是USB接口,所以就需要USB接口電路來驅動USB游戲手柄,實現(xiàn)對游戲的控制.USB電路設計如圖5所示.
圖5 USB電路圖
整個系統(tǒng)的硬件部分完成以后,主要就是軟件的編寫,系統(tǒng)軟件部分的設計思路是:系統(tǒng)初始化完成后,初始化各個模塊,然后運行UC/OS-II操作系統(tǒng),并建立LED、主任務、監(jiān)視任務這三個任務.任務切換周期是5 ms.在主任務里面運行圖形用戶界面,不同的圖標對應不同的任務.觸摸屏點擊了不同的圖標就建立和運行相應的任務.系統(tǒng)軟件整體流程圖如圖6所示.
圖6 系統(tǒng)軟件整體流程圖
其中,LED任務不管在任何時候都是在運行的,每隔一定的時間,LED就閃爍一次,表示系統(tǒng)正常運行.
核心板和底板的電路圖及PCB板設計好后,制版并焊接元器件,焊接后的核心板和底板實物圖如圖7所示.對核心板和底板進行短路檢測,測試正常后,下載程序進行調試,調試顯示正常.
圖7 核心板和底板實物圖(底部)
接下來設計整個系統(tǒng)的軟件部分,先是設計每個模塊的驅動,將每個模塊調試合格后,再整合所有的模塊.最終的設計,所有的功能均正常工作,實現(xiàn)MP3音樂和視頻的播放,TF中的照片的瀏覽,插上USB游戲手柄后可正常的運行NES游戲.程序總體界面及游戲模塊運行實物圖如圖8所示.
該設計是以STM32F407ZGT6作為主控芯片,嵌入UC/OS-II操作系統(tǒng),以LM2596-5.0和AMS1117-3.3為供電電源,通過WM8978實現(xiàn)音頻解碼,LCD顯示屏顯示圖像界面,TF卡存儲音頻視頻數(shù)據(jù),來實現(xiàn)一個影音游戲系統(tǒng).設計中,將核心板與底層版分開設計,方便各自拆卸,降低維護成本,且核心板具有可拓展性,對其他系統(tǒng)的設計亦具有參考價值.游戲文件存儲于TF卡中,也宜于后期的更新.
圖8 程序總體界面及游戲模塊運行實物圖(頂部)
通過系統(tǒng)整體硬件的制作和軟件的編寫,最后能實現(xiàn)MP3音樂的播放、視頻的播放、圖片的瀏覽和NES游戲的運行,有一定的影音娛樂和技術推廣價值.
[1] 張 洋,劉 軍,嚴漢宇,等.精通STM32F4庫函數(shù)版[M].北京:北京航天航空大學出版社,2015:1-945.
[2] 任 哲.嵌入式實時操作系統(tǒng)UC/OS-II原理及應用[M].北京:北京航空航天大學出版社,2009.
[3] 王 林.一種開源的NES模擬器FakeNES[J].安徽電子信息職業(yè)技術學院學報,2014(4):33-35.
[4] 湯莉莉,黃 偉.基于STM32的FSMC接口驅動TFT彩屏設計[J].現(xiàn)代電子技術,2013(20):139-141.
[5] 張 濤,左謹平,馬華玲.FatFs在32位微控制器STM32上的移植[J].電子技術,2010,47(3):25-27.
[6] 周細鳳,胡曉冬,等.虛擬任意波形發(fā)生器與示波器的設計與實現(xiàn)[J].湖南工程學院學報(自科版),2016,26(1):19-24.
DesignofVideoGameSystemBasedonSTM32andUC/OS-II
ZHU Xu-jun,TAN Hu,ZHOU Xi-feng
(College of Elect. and Information Engineering, Hunan Institute of Engineering, Xiangtan 411104, China)
A video game system is designed based on STM32 chip which is equipped with UC/OS-II operating system. The principle of the system whose hardware is based on STM32F407ZGT6 chip and software program is based on NES game is described. After debugging and verifying, the software and hardware of the system have realized the functions of MP3 music and video playing, picture browsing and the operation of NES games. The design has the characteristics of real time, good expansibility and convenience in later maintenance.
STM32F407ZGT6; UC/OS-II; NES simulator; WM8978
2017-06-02
湖南省教育廳資助項目915C0327);博士啟動基金資助項目(16RC010).
朱緒軍(1995-),男,本科生,研究方向:電子信息系統(tǒng)設計.
譚 虎(1986-),男,講師,研究方向:信息科學與復雜網(wǎng)絡.
TP391;TP316.2
A
1671-119X(2017)04-0013-04