一种终端设备和终端适配器间处理at命令的方法

文档序号:7629024阅读:103来源:国知局
专利名称:一种终端设备和终端适配器间处理at命令的方法
技术领域
本发明涉及一种终端设备和终端适配器间处理AT命令的方法,特别是涉及一种终端设备和终端适配器间并发处理AT命令的方法。
背景技术
AT(Attention,TE到TA命令的起始的2个字符)命令用于在TE(TerminalEquipment,终端设备)和TA(Terminal Adaptor,终端适配器)间实现控制,一般由TE向TA发起一个AT命令,TA将命令解析、执行后返回对该AT命令的响应。以移动终端为例,移动终端可以看做是结合TA和MT功能的实体,计算机可以看做TE。AT命令一般通过串口通讯来完成,一条AT命令的处理过程可以看作是一次会话,如图1所示。
通用的AT命令处理机制如图2所示,TA从串行设备读取数据,然后交给AT命令分析器,AT命令分析器分析读取的数据,判断数据是否是AT命令,如果是的话,那么判断出是哪一条AT命令,再交给相应的AT命令处理器。AT命令处理器根据命令的参数执行预先设定的操作,待操作完成后再把结果返回到串行设备。可以看出,这是一个串行化的流程。随着计算机和通信技术的发展,TE和TA间的物理接口也多种多样,现在应用比较广泛的有USB(Universal Serial Bus,通用串行总线)、PCMCIA(Personal Computer Memory Card International Association,个人计算机存储卡国际协会)等接口。在这些接口上,可以支持复合设备,即可以在一个物理接口上支持若干个子设备。比如,一个USB的无线modem(MOdulator/DEModulator,调制解调器)网卡可能会在计算机里映射成一个modem子设备和若干个串口子设备的复合设备。那么TE和TA可能会同时利用这几个子设备进行通讯,更进一步,TE和TA可能会同时利用这几个子设备进行AT命令的通讯。一个现实的例子是,计算机在modem口上利用AT命令进行上网连接,同时在一个串口上利用AT命令进行读取信号强度的操作。
AT命令分析器、AT命令处理器在逻辑上都是串行处理的,没有办法同时处理来自多个端口并发的AT命令。所以一般的做法是在一个端口上应用AT命令,而在别的端口上使用别的会话协议。这样的方法可以满足上述的并发业务需求,但是需要定义另一套会话协议,既带来了开发工作量的增加,在通用性上也不好。

