一种无线通信模块自动识别的方法
技术领域
本发明涉及模块识别技术,特别是指一种对无线通信模块类型自动识别的实现方法。
背景技术
移动通信技术的飞速发展为移动终端设备带来了巨大的发展空间,特别是手机更是成为新的消费热点,手机市场也成为国内外大厂商竞相争夺的焦点。而手机的生产开发也逐渐演化出两种方案:
一种是基于芯片组的解决方案,这是传统手机开发的解决方案,它的特点是组成形态表现为软件、硬件和结构的一体化,这种形式存在很多弊端,比如:一个手机厂家须同时兼顾众多技术方向和技术储备,使开发周期指数上升,与手机产品短、平、快的产业特点不吻合,使用户无法对通信、数字服务、结构设计进行自主的选择和组合,使个性化的成本偏高且难度加大。
第二种是手机模块化的解决方案,模块化手机主要由无线模块和应用端组成,两者在软硬件上相互独立,甚至表现为在物理上相互分离,也就是说手机从软件、硬件、结构上相互分离。如图1所示,手机与无线通信模块分离,手机与无线通信模块之间通过AT命令进行交互。由于该方案较好的避免了传统手机的缺点,从而逐渐在市场上得到重视和认可,并在业界崭露头角。模块化手机的接口逐步标准化,可分别由各级厂家完成相关部分的生产与开发,形成良好的产品生态链。另外,模块化方案能够简化手机厂家的入门槛,改变手机产业布局,使用户对通信、数字服务、结构的自主组合成为可能,并且降低个性化的成本和难度。
图1所示模块化手机具体的硬件组成结构如图2所示,无线通信模块200与手机210之间通过统一标准的接插件201、211相互连接,接插件201和211之间提供多种信号,包括:手机210给模块提供的电源信号(Power Supply)、提供各种附加的控制信号(System Ctrl)、提供标准的串行通信(UART)以及音频信号(Audio)等等。如此,手机210内部所包括的电池212、微控制器(MCU)213和麦克风(SPK&MIC)214就可以通过接插件201、211与无线通信模块200进行信号交互,或为无线通信模块200提供必要的信号,如:电源信号。
模块化手机的软件架构如图3所示,无线通信模块200中包括:接口驱动程序301、CSD协议302、AT命令解释器303、PPP协议304、IP中继305、GSM/GPRS协议栈306、物理层307等软件模块;与无线通信模块相对应,手机210中包括:AT命令/数据处理程序311、IP应用程序312、TCP/IP协议313、PPP协议314、接口驱动程序315等软件模块。在软件上,无线通信模块和手机对外提供标准的AT命令接口,如:ETSI组织制定的各种接口规范,该接口规范可用于GSM、CDMA以及第三代移动通信的无线协议接口。其中,无线通信模块中的GSM/GPRS协议栈可以实现移动的语音和数据通信功能,但人机接口及应用程序在手机侧;无线通信模块中含有支持移动通信的射频系统、支撑协议栈软件运行的MCU及相应基带系统,而手机侧存在支持应用软件运行的MCU和基带外围设备,如LCD、键盘、电池、SPK & MIC等,因此,手机与无线通信模块之间需要相互协调工作。
当传输命令时,手机侧的通信应用程序如果要与网络交互,首先通过AT命令处理程序311将相应的消息封装为AT命令,再通过接口驱动程序315发送出去。在无线通信模块侧,该模块通过接口驱动程序301接收到AT命令后,经过AT命令解释器303转为实际的协议消息向协议栈306发送。当传输数据时,数据流通过接口驱动直接在手机侧和无线通信模块侧透明传输,而不经过AT解释层的处理,用户可选择CSD或GPRS进行数据的传输。其中,AT命令作为数据在串口上传输,符合RS232串行通信接口规范,手机侧的通信应用程序只需按标准AT命令集编写相应的AT命令解释模块,即可使用无线通信模块完成移动通信的所有功能。
上述方案中的无线通信模块可以采用第二代移动通信技术的全球移动通信系统(GSM)模块、通用分组无线业务(GPRS)模块、码分多址(CDMA)模块,也可以采用第三代移动通信技术的宽带码分多址(WCDMA)、时分同步码分多址(TD-SCDMA)模块等甚至更多。模块化设计对于手机开发和用户使用来说都变得相对简单和便捷,对于手机开发者而言,只需关注应用端软件的开发以及对模块接口的更新,即可从一种移动通信制式轻松转入另一种制式;而对于用户来说,只需将各种无线通信模块连接到自己的手机上即可使用。
但是,目前由于各厂商所提供的各类无线通信模块没有统一的设备标识,对于同一手机无法自动识别不同类别的无线通信模块,如此,使得用户不能任意更换不同的无线通信模块,即使在硬件结构上用户更换了当前需要的无线通信模块,由于不能识别,一样也不能实现通信,给用户带来很多不便。
发明内容
有鉴于此,本发明的主要目的在于提供一种无线通信模块自动识别的方法,能够自动识别不同类别的无线通信模块,从而方便用户在同一移动终端上随时更换所需的无线通信模块。
为达到上述目的,本发明的技术方案是这样实现的:
一种无线通信模块自动识别的方法,该方法包括以下步骤:
a.移动终端插入无线通信模块开机后,移动终端侧先向当前插入的无线通信模块发送同步请求,当前插入的无线通信模块收到该请求后返回确认信息;
b.移动终端侧收到确认后,再向当前插入的无线通信模块发送设备识别码请求,当前插入的无线通信模块收到该请求后返回自身的设备识别码;
c.移动终端侧根据所收到的设备识别码确定当前插入的无线通信模块的类型。
其中,所述的设备识别码包括类型码和设备码两部分。则步骤c确定无线通信模块类型进一步包括:移动终端侧提取出设备识别码中的类型码,根据该类型码判断自身是否支持当前插入的无线通信模块,如果支持,则识别成功,移动终端侧根据该类型码的值确定当前插入的无线通信模块的类型;如果不支持,则识别失败。相应的,该方法进一步包括:移动终端侧根据设备识别码成功识别当前插入的无线通信模块类型后,移动终端侧向当前插入的无线通信模块发送识别成功确认消息;当前插入的无线通信模块收到移动终端侧发来的识别确认后,返回确认信息。
上述方案中,步骤c进一步包括:移动终端判断出当前插入的无线通信模块的类型后,启动自身与该类型相对应的AT命令集解释模块,与当前插入的无线通信模块进行通信。
上述方案中,所述当前插入的无线通信模块为GSM模块、或GPRS模块、或CDMA模块、或WCDMA模块、或TD-SCDMA模块。
本发明所提供的无线通信模块自动识别方法,在移动终端与无线通信模块进行握手时,增加一个移动终端获取无线通信模块设备识别码的交互过程,并且,移动终端根据所获取的设备识别码中的类型码判断当前插入的无线通信模块的类型,如此,能够自动识别出具有不同制式移动通信功能的无线通信模块,进而与当前移动网络连接并正常工作。这样,同一个移动终端就可以连接不同的无线通信模块,那么,用户可以使用同一个移动终端和多个无线通信模块且自由的在各种无线网络中切换,比如:GSM手机同时也可以是CDMA手机,从而使在不同制式的无线网络中通信变得轻松自如。
附图说明
图1为模块化手机的分离结构示意图;
图2为模块化手机具体的硬件组成结构示意图;
图3为模块化手机具体的软件组成结构示意图;
图4为本发明自动识别的实现流程图;
图5为本发明自动识别的信令流程图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明,在下述说明中,均以移动终端是手机为例。
如图2所示,手机与无线通信模块之间具有统一标准的接口,基于此前提,无线通信模块和手机之间可以实现基本的信息交互,那么,就可以利用无线通信模块与手机之间的握手识别过程完成无线模块的自动识别。
如图4所示,手机开机后,首先对自身的串口进行初始化;然后,主机通过硬件的串行接口和软件的接口驱动程序与无线通信模块进行握手识别;如果握手成功,即手机识别出当前插入的无线通信模块的类别,就可以根据当前无线通信模块的类别,启动手机侧相应的应用程序,比如:识别出当前无线通信模块为GSM模块,则启动手机侧与GSM通信向对应的应用程序。之后,手机利用相应的AT命令集与当前的无线通信模块进行通信,手机进入正常的工作状态。
无线通信模块与手机之间通过握手流程完成自动识别的过程如图5所示,具体包括以下步骤:
步骤501:手机开机后,手机侧先向当前插入的无线通信模块发送同步请求,以确认无线通信模块是否正确连接。
步骤502:无线通信模块收到该同步请求后,向手机侧返回确认信号,以表示自身已经正确连接。因为如果不能正确连接,无线通信模块是不能正常收到手机发来的信号的。
步骤503:手机侧收到无线通信模块发来的确认后,获知该无线通信模块已正常连接,则再向当前无线通信模块发送设备识别码请求,目的是为了获取当前无线通信模块的标识信息,以判断当前无线通信模块所属类别。
步骤504:当前无线通信模块收到请求后,向手机返回自身的设备识别码。
步骤505:手机收到设备识别码后,对当前所获取的设备识别码进行验证,以确认其有效性,同时根据设备识别码判断当前无线通信模块的类别,一旦验证识别成功,手机将向当前无线通信模块发送识别成功确认消息,表明手机已正确识别当前无线通信模块。
这里,所述验证有效性是指:验证该类型码是否属于自身支持的无线通信模块类型,可以将该类型码与自身支持的无线通信模块类型进行匹配,如果匹配上,即有一致的,说明当前设备识别码中的类型码有效,同时可根据匹配结果获知当前无线通信模块所属的类型。如果匹配不上,则说明当前手机不支持该类无线通信模块。
步骤506:当前无线通信模块收到识别确认后,同样返回确认信号,以确认获知手机识别成功,至此无线通信模块的自动识别过程完成。
在上述过程中,所述的设备识别码是唯一标识某一种无线通信模块的数字序列,它由两部分组成:类型码和设备码,如表一所示。
表 一
其中,类型码用于标识当前无线通信模块的类型,比如:是GSM模块、GPRS模块、CDMA模块、WCDMA模块或TD-SCDMA模块等;设备码是表示分配给该类型无线通信模块的随机设备序列号。
以一个具体实例来说明,某用户拥有GSM和CDMA两种无线通信模块,用户可以根据当时当地的网络状况或自己的喜好随时更换相应的模块。本实施例中,假定GSM模块的类型为01、CDMA模块的类型为02,假设该用户从GSM网络进入CDMA网络,则该用户首先关机,将GSM模块更换为CDMA模块,然后开机,那么,开机后的具体识别流程是这样:
1)手机向CDMA模块发送同步请求,CDMA模块收到后回复确认信息。
2)手机再向CDMA模块发设备识别码请求,向CDMA模块索取设备标识,CDMA模块收到请求后,向手机返回类型码为02的设备识别码。
3)手机收到后,先对获取的设备识别码中的类型码进行验证,判断其是否有效,验证后,手机根据验证结果向无线通信模块返回识别成功或失败信息。
本实施例中,手机收到CDMA模块的设备识别码后,提取出其中的类型码02,判断该类型码为有效,同时根据类型码02判断出当前无线通信模块为CDMA模块后,手机向CDMA模块返回识别成功确认;CDMA模块收到后也返回确认信息,表明知道手机识别成功。
手机对新插入的CDMA模块识别成功后,手机启动自身相应的CDMA AT命令集解释模块,与CDMA模块进行通信,完成CDMA网络下的通信功能。如此,手机就可以通过与无线通信模块握手时加入的获取设备识别码交互过程,来判别当前插入的无线通信模块的类型,进而完成相应的后续操作,令当前用户通过使用同一手机在不同网络间轻松自如地切换。
当然,本发明也可以适用于其它移动终端,比如:掌上电脑、PDA等设备。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。