宿留和执行客户软件的无线电通信模块以及用于实施客户驱动软件的匹配过程的制作方法

文档序号:6355694阅读:117来源:国知局
专利名称:宿留和执行客户软件的无线电通信模块以及用于实施客户驱动软件的匹配过程的制作方法
技术领域
本发明的领域涉及无线电通信系统,尤其是GSM(全球移动通信系统)标准、DSC 1800(1800MHz数字蜂窝系统)、PCS 1900(个人通信系统)、GPRS(通用分组无线电业务)或UMTS(通用移动电信系统),但并不仅限于此。
更精确地说,本发明涉及一种无线电通信模块。应当牢记的是,所述无线电通信模块是无线电话的关键单元。所述无线电通信模块宿留并执行主软件(通常被称为“无线电通信软件”或“GSM软件”),所述的主软件尤其执行无线通信功能(无线电通信)并控制所述无线电话的其它各种硬件单元(显示屏、键盘、扬声器等)。
背景技术
一般而言(第一种应用),所述无线电通信模块被包括在与SIM(用户身份模块)卡协作的终端内(或ME移动设备”)。
以下将设想上述无线电通信模块的其它应用。
尤其建议将所述无线电通信模块并入除无线电通信终端之外的但仍然要求无线通信功能的设备(第二种应用)。例如,所述设备是遥测设备(以读取米数)、告警设备或银行卡阅读器。
还建议以独立形式提供所述无线电通信模块(第三种应用);于是所述无线电通信模块具有调制解调器的功能。这种类型的调制解调器并不包括任何硬件人机接口单元(显示屏、键盘、扬声器等)。其被设计为与具有硬件人机接口单元的终端设备(支持客户软件)协作。所述移动设备尤其可能是微型计算机,但并不仅限于此。一般而言,所述终端设备宿留并执行客户驱动软件,所述客户驱动软件使用一组AT格式的驱动指令来控制所述无线电通信模块。所述AT(引起注意指令)指令使得所述终端设备(TE)能够请求与其连接的无线电通信终端执行某些预定行为。为此,所述的主软件(宿留在所述无线电通信模块上)包括执行AT指令的单元,所述AT指令由所述客户驱动软件(宿留在所述终端设备上)发送至所述的主软件。
至于其它关于AT指令的信息,首先参照ETSI“GSM 07.05”和“GSM 07.07”标准,其次参照ITU-T建议V25ter,它们在此引入作为参考。
一般而言,无线电通信模块不仅可在上述第三种应用的框架内(无线电通信模块形成调制解调器)由终端设备使用AT指令驱动,也可在上述第一种和第二种应用的语境内(无线电通信模块被包括在无线电通信终端或其它系统内)由终端设备使用AT指令驱动。
换言之,无论是何种应用,所述无线电通信模块可能都由与其协作(通常通过串行链路)的终端设备驱动。在这种情况下,由所述终端设备宿留并执行的客户驱动软件(包括“客户外部应用”)将AT指令发送到由所述无线电通信模块宿留并执行的主软件,从而使得所述无线电通信模块能够执行所述AT指令。
如图2所示,终端设备驱动无线电通信模块的现有技术操作可如下概括-步骤“1”所述客户外部应用(客户驱动软件)2发送AT指令;-步骤“2”所述串行链路5将所述AT指令发射至所述的主软件3内包括的AT指令执行单元4,所述的主软件3由所述无线电通信模块1宿留并执行;-步骤“3”所述执行单元4执行所述AT指令;-步骤“4”在所述执行之后,所述执行单元4将AT响应发送至所述客户外部应用2;-步骤“5”所述响应是通过所述串行链路5发送的;-步骤“6”所述客户外部应用2接收所述响应。
上述的每一个步骤都是由图2内带有相关步骤数字的圆示出的。在以下关于本发明的图中也采用相同的惯例(以下描述中将会详细描述)。
终端设备驱动无线电通信模块的现有技术具有若干缺点。
首先,它需要两组资源(处理器和存储器)。所述无线电通信模块包括处理器和存储器(第一组资源),而所述终端设备也具有处理器和存储器(第二组资源)。因此,上述现有技术在设备与能量消耗方面较为昂贵。
上述现有技术的另一缺点是所述无线电通信模块完全由所述终端设备驱动。所述终端设备宿留并执行的客户驱动软件是“主控的”,而所述无线电通信模块宿留并执行的主软件是“从属的”。

