基于MicroBlaze嵌入式平台的蓝牙五子棋对战游戏系统设计

2016-05-30 06:54余超剑杨明万友铭
宁波职业技术学院学报 2016年3期
关键词:五子棋棋局蓝牙

余超剑 杨明 万友铭

摘 要: 设计了一款基于MicroBlaze嵌入式平台,利用无线蓝牙通信技术实现Android智能手机控制的五子棋对战游戏系统,该系统由XC7A100T-1CSG324C芯片、HC-5蓝牙模块以及显示器组成。结果表明:该系统操作方便和可靠性强,具有一定的应用前景。

关键词: MicroBlaze嵌入式平台; 蓝牙; Android; 五子棋

中图分类号: TN 929.5 文献标志码: A 文章编号: 1671-2153(2016)03-0086-04

0 引 言

随着物联网和游戏产业的快速发展和智能手机的不断普及,目前工业和民用的很多串口设备连接上了手机,以便通过智能手机对串口设备实现高效的信息交互,然而传统方式的构建比较复杂,具有施工成本高、不易扩展的缺点。本文提出一种基于MicroBlaze嵌入式平台和蓝牙无线通信技术的五子棋对战游戏的设计方案,通过基于XC7A100T-1CSG324C芯片和Android智能手机的无线通信,再结合蓝牙无线通信技术,可以实现在显示器上进行五子棋对战游戏。

1 总体设计

为了提高蓝牙五子棋对战系统的灵活性和可扩展性,使蓝牙无线控制更加模块化,本系统以XC7A100T-1CSG324C芯片为核心,将无线蓝牙与串口融合,并与智能手机相连接,极大地拓宽了串口功能。

系统的功能结构如图1所示。系统中XC7A100T-1CSG324C芯片一方面通过HC-5蓝牙模块与Android智能手机进行数据通信;另一方面,通过串口方式与HC-5蓝牙模块保持数据通信。当蓝牙模块建立与智能手机的连接后,带有蓝牙通信功能的控制终端加入通信网络,这样就保证了Android智能手机将五子棋的控制命令先由无线蓝牙方式发送至HC-5蓝牙模块,然后通过XC7A100T-1CSG324C芯片所支持的无线蓝牙与串口之间的透传功能,将收到的数据通过串口传输至XC7A100T-1CSG324C芯片,并最终通过无线蓝牙通信方式实现对五子棋对战游戏系统的控制。

2 系统的硬件设计

2.1 Xilinx IP核的模块硬件设计

MicroBlaze是由Xilinx公司推出的一款32位RISC微处理器 IP 核,具有很高的可配置度,可以将外部存储器、液晶显示屏、PS/2口、串口、以太网控制器等外部设备连接在一起并协调它们的工作,因此非常适合设计针对网络、电信、数据通信等应用背景的复杂嵌入式系统[3-4]。

XC7A100T-1CSG324C是Artix-7系列中资源比较丰富的一款芯片。XC7A100T-1CSG324C采用了Chip scale封装,板载的Artix-7 FPGA资源非常丰富。图2为系统硬件电路原理。图2中,HC-5蓝牙模块与XC7A100T-1CSG324C芯片扩展接口相连实现串口通信,使用两个Uart IP核,用于XC7A100T-1CSG324C芯片与智能手机蓝牙连接,串口传送数据;plb_v46_0 IP核,用于连接EMC显存控制器及TFT IP核;EMC IP核,用于控制显示数据的存储;AXI?鄄PLB Bridge IP核,用于连接AXI总线与PLB总线;TFT IP核,用于控制VGA接口,使显示器显示五子棋界面[1]。

2.2 HC-5蓝牙模块

HC-5是一款功能强大的串口蓝牙模块,蓝牙芯片是CSR公司的主流芯片BC417143,支持蓝牙的V2.0的协议标准,蓝牙芯片上提供UART接口、SPI接口、PCM接口、PIO接口,工作电压为3.3 V,串口波特率支持多重选择,默认是9600位/s。蓝牙芯片与蓝牙主机通过串口进行通信,同时蓝牙芯片也可通过串口与PC机通信,PC机可通过AT指令对蓝牙芯片进行控制[5]。

3 系统的软件设计

软件系统设计如图3所示。图3中,主要包括硬件和软件接口,棋盘逻辑与IO,以及盘面图像绘制过程。

3.1 硬件和软件接口的构建

Bluetooth模块每次通过HC-5发送一个字节,存入GPIO的缓冲中。Driver模块在探测到中断后,使用回调函数读取其缓冲,并且翻译成对应输入。以下为翻译蓝牙指令的关键代码:

byte = XUartLite_RecvByte(XPAR_UARTLITE_0_BASEADDR);

input = XParseByte(byte);

