当前位置:首页 > EDA > 电子设计自动化
[导读] 体感游戏是视觉与本体感觉和动作控制的集合,伴随着虚拟现实技术的迅猛发展,正逐步走入市场。为了达到视觉、运动相结合的目的,采用加速度传感器与VGA显示器相结合的方法,通过戴有速度手套的手的运动来完成对游戏

 体感游戏是视觉与本体感觉和动作控制的集合,伴随着虚拟现实技术的迅猛发展,正逐步走入市场。为了达到视觉、运动相结合的目的,采用加速度传感器与VGA显示器相结合的方法,通过戴有速度手套的手的运动来完成对游戏界面中的滑块控制,接住随机下落的方块而获得分数。最后进行了板级测试,实现了开机界面、模式切换、难度调节、计分、游戏暂停与重新开始等功能。通过验证,游戏获得了较好的互动性、参与感与沉浸感。

计算机游戏领域已经到了一个同质化相当严重的时代。机械性的重复相同的动作致使玩家的兴趣越来越低。而现在游戏产业迎来了一个转折点,开始向交互性、置入感等方向发展。而良好的沉浸感要求游戏必须在互动性上有创新。过去,游戏大部分是通过键盘与鼠标来完成控制的,但随着传感器技术、微机视觉的进步,使得利用自己的行动来对机器发出指令的愿望得以实现。这种人机互动模式以更为自然性、直观性的运动、语音等摸式代替电脑的键盘和鼠标等外设。

现在已经有了很多创新成果,如三维摄像机、传感器球拍、数据手套等。一些公司也推出了各种平台,如日本任天堂公司的Wii、微软的Kinect、华硕的Xtion等。这些设备一般较为昂贵,本文设计目的是低成本来完成人机交互,利用FPGA作为主控制器,借助现代家庭较为普及的电脑的显示器,实现体感游戏的设计,提高游戏的沉浸感与趣味性,同时保持了对于键盘操作的兼容性。

1 系统设计方案

该系统主要由两个部分组成,分别是数据采集单元、显示控制单元。数据采集单元主要实现对运动控制信息的采集、数据的修正与处理、上传到显示控制单元等功能。显示控制单元主要实现游戏的开始、难度设定、模式切换、显示等功能。整体框图如图1所示。

图1 系统整体框图

1.1 数据采集单元

数据采集单元主要包括从控制器、加速度传感器、LED显示、按键、串口四个硬件部分。各部分的选择和功能如下:

从控制器选用STC89C51单片机,此系列单片机是宏晶科技推出的新一代超强抗干扰、低功耗、高性价比的单片机,指令代码完全兼容传统8051单片机,并且有LQFP封装,使得速度手套可以做到小型化。

加速度传感器选用的是ADXL345。它是一款完整的3 轴加速度测量系统。既能测量运动或冲击导致的动态加速度,也能测量静止加速度,例如重力加速度,使得器件可作为倾斜传感器使用。本设计中利用了其测静止加速度的功能,得到倾斜角度,从而产生控制指令。

采集单元中用了两个LED灯,用于显示当前速度手套的输出状态:当左侧灯亮说明发出的控制信号为向左运动。两个按键输入用于游戏的控制信号暂停和分数清零的信号的产生。

采集单元利用串口将控制信号上传到显示控制单元。RS232是由电子工业协会(Electronic Industries Association,EIA)所制定的异步传输标准接口。在低通信速率下,直接连接的最大物理距离为15 m,可以使得人能远离屏幕来操作游戏,防止眼睛疲劳。后期会考虑采用315模块来实现无线的操作。

1.2 显示控制单元

此单元是整个系统的核心,完成了游戏的大部分功能设计,主要包括主控制器、VGA接口、PS/2接口、独立按键、数码管、串口等硬件部分。

主控制器采用Altera于2004年推出的CycloneⅡ的FPGA,型号为EPC2C8208。其功耗较低,核电压只有1.2 V,片上RAM 有162 Kb,可以用于配置为RAM,ROM,FIFO等,时钟利用50 MHz的有源晶体产生。总控制单元负责接收数据采集单元的信号、两种游戏模式的切换和控制指令的产生、VGA显示控制、游戏初始化界面存储等。

2 系统软件实现