发明内容
本发明的目的尤其是克服现有技术的这些缺点。
更明确的是,本发明的一个目的是提供一种使用客户驱动软件来驱动无线电通信型模块的简单和廉价(就硬件和能量消耗而言)的技术。
本发明的另一目的是提供一种驱动技术,以使所述无线电通信模块能够在驱动已由终端设备执行时监控(并作用于)所述驱动进程。换言之,希望所述无线电通信模块不仅起到从属作用。
上述各种目的以及以下将描述的其它目的是通过使用宿留并执行主软件型无线电通信模块来实现的,所述的主软件执行无线电通信功能并包括执行驱动指令的单元,所述驱动指令由至少一个客户驱动软件发送至所述的主软件,并从属于预定驱动指令组。根据本发明,所述无线电通信模块还宿留并执行至少一个被称为客户嵌入式软件的客户软件。此外,所述客户嵌入式软件和所述的主软件包括使得所述客户嵌入式软件能够执行以下两种功能中的至少一种的单元-客户驱动软件的作用,所述客户驱动软件发送驱动指令到所述的主软件,并从所述的主软件接收由执行一些所述驱动指令产生的响应;-客户监控软件的作用,所述客户监控软件管理由客户驱动软件发送的驱动指令的执行,所述客户监控软件被称为客户外部软件,由与所述无线电通信模块协作的终端设备宿留和执行。因此,本发明的主要原理包括在所述无线电通信模块上宿留至少一个可起到客户驱动软件和/或客户监控软件作用的客户软件。
因此,如果所述客户嵌入式软件起到客户驱动软件的作用,则所述无线电通信模块独立且经济地操作。在这种情况下,所述无线电通信模块无需与任何终端设备协作,且所述的主软件与所述客户驱动软件使用相同的资源(相同的处理器与相同的存储器)。
本发明还向执行所述客户驱动软件的终端设备提供了一种并不限制所述无线电通信模块起到从属作用的单元,在这种情况下,其中所述客户嵌入式软件起到客户监控软件的作用。由所述无线电通信模块执行的所述客户监控软件管理由所述终端设备执行的所述客户驱动软件所请求的驱动行为。在这种情况下,应当注意所述客户嵌入式软件是现有技术的上述配置的附加软件。但是,所述附加软件并不昂贵,因为它和同样宿留在所述无线电通信模块上的主软件使用相同的资源(处理器和存储器)。
优选的是,提供以下特征以使所述客户嵌入式软件起到客户监控软件的作用所述的主软件包括将指令预分析为所确定预分析政策的函数的单元,以将驱动指令从所述客户外部软件发射至所述客户嵌入式软件和/或所述的主软件内包括的执行单元;所述客户嵌入式软件包括处理由所述预分析单元交换到所述客户嵌入式软件的驱动指令的单元。
这样,所述客户嵌入式软件能够无操作,所述指令仅被发送至所述的主软件,所述的主软件直接执行所述指令;或是过滤被发射至所述客户嵌入式软件的不再由主软件执行的指令。例如,所述客户嵌入式软件可能从而判定哪些指令应当由所述的主软件执行,哪些指令无需执行即应当做出作为所确定准则的函数的响应;或是“侦查”接收到其拷贝的指令,所述指令同样由所述的主软件直接执行。
有利的是,为使所述客户嵌入式软件能够起到客户监控软件的作用所述的主软件包括将响应预分析为所确定响应预分析政策的函数的单元,以将主软件内包括的执行单元执行一些驱动指令所产生的响应发射至所述客户嵌入式软件和/或所述客户外部软件;所述客户嵌入式软件包括处理由所述响应预分析单元交换到所述客户嵌入式软件的响应的单元。
这样,所述客户嵌入式软件能够无操作,所述的主软件所生成的响应仅被发送至所述客户外部软件;或是过滤被发射至所述客户嵌入式软件的但不再被发射至所述客户外部软件的响应。例如,所述客户嵌入式软件可能从而判定哪些作为所定义准则的函数的响应应当被发送至所述客户外部软件(被修改或未被修改),哪些响应不应当被发射至所述客户外部软件;或是“侦查”接收到其拷贝的响应,所述响应同样被直接发送至所述客户外部软件。
优选的是,所述的主软件包括一个尤其基于一组执行函数的主应用,每个所述执行函数都能够执行至少一个所述驱动指令。所述客户嵌入式软件包括一个尤其基于一组源函数的客户应用,每个所述源函数都能够发送到所述主应用或从所述主应用接收到驱动指令或是对所述驱动指令的响应。所述的主软件和/或所述客户嵌入式软件包括用于接口所述源函数与所述执行函数的应用接口。
结果是限制了研发成本,这归因于所述接口应用(以下也被称为应用接口程序库)可与不同的客户应用一起使用,甚至是可与不同的主软件一起使用,如果所述不同的主软件已被研发的话。
在本发明的一个优选实施例中,所述驱动指令组是一组标准AT指令。
这使得所述客户嵌入式软件能够快速发展,因为AT指令是众所周知的,且已被用于研发所述客户外部软件(宿留在所述终端设备上)。这同样便利了主要基于现有客户外部软件的客户软件的开发。
本发明还涉及一种用于实施客户软件来控制无线电通信模块的过程,所述无线电通信模块是宿留和执行主软件型无线电通信模块,所述的主软件尤其执行无线电通信功能并包括执行驱动指令的单元,所述驱动指令由所述客户驱动软件发送至所述的主软件,并属于预定驱动指令组。根据本发明,所述无线电通信模块还宿留和执行至少一个称为客户嵌入式软件的客户软件。所述客户嵌入式软件和主软件相互对话,从而使得所述客户嵌入式软件能够执行下述两种作用中的至少一种所述客户驱动软件的作用,所述客户驱动软件发送驱动指令到所述的主软件,并从所述的主软件接收由执行一些所述驱动指令产生的响应;所述客户监控软件的作用,所述客户监控软件管理由所述客户驱动软件发送的驱动指令的执行,所述客户监控软件被称为客户外部软件,由与所述无线电通信模块协作的终端设备宿留和执行。


