时间:2024-06-19
朱绪军,谭 虎,周细凤
(湖南工程学院 电气信息学院,湘潭 411104)
基于STM32和UC/OS-II的影音游戏系统设计*
朱绪军,谭 虎,周细凤
(湖南工程学院 电气信息学院,湘潭 411104)
采用STM32芯片搭载UC/OS-II操作系统,设计了一个影音游戏系统.阐述了系统的工作原理及基于STM32F407ZGT6芯片的硬件设计和基于NES游戏的程序设计.该系统软硬件经过调试验证,实现了MP3音乐及视频的播放、图片的浏览以及NES游戏的运行等功能.该设计具有实时性强,可拓展性好,后期维护方便等特点.
STM32F407ZGT6;UC/OS-II;NES模拟器;WM8978
基于嵌入式应用对低功耗、高性能的要求,智能设备越来越多将操作系统移植到嵌入式芯片中,以满足实时性的要求.本文结合ST公司的STM32F407ZGT6芯片[1]和UC/OS-II实时操作系统[2],将STM32嵌入式芯片应用于影音游戏系统的设计.影音游戏系统的整体功能包括音乐、视频播放,图片浏览,NES游戏娱乐等等.硬件设计中,电源模块采用ASM1117-3.3V给主控芯片电路供电,图形界面使用一个3.5寸LCD显示,影音模块采用WM8978解码来输出声音,游戏模块采用USB手柄操作游戏.软件部分,移植UC/OS-II操作系统来运行各任务模块.其中,游戏模块采用NES模拟器来实现经典的且较少空间占用的NES游戏[3].
总体设计分为两个大部分,即核心板设计和底板设计.其中,最小系统和SRAM模块设计在核心板上,其他外围元器件,如TF卡模块、音频解码模块、LCD显示模块、USB接口等,设计在底板上.
在此硬件基础上运行UC/OS-II操作系统,然后再设计MP3播放器、视频播放器、图片浏览器、NES游戏机等程序,完成整个影音游戏系统的设计,系统组成如图1所示.
图1 系统组成框图
2.1 核心板电路设计
将SRAM和STM32F407ZGT6集成一块PCB板,并加入稳压电路,稳压芯片选用的是线性稳压AMS1117-3.3,将输入进来的5 V直流电源,稳成用于SRAM和STM32F407ZGT6芯片用的3.3 V.程序下载接口采用的是ST公司主推的SWD标准,此接口仅需四个引脚就可以下载程序.为防止意外短路而烧毁芯片,加了一个自恢复保险丝.接口选用的是2.54 mm的排针,这样的排针适合直接可以插杜邦线,用于焊接后的调试主控的好坏[1].此外,还添加了主控芯片的复位电路、两个指示用的LED灯等基本电路模块.
2.2 底板设计
2.2.1 系统电源设计
在整个系统的电源设计上,由于整体的模块比较多,选用的是24 V的适配器输出电流3 A以满足整体要求.为了使系统工作稳定,要求电源的纹波必须比较小,故适宜使用线性稳压芯片,但是将24 V稳到5 V如果用线性稳压,那发热量和芯片的选型都没有比较好的方法.对此,在24 V的输入加了一个转换效率高,且发热量少的开关电源,选用的芯片是LM2596-5.0,将24 V稳到5 V.然后再用线性稳压芯片AMS1117-5.0和AMS1117-3.3就得到芯片和模块所需要的电压了.此外,在电路的输入和输出都加了旁路电容和滤波电容,增加电源的稳定[1].
同样,在输入端加入了自恢复保险丝,在稳压芯片输出端加了瞬态电压抑制二极管,以更好的保护整个电路.电源电路设计如图2所示.
图2 电源电路图
2.2.2 音频解码电路设计
音频解码的芯片选用的是WM8978,WM8978的通信接口是IIS和IIC.IIC是用来配置WM8978的寄存器,IIS用来传输音频数据,只需要将音频数据送入WM8978,就可以自动解码输出声音.
WM8978芯片里面自带的扬声器功放可提供高达900 MW的功率,可以直接驱动扬声器,耳机输出也可以直接使用[1].
2.2.3 LCD显示屏电路设计
显示屏是选用的是3.5寸的TFT-LCD 液晶显示屏[4],分辨率是480×320的彩色显示屏,电路设计如图3所示.
2.2.4 TF卡电路设计
为了存储更多的数据,增加了TF卡,TF卡电路设计如图4所示.将各种数据放在TF中,需要的时候就将数据从TF卡中读出.STM32F407ZGT6自带了标准的TF卡接口,使用STM32F4自带的SDIO接口驱动,4位模式,最高通信速度可达48 MHz,最高每秒可传输数据 24 M字节[5].
图3 LCD显示屏电路图
图4 TF卡电路图
2.2.5 USB电路设计
为了控制引入了游戏手柄,而现在游戏手柄基本都是USB接口,所以就需要USB接口电路来驱动USB游戏手柄,实现对游戏的控制.USB电路设计如图5所示.
图5 USB电路图
整个系统的硬件部分完成以后,主要就是软件的编写,系统软件部分的设计思路是:系统初始化完成后,初始化各个模块,然后运行UC/OS-II操作系统,并建立LED、主任务、监视任务这三个任务.任务切换周期是5 ms.在主任务里面运行图形用户界面,不同的图标对应不同的任务.触摸屏点击了不同的图标就建立和运行相应的任务.系统软件整体流程图如图6所示.
图6 系统软件整体流程图
其中,LED任务不管在任何时候都是在运行的,每隔一定的时间,LED就闪烁一次,表示系统正常运行.
核心板和底板的电路图及PCB板设计好后,制版并焊接元器件,焊接后的核心板和底板实物图如图7所示.对核心板和底板进行短路检测,测试正常后,下载程序进行调试,调试显示正常.
图7 核心板和底板实物图(底部)
接下来设计整个系统的软件部分,先是设计每个模块的驱动,将每个模块调试合格后,再整合所有的模块.最终的设计,所有的功能均正常工作,实现MP3音乐和视频的播放,TF中的照片的浏览,插上USB游戏手柄后可正常的运行NES游戏.程序总体界面及游戏模块运行实物图如图8所示.
该设计是以STM32F407ZGT6作为主控芯片,嵌入UC/OS-II操作系统,以LM2596-5.0和AMS1117-3.3为供电电源,通过WM8978实现音频解码,LCD显示屏显示图像界面,TF卡存储音频视频数据,来实现一个影音游戏系统.设计中,将核心板与底层版分开设计,方便各自拆卸,降低维护成本,且核心板具有可拓展性,对其他系统的设计亦具有参考价值.游戏文件存储于TF卡中,也宜于后期的更新.
图8 程序总体界面及游戏模块运行实物图(顶部)
通过系统整体硬件的制作和软件的编写,最后能实现MP3音乐的播放、视频的播放、图片的浏览和NES游戏的运行,有一定的影音娱乐和技术推广价值.
[1] 张 洋,刘 军,严汉宇,等.精通STM32F4库函数版[M].北京:北京航天航空大学出版社,2015:1-945.
[2] 任 哲.嵌入式实时操作系统UC/OS-II原理及应用[M].北京:北京航空航天大学出版社,2009.
[3] 王 林.一种开源的NES模拟器FakeNES[J].安徽电子信息职业技术学院学报,2014(4):33-35.
[4] 汤莉莉,黄 伟.基于STM32的FSMC接口驱动TFT彩屏设计[J].现代电子技术,2013(20):139-141.
[5] 张 涛,左谨平,马华玲.FatFs在32位微控制器STM32上的移植[J].电子技术,2010,47(3):25-27.
[6] 周细凤,胡晓冬,等.虚拟任意波形发生器与示波器的设计与实现[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-),男,本科生,研究方向:电子信息系统设计.
谭 虎(1986-),男,讲师,研究方向:信息科学与复杂网络.
TP391;TP316.2
A
1671-119X(2017)04-0013-04
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!