在硬件实现上,微控制器部分主要由DS89C420微控制器、电源系统、振荡电路、复位电路、接口电平转换电路等几部分组成,微控制单元是核心部分。电平转换电路用于在蓝牙模块与PC通信接口之间进行电平的转换。另外还包括一些不同类型的接口电路、跳线开关电路以及若干状态LED等外围器件,以备建立于通用外接模块之上的扩展应用及通讯状态监测的需要。
4.2 软件设计
4.2.1 PC部分软件设计
PC部分测试程序主要是开发蓝牙应用组件,测试程序运行于Windows操作系统之上,提供了USB和串口驱动程序,应用程序函数接口(API)等,具体可分为PC串口初始化、蓝牙通信参数设定、蓝牙通用外接模块控制、HCI指令封装、数据信息处理等几个部分。
其中第一步要做的工作是初始化计算机串口,串口参数可以根据实际需要进行选择。第二步要进行的是蓝牙模块参数的设定,其中包括蓝牙设备主从设定、蓝牙模块初始化参数的设定、程序监测设定等几部分。以上所有这些动态设定,是通过扩展应用主体(此外为PC)往通用外接模块串口发送公共变量而实现的。当收到参数设定成功消息后,进行下一步,即向通用外接模块串口发送命令消息来实现蓝牙设备的初始化、查询、链接建立过程,在收到通用模块发回的链接建立完成的反馈信息后,即可按一定的格式将数据信息发往通用外接模块接口,完成数据信息的无线传输。
4.2.2 通用外接模块软件设计
通用外接模块一方面从PC方的RS-232串口接收PC端的公共参数信息(用于串口初始化及蓝牙模块参数设定)、命令信息及数据信息,另一方面发送相应的 HCI指令给蓝牙模块ROK 101 007,然后将返回的事件进行分析处理,最终将有关程序状态、通讯数据信息返回给本地PC。软件实现的全部功能是通过C51语言进行开发的,由专用寄存器设置子程序、中断处理程序、定时器中断程序、看门狗程序、链路初始化子程序、链路建立子程序、通信数据处理子程序、断开链路子程序、蓝牙测试子程序等功能块来完成。所有程序信息对于通用外接模块以外的扩展应用主体而言都是不可见的,扩展应用只需按一定的格式发送相应的信息给通用外接模块即可完成整个通信过程,在此就不对程序进行具体的说明了。
至此,通用外接模块开发实验阶段软件设计完成,通过测试本模块完全达到了预期的要求,数据传输正常,性能良好。
本封装模块之所以被加以“通用”二字来界定,是因为本模块在功能上很好地做到了以下几点:
(1)本模块提供了对多种扩展应用接口的支持,包括UART/USB以及语音传输接口。
(2)本模块既支持以MPC为扩展应用主体的计算机上的扩展应用,又支持以MCU为扩展主体的控制器件上的扩展应用;
(3)本模块提供对多种操作系统的支持,目前为止,支持Windows95/98/2000/
xp及Linux操作系统。
5 一种构建于通用外接模块之上无线通讯扩展应用——裁判系统
目前,在很多大型赛事中比赛所采用的裁判打分系统大都是采用有缆连接的方式进行的,各位裁判将各自的评定的比赛成绩通过有线的电缆传输到主控机上进行综合评定,然后产生最终的结果。但这一系统存在着一个很明显的不足之外,就是有缆连接所带来的不便性,而通过采用笔者所设计的通用外接模块后, 通过在通用外接模块的基础上相应地增加LCD、键盘和MCU后,只要对外加的MCU进行简单的编程既可实现裁判打分系统的无线通讯化。
日前,笔者参与设计的蓝牙无线打分系统已被成功地用于很多大型比赛之中。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说计算机基于HCI协议层的蓝牙通用外接模块的研究开发(3)在线全文阅读。