一种嵌入式操作系统实现蓝牙从设备功能的系统及方法

文档序号:10491813阅读:379来源:国知局
一种嵌入式操作系统实现蓝牙从设备功能的系统及方法
【专利摘要】本发明公开了一种嵌入式操作系统实现蓝牙从设备功能的系统及方法,其中,包括:移动终端,所述移动终端安装有嵌入式操作系统;蓝牙模块,所述蓝牙模块至少可工作于蓝牙从设备模式;接口模块,所述蓝牙模块通过所述接口模块与所述移动终端连接;所述移动终端通过所述接口模块驱动所述蓝牙模块工作。通过上述技术方案,实现了在不修改现有嵌入式操作系统源代码的基础上为该操作系统添加蓝牙从设备的支持功能,使得蓝牙协议栈的扩展不再受操作系统的接口与服务的影响,进而提高了整个系统的可扩展性和灵活性。
【专利说明】
一种嵌入式操作系统实现蓝牙从设备功能的系统及方法
技术领域
[0001]本发明涉及通信技术领域,尤其涉及一种嵌入式操作系统实现蓝牙从设备功能的系统及方法。
【背景技术】
[0002]随着无线通信技术的发展和市场规模的扩大,蓝牙技术得到了越来越广泛的应用。从手机到家居,从传感器网络到家庭机器人,各式各样的应用和设备都在广泛地利用蓝牙技术。
[0003]蓝牙技术,是一种短距离无线传输技术,其能够有效地简化手机、电脑、传感器乃至机器人等不同设备或相同设备间的通信问题。蓝牙的协议(Protocol)和规范(Profile)是组成蓝牙技术的重要组成部分,其中蓝牙协议定义与其它系统(协议)通信的方式,描述信号的时序和通信数据的机构,蓝牙规范则是针对一些应用和具体场景,规定这些场景所采用的协议,以及各协议之间的工作顺序,从而保证了设备之间的互动操作性。大多蓝牙规范中将设备分成主设备和从设备两种不同的角色,例如实现音频传输模型的蓝牙音频分发规范(Advanced Aud1 Distribut1n Prof ile,简称A2DP),该规范将设备分为主设备(SRC)和从设备(SNK),其中音频流发送者为SRC角色,接收者为SNK角色。当前,所有的手机、平板电脑等都实现了 A2DP规范中的主设备(SRC角色),这些基于1S或Android智能操作系统的设备,都利用操作系统本身的蓝牙协议栈来实现规范中定义的主设备。如就基于Android智能操作系统的设备来说,协议桟可以是Bluz或Bluedroid,这些协议桟软件实现了蓝牙的诸多规范,它们的架构如图1所示。
[0004]但是,如图1所示,由于操作系统厂商对智能设备应用场景的预估不足,嵌入式Linux、Android等嵌入式操作系统的蓝牙软件协议栈中大多数规范(如HFP,A2DP,AVRCP等)并不包括从设备功能。对于目前国内外基于嵌入式操作系统的智能设备,如手机、平板电脑、智能电视、智能家居等,都只能实现这些规范的主设备功能。这些智能设备中装备的蓝牙设备只包括一些基本的蓝牙协议,而上层协议和规范则实现在操作系统中。但是随着机器人技术的发展,一些基于嵌入式Linux、Android或其他嵌入式操作系统的机器人需要诸如A2DP、HFP、AVRCP等规范的从设备功能,因此,业界也需要开始需求一种基于嵌入式操作系统的实现相关蓝牙规范从设备的技术措施。

【发明内容】