发明内容
本发明所要解决的技术问题在于提供一种终端设备和终端适配器间处理AT的方法,克服了现有技术中的一个AT处理器只能对应一个端口的缺点(这里的端口可以是一个独立的串行设备,也可以是上述复合设备中的串行子设备),使其在功能上可以同时支持多个端口并发AT会话的请求。
为了实现上述目的,本发明提供了一种终端设备和终端适配器间处理AT命令的方法,其特点在于,利用设置在AT处理模块之前的一个具有将多端口并发的AT转换成单端口串行的AT功能的并/串转换器,当任何一个端口有数据时,该端口将数据送到该并/串转换器,进行分析、缓存,再交给AT处理模块处理,得到返回结果,并将返回结果发送回该并/串转换器,由该并/串转换器将结果输出到对应的端口,实现终端设备与终端适配器间AT的并发处理。
上述的终端设备和终端适配器间处理AT命令的方法,其特点在于,该方法包括如下步骤步骤一,在AT处理模块之前设置一个多端口并发的AT转换到单端口串行的AT的并/串转换器,用于维护一个端口状态,记录当前AT处理模块处理的是哪个端口的AT命令;步骤二,当任何一个端口有数据时,该端口将数据送到并/串转换器;步骤三,并/串转换器收到来自某个端口的数据时,如果端口状态为空,即没有任何一个端口的AT命令在处理,更新端口状态为发送相应数据的端口,然后将数据发送到AT处理模块处理;如果端口状态不为空,即有某个端口的AT命令在处理,则将这条AT命令缓存到一个对应此端口的缓冲区;步骤四,AT处理模块从并/串转换器接收到AT命令后,经过分析器和处理器,得到返回结果,并将结果发送回并/串转换器;步骤五,并/串转换器从AT命令模块收到返回结果后,根据端口状态的当前值,将返回结果发送到对应的端口,并将端口状态的值置为空;步骤六,当步骤五结束后,如果命令缓冲区均为空,则等待端口的数据;如果端口命令缓冲区不为空,则从不同端口的命令缓冲区中取出一条AT命令来执行,并将端口状态置为对应的端口。
上述的终端设备和终端适配器间处理AT命令的方法,其特点在于,在步骤六中,该并/串转换器根据优先级高低原则从不同端口的命令缓冲区中取出一条AT命令来执行。
采用本发明所述方法,与现有技术相比,既满足并发业务的需求,又无需重新定义一套会话协议,节省了开发时间,并具有较好的通用性、标准性,可广泛应用于网络设备的应用中,如手机、网卡等产品。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1是现有技术中AT命令会话示意图;图2是现有技术中通用的AT命令的实现机制示意图;图3是本发明中在AT处理模块和两个串行设备间的并/串转换器的连接示意图;图4是本发明并/串转换器的工作流程是意图。
具体实施例方式
本发明的核心思想是使用一个软件的串并行转换器以及缓存机制,支持多个串行设备或者子设备并发AT会话的请求。
本发明的TE和TA间并发处理AT的方法包括以下工作步骤步骤一,设置一个多端口并发的AT转换到单端口串行的AT的并/串转换器,这个转换器维护一个端口状态,记录当前AT处理模块处理的是哪个端口的AT命令。
步骤二,当任何一个端口有数据时,该端口将数据送到并/串转换器。
步骤三,并/串转换器收到来自某个端口的数据时,如果端口状态为空,即没有任何一个端口的AT命令在处理,更新端口状态为发送相应数据的端口,然后将数据发送到AT处理模块处理;如果端口状态不为空,即有某个端口的AT命令在处理,则将这条AT命令缓存到一个对应此端口的缓冲区。
步骤四,AT处理模块从并/串转换器接收到AT命令后,经过分析器和处理器,得到返回结果,并将结果发送回并/串转换器。
步骤五,并/串转换器从AT命令模块收到返回结果后,根据端口状态的当前值,将返回结果发送到对应的端口,并将端口状态的值置为空。
步骤六,当步骤五结束后,如果命令缓冲区均为空,则等待端口的数据;如果端口命令缓冲区不为空,则可以根据优先级的原则或者其他原则从不同端口的命令缓冲区中取出一条AT命令来执行,并将端口状态置为对应的端口。
在本发明中,我们将这个并/串转换器命名为Serializer,在图3中有两个串行设备,但可以理解的是,本发明的方法并不限于两个设备,它可以扩展到多个设备上,这里用两个设备为的是更简单的说明问题。Serializer负责将从多个端口上来的数据进行分析、缓存,再交给AT处理模块处理,当AT处理模块处理结束后,再将结果返回给Serializer,由Serializer将结果输出到具体的某个端口上。因此,对AT处理模块来说,它看不到多个端口,它只能看到一个Serializer,从而实现对并发AT会话请求得处理。
下面将接合图4,详细说明本发明的Serializer的工作原理(1)Serializer维护一个状态which_port,记录当前AT模块处理的是哪个端口的AT命令,如null_port、PortA、PortB,等等。
(2)当任何一个端口有数据时,将数据送到Serializer。
(3)Serializer收到来自某个端口的数据时,如果which_port为null_port,即没有端口的AT命令在处理,更新which_port为发送相应数据的端口,然后将数据发送到AT处理模块处理。
(4)Serializer收到来自某个端口的数据时,如果which_port不为null_port,即有某个端口的AT命令在处理,则将这条AT命令缓存到一个对应此端口的缓冲区。
(5)AT处理模块从Serializer接收到AT命令后,经过分析器和处理器,得到返回结果,并将结果发送回Serializer。
(6)Serializer从AT处理模块收到返回结果后,根据which_port的当前值,将返回结果发送到对应的端口,并将which_port的值置为null_port。
(7)当(6)结束后,如果命令缓冲区均为空,则等待端口的数据。
(8)当(6)结束后,如果端口命令缓冲区不为空,则可以根据优先级的原则或者其他原则从不同端口的命令缓冲区中取出一条AT命令来执行,并将which_port置为对应的端口。
以上的整个工作流程可参考图4。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种终端设备和终端适配器间处理AT命令的方法,其特征在于,利用设置在AT处理模块之前的一个具有将多端口并发的AT转换成单端口串行的AT功能的并/串转换器,当任何一个端口有数据时,该端口将数据送到该并/串转换器,进行分析、缓存,再交给AT处理模块处理,得到返回结果,并将返回结果发送回该并/串转换器,由该并/串转换器将结果输出到对应的端口,实现终端设备与终端适配器间AT命令的并发处理。
2.根据权利要求1所述的终端设备和终端适配器间处理AT命令的方法,其特征在于,该方法包括如下步骤步骤一,在AT处理模块之前设置一个多端口并发的AT转换到单端口串行的AT的并/串转换器,用于维护一个端口状态,记录当前AT处理模块处理的是哪个端口的AT命令;步骤二,当任何一个端口有数据时,该端口将数据送到并/串转换器;步骤三,并/串转换器收到来自某个端口的数据时,如果端口状态为空,即没有任何一个端口的AT命令在处理,更新端口状态为发送相应数据的端口,然后将数据发送到AT处理模块处理;如果端口状态不为空,即有某个端口的AT命令在处理,则将这条AT命令缓存到一个对应此端口的缓冲区;步骤四,AT处理模块从并/串转换器接收到AT命令后,经过分析器和处理器,得到返回结果,并将结果发送回并/串转换器;步骤五,并/串转换器从AT命令模块收到返回结果后,根据端口状态的当前值,将返回结果发送到对应的端口,并将端口状态的值置为空;步骤六,当步骤五结束后,如果命令缓冲区均为空,则等待端口的数据;如果端口命令缓冲区不为空,则从不同端口的命令缓冲区中取出一条AT命令来执行,并将端口状态置为对应的端口。
3.根据权利要求2所述的终端设备和终端适配器间处理AT命令的方法,其特征在于,在步骤六中,该并/串转换器根据优先级高低原则从不同端口的命令缓冲区中取出一条AT命令来执行。
全文摘要
本发明涉及一种终端设备和终端适配器间处理AT命令的方法,利用设置在AT处理模块之前的一个具有将多端口并发的AT转换成单端口串行的AT功能的并/串转换器,当任何一个端口有数据时,该端口将数据送到该并/串转换器,进行分析、缓存,再交给AT处理模块处理,得到返回结果,并将返回结果发送回该并/串转换器,由该并/串转换器将结果输出到对应的端口,实现终端设备与终端适配器间AT的并发处理。本发明可以同时支持多个端口并发AT会话的请求,既满足并发业务的需求,又无需重新定义一套会话协议,节省了开发时间,并具有较好的通用性、标准性,具有广泛的应用性。
文档编号H04L29/06GK1992709SQ200510130749
公开日2007年7月4日 申请日期2005年12月27日 优先权日2005年12月27日
发明者张晓鹏, 刘三强, 车忠辉 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1