游戏主要实现的功能有:欢迎界面与游戏界面的切换以及VGA显示;速度手套模式与键盘模式的切换;计分系统,包含分数的显示、清零等;游戏的难度等级设置、游戏的开始界面设计、暂停、结束、重新开始等功能。软件设计包括单片机、FPGA的程序设计以及两者通信指令编码准则设定三个方面。

2.1 单片机程序设计

单片机部分主要功能为通过采集加速度传感器和按键的信号,根据两个单元间的编码准则产生相应的控制指令,通过串口上传到显示控制中心。程序设计流程图如图2所示。

图2 单片机程序流程图

2.2 FPGA程序设计

FPGA是游戏的主控制器,完成了游戏的大部分功能,顶层设计文件中主要包括输入显示类模块、VGA核心模块、存储模块三类模块。其中输入显示类模块主要有分频模块、PS/2接收模块、串口接收模块、指令处理模块、数码管显示模块;存储模块包括基于FPGA 片上RAM的RAM和ROM模块。顶层设计框图如图3所示。

图3 FPGA顶层设计框图

2.2.1 输入显示类模块

独立按键用于模式的选择、游戏难度的调节、由欢迎界面到游戏界面的切换;串口部分用于接收来自数据采集单元的控制指令,经过译码模块后送入模式选择模块;PS/2模块用于接收键盘信号输入并产生指令送入模式选择模块;数码管用于显示当前的游戏模式、难度等级和获得分数。

显示器采用的分辨率为640×480 的,刷新频率为60 Hz,根据VGA常见刷新频率时序表可知,需要时钟为25 MHz左右,板子输入时钟为50 MHz,经过分频模块后可以提供25 MHz的时钟。

2.2.2 存储模块

设计中,由于采用的是FPGA的片上RAM作为存储介质,受到其162 Kb的约束,只能设计大小为256×256的单色界面。存储的数据位宽为32位,共2 048个,地址线为11位。

游戏界面因为要不断修改,故存放在基于FPGA片上RAM的RAM模块中。其可同时有读写使能,因此可以同时读写,即使同时读写同一个地址也不会出错,而且还可以设置成读写地址线各自独立,不用考虑时分复用使用地址线的问题。这样在实际代码中就可以将RAM的读和写完全独立考虑,分别由扫描输出模块和数据处理模块完成,两者互不干扰。图4是RAM的读写时序图。

图4 配置RAM中读写数据时序图

开始界面由于是固定的,放入ROM 中,初始化ROM文件中的数据可通过Matlab处理得到。现在有一些字模软件虽然可以读取要显示的图片,但给出的数据格式并不能初始化ROM的,因此,利用Matlab编写了一段图片处理程序,可以读取图片,然后经过处理,生成一个可以直接复制到ROM初始化文件中的数组形式。这样,使得图片显示操作简单,图片替换更容易。

2.2.3 VGA控制模块

在游戏界面设计中,存在主要的难点:小方块随机间隔下落、难度等级设置等。

在游戏中,为了增加游戏的难度,在设计中,小方块的降落为两个,而且是有一定的间隔、在随机位置下落。小方块的动态显示是通过不断修改RAM中要显示图像的数据来实现的。游戏中方块的长为32 个像素(对应RAM中存储的数据位宽,方便修改),则界面中有8条下落路线,小方块的下落是从界面顶端开始的,也就意味着RAM中的数据修改是从前8位的某一位开始的,因此实现随机下落只需要产生一个1~8范围的随机数。在设计中,通过设计了一个伪随机数产生器,生成一个9以内的随机数作为RAM修改数据的起始位。

第二个小方块的下落是通过设定一个标志位Num2,当第一个方块下落到游戏界面的中间位置时,置位Num2,从而触发了第二个小方块的下落进程,第二个方块开始下落。其中,两个小方块下落修改数据的操作都是在VGA扫描的消隐阶段完成的,因此每进行一次帧扫描,小方块下落1个像素。VGA刷新频率为60 Hz,因此小方块每秒会下落60个像素。

当游戏操作者漏接的方块数据到达一定数目m,游戏结束。难度等级是通过设置被控制方块左右移动灵敏度和漏接方块数目m 来实现的。灵敏度越高,m 越小,游戏等级越高。

2.3 通信编码准则

单片机从加速度传感器获得的数据中提取出y 轴的加速度值,由此可以判断出速度手套的此时的状态。它送往串口的数据不是加速度值,而是编码后的指令。具体的编码译码原则设定如表1所示。

