CN101155184A - 一种实现at命令转换的方法 - Google Patents
一种实现at命令转换的方法 Download PDFInfo
- Publication number
- CN101155184A CN101155184A CNA200610152249XA CN200610152249A CN101155184A CN 101155184 A CN101155184 A CN 101155184A CN A200610152249X A CNA200610152249X A CN A200610152249XA CN 200610152249 A CN200610152249 A CN 200610152249A CN 101155184 A CN101155184 A CN 101155184A
- Authority
- CN
- China
- Prior art keywords
- command
- response
- standard
- conversion table
- protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种实现AT命令转换的方法,采用包含标准AT命令集和协议栈AT命令集之间转换关系数据的数据库(11),应用在应用层软件和终端协议栈之间,包括:接收来自应用层软件的标准AT命令(41)、利用数据库(11)将标准AT命令转换为协议栈AT命令(43)向下发送;接收来自协议栈AT响应(44)、利用数据库(11)将协议栈AT响应转换为标准AT响应(42)向上传递。这种方法,将标准AT命令集和不同协议栈AT命令集进行转换,使应用层软件可使用统一的标准AT命令集,不再直接调用不同的协议栈AT命令集,解决了应用层软件兼容不同协议栈的问题,使应用层软件的通用性增强,并具有可靠性高、易于维护等特点。
Description
技术领域
本发明涉及计算机通讯终端应用,具体涉及一种实现AT命令转换的方法。
背景技术
Attention Commands命令,简称AT命令,由Hayes公司发明,现在已成为事实上的标准,比如:ITU-T V.250、3GPP 27.007、3GPP 27.005等协议,并被调制解调器制造商采用的一个字符形式的通信命令语言。目前,2G、3G的手机、无线网卡绝大多数都采用这种通信方式。
因为AT命令能够实现通信连接和数据传输控制,所以,在语音通信、数据通信、传真等领域都得到广泛的应用。在ITU、3GPP移动终端规范中给出了终端设备必须使用的AT命令,用以控制移动终端功能和GSM/UMTS网络服务。连接如图1、2或3所示,包括的①移动终端和②终端设备,其中:
①移动终端Mobile Termination,简称MT,MT端协议栈提供建立、保持和终止连接的功能,MT端协议栈包括GSM、TD-SCDMA和WCDMA协议栈。
②终端设备Terminal Equipment,简称TE,TE端的应用层软件提供用户界面,提供或接收用户数据和控制指令。
应用AT命令控制移动终端功能和GSM/UMTS网络服务,没有复杂的信令机制,指令简单,容易实现,TE端的应用层软件复杂度低,降低了开发难度。
但是每种MT端协议栈的并不一样,这样开发出来的应用层软件,存在以下一些问题:
1.每个MT端协议栈在开发的过程中,考虑到开发难度和进度,通常不会完全实现标准AT命令集的所有命令,导致标准实现不全。
2.协议栈实现过程中会根据自身情况加入一些非标准的扩展AT命令,有的是在标准AT命令的基础上扩展功能,有的用于实现特定的功能。因此,导致不同平台协议栈都有一套专用AT命令集,而且有时和标准AT命令集有相当的差异。
3.在此基础上开发的应用层软件直接与协议栈AT命令集交互。所以,在不同的协议栈基础上需要开发不同的应用层软件,工作量大,需要大量开发时间和资源,可靠性差,维护难度高。并且只能和相应的协议栈一起使用,很难移植到其它的协议栈,因而花费大量时间和资源开发出来的应用层软件通用性差,应用范围窄。
发明内容
本发明需要解决的技术问题是一种实现AT命令转换的方法,能够让应用层软件能使用统一的标准AT命令集,进一步解决通用性、可靠性和可维护的问题。
本发明的上述技术问题这样解决,提供一种实现AT命令转换的方法,采用包含标准AT命令集和协议栈AT命令集之间转换关系数据的数据库,应用在应用层软件和终端协议栈之间,包括以下并列步骤:
A)接收来自所述应用层软件的标准AT命令、利用所述数据库将标准AT命令转换为对应终端协议栈AT命令并向下发送;
B)接收来自所述协议栈AT响应、利用所述数据库将所述协议栈AT响应转换为对应标准AT响应并向上传递。
按照本发明提供的方法,所述数据库包括将标准AT命令转换成协议栈AT命令的下行转换表和将协议栈AT响应转换成标准AT响应的上行转换表。
按照本发明提供的方法,所述上行转换表、下行转换表和转换关系数据可编辑和增加。
按照本发明提供的方法,所述协议栈是一种以上,所述上行转换表和下行转换表可以是与所述协议栈一一对应的多张,所述步骤A)和B)中的转换还包括对所述终端协议栈进行识别并根据其识别结果选择对应的上行转换表或下行转换表进行转换。
按照本发明提供的方法,所述终端协议栈包括GSM、TD-SCDMA或WCDMA协议栈。
按照本发明提供的方法,所述下行转换表仅列出需要转换的标准AT命令,该方法还包括对未被列入所述下行转换表的标准AT命令直接向下发送。
按照本发明提供的方法,该方法还包括对未被列入所述下行转换表的扩展AT命令和不识别命令直接向下发送。
按照本发明提供的方法,所述步骤A)中采用AT命令队列,依次加入接收的所述命令并依序读出或读出转换所述AT命令队列中的命令成员并向下发送。
按照本发明提供的方法,所述上行转换表仅列出需要转换的AT响应,该方法还包括对未被列入所述上行转换表的AT响应、扩展AT响应和不识别响应直接向上传递。
按照本发明提供的方法,所述步骤B)中采用AT响应队列,依次加入接收的所述响应并依序读出或读出转换所述AT响应队列中的响应成员。
本发明提供的实现AT命令转换的方法,将标准AT命令集和不同协议栈AT命令集进行转换,使得应用层软件使用统一的标准AT命令集,不再直接调用这些不同的协议栈AT命令集,解决了应用层软件不能兼容不同协议栈的问题,使应用层软件的通用性大大增强,并具有通用性强、可靠性高、易于维护等特点。
附图说明
下面结合附图和具体实施例进一步对本发明进行详细说明。
图1是终端设备连接移动终端的示意图一。
图2是终端设备连接移动终端的示意图二。
图3是终端设备连接移动终端的示意图三。
图4是终端设备通过本发明标准AT命令转换系统连接移动终端的示意图。
图5是本发明标准AT命令转换系统的架构示意图。
具体实施方式
本发明方法可采用标准AT命令转换系统具体实现,其架构如图4所示,包括:
1、在协议栈之上构建标准AT命令转换系统1;使得应用层软件不直接与不同的协议栈交互,只和唯一的标准AT命令集交互。
2、本系统1内部主要功能模块划分为:应用层接口模块13、协议栈接口模块12、命令转换模块14、响应转换模块15和AT命令集数据库11。
3、应用层接口模块13是本系统1与上层应用层软件的接口。该模块提供了几个可被调用的系统平台函数和一个响应缓冲区,用于在本系统1和上层应用层软件之间传递标准AT命令41和响应42。
4、协议栈接口模块12是本系统1与协议栈的接口。系统主线程为该模块12创建一个线程,用于实现串口数据收发功能,并通过串口与协议栈进行通信。
5、命令转换模块14的功能是:采用解释程序识别接收到的标准AT命令41,然后查找数据库11取得该命令41的转换方式,并将标准AT命令41转换为协议栈AT命令43,传递给协议栈接口模块12发送出去,之后才能启动下一轮转换操作。该模块14还需要管理该模块14的AT命令队列141。
6、响应转换模块15的功能是:采用解释程序识别接收到的协议栈AT响应44,然后查找数据库11取得该响应44的转换方式,并将协议栈AT响应44转换为标准AT响应42,传递给应用层接口模块13发送出去,之后才能启动下一轮转换操作。该模块15还需要管理该模块15的AT响应队列151。
7、AT命令集数据库11中含有标准AT命令集和协议栈AT命令集的转换关系数据,记录了每个AT命令和AT响应在命令集之间的转换方式。
用户能够编辑转换关系,使数据库11适用于不同的协议栈AT命令集,通过本系统,应用层软件就能够使用标准AT命令集,和不同的协议栈兼容工作。
下面就该标准AT命令转换系统每一部分的具体实现展开,进一步说明本发明:
1、应用层接口模块13的平台函数
应用层接口模块13为上层应用层软件提供了可被调用的系统平台函数,以实现标准AT命令的收发功能。其中:
命令检测函数能够获取命令转换模块14的队列状态;
下行函数能够将新的标准AT命令43添加到命令转换模块14的队列141;
响应检测函数能够检测响应缓冲区的状态;
上行函数能够传递标准AT响应44到上层应用层软件指定的存储区域;
上行事件函数能够打开事件通知的开关。当新的标准AT响应到达时,应用层接口模块会创建标准AT响应事件并发送给上层应用层软件。
2、串口数据收发线程
系统主线程为协议栈接口模块12创建一个线程,用于实现串口数据的收发功能。
串口数据收发线程能够实现对串口的基本操作,包括打开指定端口号的串口、关闭串口、配置串口参数、串口读写等。
串口数据收发线程能够访问指定的注册表项,读取当前串口的端口号,执行串口的打开与关闭操作;
串口的配置参数包括:波特率、数据位、停止位、校验位、超时时间等;
串口数据收发线程能够定时检测输入缓冲区,并在有输入数据时,读取串口数据,送入响应转换模块15的AT响应队列151;
串口数据收发线程提供串口发送接口函数,供主线程调用,用于发送串口数据。
3、解释程序
解释程序对接收到的字符串进行解读和识别。
解释程序首先完成合法性检测。根据标准AT命令集对命令行终止符(Command Line Termination Character,ATS3命令设置)、响应格式符(Response Formatting Character,ATS4命令设置)和DCE响应格式(DataCircuit terminating Equipment Response Format,ATV命令设置)的设置,自适应地判断当前的AT命令和响应是否符合命令行规范,不符合规范的AT命令和响应将被抛弃。
符合规范的AT命令和响应将被解释程序以字符串反编译的方式解读出AT命令名称、类型、参数。对不同类型的命令和响应再次进行合法性检测,执行、读取和查询命令不得有参数。
4、AT命令和响应的转换方式
因为本系统的目的是为了使上层应用层软件的所有AT命令得到规范的AT响应44。该AT响应44必须符合标准AT命令集的要求,同时也需要反映出协议栈的功能实现和功能扩展的情况。所以,所有的AT命令被分为以下的几类,并遵循以下对应的处理原则:
类号 | 命令类型 | 协议栈实现情况 | 处理原则 |
1 | 标准AT命令 | 已实现 | 传递命令和响应 |
2 | 标准AT命令2 | 未实现、有替代的协议栈扩展AT命令 | 发送替代的协议栈AT命令,并将协议栈AT响应转换后返回 |
3 | 标准AT命令3 | 未实现、无替代的协 | 传递命令和响应 |
议栈扩展AT命令 | |||
4 | 扩展AT命令 | 已实现 | 传递命令和响应 |
5 | 不识别命令 | 未实现 | 传递命令和响应 |
仅列举上表中的第2类命令于数据库中,其他命令不需列出,而只需如实传递即可。
5、数据库操作
在命令转换模块和响应转换模块中,需要访问数据库11取得AT命令和响应的转换方式。
数据库11的内容由标准AT命令集和协议栈AT命令集的关系确定。如果标准AT命令在协议栈中没有实现但是有可替代的协议栈AT命令,则将该标准AT命令和相对应的协议栈AT命令之间的转换方式,包括命令的和响应的转换方式,添加到数据库中。
数据库11中包含两张数据表:将标准AT命令转换成协议栈AT命令的下行转换表、将协议栈AT响应转换成标准AT响应的上行转换表。
下行转换表的表项为:
需转换的标准AT命令名称;
转换后的协议栈AT命令名称;
执行类型是否需要更改类型和参数;
执行类型转换后的类型;
执行类型转换后的参数;
设置类型是否需要更改类型和参数;
设置类型转换后的类型;
设置类型转换后的参数。
上行转换表的表项为:
需转换的协议栈AT响应名称
转换后的标准AT响应名称;
查询类型是否需要更改参数;
查询类型转换后的参数;
其他类型是否需要更改参数;
其他类型转换后的参数;
6、队列(Queue)操作
本系统设置了两个队列:AT命令队列141用于缓存标准AT命令、AT响应队列151用于缓存协议栈AT响应。
两个队列都采用先入先出(FIFO)的方式,每个节点存储一条AT命令或响应。队列采用环形存储区,并设置头指针和尾指针分别标识队列的第一个节点和最后一个节点。
对队列的基本操作有:队列创建和分配内存、队列撤销和释放内存、队列清空、添加元素、取出元素、元素数量统计、队列状态查询。
在添加元素和取出元素时需要对头指针和尾指针的相对位置进行判断。当队列满时禁止添加元素的操作,而当队列空时禁止取出元素的操作。
Claims (10)
1.一种实现AT命令转换的方法,其特征在于,采用包含标准AT命令集和协议栈AT命令集之间转换关系数据的数据库(11),应用在应用层软件和终端协议栈之间,包括以下并列步骤:
A)接收来自所述应用层软件的标准AT命令(41)、利用所述数据库(11)将标准AT命令转换为对应终端协议栈AT命令(43)并向下发送;
B)接收来自所述协议栈AT响应(44)、利用所述数据库(11)将所述协议栈AT响应转换为对应标准AT响应(42)并向上传递。
2.根据权利要求1所述方法,其特征在于,所述数据库包括将标准AT命令(41)转换成协议栈AT命令(43)的下行转换表和将协议栈AT响应(44)转换成标准AT响应(42)的上行转换表。
3.根据权利要求1或2所述方法,其特征在于,所述上行转换表、下行转换表和转换关系数据可编辑和增加。
4.根据权利要求1或2所述方法,其特征在于,所述协议栈是一种以上,所述上行转换表和下行转换表可以是与所述协议栈一一对应的多张,所述步骤A)和B)中的转换还包括对所述终端协议栈进行识别并根据其识别结果选择对应的上行转换表或下行转换表进行转换。
5.根据权利要求4所述方法,其特征在于,所述终端协议栈包括GSM、TD-SCDMA或WCDMA协议栈。
6.根据权利要求2所述方法,其特征在于,所述下行转换表仅列出需要转换的标准AT命令,该方法还包括对未被列入所述下行转换表的标准AT命令直接向下发送。
7.根据权利要求6所述方法,其特征在于,该方法还包括对未被列入所述下行转换表的扩展AT命令和不识别命令直接向下发送。
8.根据权利要求1、6或7所述方法,其特征在于,所述步骤A)中采用AT命令队列(141),依次加入接收的所述命令并依序读出或读出转换所述AT命令队列中的命令成员并向下发送。
9.根据权利要求2所述方法,其特征在于,所述上行转换表仅列出需要转换的AT响应,该方法还包括对未被列入所述上行转换表的AT响应、扩展AT响应和不识别响应直接向上传递。
10.根据权利要求1或9所述方法,其特征在于,所述步骤B)中采用AT响应队列(151),依次加入接收的所述响应并依序读出或读出转换所述AT响应队列中的响应成员并向上传递。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200610152249XA CN101155184A (zh) | 2006-09-25 | 2006-09-25 | 一种实现at命令转换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200610152249XA CN101155184A (zh) | 2006-09-25 | 2006-09-25 | 一种实现at命令转换的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101155184A true CN101155184A (zh) | 2008-04-02 |
Family
ID=39256619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200610152249XA Pending CN101155184A (zh) | 2006-09-25 | 2006-09-25 | 一种实现at命令转换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101155184A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808348A (zh) * | 2010-04-12 | 2010-08-18 | 中兴通讯股份有限公司 | 一种会话管理指令的处理方法、装置和系统 |
CN101631123B (zh) * | 2009-07-28 | 2012-01-04 | 华为终端有限公司 | 处理at命令的方法、计算机、通信终端和系统 |
CN101626431B (zh) * | 2009-08-12 | 2012-05-23 | 厦门敏讯信息技术股份有限公司 | 一种能适应通讯模式的处理方法及系统 |
CN104765662A (zh) * | 2013-12-31 | 2015-07-08 | 深圳市伊爱高新技术开发有限公司 | 一种自适应固件程序及系统 |
WO2018072640A1 (zh) * | 2016-10-19 | 2018-04-26 | 中兴通讯股份有限公司 | 接口控制命令的处理方法及调制解调器Modem设备 |
-
2006
- 2006-09-25 CN CNA200610152249XA patent/CN101155184A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101631123B (zh) * | 2009-07-28 | 2012-01-04 | 华为终端有限公司 | 处理at命令的方法、计算机、通信终端和系统 |
CN101626431B (zh) * | 2009-08-12 | 2012-05-23 | 厦门敏讯信息技术股份有限公司 | 一种能适应通讯模式的处理方法及系统 |
CN101808348A (zh) * | 2010-04-12 | 2010-08-18 | 中兴通讯股份有限公司 | 一种会话管理指令的处理方法、装置和系统 |
CN101808348B (zh) * | 2010-04-12 | 2014-01-01 | 中兴通讯股份有限公司 | 一种会话管理指令的处理方法、装置和系统 |
CN104765662A (zh) * | 2013-12-31 | 2015-07-08 | 深圳市伊爱高新技术开发有限公司 | 一种自适应固件程序及系统 |
WO2018072640A1 (zh) * | 2016-10-19 | 2018-04-26 | 中兴通讯股份有限公司 | 接口控制命令的处理方法及调制解调器Modem设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1729468B (zh) | 数据同步 | |
CN100426905C (zh) | 一种在移动终端中实现虚拟存储的方法及系统 | |
EP2566289B1 (en) | Wireless Internet access module and method for synchronizing data | |
CN102802139A (zh) | 一种物联网网关数据适配系统及方法 | |
CN101867572B (zh) | 无线优盘的实现方法及系统 | |
CN101155184A (zh) | 一种实现at命令转换的方法 | |
CN103685419A (zh) | 业务处理方法及装置 | |
CN102932954A (zh) | 移动无线电通信设备及管理该设备的连接状态的方法 | |
CN101860440A (zh) | 无线上网模块及使用其进行数据同步的方法、数据卡 | |
CN101442767A (zh) | 一种控制多部用户终端自动进行业务的方法和装置 | |
CN104125656B (zh) | 一种设备连接的方法、电子设备及连接系统 | |
CN101193366A (zh) | 一种标准at命令转换装置 | |
CN101529807B (zh) | 一种网管系统通用的接口实现方法及其系统 | |
CN101742701A (zh) | 处理at命令的装置、方法及系统 | |
CN100531197C (zh) | 用于移动通信服务开通的网络配置接口的实现方法 | |
CN100508653C (zh) | 无线终端有线接入互联网的方法及系统 | |
CN100455059C (zh) | 短信网关桥接系统、方法及短信网关桥接模块 | |
CN101938848A (zh) | 主机设备无线上网方法及系统 | |
CN103187991B (zh) | 数据传输系统及其数据传输方法 | |
CN101868049B (zh) | 主机与无线上网模块的通信方法和主机通信模块 | |
CN101340630B (zh) | 移动信息终端型号的自动识别方法 | |
CN102131187A (zh) | 专网数字移动通信系统及其通信方法 | |
CN101715183A (zh) | 网络接入方法和装置 | |
CN109525972A (zh) | 一种通过蓝牙信息控制其他终端的方法、终端及系统 | |
CN102298559B (zh) | 手持终端及其与电脑间信息交互方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080402 |