在阅读以下作为非限制性实例给出的本发明优选实施例描述以及附图之后,本发明的其它特征和优点将变得清晰,在附图中图1示出了根据本发明的无线电通信模块的特定实施例的简化图;图2示出了终端设备驱动无线电通信模块的现有技术操作;图3示出了根据本发明的无线电通信模块的第一实施例的操作,其中所述客户嵌入式软件起到客户驱动软件的作用;
图4至7中的每个示出了一种根据本发明的无线电通信模块的第二实施例的操作机制,其中所述客户嵌入式软件起到客户监控软件的作用,更为明确的是*图4示出了一种使得所述客户嵌入式软件能够过滤从所述客户外部软件始发指令的指令预分析机制;*图5示出了图4中的指令预分析机制的不同实施例,所述指令预分析机制使得所述客户嵌入式软件能够侦查从所述客户外部软件始发的指令;*图6示出了一种响应预分析机制,所述响应预分析机制使得所述客户嵌入式软件能够过滤用于所述客户外部软件的响应;*图7示出了图6中响应预分析机制的变化,所述响应预分析机制使得所述客户嵌入式软件能够侦查用于所述客户外部软件的响应。
具体实施例方式
因此,本发明涉及使用同一组资源(处理器和存储器)来宿留和执行主软件和至少一个客户嵌入式软件的无线电通信模块。
根据惯例,通常是所述的主软件(例如“GSM软件”)执行无线电通信功能并包括执行驱动指令(由客户驱动软件发送至所述的主软件)的单元。
所述客户嵌入式软件(特定于本发明的概念)可作为客户驱动软件(以下参照图3来描述的本发明第一实施例),如/或客户监控软件(以下参照图4至7来描述的本发明第二实施例)。
在本说明书的剩余部分中,假定所述驱动指令为AT指令。但是,本发明显然并不仅限于此类驱动指令。
在图1所示的特定实施例中,所述的主软件3包括尤其是基于一组执行函数的主应用3a,每个所述执行函数都能够执行至少一个AT指令。
此外,所述客户嵌入式软件6包括尤其基于一组源函数的客户应用6a,每个所述的源函数都能够发送AT指令到主应用1a,或是从所述应用接收AT指令;接口应用6b,能够将(所述客户主应用6a的)源函数与(主应用3a的)执行函数接口。
所述客户嵌入式软件6和所述客户主软件3通过分别使用API层,即参考61和31来相互通信。应当注意的是,术语API(应用程序接口)代表接口。它是对应于特定功能装配的通信规则的描述。
在所述客户嵌入式软件6内,所述API层(嵌入式)61包括-在所述客户嵌入式应用6a内*形成将被在所述客户嵌入式应用内定义的接口描述功能的“应用必备API”部分;-在所述接口应用(或所述接口应用程序库)6b内以下三部分-形成到ATI指令接入的接口描述的“AT指令API”部分,所述接口描述功能位于所述应用接口程序库内;-形成到操作系统功能接入的接口描述的“OS API”,所述接口描述功能位于所述应用接口程序库内;-形成到标准功能接入的接口描述的“标准API”,所述接口描述功能位于所述应用接口程序库内。
在所述的主软件3内的主应用3a中,所述API层(出口的)包括“AT指令API”部分,其与所述客户嵌入式应用6内所述API层61(嵌入式)中包括的具有相同名称的部分类似;“OS API”部分,其与所述客户嵌入式应用6内所述API层61(嵌入式)中包括的具有相同名称的部分类似。
所述的主应用3a形成所述的主软件3的核心,而所述客户应用6a以及接口应用6b形成所述客户嵌入式软件6的核心60。
所述接口应用6b是能够实现两个独立软件实体(或二进制实体,即所述客户应用6a和主应用3a。例如,它们采取(已编译)程序库的形式。)之间的对话的软件实体。
所述客户嵌入式软件和主软件都使用相同RAM的不同部分。所述客户定义正确执行所述客户嵌入式软件必须的存储组件的大小。所述两个软件程序中的一个尝试接入为另一软件保留的RAM部分将终止操作。
以下将参照图3来描述其中所述客户嵌入式软件起到客户驱动软件作用的本发明第一实施例。
通常包括在无线电通信模块内并在以上参照图2(现有技术)描述的单元具有相同的参考数字。因此,所述无线电通信模块1宿留和执行尤其包括执行AT指令的单元的主软件3。
此外,根据本发明第一实施例以及以上参照图1所做的描述,无线电通信模块1宿留并同样执行客户嵌入式软件6,所述客户嵌入式软件6起到客户驱动软件的作用,尤其包括客户嵌入式应用6a以及接口应用6b。
可如下总结本发明第一实施例的操作步骤“1”所述客户嵌入式应用6a调用源函数(“wm_atSendCommand”)以发送一个或多个AT指令至所述执行单元4(包括在所述的主软件内)。所述的源函数将在本说明书的剩余部分内详细描述;步骤“2”所述接口应用6b调用所述执行单元4(包括在所述的主软件3内)中的适当(多个)执行函数;步骤“3”所述执行单元4执行所述AT指令;步骤“4”在执行之后,所述执行单元4发送AT响应至所述客户嵌入式应用6a(如果先前发送的指令被配置为执行该功能);步骤“5”所述的一个或多个响应由所述客户嵌入式应用6a内的所述接口应用6b发送,所述接口应用6b调用用于处理来自所述主软件的消息的源函数(“wm_apmAppliParser”)。包括上述响应的消息是所述的源处理函数的参数。所述的源函数将在本说明书的剩余部分内详细说明;步骤“6”所述的源处理函数在所述客户嵌入式应用6a内处理所述响应。
以下将结合图4至7来说明本发明的第二实施例,其中所述客户嵌入式软件起到所述客户监控软件的作用。
在所述第二实施例中,所述无线电通信模块并不是独立的(与第一实施例中不同),而是由与所述无线电通信模块协作的终端设备控制。因此,该配置与以上结合图2描述的现有技术相同(相同的单元以相同参考数字表示)。换言之,客户外部应用(客户驱动软件)2发送AT指令到主软件3,以使所述AT指令可由所述的主软件3执行。
根据本发明第二实施例,所述无线电通信模块1还宿留和执行客户嵌入式软件6,所述客户嵌入式软件6起到客户监控软件的作用,尤其包括客户嵌入式应用6和接口应用6b。所述客户嵌入式软件监控通过使用主软件6内包括的执行单元4对于所述客户外部应用2而言透明地执行(或不执行)AT指令。
所述客户嵌入式软件6(监控软件)可能会判定尤其在所述无线电通信模块内使用以下机制用于所述客户外部应用(客户驱动软件)2所发送的指令的AT指令预分析和处理机制。建议了该机制的三种变化实施例,主软件3根据所述实施例发射其接收的AT指令;仅发射到所述执行单元4(第一变化),或仅发射到所述客户嵌入式软件6(第二变化),或发射至两者(第三变化)。
由所述执行单元4(包括在所述的主软件3内)执行AT指令产生的AT响应预分析和处理机制。例如,建议了该机制的三种变化实施例,由主软件3生成的AT响应根据其仅被发射到客户外部应用2(第一变化),或仅被发射到所述客户嵌入式软件6(第二变化),或被发射到两者。
应当注意的是,上述两种机制(分别用于AT指令和AT响应)中每一个的第一变化都意味着所述客户嵌入式软件6可能判定在某些时候完全被动。因此,它们对应于如以上结合图2描述的无线电通信模块的常规操作,不再赘述。
以下将参照图4来描述使得所述客户嵌入式软件6过滤从所述客户外部应用2始发AT指令的所述AT指令预分析和处理机制的第二变化。
可以顺序执行的两个阶段来总结所述AT指令预分析和处理机制的第二变化的操作,即其中所述客户外部应用2选择(第二)AT指令预分析政策的前一阶段,AT指令根据所述政策仅被转发到所述客户嵌入式软件6,以及根据所述“第二”所选择指令预分析政策来处理由所述客户外部应用2发送的AT指令的处理阶段。
选择所述第 AT指令预分析政策的所述初始阶段包括以下步骤步骤“1”所述客户嵌入式应用 6a调用源函数(“wm_at_CmdPreParserSubscribe”),以向主软件3注册AT指令预分析业务,该注册函数的参数指示所述第二AT指令预分析政策的选择。所述的源函数将在本说明书的剩余部分内详细说明;步骤“2”所述接口应用6b调用所述的主软件3内的(多个)适当执行函数,所述执行函数是用于注册所述AT指令预分析业务的函数;步骤3”所述的主软件3通过所述接口应用6b准备所述客户嵌入式应用6a请求的注册。
为了简单起见,假定在本说明书的剩余部分内(并如图4所示),用于注册AT指令预分析业务的(多个)函数包括在主软件3中执行AT指令的单元4内。
同样为了简化的原因,假定在本说明书的剩余部分内(并如图4所示),所述指令预分析单元(以下讨论)包括在主软件3内的AT指令执行单元4中。
所述AT指令处理阶段包括以下步骤步骤“4”所述客户外部应用2发送AT指令到所述的主软件3;步骤“5”串行链路5将所述AT指令发送至包括在所述执行单元4(其自身包括在主软件3内)中的指令预分析单元,并根据所述第二AT指令预分析政策(在前一阶段内选择)来操作;步骤“6”所述AT指令仅被发射到所述客户嵌入式软件6,而未由所述执行单元4执行;步骤“7”所述AT指令由所述接口应用6b发送,所述接口应用6b调用所述客户嵌入式应用6a内用于处理来自主软件的消息的(“wm_apmAppliParser”)源函数,在这种情况下,所述的源函数由包括所述AT指令并指示所述AT指令为“原始”AT指令的消息配置;步骤“8”所述客户嵌入式应用6a内的源处理函数处理所述AT指令。
例如,所述处理包括重新发送所述AT指令到执行单元4(使用以上结合图3描述的对应于本发明第一实施例的机制)。它还可能包括由所述客户嵌入式软件6自身任意提供响应,而无需执行所述AT指令。在这种情况下,所述客户嵌入式软件6考虑至少一项关于相关AT指令的信息(指令类型、参数的性质等)。通常应当理解的是,所述客户嵌入式软件6“过滤”所述AT指令,而无视所执行的处理。
以下将结合图5来描述使得所述客户嵌入式软件6能够侦查来自于所述客户外部应用2的AT指令的AT指令预分析和处理机制的第三变化。
同样可以两个连续阶段来总结所述AT指令预分析和处理机制的第三变化的操作,即其中所述客户外部应用2选择“第三”AT指令预分析政策的初始阶段,根据所述预分析政策,AT指令不仅被发送到所述客户嵌入式软件6,还被发送至所述执行单元(包括在所述的主软件3内),以及用于根据所述“第三”所选择指令预分析政策来处理由所述客户外部应用2发送的AT指令的处理阶段。
所述第三变化的操作与第二变化的操作差别甚微,主要在于在初始阶段的步骤“1”内,所述客户嵌入式应用6a选择第三(而非第二)AT指令预分析政策;在处理阶段的步骤“6”内,所述AT指令被发送至所述执行单元4,且所述AT指令的拷贝被发送至所述客户嵌入式软件6;在处理阶段的步骤“8”内,所述客户嵌入式应用6a内的源处理函数处理所述AT指令的拷贝;所述处理阶段还包括其中主软件3内包括的所述执行单元4执行所述AT指令的步骤“7”。
以下将参照图6来描述所述客户嵌入式软件6用于过滤发送至所述客户外部应用2的AT响应的AT响应预分析和处理机制的第二变化。
可以顺序执行的两个阶段来总结所述AT响应预分析和处理机制的第二变化的操作,即其中所述客户外部应用2选择(第二)AT响应预分析政策的初始阶段,根据所述预分析政策,由所述的主软件3生成的响应仅被发送至所述客户嵌入式软件6;根据“第二”所选择响应预分析政策来处理由主软件3生成的AT响应的处理阶段。
选择所述第二AT响应预分析政策的所述初始阶段包括以下步骤步骤“1”所述客户嵌入式应用6a调用源函数(“wm_atRspPerParserSubscribe”),以向主软件3注册AT响应预分析业务,该注册函数的参数指示所述第二AT响应预分析政策的选择。所述的源函数将在本说明书的剩余部分内详细说明;步骤“2”所述接口应用6b调用所述的主软件3内的(多个)适当执行函数,所述执行函数是用于注册所述AT响应预分析业务的函数;步骤“3”所述的主软件3通过所述接口应用6b准备所述客户嵌入式应用6a请求的注册。
为了简单起见,假定在本说明书的剩余部分内(如图6所示),主软件3中用于注册AT响应预分析业务的函数包括在AT指令执行单元4内。
同样为了简化的原因,假定在本说明书的剩余部分内(并如图所示),所述响应预分析单元(以下讨论)包括在主软件3内的AT指令执行单元4中。
所述AT响应处理阶段包括以下步骤步骤“4”所述客户外部应用2发送AT响应到所述的主软件3;步骤“5”串行链路5将所述AT指令发送至所述执行单元4(包括在主软件3内)中;步骤“6”所述执行单元4执行所述AT指令并生成AT响应;步骤“7”所述执行单元4内包括的根据所述第二AT响应预分析政策(在前一阶段中选择的)操作的响应预分析单元发送所述AT响应至所述客户嵌入式软件6;步骤“8”所述AT响应由所述接口应用6b发送,所述接口应用6b调用所述客户嵌入式应用6a内的源函数(“wm_apmAppliParser”)并提供对于来自主软件的消息的处理,在这种情况下,所述的源函数尤其被以包括所述AT响应并指示所述AT响应为“原始”AT响应的消息配置;步骤“9”所述的源处理函数在所述客户嵌入式应用6a内处理所述AT响应。在这种情况下,其被称为所述客户嵌入式软件“过滤”AT响应。
以下将结合图7来描述使得所述客户嵌入式软件6侦查发送到所述客户外部应用2的AT响应的AT响应预分析和处理机制的第三变化。
同样可以两个连续阶段来总结所述AT响应预分析和处理机制的第三变化的操作,即其中所述客户外部应用2选择(第三)AT响应预分析政策的初始阶段,根据所述预分析政策,AT响应不仅被转发到所述客户嵌入式软件6,还被转发至所述客户外部应用2,以及用于根据所述(第三)所选择响应预分析政策来处理由所述的主软件3生成的AT响应的处理阶段。
所述第三变化的操作与第二变化的操作差别甚微,主要在于在初始阶段的步骤“1”内,所述客户嵌入式应用6a选择第三(而非第二)AT响应预分析政策;在处理阶段的步骤“7”内,所述AT响应被发送至所述客户外部应用2,且所述AT响应的拷贝被发送至所述客户嵌入式软件6;在处理阶段的步骤“9”期间内,所述的源处理函数在所述客户嵌入式应用6a内处理所述AT响应的拷贝;所述处理阶段还包括其中所述响应被通过所述串行链路5发送的步骤“8”,以及其中所述客户外部应用接收并处理所述响应的步骤“9”。
附件1包括一些所述客户嵌入式应用所基于的源函数的详细说明。
例如,附件2包括以C语言编写的嵌入式应用的应用实例,所述嵌入式应用的目标是在每次初始化之后三秒发送AT13指令,以及将对象写入瞬时存储器。
作为选择,为了实现本发明的目的,除了标准AT指令之外还可以使用至少一种下述附加AT指令装入客户软件的指令(AT+WDWL),从而使得所述客户外部软件能够将新客户软件装入所述无线电通信模块;使得所述客户外部软件能够去激活所述客户嵌入式软件的去激活指令(AT+WOPEN)。
附件1所述客户嵌入式应用所基于的一些源函数的详细说明A1)“wm apmAppliParser”用于处理来自主软件的消息的函数。形成该处理函数的参数的消息尤其包括AT指令或对于AT指令的响应。
准确名称bool wm_apmAppliParser(wm_apmMsg_t*Message);参数Message所述消息结构对于每一类型的所接收消息而言都是不同的Typedef struct{S16 MsgTyp;/*“MsgTyp”是用于确定所述消息主体的相关结构的所接收消息类型*/wm_apmBody_Body;/*“Body”是特定消息主体*/}wm_apmMsg_t“MsgTyp”的值WM_AT_SEND_RSP该消息包括对于先前由所述客户嵌入式软件发送至主软件的AT指令的响应WM_AT_UNSOLICITED该消息包括主动提供的AT指令WM_AT_CMD_PRE_PARSER该消息包括客户外部软件通过主软件发送的AT指令。
WM_AT_RSP_PRE_PARSER该消息包括由所述的主软件执行从外部应用始发的AT指令产生的AT响应。
W_M_OS_TIMER该消息在超时期满时发送。
主体结构是<pre listing-type="program-listing">typedef union{/*以下包括所有与“MsgTyp”相关的特定结构*/消息类型/*WM_AT_SEND_RSP*/wm_atResponse_t ATResponse;/*WM_AT_UNSOLICITED*/wm_atUnsolicited_t ATUnsolicited;/*WM_AT_CMD_PRE_PARSER*/wm atCmdPreParser tATCmdPreParser;;/*WM_AT_RSP_PRE_PARSER */wm_atRspPreParser_tATRspPreParser/*WM_OS_TIMER*/wm_osTimer_t OSTimer;}wm_apmBody_t;</pre>主体的子结构如下WM_AT_SEND_RSP的主体<pre listing-type="program-listing">typedef struct{wm_atSendRspType_e Type;u16 Strlength;/*strData的长度*/char StrData[1];/*AT响应*/}wm_atResponse_t;typedef enum {WM_AT_SEND_RSP_TO_EMBEDDED,WM_AT_SEND_RSP_TO_EXTERNAL,WM AT SEND RSP BROADCAST,&lt;!-- SIPO &lt;DP n="18"&gt; --&gt;&lt;dp n="d18"/&gt;}wm_atSendRspType_e;(见用于描述“wm_atSendRspType_e描述”的“wm_atSendCommand”函数的细节)</pre>WM_AT_UNSOLICITED的主体<pre listing-type="program-listing">typedef struct{wm_atUnsolicited_eType;u16 Strlength;char StrData[1]}wm_atUnsolicited_t;typedef enum {WM_AT_UNSOLICITED_TO_EXTERNAL,WM_AT_UNSOLICITED_TO_EMBEDDED,WM_AT_UNSOLICITED_BROADCAST,}wm_atUnsolicited_e;(见用于描述“wm_atUnsolicited_e”的“wm_atUnsolicitedSubscription”函数的细节)</pre>WM_AT_CMD_PRE_PARSER的主体<pre listing-type="program-listing">typedef struct{wm_atCmdPreSubscribe_eType;u16 Strlength;char StrData[1]}wm_atCmdPreParser_t;typedef enum{WM_AT_CMD_PRE_WAVE_COM_TREATMENT,/*Defaultvalue*/WM_AT_CMD_PRE_EMBEDDED_TREATMENT,WM_AT_CMD_PRE_BROADCAST,}wm_atCmdPreSubscribe_e;(见用于描述“wm_atCmdPreSubscribe e”的&lt;!-- SIPO &lt;DP n="19"&gt; --&gt;&lt;dp n="d19"/&gt;“wm_atRspPreParserSubscribe”函数的细节)。</pre>WM_AT_RSP_PRE_PARSER的主体<pre listing-type="program-listing">typedef struct{wm_atRspPreSubscribe_eType;u16 Strlength;char StrData[1];}wm_atRspPreParser_t;typedef enum{WM_AT_RSP_PRE_WAVECOM_TREATMENT,/*Defaultvalue*/WM_AT_RSP_PRE_EMBEDDED_TREATMENT,WM_AT_RSP_PRE_BROADCAST,}wm_atRspPreSubscribe_e;(见用于描述“wm_atRspPreSubscribe_e”的“wm_atRspPreParserSubscribe”函数的细节)。</pre>WM_OS_TIMER的主体typedef strct{u8 Ident;/*Timeout idenfier*/}wm_osTimer_t;(见用于描述“Ident”的“wm_osStartTimer”函数的细节)所返回的参数返回参数指示所述消息是(TURE)否(FALSE)被处理。
A2)“wm atSendCommand”用于将至少一个AT指令发送至所述的主软件的函数,其中一个参数指示执行所述AT指令所产生的响应的目的地软件(即客户嵌入式软件和/或客户外部软件)。
准确名称Void wm_atSendCommand(u16AtStringSize
wm_atSendRspType_e Responsetype,char*AtString,);参数AtString该参数可能是使用ASCII字符的任何类型的AT指令字符串。若干字符串可能被同时发送。
AtStringSize先前参数AtString的尺寸。
ResponseTypeResponsetypeTypedef enum {WM_AT_SEND_RSP_TO_EMBEDDED,/*Default value*/WM_AT_SEND_RSP_TO_EXTERNAL,WM_AT_SEND_RSP_BROADCAST,}wm_atSendRspType_e;WM_AT_SEND_RSP_TO_EMBEDDED所有响应都被改发到所述客户嵌入式应用。这是缺省模式。
WM_AT_SEND_RSP_TO_EXTERNAL所有响应都被改发至所述客户外部应用(PC)。
WM_AT_SEND_RSP_BROADCAST所有响应都被改发(广播)至所述客户嵌入式应用以及所述客户外部应用(PC)。
A3)“wm AtUnsolicitedSubscription”向主软件注册接收主动提供的AT指令的业务的注册函数,其中一个参数指示每个所述主动提供的AT指令必须被广播到的目的地软件(即所述客户嵌入式软件和/或所述客户外部软件)。
准确名称Voidwm_atUnsolicitedSubscription(wm_atUnsolicited_eUnsolicited);
参数Unsolicited该参数描述在主动提供的AT指令到达时所执行的动作。
Typedef enumWM_AT_UNSOLICITED_TO_EXTERNAL,/*Default value*/WM_AT_UNSOLICITED_TO_EMBEDDED,WM_AT_UNSOLICITED_BROADCAST,}wm_atUnsolicited_e;WM_AT_UNSOLICITED_TO_EXTERNAL所有主动提供的指令都将被广播至所述客户外部应用(PC)(缺省值)。
WM_AT_UNSOLICITED_TO_EMBEDDED所有主动提供的指令都将被广播至所述客户嵌入式应用。
WM_AT_UNSOLICITED_BROADCAST所有主动提供的指令都将被广播至所述客户外部应用(PC)以及所述客户嵌入式应用。
A4)“wm atCmdPreParserSubscribe”向主软件注册AT指令预分析业务的注册函数,其中一个参数指示每个从外部应用始发的AT指令必须被指向的目的地应用(即所述主软件和/或所述客户嵌入式软件)。
准确名称Voidwm_atCmdPreParserSubscribe(wm_atCmdPreSubscribe_e SubscribeType);参数SubscribeType该参数描述在AT指令到达时所执行的动作Typedef enumWM_AT_CMD PRE WAVECOM TREATMENT,/*Defaultvalue*/WM_AT_CMD_PRE_EMBEDDED_TREATMENT,WM_AT_CMD PRE_BROADCAST,}wm_atCmdPreSubscribe_e;WM_AT_CMD_PRE_WAVECOM_TREATMENT所述客户嵌入式应用并不愿意过滤(或侦查)所述客户外部应用所发送的指令(缺省模式)。
WM_AT_CMD_PRE_EMBEDDED_TREATMENT,所述客户嵌入式应用愿意过滤所述客户外部应用所发送的指令。
WM_AT_CMD_PRE_BROADCAST所述客户嵌入式应用愿意侦查所述客户外部应用所发送的指令。
A5)“wm atRspPreParserSubscribe”向所述的主软件注册AT响应预分析业务的注册函数,其中一个参数指示从所述外部应用始发的每个AT响应都必须被指向的目的地软件(即所述客户外部软件和/或所述客户嵌入式软件)。
准确名称Void wm_atRspPreParserSubscribe(wm_atRspPreSubscribe_eSubscribeType);参数SubscribeType该参数描述在AT指令到达时所执行的动作TypedefenumWM_AT_RSP_PRE_WAVECOM_TREATMENT,/*DEFAULTVALUE*/WM_AT_RSP_PRE_EMBEDDED_TREATMENT,WM_AT_RSP_PRE_BROADCAST,}wm_atRspPreSubscribe_e;
WM_AT_RSP_PRE_WAVECOM_TREATMENT所述客户嵌入式应用并不愿意过滤(或侦查)被发送至所述客户外部应用的响应(缺省模式)。
WM_AT_RSP_PRE_EMBEDDED_TREATMENT所述客户嵌入式应用愿意过滤被发送到所述客户外部应用的响应。
WM_AT_RSP_PRE_BROADCAST所述客户嵌入式应用愿意侦查被发送到所述客户外部应用的响应。
A6)“wm atSepdRspExternalApp”用于将至少一个响应通过所述的主软件发送至所述客户外部软件的函数。仅在预先注册了尤其包括将响应的拷贝改发至所述客户嵌入式应用(主应用或次级应用)的响应预分析业务的情况下,方可使用该函数。
准确名称Viod wm_atSendRspExternalApp(u16 AtStringSize,Char*AtSting,);参数AtSting可能是ASCII字符的任何类型AT响应字符串。
AtStringSize先前参数AtString的尺寸A7)“DataFlowService”所述客户嵌入式软件在数据通信被建立之后通过所述主软件发送和/或接收数据的函数。
A8)“wm osStartTimer”起动超时的函数,所述启动函数的参数指示哪个超时将被起动。
A9)“wm osStopTimer”停止超时的函数,所述停止函数的参数指示哪个超时将被停止。
附件2客户嵌入式应用实例