表1 串口通信编码准则

表1 中FPGA 译码是FPGA 的串口接收模块获得后,解码之后送给VGA显示模块的指令。游戏中保持了传统键盘的兼容性,具体实现是通过PS/2模块根据键盘输入信号产生与表格1中FPGA译码相同的指令,送给VGA显示模块,完成对游戏的控制。

3 结语

本文设计了一款基于FGPA的体感游戏,通过利用人体的动作完成对游戏的操作,利用VGA显示技术来到达更好的类似虚拟现实的效果,同时系统也保持了对传统游戏键盘操作的兼容性。

游戏通过加入人体的互动,使得游戏者可以对游戏有一种身临其境的感觉,增加游戏趣味性、交互性、构想性,同时也使得参与者身体得到运动与锻炼。

游戏最后实现了常规游戏的基本功能,主要有欢迎界面与游戏界面的切换以及VGA显示;速度手套模式与键盘模式的切换;计分系统,包含分数的显示、清零等;游戏的难度等级设置、显示以及游戏的结束;游戏的暂停、重新开始等功能等。最后在硬件平台实现,表明游戏具有可玩性、趣味性,并能使游戏者获得较好的游戏体验。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

【2025年8月29日,中国上海讯】近日,第二十届全国大学生智能汽车竞赛(以下简称“智能车大赛”)总决赛在杭州举办并圆满结束。作为大赛主协办单位,英飞凌科技从技术支持与人才培养上全方位支持赛事,践行产学研合作,助力行业人...

关键字: 微控制器 LED驱动芯片 人机交互

格科GalaxyCore正式推出高性能500万像素图像传感器GC5605。该产品专为AI PC应用打造,具备高分辨率、高动态、超低功耗三大特性,助力AI PC提升视频会议、高清拍摄等应用场景的影像质量;实现智能唤醒、手势...

关键字: 图像传感器 AI 人机交互

8月27日,全球领先的连接和电源解决方案供应商Qorvo重磅亮相2025 IOTE国际物联网博览会,聚焦 “智能家居、工业、汽车” 三大核心领域,携一系列突破性创新解决方案登场。全方位呈现其在连接与定位技术领域的深厚积累...

关键字: 智能家居 UWB技术 人机交互

在数字化浪潮席卷全球的今天,FPGA技术正成为驱动创新的核心引擎。2025年8月21日,深圳将迎来一场聚焦FPGA技术与产业应用的盛会——2025安路科技FPGA技术沙龙。本次沙龙以“定制未来 共建生态”为主题,汇聚行业...

关键字: FPGA 核心板 开发板

在现代电子系统中,现场可编程门阵列(FPGA)凭借其开发时间短、成本效益高以及灵活的现场重配置与升级等诸多优点,被广泛应用于各种产品领域。从通信设备到工业控制,从汽车电子到航空航天,FPGA 的身影无处不在。为了充分发挥...

关键字: 可编程门阵列 FPGA 数字电源

2025年8月4日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售Altera®的Agilex™ 3 FPGA C系列开发套件。此开...

关键字: FPGA 边缘计算 嵌入式应用

内窥镜泛指经自然腔道或人工孔道进入体内,并对体内器官或结构进行直接观察和对疾病进行诊断的医疗设备,一般由光学镜头、冷光源、光导纤维、图像传感器以及机械装置等构成。文章介绍了一款基于两片图像传感器和FPGA组成的微型3D内...

关键字: 微创 3D内窥镜 OV6946 FPGA

 米兰诺维奇博士提出"语言能力双轨进化论",动态命题技术破解安全性困局 贵阳2025年7月23日 /美通社/ -- 7月22日,在第八届英语教学与测评学术研讨会上,国际语言测评权威专家、朗...

关键字: AI 人工智能 指令 研讨会

运用单片机和FPGA芯片作为主控制器件 , 单片机接收从PC机上传过来的显示内容和显示控制命令 , 通过命令解释和数据转换 , 生成LED显示屏所需要的数据信号和同步的控制信号— 数据、时钟、行同步和面同步 。FPGA芯...

关键字: 单片机 FPGA LED显示屏

上海2025年7月21日 /美通社/ -- 7月21日,国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(以下简称"TÜV莱茵"...

关键字: 测试平台 自动化 人机交互 传感器
关闭