基于S3C2440处理器拳击娱乐系统设计
导读: 拳击娱乐系统是为满足广大群众的需要而设计,目前市场上还没有模拟真人的对抗性的拳击娱乐设备,该系统的出现使人们从枯燥的锻炼中摆脱出来,能够主动地投入到娱乐中。
0 引 言
拳击娱乐系统是为满足广大群众的需要而设计,目前市场上还没有模拟真人的对抗性的拳击娱乐设备,该系统的出现使人们从枯燥的锻炼中摆脱出来,能够主动地投入到娱乐中。在人形靶的头部正面和胸部正面各安装一个击打气袋和压力传感器,当语音提示可以开始击打时,使用者可以全力击打头、胸部,同时ARM9处理器采集相应的击打数据,在人形靶上安装有自动出击拳装置。
该系统选用了Samsung公司的16/32位RISC处理器S3C2440,由于该处理器价格低、功耗小、性能高,从而降低了整个系统的成本,便于市场的推广。
在用户界面的设计上,采用目前流行的Qt/Embedded,使显示界面更直观,操作更方便。Qt/Embedded丰富的控件资源和较好的可移植性给界面的设计以及今后的进一步完善带来了极大的方便。
1 拳击健身娱乐系统简介
拳击娱乐系统主要由人形靶、用户操作界面、语音播报、数据采集处理、自动出拳五部分组成。使用者击打气袋时,该系统采集压力传感器数据,并进行相应的处理,计算出使用者的出拳力量。语音播报用来提示、问候使用者并播报结果数据。自动出拳可以根据前方是否有遮挡物而随机出拳还击。语音播报和自动出拳的结合更丰富了该系统的互动性。
2 人形靶部分
人形靶高度可以根据使用者的高度进行调整,以适应不同人群的使用。该系统针对娱乐的要求设计了两个击打有效区:头部、胸部。每个击打有效区都由击打气袋、开关触发装置和压力传感器三部分组成。
在人形靶的头部装有反射式光电开关,用来判断前方是否有遮挡物,为自动出拳设备提供输入信号。
3 用户操作部分
用户操作Qt/Embedded设计开发,界面更加人性化,简单化,使不同人群快速学会使用。Qt/Embedded是专门为嵌入式设备上的图形用户接口和应用开发设计的开发包,可以跨平台运行在ARM处理器上的嵌入式Linux操作系统上。Qt/Embedded具有较好的移植性,从而使得今后该部分的进一步开发更加方便。采用标准PDA大小的触摸屏,所以操作非常方便。
Qt/Embedded的底层图形引擎基于Framebuffer。Framebuffer是在Linux内核架构版本2.2以后推出的标准显示设备驱动接口。采用mmap系统调用,可以将Framebuffer的显示缓存映射为可连续访问的一段内存储针。Framebuffer驱动程序的实现分为两个方面:一方面是对LCD及其相关部分的初始化,包括画面在缓冲区的创建和对DMA通道的设置;另外一方面是对画面缓冲区的读写,具体到代码为 read,write,lseek等系统调用接口。Qt/Embedded延续了Qt在桌面系统的所有功能,丰富的API接口和基于组件的编程模型,使得嵌入式Linux系统中的应用程序更加方便于该系统的开发。
该部分分为娱乐和结果回放两部分。
娱乐部分有三种模式:压力测试、力量模式、速度模式。压力测试用来测试头、胸气袋压力是否在合适范围内,压力过高、过低进行语音提示;压力模式用来测试使用者力气大小;速度模式用来测试使用者在一定时间内击打的有效拳数。
结果回放用来回放前段时间该系统使用情况,包括击打位置和击打力量两部分信息。
4 语音播报部分
该部分负责播报使用提示、问候语和使用者的击打结果。播报结果包括有效拳重、有效拳数。当使用者击打到有效区域时,会发出仿真的击打声音;压力测试时,压力过高、过低的报警提示音;在开关机时,系统会播报问候语等。在模拟与真人的对抗性的娱乐环境,语音播报突出了趣味性,提高了娱乐效果。
该部分是由专用的语音芯片UDA1341来完成的。在Linux下完成此功能,首先需要编译UDA1341的驱动,使用编译工具为交叉编译器arm- linux-gcc 3.4.1,然后移植到ARM开发板。最后再将madplay播放器使用同样的方法编译后移植到ARM开发板上。驱动和播放器都移植好后,在应用程序中实现语音播报功能。
5 数据采集处理部分
数据采集处理部分由S3C2440处理器控制实现。它通过判断采集有效区中触发装置的触发信号是否有效,控制压力传感器数据的采集。
5.1 采集击打点触发装置的触发信号
在运行力量或速度模式时,需要不断的扫描头、胸击打按键的状态,当击打按键闭合时,开启相应压力传感器采集数据,同时清除击打按键的闭合状态。
该部分在硬件上采用了CD4093来锁存按键的状态,并且使用芯片75452来清除击打按键的锁存状态。
5.2 压力传感器的采集
该部分是系统设计的主要部分,由该部分采集到的数据可以计算出出拳力量
- 嵌入式Web服务器移植与测试(03-03)
- 基于S3C2440的嵌入式IPv6防火墙设计(09-02)
- 基于OpenWrt的移动机器人系统设计(01-17)
- 基于S3C2440处理器Linux平台的物流配送系统设计(02-05)
- 基于嵌入式的杯突试验机测控系统设计与实现(02-12)
- 基于ARM的多路同步的A/D和D/A设计(06-29)