双模双待移动终端的数据解析与封装方法

文档序号:7716229阅读:150来源:国知局
专利名称:双模双待移动终端的数据解析与封装方法
技术领域
本发明涉及移动通信领域,特别是涉及一种双模双待移动终端的数据解析与封装 方法。
背景技术
目前移动通信技术得到了广泛应用。主要得到部署的移动通信网络根据其接入方 式的不同可以分为属于第2代或2. 5代的GSM网络、CDMA网络和PHS网络,以及属于第3 代的 CDMA2000,WCDMA 和 TD-SCDMA 网络。目前的单模手机,无论是以上的任何一种网络,都仅仅使用单一注册卡;但是,随 着移动通信的广泛应用,消费者开始拥有两个网络下的注册卡,比如消费者拥有一个GSM 网络下的注册卡和一个CDMA网络下的注册卡。此时,消费者就需要同时携带两款手机,这 就给消费者,特别是经常出差两地的商务人士,造成了携带上的不便和经济上的浪费。另 外,随着隐私保护的日益增大,消费者会分别在不同的时间内选择不同的注册卡待机,此时 传统的单模手机就难以满足拥有两种网络注册卡的消费者的需求,因此双模双待机手机已 逐渐凸显其重要性。然而,现有的双模双待手机基本都是采用两套基带芯片,实现起来比较复杂,同时 也会导致硬件成本的大幅增加。

发明内容
本发明所要解决的技术问题是如何完成在一种通信模式的移动终端上实现另一 种通信模式的通话、短信以及WAP上网的功能,从而实现移动终端的双模双待。为解决以上技术问题,本发明提供一种双模双待移动终端的数据封装方法,应用 于一双模双待移动终端设备,该终端设备包括信号连接的人机界面、通信模块和基带芯片, 该基带芯片包括AT命令处理模块和PPP数据处理模块,该方法用以封装欲发送给通信模块 的AT命令数据与PPP数据,其特征是,包括计算一组数据长度,并将数据长度添加到该组 数据之前;判断该组数据来源于人机界面还是PPP数据处理模块;当该组数据来源于人机 界面,则在该组数据前增加第一标志头;当该组数据来源于PPP数据处理模块,则判断该组 数据是否为上网拨号命令;当该组数据为上网拨号命令,则在该组数据前添加第二标志头; 当该组数据非上网拨号命令,则在该组数据前添加第三标志头。进一步的,所述第一标志头为Oxaa,所述第二标志头为Oxcc,所述第三标志头为 OxdcL本发明另提供一种双模双待移动终端的数据解析方法,用以解析欲接收的用以上 方法封装的AT命令数据与PPP数据,其包括读取一组数据的标志头;判断所读取标志头 为第一标志头、第二标志头还是第三标志头;当所读取的标志头为第一标志头时,将该组的 标志头与数据长度字节去掉,发送给人机界面处理;当所读取的标志头为第二或者第三标 志头时,将所述数据发送给PPP数据处理模块处理。
进一步的,所述当所读取的标志头为第二或者第三标志头时,将所述数据发送给 PPP数据处理模块处理的过程包括当所述标志头为第二标志头时,将该组数据发送给PPP 数据处理模块;当所述标志头为第三标志头时,读出该组数据的数据长度;将接收的数据 长度与所读出的数据长度比较,当长度相等时,将该组数据发送给PPP数据处理模块处理, 当长度不等时,将接收到的数据存入临时缓存器中,直至接收到的数据长度与所读取的数 据长度相等,再将该组数据发送给PPP数据处理模块;进一步的,所述第一标志头为Oxaa,所述第二标志头为Oxcc,所述第三标志头为 OxdcL 可见,利用以上数据解析与封装方法,可以区别解析与封装AT命令、普通PPP数据 包与上网拨号命令,从而完成在一种通信模式的移动终端上实现另一种通信模式的通话、 短信以及WAP上网的功能,使得双模双待移动终端在实现过程中无需两套基带芯片和两个 人机界面大大缩减了成本,实现起来也简单。


