近年来, 可穿戴计算机 (Wearable Computer,WearComp)悄然成为研究热点,发展势头非常迅猛。可穿戴计算机技术打破了传统的交互模式,使人与计算机成为一体,提高了人的整体交互和计算能力。它提供了一种无处不在的计算和无时不有的交互方式。
可穿戴计算机系统的硬件在应用的促进下得到了长足发展。基于其特点,可穿戴计算机的各个组成部分(终端设备)一般都处于分置状态,即“穿戴”在人体的不同部位。传统的WearComp一般是利用线缆将各终端设备连接到主机的各种接口,使穿戴人肢体活动受到限制且主机的端口显得比较冗杂。而将以蓝牙(Bluetooth)以及GPRS技术为代表的无线通信技术引人可穿戴计算机中,可以进一步使可穿戴计算机的交互方式向移动性、可获取性、自然性和简洁性发展。相对于传统的有线接口方式,无线方式的设计则更具有人性化。其中,蓝牙技术解决了WearComp中各终端设备与主机的通信问题,除去了众多线缆对人的束缚;GPRS技术使得WearComp能够轻松地享受电信服务商提供的各项无线通信业务,且时时在线。另外,蓝牙和USB总线技术的应用使得传统可穿戴计算机过于冗杂的主机接口得以精简。在这些基础上,笔者提出了一种无线通信技术在可穿戴计算机中的应用。
1 可穿戴计算机
随着计算机及相关元器件不断超微型化的发展,可穿戴计算机应运而生,是人们追求“计算机以人为本”这一理念和市场需求的必然产物。WearComp是计算机方面具有挑战性的前沿研究领域,是继PC机、笔记本电脑和掌上电脑之后的新一代计算机,也是计算机的尖端技术产品。它拓展了计算机的功能,开辟了新的应用领域,用途广泛,市场潜力巨大。作为新一代计算机(而不是新的机型),可穿戴计算机将形成一个新的产业,并将深刻地改变计算机市场的竞争格局,其社会和经济效益不可估量。
可穿戴计算机在许多领域具有特殊用途,可广泛应用于工业、军事、情报、新闻、医疗、商业、农业、金融与证券、抢险与救灾乃至日常生活等领域。它与UC技术、智能化住宅、智能化商业、智能化交通等相结合将使未来人类的生活方式发生巨大的变革,进入一个高度数字化和自动化的时代。工业是目前最有潜力的应用领域之一,特别是在室外、野外、水下等一些特殊场合,可穿戴计算机将发挥非常重要的作用。例如:大型复杂设备的安装与检修、巡视与检查、采掘、野外勘探等。军事是目前可穿戴计算机另一个最具潜力的应用领域,主要用于侦察、作战指挥、通信、复杂武器系统的操作与维护及仿真演习等。根据不同的用途,可穿戴计算机的种类也是多样化的,分别有侦察兵、炮兵、装甲兵、步兵、后勤人员及飞行员等专用的可穿戴计算机[1]。
可穿戴计算机的主要组成部分包括低功耗嵌入式CPU、多种多样的便携式外设及其接口设备和能量高体积小的电源;基本外设主要有输出设备和输入设备。为了便于携带,输出设备用头盔显示器或眼镜显示器代替了传统的桌面台式显示器,输入设备用语音控制或较少按键的袖珍键盘代替了传统的键盘。另外,根据用户不同的需求,还需配备相应的外部设备,如无线通信设备、语音输入输出设备、图像采集设备、全球定位系统(GPS)以及各种各样的传感器。然而,为了将众多的外设集成在一起,必需将相应的接口电路集成在主板上。所以接口电路设计技术是可穿戴技术中关键技术之一[2]。
可穿戴计算机使人机关系变得非常紧密。同时,由于各种设备装备在人的身上,因此,安装的位置、形状、操作的便捷性等都要与人的自然属性密切结合,形成一个综合的、和谐的人机界面。这对新一代人机交互的研究提出了新的挑战。蓝牙技术的日渐兴起为实现人机交互方式的最大自由度提供了一个很好的解决方案。
2 蓝牙技术在可穿戴计算机中的应用
2.1 蓝牙技术概述
蓝牙是短距离无线数据的开放性规范。它以低成本近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。蓝牙技术最初以取消各种电器之间的连线为目标。随着研究的深入,蓝牙技术已经用于实现网络中的各种数据及语音设备之间的无缝资源共享,以及工业控制网络之中。
蓝牙体系主要由蓝牙主机和蓝牙模块两大结构组成。蓝牙模块中最下层是无线电(Radio),负责最终的物理链接,包括信号的调制、发送和接收。
基带(Baseband):负责基带链路控制器的数字信号处理规范。基带链路控制器负责处理基带协议和其它一些低层常规协议。基带链路控制器中包含三种纠错方案:1/3比例前向纠错(FEC)码、2/3比例前向纠错码、数据自动重发请求(ARQ)方案。
链路管理层(Link Manager):携带了链路的数据设置、鉴权、链路硬件配置和其它一些协议。LM能够发现其它远端的LM并通过LMP(链路管理协议)与之通信。
主机控制接口(HCl):通过主机控制接口HCI,可以方便地把蓝牙模块嵌入到各种数字设备中作为一个终端。
应用层:在蓝牙主机上,是一些应用程序。
2.2 蓝牙无线个域网
无线个域网WPAN的目的就是为了在小范围内能够将个人设备互联而组成网络。蓝牙作为一种小范围无线连接技术,能够在设备间实现方便快捷、灵活安全、低成本、低功耗的数据和语音通信,是目前实现无线个域网的主流技术之一。
蓝牙个人区域网PAN有两种应用模型:一种被称为组网络GN(Group Ad-hoc Networking);另一种被称为网络访问点NAP(Networking Access Point)。这两种实现模式分别有不同的网络结构和协议模型[3]。组网被设计用来允许一个或多个蓝牙设备组成一个局域网络,而网络访问点提供蓝牙设备进入Intemet网络的能力。无论是NAP还是GN都必须提供与TCP/IP和其它网络协议的无缝实现。图1是GN在协议栈部分图示[4]。
根据可穿戴计算机将组成的个域网的特点,采用组网络模型显然是比较合适的。
2.3 WearComp蓝牙个域网系统实现
2.3.1系统结构
下面以从事抢险救灾技术勘察工作人员的可穿戴计算机为例,具体介绍蓝牙技术的应用。根据工作人员的实际需求,该套可穿戴计算机应具有头戴显示器、耳机、耳麦、微型摄像机、手写输入板、腕式键盘和无线通信模块等外设。
根据蓝牙个人区域网PAN的组网络GN模式,笔者设计的可穿戴计算机系统结构组成如图2所示。其中各个终端设备和主机均内置了蓝牙模块。
2.3.2可穿戴计算机终端设备和蓝牙技术集成的实现
蓝牙协议支持点对点和点对多点的链接。每个蓝牙的微微网(piconet)中有Master和Slave两种权限,除了Slave和Master以外,各个Slave节点之间也可以通信。在这里只以单个的piconet为主干构建WearComp无线网络。Master节点为WearComp网络主控节点,实现信息的汇集处理功能;Slave节点为无线设备。考虑到各个无线设备之间是互相独立的,信息融合只在Master节点完成,所以仅实现Master点对多Slave点的通信,形成一个星型的拓扑结构。每个piconet有3位地址码,即piconet的容量最多为8个节点,各个Slave节点负责对原始数据的预处理(包括滤波、补偿、数字化等)和处理后数据的发送,上层是基于普通PC机或其他类型上位机(如嵌入式计算机)的Master节点,所有无线设备的信息在这
里进行更高一级处理。
在通用异步收发(UART)模式下,蓝牙模块依照标准接口使用,主控接口HCI已定义好,可以在RS232接口上实现。终端设备模块携带与蓝牙模块兼容的接口,如RS232。通过这个标准接口,终端设备接口模块可以与蓝牙模块连接在一起,实现对蓝牙模块的控制。这样不同厂家生产的蓝牙模块就可以与同一种终端设备衔接。
软件部分:整个系统的应用软件可分为三部分:
(1)运行在上位机上的应用程序,包括面向用户的图形用户界面、面向终端设备接口模块层的操作(主要是对终端设备的控制和通信),以及同蓝牙模块上的HCI固件(firmware)的通信程序。这部分可用面向对象的编程语言实现,把每个终端设备节点作为一个节点类的
实例对象,应用程序通过与实例对应的句柄访问控制各个终端设备节点。
(2)嵌入到终端设备模块的MCU上的程序。针对不同的MCU用汇编或是C语言写成。主要完成原始信息的采集、处理、读取、与HCI固件的通信、利用终端设备接口模块层与上位机通信。
(3)蓝牙模块上的HCI固件固化在蓝牙基带模块的Flash存储器里。通过它实现终端设备模块、上位机中软件与蓝牙硬件的通信。
硬件部分:蓝牙模块采用爱立信公司的ROK 101007,由无线电、基带和闪存构成,内置支持HCI的固件,外围有适于高速数据传输的UART接口和USB接口,也有适于语音传输的PCM接口。功耗小,具有内置屏蔽功能。主机CPU采用嵌入式Pentium,功耗仅为
1.5W,不需要风扇即可正常使用。
3 USB接口技术应用子可穿戴计算机
体积小、功能强、外围设备多、集成度高是可穿戴计算机的主要特点之一。由于可穿戴计算机对多媒体的要求很高,要实现的功能很多,以至于其外设种类很多,所以要求其接口种类也比较多,如串口、MCP接口、USB接口及PCMCIA接口等。若将众多接口都集成在一起,不但设计复杂,而且集成后的体积仍然较大,且其扩充性也较低。USB接口则将这些不同的接口统一起来,使用一个4针插头作为标准插头。在可穿戴计算机的设计中采用USB接口作为主要的外设接口,可弥补上述不足。
具体实现:
(1)硬件部分:在主机端采用PHILIPS公司生产的PDIUSBDl2独立USB控制器。PDIUSBDl2的突出特点是特别适用于便携式USB设备、产品的改型设计,以及需要高速数据传输的数据采集系统。
(2)软件部分:USB设备的软件设计主要包括两部分:一是USB设备端的单片机软件,主要完成USB协议处理和数据交换(多数情况下是一个中断子程序)以及其它应用功能程序(例如A/D转换、MP3解码等);二是PC端的程序由USB通信程序和用户服务程序两部分组成,用户服务程序通过USB通信程序与系统USBDI(USBDevice Interface)通信,由系统完成USB协议的处理与数据传输。PC端程序的开发难度非常大,程序员不仅要熟悉USB协议,还要熟悉WINDOWS体系结构并能熟练运用DDK工具。
USB总线驱动设计主要包括五部分,分别是向上对USB设备驱动和应用提供的函数接口USBDAPI、向下对主机控制器驱动提供的函数接口HCDAPI、USB系统资源、集线器驱动、系统配置及总线枚举器(如图3所示)。定义好这些接口之后,后三部分可并行设计和开发。
目前嵌入式系统中软硬件产品种类很多。由于本文设计的USB总线驱动与USB设备和USB主机之间通过定义的标准软件接口,对USB设备和USB主机的操作分别通过各自的驱动完成,从而避免了与硬件直接打交道,所以这部分设计与硬件和操作系统的相关性不大,适于各种不同的系统。
4 GPRS技术在可穿戴计算机中的应用
4.1 GPRS技术概述
通用分组无线业务(GPRS)是在现有的全球移动通信系统(GSM)网络基础上叠加了一个新的网络,’它充分利用了现有移动通信网的设备,在GSM网络上增加一些硬件设备并进行软件升级,形成一个新的网络逻辑实体。它突破了GSM网只能提供电路交换的思维定式,以分组交换技术为基础,采用IP数据网络协议,能够提供比现有GSM网9.6kbps更高的数据速率,其数据速率可达170kbps;它可以给GSM用户提供移动环境下的高速数据业务,包括收发电子邮件、因特网浏览等IP业务功能[5]。
由于GPRS是分组交换技术,应用了统计复用技术,因此GPRS开通的数据通信是按用户数据的传输信息量计费,而不是按传统的按时计费方式,所以对用户而言还可以节省费用。另外,由于GPRS支持X.25协议和IP协议,因此,对于GSM网现有电路交换数据业务(CSD)和短信息业务(SMS),GPRS是补充而不是替代。
GPRS开启了大众移动数据应用的大门。采用GPRS技术,用户可以得到以下好处:只对传输数据收费(实际用量)而对连接间隙不收费;保持永久连接;通过IP的直接ISP接人更廉价;新的应用能够实现真正的插人及操作方案;用户可以即时接人多种服务,如:在上网的同时可以进行语音呼叫;手机的IP功能(互联网、遥测、电子商务等)。
基于可穿戴计算机的可移动性和灵活性,能够与外界进行良好的无线通信成为其必备的功能。因此,笔者为WearComp配备了一个基于GPRS技术的无线网卡。
4.2 USB接口的GPRS Modem的设计
4.2.1 硬件设计
本Modem设计中用到的主要元件包括51系列单片机W77E58、独立的USB接口芯片PDIUSBD12及爱立信公司生产的GPRS模块GM47(如图4所示)。
W77E58是由Winbond公司生产的与51系列兼容的单片机。它支持40MHz晶振频率且缩短了指令周期,具有与51系列兼容的指令集和与80C52兼容的引脚排列,以及32KB的Flash EPROM和1KB的片上SRAM;另外,它所提供的CMOS电平也与GM47模块所提供的CMOS电平完全兼容,无需再进行电平转换。以上这些特性都说明将单片机W77E58用于本Modem的设计是非常合适的[6]。
由PDIUSBD12和W77E58构成的USB接口电路:PDIUSBD12的8位并行数据接人W77E58的P0口,P2.6作为PDIUSBD12的命令或数据的选择线。PDIUSBD12与W77E58的数据交换采用中断方式(外部中断0)。USB设备通过四线电缆接入主机或USBHub,这四线分别是:Vbus(总线电源)、GND(地线)、D+和D-(数据线)。主机通过D+和D-上的电压变化检测设备的状态:刊。
由GM47模块和W77E58构成的GPRS接口电路:作为一种应用终端模块,GM47通过自带的UART端口与控制它的MCU或PC机联系。在UART端口引脚中,RD(串行数据输出)和TD(串行数据输入)作为数据口分别与W77E58的RXD和TXD连接,而CTS(发送清零)、TS(发送请求)、DTR(数据终端准备好)、DED(数据有效检测)作为控制口分别与W77E58的P1.0~P1.3连接。这样就完成了GM47与W77E58的通信控制连接。为了实现GPRS的功能,GM47模块还需要完成SIM卡、天线、电源等部分的连接。
4.2.2 软件设计
USB部分:W77E58对PDIUSBD12的控制软件主要完成USB协议处理与数据交换以及其它应用功能程序。在本设计中,要求利用W77E58相对高的处理速度完成可穿戴计算机主机发来的较大数据量的处理(如经压缩过的视频、音频信号等)。
GPRS部分:GM47 GPRS模块的软件部分对外提供了一个控制系统操作的AT指令集,通过接收来自UART的AT指令,解释并执行相应的操作,从而实现无线Modem的对应功能。所有的Modem命令都是从一个特定的指令前缀(AT)开始,到一个命令结束标志结束。以下介绍几个常用的AT指令[8]:
ATD //拨号指令:在后面接电话号码,并可通过ME、SM、LD等控制字选择号码的来源是机器、SIM卡或是最近所拨号;
ATH //挂起:提示终止通话;
ATO //返回至在线数据模式:在通话过程中从在线控制模式转换到在线数据模式;
AT+CGATr//是移动终端进入或离开GPRS服务(后接“1”为进入,“0”为离开);
AT+CGDATA //进人数据状态:利用PPP等协议完成将移动终端连接到网络上的操作;
AT+CGEREP //GPRS事件报告;
AT+CDREG //GPRS网络登记状态。
GM47模块还提供了很多其他指令,这些指令为实现该模块强大的功能奠定了基础,也为众多应用开发人员提供了优良的开发平台。