At指令处理装置及其方法

文档序号:7749846阅读:237来源:国知局
专利名称:At指令处理装置及其方法
技术领域
本发明涉及一种AT指令处理装置及其方法,特别是涉及一种基于AT指令发送,数据解析和应用处理任务相分离的AT指令处理装置及其方法,同时实现了一种基于 μ COS-Ii的超时机制的数据接收方法。
背景技术
由于GSM协议的规定,对无线模块执行AT指令后的回复消息中,各个指令没有统一的结束符,这给回复消息的解析添加了难度。传统的解析AT指令的方法是存储所有的发送AT指令返回的可能值,依据返回消息的换行结束符号来解析。由于应用中通常有大量的 AT指令,需要在程序中占用大量空间。同时,多路AT指令发送后,不同AT指令返回的不同行的数据存在混合的可能。

发明内容
本发明要解决的技术问题是为了克服现有技术中多路AT指令发送后,多路AT接收数据相混合的缺陷,提供一种增加接收AT回复数据的可靠性的AT指令处理装置及其方法。本发明是通过下述技术方案来解决上述技术问题的一种AT指令处理装置,其特点在于,其包括发送模块,用于发送AT指令,并且任何一个时刻只有一条AT指令被发送过;接收模块,用于接收并解析AT指令,并依据接收到字符的不同情况触发不同的应用层的任务;同时,接收模块还实现了一种基于μ COS-II的超时机制的数据接收方法。应用处理模块,用于AT指令中短信内容的解析,依据短信的不同内容执行相应的操作。较佳地,该装置为基于实时多任务操作系统的装置。较佳地,该实时多任务操作系统为yCOS-II。较佳地,所述AT指令包括GPRS以及TCP状态查询指令,发送以及读取短信指令, 发送TCP数据指令。本发明的另一技术方案为一种所述的装置的AT指令处理方法,其特点在于,其包括以下步骤S1、发送模块发送AT指令,并且任何一个时刻只有一条AT指令被发送过;&、接收模块接收并解析AT指令,并依据接收到字符的不同情况触发不同的应用层的任务;&、应用处理模块解析AT指令中的短信内容,依据短信的不同内容执行相应的操作。较佳地,步骤S1中,发送模块发送数据后,只有等待预定的超时间隔后,才发送下一条数据,以确保无线模块发送数据的结束。
较佳地,所述AT指令包括GPRS以及TCP状态查询指令,发送以及读取短信指令, 发送TCP数据指令。较佳地,步骤&中,接收AT指令的过程采用逐个字符接收的方式,基于硬件的中断判断到有数据后,利用信号量来通知接收模块。较佳地,步骤&中,接收模块通过信号量和邮箱来触发不同的应用层的任务。较佳地,步骤&中执行的操作包括依据短信内容控制LED的开关、开发板上的 LED的多路查询和控制。本发明的积极进步效果在于本发明采取逐个字符接收的方式来接收数据,主要应用基于μ COS-II的超时机制的数据接收,这一方法有别于传统的数据接收方式。本发明有效降低了 AT回复数据的丢失概率,增加接收AT回复数据的可靠性。进一步地,实现了在 μ COS-II下,AT指令发送和数据解析的完全分离。降低了接收数据中AT指令数据混合的可能性,降低了解析AT指令的复杂度。基于AT指令发送,数据解析和应用处理任务相分离的原则,同时给后续的应用添加留下了方便。