当Driver最终得到Painter返回的目标图形bit块时,便会将其翻译成对应颜色,并且存入对应的TFT缓冲。以下为存入缓冲区的关键代码:

Xil_Out32(TFT_FRAME_ADDR + pixelOffset, color);

系统并没有高性能的要求,故无需采用缓冲切换技术。

3.2 棋局逻辑与IO的构建

本棋局系统为全功能子系统,负责棋局IO、逻辑和绘制。本系统为上层提供了极为简单的API,一切与棋局逻辑相关的操作均被封装,故可以轻松将蓝牙串口输入直接导向本系统[2]。棋局系统API的关键代码为

Gomoku_Initialize();

Gomoku_Tick(input);

InputParse模块负责将合法的输入流通过表驱动转化为控制标识,导入内部棋局逻辑模块。Control模块会根据控制标识启用不同的控制工作流。当控制工作完成后,Logic模块还会自动检查棋局是否已经结束。以下为控制关键代码:

validateInput(input);

controlSignal = parseInput(input);

doControl(controlSignal);

checkWin(controlSignal);

同时用Logic模块的棋盘信息流引导Painter模块进行绘制。最后绘图模块向上层调用方输出图像缓存。以下为绘图调用关键代码:

paintBoard(graph, chessBoard);

3.3 盘面图像绘制过程的构建

本绘图子系统Painter适用于不含有着色器等硬件加速功能的硬件图形系统,其采用单缓冲降低RAM消耗。绘图系统与棋盘逻辑隔离,只提供绘图接口,将传入缓冲区绘制成目标图形。以下为绘制顺序关键代码:

paintGrid(pGraph);

paintChessman(pGraph, pChessBoard);

paintCursor(pGraph, pCursor);

paintWinInidicator(pGraph);

图像像素为黑白二色,存储为单个比特(bit)以减少资源需求。当收到调用方的绘制指令时,系统首先清除盘面,随后根据盘面>棋子>指针的顺序绘制。如果棋局结束,则清除版面中部并且绘制棋局信息。

版面中所有特殊图形,如棋子等均存储为点阵图,即二维单比特(bit)数组,需要时将其复制到棋盘上指定的位置。

4 测试方法及结果

验证智能手机能够正常控制棋盘上棋子。

(I) 在智能手机客户端安装蓝牙串口助手软件,手机上控制界面如图4所示,然后将HC-5蓝牙模块加电启动,将智能手机与蓝牙模块配对。

(II) XC7A100T-1CSG324C芯片VGA接口连上显示器。

(III) 手机与蓝牙模块配对成功后,通过发送字符串(字符串及功能如表1所示),控制棋盘上的光标上下左右移动或放下棋子,双方对战。

(IV) 系统将自动判断黑白棋玩家的输赢并加以显示,如图5所示。

5 结 论

本文基于MicroBlaze嵌入式平台,提出了一种蓝牙五子棋对战游戏系统的解决方案,设计了以XC7A100T-1CSG324C芯片为核心,结合蓝牙模块之间的通信,实现了Android智能手机终端进行无线控制五子棋对战系统。运行结果表明:基于MicroBlaze嵌入式平台的蓝牙五子棋对战系统具有通信可靠、抗干扰性好等优点。

参考文献:

[1] 左冬红. 计算机组成原理与接口技术—实验教程[M]. 北京:清华大学出版社,2014:263-280.

[2] BJARNE S. C++程序设计语言[M]. 裘宗燕译. 北京:机械工业出版社,2010:63-94.

[3] 龙霞飞,李仁发. Microblaze微处理器IP Core的结构及应用[J]. 微处理机,2004(6):6-9.

[4] 阮芳,冯永新. 基于Xilinx MicroBlaze的嵌入式I/O系统设计与实现[J]. 电子器件,2008(2):626-630.

[5] 张群,杨絮,张正言,等. 蓝牙模块串口通信的设计与实现[J]. 实验室研究与探索,2012(3):79-82.

Abstract: System is designed based on MicroBlaze embedded platform, realize the android smartphone controlusing by Bluetooth wireless communication technology. The system is composed of XC7A100T-1CSG324C chip,HC-5 Bluetooth module and standard output monitor. The experimental results demonstrated that system is easy to operateand, high reliability and has a good application prospect.

Keywords: MicroBlaze embedded platform; Bluetooth; Android; Gomoku

(责任编辑:徐兴华)

猜你喜欢
五子棋棋局蓝牙
蓝牙音箱的直线之美
Sim Sim
传祺海外新棋局
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
安凯运游棋局
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
西咸新棋局
紧急:蓝牙指尖陀螺自燃!安全隐患频出
90后罗运生:五子棋是我生命的一部分
华林 国际大棋局