图1为本发明一实施例所提供的双模双待移动终端的数据处理系统的原理框图;图2为GSM和CDMA双模双待手机的实现原理框图;图3为本发明一实施例中CDMA模块与GSM基带芯片引脚之间的连接关系示意图;图4为本发明另一实施例中CDMA上网的数据处理原理的示意图;图5为本发明另一实施例中AT命令数据处理原理的示意图;图6为本发明一实施例中AT命令数据和PPP数据解析流程图;图7为本发明一实施例中AT命令数据和PPP数据封装流程图。
具体实施例方式为让本发明的上述特征和优点能更明显易懂,下文特举示例性实施例,并配合附 图,作详细说明如下。请参考图1,其为本发明一实施例所提供的双模双待移动终端的数据处理系统的 原理框图。如图所示,该数据处理系统包括人机界面(MMI) 10,第一模式通信模块20,第二 模式基带芯片30。其中第二模式基带芯片30包括AT命令处理模块31、PPP数据处理模块 32和控制模块33,且控制模块33分别与第一模式通信模块20、人机界面10、AT命令处理 模块31和PPP数据处理模块32信号连接,以控制它们之间的数据传递。控制模块33内整 合有调制解调器(MODEM)单元331、解析封装单元332和主进程333,其中调制解调器单元 331调制或解调欲传递的数据,解析封装单元332解析或封装欲传递的数据,主进程333接 收或发送欲传递的数据,并控制欲传递数据的传递方向,其包括区分所传递的数据为PPP 数据还是AT命令;当所传递的数据为PPP数据时,控制数据在PPP数据处理模块32和人机 界面10、第一模式通信模块20之间传递;当所传递的数据为AT命令时,控制数据在AT命 令处理模块31和人机界面10之间传递。可见,利用以上的数据处理系统,可以使用统一的人机界面,完成双模双待的手机 功能,且通过在基带芯片内整合控制模块,在实现过程中无需两套基带芯片,只需一套基带 芯片和一个通信模块,便可以实现双模双待的功能,大大缩减了成本,实现起来也简单。
本领域技术人员可以知道,CDMA的网络速度要比GSM的网络速度明显快很多,如 何完成在GSM手机上进行CDMA模式下的通话,短信以及WAP上网的功能,从而实现手机的 双模双卡双待,是具有重要意义的。故下面以GSM和CDMA双模双待手机为例,来详细描述 以上数据处理系统的应用。请参考图2,其为GSM和CDMA双模双待手机的实现原理框图。如图所示,在本应用中,基带芯片为GSM基带芯片300,通信模块为CDMA模块200。 GSM基带芯片300包括AT命令处理模块310、PPP数据处理模块320和控制模块330,且控 制模块330分别与CDMA模块200、人机界面100、AT命令处理模块310和PPP数据处理模块 320信号连接,以控制它们之间的数据传递。如图所示,AT命令处理模块310和PPP数据处 理模块320均通过一片上系统(SOC) 340实现与无线应用通讯协议(WAP)栈350的信号连 接,从而实现移动通信与互联网的结合。其中AT命令处理模块310往往由中间层(ABM)3101 和适配层(L4C)3102构成,以实现AT命令的传递;PPP数据处理模块320内往往整合有TCP/ IP协议栈和PPP协议栈,以实现手机上网的功能,并传递PPP数据包。控制模块330与图1 中所示结构相同,在此不再赘述。需要说明的是,CDMA模块200内部采用并行数据,故不能直接把数据发送到MODEM 单元331进行数据传输,故在此引入通用异步接收与发送(UART)模块400对欲传递的数据 进行整理,以进行异步传输。当然,此UART模块可以设置于第一模式通信模块与第二模式 基带芯片之间,也可以集成于控制模块330之内,本发明不以此为限。在此,无线应用通讯协议(WAP)栈350,片上系统(SOC)MO,中间层(ABM) 3101和 适配层(L4C)3102,TCP/IP协议栈和PPP协议栈为本领域技术人员所熟知,在此不再赘述, 它们所做的就是完成控制模块330与PPP数据处理模块320以及适配层(L4C) 3102的通信 接口和数据处理。主进程333需要完成对UART400 口的控制,以进行PPP数据的收发,并与 适配层(L4C) 3102之间进行命令传递,完成与人机界面10和PPP数据处理模块320之间的 数据交互,并对数据进行封装处理。对于CDMA模式下的通话,短信,电话簿的接收和显示处 理,都需要GSM基带芯片和CDMA模块之间的AT命令来完成,GSM基带芯片接收到CDMA的 PPP数据,传送给PPP数据处理模块,完成CDMA通过调整解调单元的上网,主进程要对普通 的AT命令数据和PPP数据加以区分,从而可以在CDMA模式下上网的时候,接收电话和短信 肩、ο可见,利用本发明所提供的数据处理系统,实现了 CDMA模块通过代理MODEM上网, 操作简单,且实现起来无需两套基带芯片和两套人机界面,只需一个CDMA模块,大大缩减 了成本,实现起来也简单。下面结合图3来描述CDMA模块200与GSM基带芯片300引脚之间的连接关系。如 图所示,PW0N_CDMA引脚控制CDMA模块的开关,通过拉高此引脚可以对CDMA模块开机,此 引脚需要持续拉高至少六秒,以保证CDMA模块能正确开机;在切换到GSM单待时,在拉高此 引脚实现对CDMA模块的关机,这样可以节省耗流。UART_TX和UART_RX是控制CDMA模块的 发送和接收引脚,完成数据的发收。UART_CTS和UART_RTS是UART 口的硬件流控接口,由 于通过CDMA模块上网,会有批量的数据通过串口传输,使用硬件流控引脚,可以保证数据 传输过程中的完整性。UART_DTR是控制上网的引脚,拉高此引脚CDMA模块处于上网模式, 拉低此引脚CDMA模块退出上网模式。GPIO_WAKUPCDMA是GSM发送数据之前拉高此引脚唤 醒CDMA模块,数据传输完成将此引脚拉低。EINT_WAKEUPBB是CDMA模块发送数据之前唤醒GSM的引脚。在本发明的另一实施例中,为了提高控制模块传递数据的效率,于其中整合了一 辅助进程,且当主进程处于数据接收状态时,启动辅助进程发送数据;当主进程处于数据发 送状态时,启动辅助进程接收数据。这样便可以利用辅助进程来分担主进程的工作,从而提 高主进程处理数据的效率。另外,考虑到当主进程处理的数据量很大以至于其无法及时处 理的情况,可以在控制模块内增设,接收数据缓存器和发送数据缓存器,以在主进程无法及 时处理欲传递的数据时,分别暂存控制模块所接收到的数据和欲发送的数据。下面结合图4与图5,来说明以上实施例在CDMA和GSM双模双待手机上的应用。 其中,图4为CDMA上网的数据处理原理的示意图,图5为AT命令数据处理原理的示意图。如图4所示,为了能同时处理AT命令和PPP数据,所以将调制解调单元331和解 析封装单元332嵌入到控制模块33中,同时为了提高效率,在主进程333发送数据时,另起 一个辅助进程334来接收数据,接收的数据再发送给主进程333处理。在主进程收到UART 模块400的MSG_ID_UART_READY_TO_READ_IND的消息后,开始接收数据。如果数据量很大, 主进程333对数据处理以及和PPP数据处理模块320交互的速度不能及时,这时就需要将 收到的数据存入接收数据缓存器335 (DL_APPDU的链表buffer)中。然后再发送MSG_ID_ FLC_CSD_DL_APPDU_RESUME的消息给主进程333,以处理链表里的数据。主进程333再发送 MSG_ID_PPP_EXT_MODEM_DATA_IND消息将标准的PPP数据传给PPP数据处理模块320处理; 同样,GSM请求数据时会发送MSG_ID_PPP_EXT_MODEM_DATA_REQ消息给主进程333,然后主 进程333通知辅助进程334发送数据,同样如果请求的数据量比较大,还是需要将未发的数 据存入发送数据缓存器336 (UL_INPUT_QUEUE的buffer)中,然后收到MSG_ID_UART_READY_ T0_WRITE_IND消息开始发送数据给CDMA模块200。如图5所示,AT命令数据处理流程与上网的数据(PPP数据)处理流程类似。但 因为AT命令的数据量比较小,所以不需要数据缓存器(链表buffer)来缓存数据,发送和 接收数据的过程同以上上网数据(PPP数据)的发送与接收过程,在此不再赘述。下面结合图6与图7详细描述解析封装单元332的数据解析和封装过程,其中图 6为AT命令数据和PPP数据解析流程图;图7为AT命令数据和PPP数据封装流程图。如图6所示,AT命令数据和PPP数据解析过程包括如下步骤在控制模块发送 数据之前,首先计算出一组欲发送数据的长度,然后将数据长度增加到该组数据之前,例 如添加到数据的头两个字节(步骤Si);然后判断发送的数据是来自人机界面(MMI)还是 PPP (步骤幻)数据处理模块;如果是来自人机界面(MMI),则表示该数据为AT命令数据, 在AT命令数据前增加第一标志头(例如Oxaa),来标识其为AT命令(步骤S3);如果是来 自PPP数据处理模块,则再判断此数据是否为上网拨号命令(步骤S4);如果是上网拨号命 令,则在上网拨号命令数据前增加第二标志头(例如Oxcc),来标识其为上网拨号命令(步 骤S5);如果不是上网拨号命令,则表明其为普通的PPP数据,则在PPP数据前增加第三标 志头(例如Oxdd),来标识其为PPP数据包(步骤S6)。由此完成数据的封装,进而可以将 数据发送到CDMA模块,结束此次数据发送。当然,较佳的,利用UART模块完成数据的异步 传输,即可以调用UART_PutByteS函数将数据送到CDMA模块。如图7所示,AT命令数据和PPP数据封装过程包括如下步骤在控制模块接收数 据的时候,较佳的利用UART模块完成数据的异步传输,即激活串口,调用UART_GetByteS函数将数据接收到数据缓存中;而后读取一组数据的标志头(例如,数据头的头字节标识) (步骤S10),并判断标志头是第一标志头、第二标志头、还是第三标志头(步骤S20);如果 标志头为第一标志头(例如Oxaa),则表示所接收的数据为普通AT命令,则将标志头和数据 长度去除,发送给人机界面(MMI)处理(步骤S30);如果标志头为第二标志头(例如Oxcc) 或者第三标志头(例如Oxdd),则表示所接收的数据为PPP数据,则将该组数据发送给PPP 数据处理模块处理(步骤S70)。其中第二标志头代表所接收的数据为上网拨号命令,第三 标志头代表所接收到的数据为普通的PPP数据包。故,当标志头为第二标志头时,将该组数 据发送给PPP数据处理模块处理(步骤S70)。而当标志头为第三标志头时,读出该组数据 的数据长度(例如,数据头的后两个字节)(步骤S40),由于UART 口一次只能读出有限的数 据,所以需要将接收的数据长度和读出的数据长度做比较(步骤S50),如果两者的数据长 度不相等,则表示,此次数据包没有接收完整,需要将现在的接收到的数据暂存在临时缓存 器(buffer)中,再读取剩余的数据,直到将此组数据的接收完全后拼接数据(步骤S60),再 交由PPP数据处理模块处理(步骤S70),如果没有接收完就将数据发送给PPP数据处理模 块,容易导致上网不稳定,数据丢失,而且容易导致上网速度很慢,甚至导致系统崩溃等问 题的出现。采用以上数据封装与解析的方法,可以方便控制模块的主进程区分AT命令数据 和PPP数据,进而控制数据的传递方向。综上所述,利用以上的数据处理系统,可以使用统一的人机界面,完成双模双待的 手机功能,且通过在基带芯片内整合控制模块,在实现过程中无需两套基带芯片,只需一套 基带芯片和一个通信模块,便可以实现双模双待的功能,大大缩减了成本,实现起来也简 以上仅为举例,并非用以限定本发明,本发明的保护范围应当以权利要求书所涵 盖的范围为准。
权利要求
1.一种双模双待移动终端的数据封装方法,应用于一双模双待移动终端设备,该终端 设备包括信号连接的人机界面、通信模块和基带芯片,该基带芯片包括AT命令处理模块和 PPP数据处理模块,该方法用以封装欲发送给通信模块的AT命令数据与PPP数据,其特征 是,包括计算一组数据长度,并将数据长度添加到该组数据之前;判断该组数据来源于人机界面还是PPP数据处理模块;当该组数据来源于人机界面,则在该组数据前增加第一标志头;当该组数据来源于PPP数据处理模块,则判断该组数据是否为上网拨号命令;当该组数据为上网拨号命令,则在该组数据前添加第二标志头;当该组数据非上网拨号命令,则在该组数据前添加第三标志头。
2.根据权利要求1所述的双模双待移动终端的数据发送方法,其特征是,所述第一标 志头为Oxaa,所述第二标志头为Oxcc,所述第三标志头为Oxdd。
3.一种双模双待移动终端的数据解析方法,用以解析欲接收的用权利要求1所述方法 封装的AT命令数据与PPP数据,其特征是,包括读取一组数据的标志头;判断所读取标志头为第一标志头、第二标志头还是第三标志头; 当所读取的标志头为第一标志头时,将该组的标志头与数据长度字节去掉,发送给人 机界面处理;当所读取的标志头为第二或者第三标志头时,将所述数据发送给PPP数据处理模块处理。
4.根据权利要求3所述的双模双待移动终端的数据解析方法,其特征是,所述当所读 取的标志头为第二或者第三标志头时,将所述数据发送给PPP数据处理模块处理的过程包 括当所述标志头为第二标志头时,将该组数据发送给PPP数据处理模块; 当所述标志头为第三标志头时,读出该组数据的数据长度;将接收的数据长度与所读出的数据长度比较,当长度相等时,将该组数据发送给PPP 数据处理模块处理,当长度不等时,将接收到的数据存入临时缓存器中,直至接收到的数据 长度与所读取的数据长度相等,再将该组数据发送给PPP数据处理模块。
5.根据权利要求4所述的双模双待移动终端的数据解析方法,其特征是,所述第一标 志头为Oxaa,所述第二标志头为Oxcc,所述第三标志头为Oxdd。
全文摘要
本发明揭示了一种双模双待移动终端的数据解析与封装方法,应用于一双模双待移动终端设备,该终端设备包括信号连接的人机界面、通信模块和基带芯片,该基带芯片包括AT命令处理模块和PPP数据处理模块,该方法用以封装欲发送给通信模块的AT命令数据与PPP数据,并对此种封装的数据进行解析。其利用不同的标志头来标志AT命令数据与PPP数据,并利用标志头区分PPP数据中的普通PPP数据包与上网拨号命令。从而完成在一种通信模式的移动终端上实现另一种通信模式的通话、短信以及WAP上网的功能,从而实现移动终端的双模双待。
文档编号H04W88/06GK102098811SQ20091020027
公开日2011年6月15日 申请日期2009年12月10日 优先权日2009年12月10日
发明者滕德强 申请人:上海晨兴希姆通电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1