权利要求
1.一种宿留和执行主软件型的无线电通信模块,所述主软件执行无线电通信功能,并包括执行驱动指令的单元,所述驱动指令由至少一个客户驱动软件发送至所述的主软件,并属于预定驱动指令组,其特征在于,所述无线电通信模块还宿留和执行至少一个被称为客户嵌入式软件的客户软件,所述客户嵌入式软件和主软件包括使得所述客户嵌入式软件能够执行下述两种作用中的至少一种的单元-客户驱动软件的作用,所述客户驱动软件发送驱动指令到所述的主软件,并从所述的主软件接收由执行一些所述驱动指令产生的响应;-客户监控软件的作用,所述客户监控软件管理由客户驱动软件发送的驱动指令的执行,所述客户监控软件被称为客户外部软件,并且由与所述无线电通信模块协作的终端设备宿留和执行。
2.根据权利要求1的无线电通信模块,其特征在于,提供以下特征以使所述客户嵌入式软件起到客户驱动软件的作用-所述客户嵌入式软件包括发送驱动指令到所述主软件内包含的执行单元的单元;-所述主软件包括发送响应到所述客户嵌入式软件的单元,所述响应由所述主软件内包含的执行单元执行一些所述驱动指令产生;-所述客户嵌入式软件包括处理由所述主软件发送至所述客户嵌入式软件的响应的单元。
3.根据权利要求1至2中任何一个的无线电通信模块,其特征在于,提供以下特征以使所述客户嵌入式软件起到客户监控软件的作用-所述主软件包括将指令预分析为所确定预分析政策的函数的单元,以将所述驱动指令从所述客户外部软件发送至所述客户嵌入式软件和/或所述主软件内包含的执行单元;-所述客户嵌入式软件包括处理由所述预分析单元交换到所述客户嵌入式软件的驱动指令的单元。
4.根据权利要求3的无线电通信模块,其特征在于,所述客户嵌入式软件包括从一组预分析政策中选择由所述预分析单元应用的指令预分析政策的单元,所述预分析政策是-从所述客户外部软件始发的驱动指令仅被发送至所述主软件内的执行单元;-从所述客户外部软件始发的驱动指令仅被发送至所述客户嵌入式软件;-从所述客户外部软件始发的驱动指令被发送至所述主软件内的执行单元以及所述客户嵌入式软件。
5.根据权利要求3和4中任何一个的无线电通信模块,其特征在于,所述指令处理单元包括对于每个指令的至少一种判定,所述判定属于下述判定组-将所述驱动指令发送至所述主软件内包含的所述执行单元,所述客户嵌入式软件包括为此目的将驱动指令发送至所述执行单元的单元;-提供或不提供仅作为关于所述指令的至少一个信息项的函数的响应,而无需执行所述指令,所述客户嵌入式软件包括为此目的将所述响应通过所述主软件发送至所述客户外部软件的单元。
6.根据权利要求1至5中任何一个的无线电通信模块,其特征在于,为使所述客户嵌入式软件能够起到客户监控软件的作用-所述主软件包括将响应预分析为所确定响应预分析政策的函数的单元,以将由所述主软件内包括的所述执行单元执行一些所述驱动指令所产生的响应发送至所述客户嵌入式软件和/或所述客户外部软件;-所述客户嵌入式软件包括处理由所述响应预分析单元交换到所述客户嵌入式软件的响应的单元。
7.根据权利要求6的无线电通信模块,其特征在于,所述客户嵌入式软件包括从一组响应预分析政策中选择由所述响应预分析单元应用的响应预分析政策的单元,所述响应预分析政策是-从所述执行单元始发的响应仅被发送至所述客户外部软件;-从所述执行单元始发的响应仅被发送至所述客户嵌入式软件;-从所述执行单元始发的响应被发送至所述客户嵌入式软件以及所述客户外部软件。
8.根据权利要求6和7中任何一个的无线电通信模块,其特征在于,所述无线电通信模块包括在属于以下设备组的设备内-无线电通信终端;-需要无线通信特征的除无线电通信终端之外的设备;-调制解调器。
9.根据权利要求1至7中任何一个的无线电通信模块,其特征在于,所述主软件包括至少一个尤其基于一组执行函数的主应用,每个所述执行函数都能够执行至少一个所述驱动指令,所述客户嵌入式软件包括一个尤其基于一组源函数的客户应用,每个所述源函数都能够发送至所述主应用或从所述主应用接收驱动指令或是对于驱动指令的响应,所述主软件和/或所述客户嵌入式软件包括用于接口所述源函数与所述执行函数的应用接口。
10.根据权利要求1至9中任何一个的无线电通信模块,其特征在于,所述客户嵌入式软件包括一个尤其基于一组源函数的客户应用,每个所述源函数都能够发送到所述主应用或从所述主应用接收驱动指令或是对于驱动指令的响应,所述源函数组尤其包括用于处理从所述主软件始发消息的函数(“wm_apmAppliParser”),所述消息是所述处理函数的参数。
11.根据权利要求10的无线电通信模块,其特征在于,形成所述处理函数参数的所述消息的结构包括-第一字段,其包括与所述消息的类型相关的信息;-第二字段,其包括所述消息的具体数据体。
12.根据权利要求11的无线电通信模块,其特征在于,所述消息类型属于以下消息类型组-包括对于先前由所述客户嵌入式软件发送至所述主软件的驱动指令的响应的消息;-包括主动提供的驱动指令的消息;-包括由客户外部软件通过所述主软件发送的驱动指令的消息;-包括由所述主软件执行驱动指令所产生的响应的消息;-在超时满期时发送的消息。
13.根据权利要求10至12中任何一个的无线电通信模块,其特征在于,所述源函数组还包括至少一个属于以下源函数组的源函数-(“wm atSendCommand”)函数,其用于将至少一个驱动指令发送至所述主软件,所述发送函数的第一参数为所述至少一个驱动指令,所述发送函数的第二参数指示由执行所述驱动指令产生的响应被发送至的目的地软件,即所述客户嵌入式软件和/或所述客户外部软件;-(“wm atUnsolicitedSubscription”)注册函数,其向所述主软件注册用于接收主动提供的驱动指令的业务,所述注册函数的一个参数指示每个所述主动提供的驱动指令将被改发至的目的地软件,即所述客户嵌入式软件和/或所述客户外部软件;-(“wm atCmdPreParserSubscribe”)注册函数,其向所述主软件注册驱动指令预分析业务,其中所述注册函数的一个参数指示从所述客户外部软件始发的每个驱动指令必须被指向的目的地应用,即所述的主软件和/或所述客户嵌入式软件;-(“wm atRspPreParserSubscribe”)注册函数,其向所述主软件注册响应预分析业务,其中所述注册函数的一个参数指示所述主软件执行驱动指令所产生的每个响应必须被指向的目的地应用,即所述客户外部应用和/或所述客户嵌入式软件;-(“wm atSendRspExternalApp”)函数,其用于将至少一个响应通过所述主软件发送至所述客户外部软件,所述发送函数的一个参数为所述至少一个响应。
14.根据权利要求1至13中任何一个的无线电通信模块,其特征在于,所述客户嵌入式软件与所述主软件中的每一个使用RAM的不同部分,且所述两个软件程序中的一个尝试接入为另一软件保留的RAM部分将停止操作。
15.根据权利要求1至14中任何一个的无线电通信模块,其特征在于,所述的一组驱动指令是一组标准AT指令。
16.根据权利要求15的无线电通信模块,其特征在于,除了标准AT指令之外,所述驱动指令组还包括附加的AT指令(AT+WDWL),所述的附加AT指令(AT+WDWL)用于装入客户软件,使得所述外部客户软件能够将新客户软件装入所述无线电通信模块。
17.根据权利要求15和16中任何一个的无线电通信模块,其特征在于,除了标准AT指令之外,所述驱动指令组还包括被称为去激活指令的附加AT指令(AT+WOPEN),所述的附加AT指令(AT+WOPEN)使得所述客户外部软件能够去激活所述客户嵌入式软件。
18.一种用于实施驱动无线电通信模块的客户软件的进程,所述无线电通信模块是宿留和执行主软件型无线电通信模块,所述主软件执行无线电通信功能,其包括执行驱动指令的单元,所述驱动指令由所述客户驱动软件发送至所述主软件,并属于预定驱动指令组,其特征在于,所述无线电通信模块还宿留和执行至少一个被称为客户嵌入式软件的客户软件,以及所述客户嵌入式软件和主软件相互对话,从而使得所述客户嵌入式软件执行下述两种作用中的至少一种-所述客户驱动软件的作用,所述客户驱动软件发送驱动指令到所述主软件,并从所述主软件接收由执行一些所述驱动指令所产生的响应;-客户监控软件的作用,所述客户监控软件管理由所述客户驱动软件发送的驱动指令的执行,所述客户驱动软件被称为客户外部软件,由与所述无线电通信模块协作的终端设备宿留和执行。
全文摘要
本发明涉及一种无线电通信模块,所述无线电通信模块宿留和执行尤其提供无线电通信功能的主软件。所述主软件包括用于执行驱动控制的单元,所述驱动控制被发送至所述主软件,并属于预定驱动控制组。本发明特征在于,所述无线电通信模块还宿留和执行至少一个被称为机载客户软件的客户软件。所述机载客户软件以及主软件包括使得所述机载客户软件起到至少一项下述所用的单元驱动客户软件,其发送驱动控制到所述的主软件,并从所述的主软件接收由执行一些所述驱动控制产生的响应;监控客户软件,其管理与所述无线电通信模块协作的第三方设备宿留和执行的称为外部客户软件的驱动客户软件所发送驱动控制的执行。
文档编号G06F9/46GK1498509SQ02807071
公开日2004年5月19日 申请日期2002年3月22日 优先权日2001年3月22日
发明者雅克·蒙泰斯, 雅克 蒙泰斯 申请人:维夫康姆公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1