图1为本发明的AT指令处理装置的示意图。图2为本发明的AT指令处理方法的流程图。图3为本发明的各个任务之间的切换流程图。图4为本发明的基于μ COS-II的超时机制的数据接收流程图。
具体实施例方式下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。众所周知,在进行无线模块的开发时,需要利用MCU或单片机和无线模块之间进行通信。本发明就是基于此架构上的一种开发,本实施例中的MCU采用的是ARM。如图1所示,本发明的AT指令处理装置1,包括发送模块11,用于发送AT指令,并且任何一个时刻只有一条AT指令被发送过;接收模块12,用于接收并解析AT指令,并依据接收到字符的不同情况触发不同的应用层的任务;应用处理模块13,用于AT指令中短信内容的解析,依据短信的不同内容执行相应的操作。其中,所述的AT指令可以为GPRS以及TCP状态查询指令,发送以及读取短信指令,发送TCP数据指令。在本实施例中,采用了 μ COS-II作为实时操作系统,当然本领域技术人员也可采用其他类型的操作系统,它具有绝大部分实时操作系统具有的实时性,任务可抢占性,同时它具有更小的内存占用。在具体实现中,前述的模块对应操作系统的各个任务,比如所有的AT发送都放在任务A而任务B负责所有接收到的数据处理,解析都放在这个任务。任务C为应用任务,它用来处理短信相关的任务。任务B 通过信号量和邮箱来控制任务C,后续的应用可以通过添加单独任务的形式来实现,后续的任务统一和任务B来通信。图2为本发明的装置的AT指令处理方法,其包括以下步骤步骤101、发送模块发送AT指令,并且任何一个时刻只有一条AT指令被发送过。 其中,本实施例中因为采用的是μ cos-ii操作系统,通过μ cos-ii操作系统提供的超时等待机制,确保了发送数据后,只有等待超时之后(这个超时的时间可以经过测试确定,并且可以确保数据的完全接收),依此来判断对端(即无线模块发给ARM的数据)发送数据的结束;此后,发送模块才会发送下一条数据。本实施例中采取了发送一条数据,接收一条数据,再发送一条数据的原则。其中,超时接收数据和AT命令的互斥发送为本发明的关键技术手段所在。步骤102、接收模块接收并解析AT指令,并依据接收到字符的不同情况触发不同的应用层的任务;步骤103、应用处理模块解析AT指令中的短信内容,依据短信的不同内容执行相应的操作。上述步骤102 103在实际中的具体实现是本领域的现有技术,并非本发明的发明点所在。如图3所示,在具体的设计中,需要依据多种不同的情况发送多种AT指令如 GPRS以及TCP状态查询指令,发送以及读取短信指令,发送TCP数据指令等等。本实施例统一把这些指令放到拥有最高优先级的任务A中,通过各个应用中不断变化的状态标志位的互斥来保证,任何一个时刻任务A中只有一条AT指令刚刚被发送过。这样实现的策略也是基于以往的实验,大数据流量的AT指令混合发送的情况下,接收到的数据存在混合的情况,在这样的情况下解析接收数据是比较有难度的。把接收到的来自无线模块的数据的处理统一放在次高优先级的任务B中,接收的过程采用逐个字符接收的方式,采用串口的中断接收方式。一旦基于硬件的中断判断到有数据后,利用信号量来通知任务B,在一段时间接收不到数据后,系统超时返回,开始发送下一条AT指令。同时在任务B中,依据接收到字符的各种不同的情况通过信号量和邮箱来触发不同的应用层的任务,在本实施例的设计中是任务C。比如说ARM开发板从无线模块接收到字符“>”表示可以发送数据了,接收到“CMT”表示接收到了新的短信等等。同时,如果添加了新的AT发送命令,对于这类AT命令解析的,特别的判断统一放在任务B中。设计中任务C主要负责短信内容的解析,依据短信的不同内容来执行相应操作。 例如依据短信内容控制LED的开关等等。同时,在中断中还可以实现定时,在中断处理程序中置或者清相应的标志位,以此为依据来给TCP服务器发送数据。图3中的各任务切换的具体流程为步骤201,任务A通过邮箱挂起自身,并且通知任务B,一条AT指令已经被发送,准备接受数据。步骤202,任务B把接收到的数据以邮箱的形式发送给任务C,同时用信号量来挂起本身。步骤203,任务C以信号量的形式通知任务B,数据已经处理完成。挂起任务C,通知内核完成任务切换。步骤204,任务B通知任务A,数据已经接收完成,请求发送下一条AT指令,通知内核进行任务切换。图中英文短语为编程时自定义的名称,仅为举例而已。图4为本发明提出的一种新的数据接收方法。在ARM开发板的串口中断处理程序的接收中断中,给系统发送信号量。在接收函数中,应用μ COS-II的超时机制,当超过了一定的时钟周期后还是没有收到来自无线模块的字符后,同时ARM开发板的串口硬件FIFO还是为空的话,那么挂起接收任务(在本发明的系统中,这个时候将运行最高优先级别的任务A ;发送下一条AT指令)。在没有应用上述方法之前,传统的技术中,在多处或者多个地方发送AT指令后,前一条AT指令对应的接收数据经常和后一条AT指令对应的接收数据混合在一起;这时解析无线模块给出的数据是比较困难的,而且经常出现数据丢失现象。通过应用这种新的数据接收方法后,测试结果显示,相比其他方法,这种方法大幅度提高了数据接收可靠性,降低了丢失数据的概率。如图,具体流程如下
步骤301,操作系统初始化。步骤302,多任务环境创建。步骤303,目标板初始化。步骤304,μ COS-II系统等待超时后,还没有接收到字符则挂起接收任务(任务A 将运行)。步骤305,无线模块接收到一个字符后,发送信号量。其中,图中英文短语为编程时自定义的名称,仅为举例而已。本领域技术人员在测试本发明时,可以实现GPRS和TCP状态的实时检测,并有 BEEP提示;实现短信对ARM开发板上的LED的多路查询和控制;实现LED状态定时向PC端 TCP服务器的上报。具体测试的过程如下,1、把ARM开发板的一个串口和无线模块的开发板连接起来;2、把ARM开发板的另一个串口和PC连接起来,打开PC上串口接收工具,用以监视GPRS 状态和TCP状态;3、无线模块通过短信控制ARM开发板上的LED状态。查询时,短信回复。 4、定时上报LED状态给PC上的TCP服务器。通过测试可以实现本发明全部的功能,同时新的AT解析方法和架构,层次清晰, 降低了解析数据的复杂度,避免了通常会出现的接收到的AT数据混合的情况。同时给新的功能的添加留下了方便。虽然以上描述了本发明的具体实施方式
,但是本领域的技术人员应当理解,这些仅是举例说明。本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
权利要求
1.一种AT指令处理装置,其特征在于,其包括发送模块,用于发送AT指令,并且任何一个时刻只有一条AT指令被发送过; 接收模块,用于接收并解析AT指令,并依据接收到字符的不同情况触发不同的应用层的任务;应用处理模块,用于AT指令中短信内容的解析,依据短信的不同内容执行相应的操作。
2.如权利要求1所述的AT指令处理装置,其特征在于,该装置为基于实时多任务操作系统的装置。
3.如权利要求2所述的AT指令处理装置,其特征在于,该实时多任务操作系统为 μ COS-II。
4.如权利要求1所述的AT指令处理装置,其特征在于,所述AT指令包括GPRS以及 TCP状态查询指令,发送以及读取短信指令,发送TCP数据指令。
5.一种如权利要求1所述的装置的AT指令处理方法,其特征在于,其包括以下步骤 S1、发送模块发送AT指令,并且任何一个时刻只有一条AT指令被发送过;
6.接收模块接收并解析AT指令,并依据接收到字符的不同情况触发不同的应用层的任务; 应用处理模块解析AT指令中的短信内容,依据短信的不同内容执行相应的操作。 如权利要求5所述的AT指令处理方法,其特征在于,步骤S1中,发送模块发送数据后,只有等待预定的超时间隔后,才发送下一条数据,以确保无线模块发送数据的结束。
7.如权利要求5所述的AT指令处理方法,其特征在于,所述AT指令包括GPRS以及 TCP状态查询指令,发送以及读取短信指令,发送TCP数据指令。
8.如权利要求5所述的AT指令处理方法,其特征在于,步骤&中,接收AT指令的过程采用逐个字符接收的方式,基于硬件的中断判断到有数据后,利用信号量来通知接收模块。
9.如权利要求5所述的AT指令处理方法,其特征在于,步骤&中,接收模块通过信号量和邮箱来触发不同的应用层的任务。
10.如权利要求5所述的AT指令处理方法,其特征在于,步骤&中执行的操作包括依据短信内容控制LED的开关、开发板上的LED的多路查询和控制。
全文摘要
本发明公开了一种AT指令处理装置和方法,该装置包括发送模块,用于发送AT指令,并且任何一个时刻只有一条AT指令被发送过;接收模块,用于接收并解析AT指令,并依据接收到字符的不同情况触发不同的应用层的任务;同时实现了一种基于μCOS-II的超时机制的数据接收方法。应用处理模块,用于AT指令中短信内容的解析,依据短信的不同内容执行相应的操作。本发明有效降低了AT回复数据的丢失概率,增加接收AT回复数据的可靠性。进一步地,实现了在μCOS-II下,AT指令发送和数据解析的完全分离。降低了接收数据中AT指令数据混合的可能性,降低了解析AT指令的复杂度。基于AT指令发送,数据解析和应用处理任务相分离的原则,同时给后续的应用添加留下了方便。
文档编号H04W80/00GK102264047SQ20101018389
公开日2011年11月30日 申请日期2010年5月25日 优先权日2010年5月25日
发明者陈刚 申请人:芯讯通无线科技(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1