[0005]针对现有的嵌入式操作系统无法实现蓝牙从设备功能的问题,本发明提供一种嵌入式操作系统实现蓝牙从设备功能的系统及方法。
[0006]本发明的技术方案是:
[0007]一种嵌入式操作系统实现蓝牙从设备功能的系统,其中,包括:
[0008]移动终端,所述移动终端安装有嵌入式操作系统;
[0009]蓝牙模块,所述蓝牙模块至少可工作于蓝牙从设备模式;
[0010]接口模块,所述蓝牙模块通过所述接口模块与所述移动终端连接;
[0011 ] 所述移动终端通过所述接口模块驱动所述蓝牙模块工作。
[0012]优选的,所述蓝牙模块包括:
[0013]控制单元;
[0014]蓝牙收发单元,连接所述控制单元;
[0015]对外接口单元,分别连接所述控制单元和所述接口模块;
[0016]蓝牙天线,连接所述蓝牙收发单元;
[0017]所述控制单元通过所述对外接口单元连接所述移动终端,并根据所述移动终端的指令控制所述蓝牙收发单元通过所述对外接口单元与所述移动终端进行通信。
[0018]优选的,所述控制单元包括:
[0019]第一储存单元,用以储存完整的蓝牙从设备功能协议栈,所述完整的蓝牙从设备功能协议栈用于控制所述蓝牙收发单元工作;
[0020]第二储存单元,用以储存接口协议栈,所述接口协议栈用于所述蓝牙模块与所述移动终端通信。
[0021]优选的,所述对外接口单元及所述接口模块为串行接口。
[0022]优选的,所述串行接口为异步串行通信接口、或者串行外设接口、或者内部集成总线、或者串行快速输入输出接口
[0023]优选的,所述嵌入式操作系统为安卓或者Linux。
[0024]还包括,一种嵌入式操作系统实现蓝牙从设备功能的方法,其中,包括如下步骤:
[0025]步骤1、提供一至少可工作于蓝牙从设备模式且具备完整蓝牙从设备功能协议栈的蓝牙模块;
[0026]步骤2、通过一接口模块将所述蓝牙模块连接至一移动终端;
[0027]步骤3、所述移动终端驱动所述蓝牙模块以所述蓝牙模块自身的蓝牙从设备功能协议栈工作;
[0028]步骤4、所述蓝牙模块通过所述接口模块与所述移动终端进行数据通信。
[0029]优选的,所述接口模块为串行接口。
[0030]优选的,所述移动终端采用安卓操作系统或者采用Linux操作系统。
[0031]上述技术方案的有益效果是:通过采用上述系统及方法,使上述技术方案不同于目前将蓝牙协议栈软件集成在操作系统内部的做法,而是利用了一个额外硬件来实现和处理蓝牙协议栈,然后通过软硬件接口规范将移动终端所需的蓝牙规范包括主从设备在内全部完整的外部蓝牙协议栈与嵌入式操作系统相关联,从而实现了在不修改现有嵌入式操作系统源代码的基础上为该操作系统添加蓝牙从设备的支持功能;同时,本发明不与操作系统耦合,具有可移植性,完成一套蓝牙协议栈后就可以简单移植到各种嵌入式操作系统上,甚至是不开放源代码的封闭操作系统,从而使得蓝牙协议栈的扩展不再受操作系统的接口与服务的影响,进而提高了整个系统的可扩展性和灵活性。
【附图说明】
[0032]图1是现有技术中的蓝牙软件协议栈架构图;
[0033]图2是本发明系统的原理图;
[0034]图3是本发明接口模块的软硬件接口规范的四层模型图;
[0035]图4是基于Android的智能操作系统的实施例的驱动架构图;
[0036]图5是本发明方法的流程框图。
【具体实施方式】
[0037]下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0038]如图2所示,本发明的技术方案中公开了一种嵌入式操作系统实现蓝牙从设备功能的系统,其中,包括:移动终端1,移动终端I安装有嵌入式操作系统;蓝牙模块2,蓝牙模块2至少可工作于蓝牙从设备模式;接口模块3,蓝牙模块2通过接口模块3与移动终端I连接;移动终端I通过接口模块3驱动蓝牙模块2工作。
[0039]上述技术方案中,通过外置一至少可工作于蓝牙从设备模式的蓝牙模块2,使移动终端I以从设备模式与外界蓝牙主设备进行通信,蓝牙模块2通过接口模块3与移动终端I进行通信,由移动终端I驱动蓝牙模块2工作。
[0040]于上述技术方案基础上,进一步的,蓝牙模块2包括:控制单元21 ;蓝牙收发单元22,连接控制单元21 ;对外接口单元23,分别连接控制单元21和接口模块3 ;蓝牙天线24,连接蓝牙收发单元22 ;
[0041]控制单元21通过对外接口单元23连接移动终端1,并根据移动终端I的指令控制蓝牙收发单元22通过对外接口单元23与移动终端I进行数据通信。同时蓝牙收发单元22在控制单元21的控制下以蓝牙从设备的形式与外部的蓝牙主设备进行通信,蓝牙天线24则用于收发无线电信号。
[0042]于上述技术方案基础上,进一步的,控制单元21包括:第一储存单元211,用以储存完整的蓝牙从设备功能协议栈,完整的蓝牙从设备功能协议栈用于控制蓝牙收发单元22工作;
[0043]第二储存单元212,用以储存接口协议栈,接口协议栈用于蓝牙模块2与移动终端I通信。
[0044]在一种较优的实施方式中,控制单元21可由一低功耗单片机形成,蓝牙从设备功能协议栈可通过C语言开发于单片机上,由单片机的储存空间形成第一储存单元211。进一步的第二储存单元212也可形成于单片机的储存空间中,其中可储存对外接口单元23的驱动程序以及接口协议栈。
[0045]蓝牙模块2通过蓝牙收发单元22从蓝牙天线24接收蓝牙数据包,经过控制单元21中的协议栈处理后将有效数据传输给移动终端I或者从移动终端I接收到数据然后封装成蓝牙数据包发送蓝牙收发单元22通过蓝牙天线24进行发送。
[0046]于上述技术方案基础上,进一步的,对外接口单元23及接口模块3为串行接口。作为优选的实施方式,外接口单元23可采用采用异步串行通信接口(UniversalAsynchronous Receiver and Transmitter,UART),或串行夕卜设接口 (Serial PeripheralInterface, SPI),或内部集成总线(Inter-1ntegrated Circuit, I2C),或串行快速输入输出接口 (Serial Rapid Input Output,SR1)。
[0047]于上述技术方案中,接口模块3的软硬件接口规范是连接蓝牙模块2和移动终端I之间的桥梁,该规范在硬件上可以是一种具体硬件通信接口,在软件上则可以是一层通信协议栈,该协议栈定义了蓝牙模块2与移动终端I之间的数据包格式和传输时序。如图3所示,该协议栈可分为四层,分别是应用层、传输层、数据链路层和物理层。应用层直接为应用程序提供服务,具体来说就是面向某个具体蓝牙规范应用而制定的数据包格式和时序规范;传输层负责数据的传输和控制,从而提供可靠的端到端数据交换功能;数据链路层的功能是向上层用户提供透明的数据传输基本服务;物理层则规定了传输数据所需要的物理链路创建、维持、拆除,而提供的机械的、电子的、功能的和规范的特性。于一种较优的实施方式中,接口模块3可设置于移动终端I内,有移动终端I的硬件及软件构成。
[0048]于上述技术方案中,移动终端I中还包括嵌入式操作系统驱动程序,该驱动程序运行在移动终端I的操作系统内部,具体负责接收应用程序的需求,并将需求封装成数据包通过接口模块3发送给蓝牙模块2,或者接收蓝牙模块2的通知,并将具体状态通知到移动终端I正在运行的上层应用。
[0049]在一种优选的实施方式中,在一个基于Android嵌入式操作系统的智能机器人中,需要该机器人具有拨打蓝牙电话以及播放蓝牙音乐的功能。首先,用户使用手机与该机器人进行蓝牙配对,然后用户可以同机器人进行交互,命令机器人通过蓝牙拨打电话或播放手机中的音乐。此时,就需要机器人具有蓝牙规范A2DP、HFP、AVRCP的从设备功能。
[0050]目前,传统的Android嵌入式操作系统不支持从设备功能,在采用本发明的系统后,该智能机器人为上述技术方案中移动终端I的具体实施例,此时便可不再使用Android原生的蓝牙协议栈而是转而使用蓝牙模块2中的协议栈,其中位于蓝牙模块2的协议栈包括了完整的A2DP、HFP、AVRCP蓝牙从设备功能。此时使用串行接口(即接口模块3的实施例)作为移动终端I与蓝牙模块2的通信接口,并如图4所示实现基于Android的驱动程序与服务。如此一来,机器人就可以实现通过蓝牙拨打电话与收听音乐的功能。
[0051]进一步以拨打电话为例,说明其工作流程:首先用户命令机器人拨打电话,机器人收到命令后调用应用程序,应用程序将命令内容根据图3的模型封装成数据包,然后将数据包传递给蓝牙模块2 ;蓝牙模块2解包后经过蓝牙协议栈,执行HFP规定的拨打电话的流程,从而实现蓝牙拨打电话的功能。
[0052]在一种较优的实施方式中,嵌入式操作系统可以是Android或者Linux。
[0053]本发明的技术方案中还包括,一种嵌入式操作系统实现蓝牙从设备功能的方法,其中,如图5所示,包括如下步骤:
[0054]步骤1、提供一至少可工作于蓝牙从设备模式且具备完整蓝牙从设备功能协议栈的蓝牙模块;
[0055]步骤2、通过一接口模块将蓝牙模块连接至一移动终端;
[0056]步骤3、移动终端驱动蓝牙模块以蓝牙模块自身的蓝牙从设备功能协议栈工作;
[0057]步骤4、蓝牙模块通过接口模块与移动终端进行数据通信。
[0058]于上述技术方案基础上进一步的,于上述方法中,接口模块可采用串行接口。
[0059]于上述技术方案基础上进一步的,于上述方法中,移动终端可采用安卓操作系统或者采用Linux操作系统。
[0060]综上所述,通过采用上述装置,使得本发明不同于目前将蓝牙协议栈软件集成在操作系统内部的做法,而是利用了一个额外硬件来实现和处理蓝牙协议栈,然后通过软硬件接口将智能设备所需的蓝牙规范包括主从设备在内全部完整的外部蓝牙协议栈与移动终端的嵌入式操作系统相关联,从而实现了在不修改现有嵌入式操作系统源代码的基础上为该操作系统添加蓝牙从设备的支持功能;同时,本发明的技术方案不与操作系统耦合,具有可移植性,完成一套蓝牙协议栈后就可以简单移植到各种嵌入式操作系统上,甚至是不开放源代码的封闭操作系统,从而使得蓝牙协议栈的扩展不再受操作系统的接口与服务的影响,进而提高了整个系统的可扩展性和灵活性。
[0061]以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
【主权项】
1.一种嵌入式操作系统实现蓝牙从设备功能的系统,其特征在于,包括: 移动终端,所述移动终端安装有嵌入式智能操作系统; 蓝牙模块,所述蓝牙模块至少可工作于蓝牙从设备模式; 接口模块,所述蓝牙模块通过所述接口模块与所述移动终端连接; 所述移动终端通过所述接口模块驱动所述蓝牙模块工作。2.如权利要求1所述系统,其特征在于,所述蓝牙模块包括: 控制单元; 蓝牙收发单元,连接所述控制单元; 对外接口单元,分别连接所述控制单元和所述接口模块; 蓝牙天线,连接所述蓝牙收发单元; 所述控制单元通过所述对外接口单元连接所述移动终端,并根据所述移动终端的指令控制所述蓝牙收发单元通过所述对外接口单元与所述移动终端进行通信。3.如权利要求2所述系统,其特征在于,所述控制单元包括: 第一储存单元,用以储存完整的蓝牙从设备功能协议栈,所述完整的蓝牙从设备功能协议栈用于控制所述蓝牙收发单元工作; 第二储存单元,用以储存接口协议栈,所述接口协议栈用于所述蓝牙模块与所述移动终端通信。4.如权利要求2所述系统,其特征在于,所述对外接口单元及所述接口模块为串行接□O5.如权利要求4所述系统,其特征在于,所述串行接口为异步串行通信接口、或者串行外设接口、或者内部集成总线、或者串行快速输入输出接口6.如权利要求1-5中任一所述系统,其特征在于,所述嵌入式操作系统为安卓或者Linux07.一种嵌入式操作系统实现蓝牙从设备功能的方法,其特征在于,包括如下步骤: 步骤1、提供一至少可工作于蓝牙从设备模式且具备完整蓝牙从设备功能协议栈的蓝牙模块; 步骤2、通过一接口模块将所述蓝牙模块连接至一移动终端; 步骤3、所述移动终端驱动所述蓝牙模块以所述蓝牙模块自身的蓝牙从设备功能协议栈工作; 步骤4、所述蓝牙模块通过所述接口模块与所述移动终端进行数据通信。8.如权利要求7所述方法,其特征在于,所述接口模块为串行接口。9.如权利要求8所述方法,其特征在于,所述移动终端采用安卓操作系统或者采用Linux操作系统。
【文档编号】H04W4/00GK105846859SQ201510014816
【公开日】2016年8月10日
【申请日】2015年1月12日
【发明人】施家琪
【申请人】芋头科技(杭州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1