《多模手机及其通讯模块之间的通讯方法.pdf》由会员分享,可在线阅读,更多相关《多模手机及其通讯模块之间的通讯方法.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102612173 A (43)申请公布日 2012.07.25 C N 1 0 2 6 1 2 1 7 3 A *CN102612173A* (21)申请号 201110024502.4 (22)申请日 2011.01.21 H04W 88/06(2009.01) H04L 1/00(2006.01) (71)申请人芯讯通无线科技(上海)有限公司 地址 200335 上海市长宁区金钟路633号A 楼 (72)发明人杨洋 (74)专利代理机构上海智信专利代理有限公司 31002 代理人薛琦 (54) 发明名称 多模手机及其通讯模块之间的通讯方法 (57) 摘要 本发明。
2、公开了一种多模手机的通讯模块之间 的通讯方法及多模手机,该方法包括:S1、定义一 截止位、一跳过位、一跳过位掩码;S2、一第一通 讯模块对数据进行CRC校验编码;S3、该第一通讯 模块遍历该数据,将遇到的截止位赋值为跳过位, 将遇到的跳过位用该跳过位掩码按位异或,并在 该数据末尾加上该截止位;S4、该第一通讯模块 将该数据发送至一第二通讯模块;S5、该第二通 讯模块在该数据末尾为该截止位时遍历该数据, 将遇到的跳过位还原为截止位,将遇到的经过按 位异或的跳过位用该跳过位掩码再次按位异或; S6、该第二通讯模块对该数据进行CRC校验。本发 明能够采用纯软件方式确保通讯模块之间在传递 数据时的正确。
3、性和可靠性。 (51)Int.Cl. 权利要求书2页 说明书5页 附图2页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 5 页 附图 2 页 1/2页 2 1.一种多模手机的通讯模块之间的通讯方法,其特征在于,该方法包括: S1、定义一截止位、一跳过位以及一跳过位掩码,该截止位与该跳过位不同; S2、该多模手机的一第一通讯模块对待发送的数据进行CRC校验编码; S3、该第一通讯模块遍历经步骤S2获得的该数据,将遇到的截止位均赋值为跳过位, 将遇到的跳过位均用该跳过位掩码按位异或,遍历结束时在该数据的末尾加上该截止位; S4、该第一通讯模块将经步骤S3。
4、获得的该数据发送至该多模手机的一第二通讯模块; S5、该第二通讯模块检查接收到的该数据的末尾是否为该截止位,仅在为该截止位时 遍历该数据,将遇到的跳过位均还原为截止位,将遇到的经过与该跳过位掩码的按位异或 的跳过位用该跳过位掩码再次按位异或; S6、该第二通讯模块对经步骤S5获得的该数据进行CRC校验,仅在CRC校验成功时向 该第一通讯模块发送成功回应。 2.如权利要求1所述的多模手机的通讯模块之间的通讯方法,其特征在于,该第一通 讯模块与该第二通讯模块采用同一CRC生成表分别进行CRC校验编码和CRC校验。 3.如权利要求2所述的多模手机的通讯模块之间的通讯方法,其特征在于,该CRC生成 表。
5、为16位或32位。 4.如权利要求1或2所述的多模手机的通讯模块之间的通讯方法,其特征在于,该第一 通讯模块通过拉中断或拉GPIO口模拟中断的方式唤醒该第二通讯模块,然后通过串口将 经步骤S3获得的该数据发送至该第二通讯模块。 5.如权利要求1或2所述的多模手机的通讯模块之间的通讯方法,其特征在于,该第一 通讯模块在向该第二通讯模块发送经步骤S3获得的该数据时,若该第二通讯模块无响应, 则该第一通讯模块重发该数据,当重发次数超过一预设次数时,则提示该第一通讯模块响 应超时。 6.如权利要求1或2所述的多模手机的通讯模块之间的通讯方法,其特征在于,该第 一通讯模块和该第二通讯模块均为下列通讯模块。
6、中的一种:GSM通讯模块、CDMA通讯模块、 TD-SCDMA通讯模块、WCDMA通讯模块。 7.一种多模手机,其包括两个以上通讯模块,其特征在于,该些通讯模块均定义有一截 止位、一跳过位以及一跳过位掩码,该截止位与该跳过位不同;该些通讯模块均包括: 一CRC校验编码模块,用于对待发送的数据进行CRC校验编码; 一第一遍历模块,用于遍历经该CRC校验编码模块处理的该数据,将遇到的截止位均 赋值为跳过位,将遇到的跳过位均用该跳过位掩码按位异或,遍历结束时在该数据的末尾 加上该截止位; 一发送模块和一接收模块,该发送模块用于向与该发送模块不属于同一通讯模块的接 收模块发送经该第一遍历模块处理的该数。
7、据,该接收模块用于从与该接收模块不属于同一 通讯模块的发送模块处接收数据; 一第二遍历模块,用于检查该接收模块接收到的该数据的末尾是否为该截止位,仅在 为该截止位时遍历该数据,将遇到的跳过位均还原为截止位,将遇到的经过与该跳过位掩 码的按位异或的跳过位用该跳过位掩码再次按位异或; 一CRC校验模块,用于对经该第二遍历模块处理的该数据进行CRC校验,仅在CRC校验 成功时向该接收模块接收到的该数据来自的通讯模块发送成功回应。 权 利 要 求 书CN 102612173 A 2/2页 3 8.如权利要求7所述的多模手机,其特征在于,该CRC校验编码模块与该CRC校验模块 采用同一CRC生成表分别进。
8、行CRC校验编码和CRC校验。 9.如权利要求8所述的多模手机,其特征在于,该CRC生成表为16位或32位。 10.如权利要求7或8所述的多模手机,其特征在于,该发送模块通过拉中断或拉GPIO 口模拟中断的方式,唤醒与该发送模块不属于同一通讯模块的接收模块,然后通过串口将 经该第一遍历模块处理的该数据发送至与该发送模块不属于同一通讯模块的该接收模块。 11.如权利要求7或8所述的多模手机,其特征在于,该发送模块在向与该发送模块不 属于同一通讯模块的接收模块发送经该第一遍历模块处理的该数据时,若与该发送模块不 属于同一通讯模块的该接收模块无响应,则该发送模块重发该数据,当重发次数超过一预 设次数。
9、时,则提示该发送模块响应超时。 12.如权利要求7或8所述的多模手机,其特征在于,该些通讯模块均为下列通讯模块 中的一种:GSM通讯模块、CDMA通讯模块、TD-SCDMA通讯模块、WCDMA通讯模块。 权 利 要 求 书CN 102612173 A 1/5页 4 多模手机及其通讯模块之间的通讯方法 技术领域 0001 本发明涉及一种多模手机的通讯模块之间的通讯技术,特别是涉及一种多模手机 的通讯模块之间的通讯方法以及一种能够实现该通讯方法的多模手机。 背景技术 0002 目前所谓的双模/多模手机指的是,手机中包括有两个/多个通讯芯片(模 块),这些通讯模块可以分别工作于相同或不同的网络模式下。
10、,例如:GSM(Global System for Mobile Communications,全球移动通讯系统)网络与GSM网络、GSM网络 与CDMA(Code Division Multiple Access,码分多址)网络、GSM网络与TD-SCDMA(Time Division-Synchronous Code DivisionMultiple Access,时分同步码分多址)网络、GSM网 络与WCDMA(WidebandCode Division Multiple Access,宽带码分多址)网络等等。 0003 在目前的双模/多模手机中,这些通讯模块一般均是独立工作的。为了省电。
11、,平时 这些通讯模块都是处于睡眠状态的,当任意两个通讯模块之间需要传递数据时,数据的发 送方便会通过拉中断来唤醒数据的接收方,然后通过串口将待发送数据发送至数据的接收 方。 0004 然而,在这样的数据传递过程中,有时候会发生数据丢失、数据因受到干扰(例如 电磁场干扰)而改变等等各种无法预测的错误。目前,通讯模块之间的数据传递大多就是 如上所述地直接发送数据并等待对方响应,并不将数据传递过程中可能发生的各种不可预 测的错误纳入考虑,因此数据传递的正确性和可靠性显然较低。 0005 为了解决上述问题,有的手机采用了额外增加硬件的方式来确保数据传递的正确 性和可靠性,然而额外的硬件必然又会抬升手机。
12、的制造成本。 发明内容 0006 本发明要解决的技术问题是为了克服现有技术中双模/多模手机的通讯模块之 间在传递数据时正确性和可靠性均较低,而采用硬件方式来确保数据传递的正确性和可靠 性又会抬升手机的制造成本的缺陷,提供一种采用纯软件方式确保通讯模块之间在传递数 据时的正确性和可靠性的多模手机的通讯模块之间的通讯方法以及一种用于实现该通讯 方法的多模手机。 0007 本发明是通过下述技术方案来解决上述技术问题的:一种多模手机的通讯模块之 间的通讯方法,其特点在于,该方法包括:S1、定义一截止位、一跳过位以及一跳过位掩码, 该截止位与该跳过位不同;S2、该多模手机的一第一通讯模块对待发送的数据进。
13、行CRC(循 环冗余校验)校验编码;S3、该第一通讯模块遍历经步骤S2获得的该数据,将遇到的截止位 均赋值为跳过位,将遇到的跳过位均用该跳过位掩码按位异或,遍历结束时在该数据的末 尾加上该截止位;S4、该第一通讯模块将经步骤S3获得的该数据发送至该多模手机的一第 二通讯模块;S5、该第二通讯模块检查接收到的该数据的末尾是否为该截止位,仅在为该截 止位时遍历该数据,将遇到的跳过位均还原为截止位,将遇到的经过与该跳过位掩码的按 说 明 书CN 102612173 A 2/5页 5 位异或的跳过位用该跳过位掩码再次按位异或;S6、该第二通讯模块对经步骤S5获得的该 数据进行CRC校验,仅在CRC校验。
14、成功时向该第一通讯模块发送成功回应。 0008 较佳地,该第一通讯模块与该第二通讯模块采用同一CRC生成表分别进行CRC校 验编码和CRC校验。 0009 较佳地,该CRC生成表为16位或32位。 0010 其中,该第一通讯模块通过拉中断或拉GPIO口模拟中断的方式唤醒该第二通讯 模块,然后通过串口将经步骤S3获得的该数据发送至该第二通讯模块。 0011 较佳地,该第一通讯模块在向该第二通讯模块发送经步骤S3获得的该数据时,若 该第二通讯模块无响应,则该第一通讯模块重发该数据,当重发次数超过一预设次数时,则 提示该第一通讯模块响应超时。 0012 其中,该第一通讯模块和该第二通讯模块均为下列通。
15、讯模块中的一种:GSM通讯 模块、CDMA通讯模块、TD-SCDMA通讯模块、WCDMA通讯模块。 0013 本发明的目的还在于提供一种多模手机,其包括两个以上通讯模块,其特点在于, 该些通讯模块均定义有一截止位、一跳过位以及一跳过位掩码,该截止位与该跳过位不同; 该些通讯模块均包括:一CRC校验编码模块,用于对待发送的数据进行CRC校验编码;一第 一遍历模块,用于遍历经该CRC校验编码模块处理的该数据,将遇到的截止位均赋值为跳 过位,将遇到的跳过位均用该跳过位掩码按位异或,遍历结束时在该数据的末尾加上该截 止位;一发送模块和一接收模块,该发送模块用于向与该发送模块不属于同一通讯模块的 接收模。
16、块发送经该第一遍历模块处理的该数据,该接收模块用于从与该接收模块不属于同 一通讯模块的发送模块处接收数据;一第二遍历模块,用于检查该接收模块接收到的该数 据的末尾是否为该截止位,仅在为该截止位时遍历该数据,将遇到的跳过位均还原为截止 位,将遇到的经过与该跳过位掩码的按位异或的跳过位用该跳过位掩码再次按位异或;一 CRC校验模块,用于对经该第二遍历模块处理的该数据进行CRC校验,仅在CRC校验成功时 向该接收模块接收到的该数据来自的通讯模块发送成功回应。 0014 较佳地,该CRC校验编码模块与该CRC校验模块采用同一CRC生成表分别进行CRC 校验编码和CRC校验。 0015 较佳地,该CRC。
17、生成表为16位或32位。 0016 其中,该发送模块通过拉中断或拉GPIO口模拟中断的方式,唤醒与该发送模块不 属于同一通讯模块的接收模块,然后通过串口将经该第一遍历模块处理的该数据发送至与 该发送模块不属于同一通讯模块的该接收模块。 0017 较佳地,该发送模块在向与该发送模块不属于同一通讯模块的接收模块发送经该 第一遍历模块处理的该数据时,若与该发送模块不属于同一通讯模块的该接收模块无响 应,则该发送模块重发该数据,当重发次数超过一预设次数时,则提示该发送模块响应超 时。 0018 其中,该些通讯模块均为下列通讯模块中的一种:GSM通讯模块、CDMA通讯模块、 TD-SCDMA通讯模块、W。
18、CDMA通讯模块。 0019 本发明的积极进步效果在于:本发明在多模手机的通讯模块之间传递数据时,一 方面采用了CRC校验技术,另一方面采用了自行定义的截止位来分隔各个数据块,这样即 使传递的数据很长,也能够充分地确保数据传递的正确性和可靠性,并且由于本发明采用 说 明 书CN 102612173 A 3/5页 6 的是纯软件的方式,因此其实现成本也非常低廉。进一步地,在传递的数据很长的情况下, 若采用生成多项式直接计算出CRC校验码运算量会较大,数据的处理效率也会较低,因此 本发明优选地采用了查表法CRC校验技术,由此可以大幅地降低运算量,提高数据处理效 率。进一步地,本发明在传递数据的过程。
19、中,还优选地采用了发送方与接收方之间一应一答 的响应方式,这将更好地保证数据传递的可靠性。 附图说明 0020 图1为本发明的该多模手机中的任意一个通讯模块的结构示意图。 0021 图2为本发明的该多模手机的通讯模块之间的通讯方法的流程图。 具体实施方式 0022 下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。 0023 本发明的该多模手机中可以包括两个或两个以上的通讯模块,本发明对该些通讯 模块工作的网络模式不做限制,该些通讯模块的网络模式可以为例如:GSM、CDMA、TD-SCDMA 或WCDMA等等。 0024 在本发明中,该些通讯模块中均预先定义有一截止位、一跳过位以及。
20、一跳过位掩 码,其中,该截止位与该跳过位的取值应当互不相同,例如可以将该截止位定义为0x7E,并 将该跳过位定义为0x5A,而该跳过位掩码则可以任意取值,例如可以将该跳过位掩码定义 为0x20。 0025 该截止位用于被人为添加在数据末尾处,以标识一段数据的结束。该跳过位用于 对在数据处理过程中自然地出现在数据中间而非数据末尾处的截止位数值进行重新赋值, 以防在后续的数据处理过程中误将该些自然出现的截止位数值识别为数据的结束。该跳过 位掩码则用于对在数据处理过程中自然出现的跳过位进行异或处理,以防在后续的数据处 理过程中无法对自然出现的跳过位与重新赋值出现的跳过位进行区分。 0026 如图1所。
21、示,每个该通讯模块均包括:一CRC校验编码模块1、一第一遍历模块2、 一发送模块3、一接收模块4、一第二遍历模块5以及一CRC校验模块6,以下将以上述定义 的截止位、跳过位以及跳过位掩码的取值为例对各个模块的功能进行描述。 0027 该CRC校验编码模块1用于对其所属的通讯模块将要发送的数据进行CRC校验编 码,此处的待发送数据需要符合一定的数据格式,例如可以为AT命令或是其它各种自定义 格式的消息等等,将获得的CRC校验编码存储于一内存缓冲区中。 0028 该第一遍历模块2将遍历该内存缓冲区中的该CRC校验编码,由于在CRC校验编 码之后,数据中可能会自然地出现恰好等于定义好的该截止位0x7。
22、E以及该跳过位0x5A的 数值,因此该第一遍历模块2会将遍历过程中遇到的所有0x7E均赋值为0x5A,然后将遇到 的所有0x5A均用该跳过位掩码0x20按位异或(假定按位异或的运算结果为数值Z),最后 在遍历过程结束时在数据末尾处加上该截止位0x7E,以标识该段数据的结束。 0029 该发送模块3用于将经过该第一遍历模块2处理的数据向另一作为数据接收方的 通讯模块中的接收模块进行发送。 0030 该接收模块4则用于从另一作为数据发送方的通讯模块中的发送模块处,接收已 经依次经过了该另一通讯模块中的CRC校验编码模块和第一遍历模块的处理的数据。 说 明 书CN 102612173 A 4/5页 。
23、7 0031 该第二遍历模块5将会对该接收模块4接收到的数据进行处理。由于该数据是已 经经过了该另一通讯模块中的CRC校验编码模块和第一遍历模块的处理的,因此该数据的 末尾处应当已经被加上了该截止位0x7E。该第二遍历模块5会首先对该数据的末尾处进行 检查,判断该处是否存在0x7E的数值,若该数据末尾为0x7E,则说明该数据是传输完整的, 可以继续进行后续处理,若该数据末尾不为0x7E,则说明该数据并未传输完整或是该数据 已经失效,此时该第二遍历模块5将不再对该数据进行任何后续处理。 0032 其中,当该数据末尾为0x7E时,该第二遍历模块5将会对该数据进行遍历,将遍历 过程中遇到的所有跳过位。
24、数值0x5A均还原为原先的截止位数值0x7E,将遇到的所有数值Z 均用定义好的该跳过位掩码0x20再次按位异或,根据两次异或便会恢复原值的公知原理, 当数值Z与0x20再次按位异或之后便会还原为原先的跳过位数值0x5A。至此,在经过该第 二遍历模块5的处理之后,该数据便已经还原为了经过该另一通讯模块中的CRC校验编码 模块的处理之后的真实状态了。 0033 该CRC校验模块6用于对经过该第二遍历模块5处理的数据进行CRC校验,若校 验失败,则说明数据传递过程发生错误,而若校验成功,则说明数据传递过程正确无误,此 时该CRC校验模块6所属的该通讯模块将会向作为数据发送方的该另一通讯模块发送成功 。
25、回应。 0034 虽然该CRC校验编码模块1与该CRC校验模块6均可以直接采用生成多项式来实 现CRC校验过程,但是当数据较长时这样的运算量将会非常大,因此较佳地,该两个模块可 以采用同一公知的CRC生成表来实现CRC校验过程,该CRC生成表可以选用例如16位的或 是32位的。 0035 其中,在一通讯模块的发送模块向另一通讯模块的接收模块发送数据时,该发送 模块首先通过拉中断或拉GPIO口(通用输入/输出接口)模拟中断的方式,唤醒该接收模 块,然后再通过串口执行数据的发送,同时该接收模块则通过串口轮询读取该发送模块发 送而来的数据。在数据发送时,若该接收模块无响应,则该发送模块将会重新发送该。
26、数据, 可以设置一预设次数,例如3次,即当该发送模块重发该数据已达3次时,则不再进行重发, 而是提示该发送模块响应超时。 0036 以下将参考图2,以一第一通讯模块向一第二通讯模块传递数据的过程为例,对本 发明的该通讯方法进行详细说明,其中,该第一和第二通讯模块均具有上述的所有功能。 0037 步骤100,定义一截止位、一跳过位以及一跳过位掩码,在该实施例中仍以上述的 取值为例,即该截止位为0x7E,该跳过位为0x5A,而该跳过位掩码为0x20。 0038 步骤101,该第一通讯模块对待发送的数据进行CRC校验编码。 0039 步骤102,该第一通讯模块遍历经步骤101获得的该数据,将遇到的数。
27、值0x7E均赋 值为0x5A,将遇到的数值0x5A均用0x20按位异或成数值Z,并在遍历结束时在该数据的末 尾加上截止位数值0x7E,以标识该段数据的结束。 0040 步骤103,该第一通讯模块在以拉中断的方式唤醒该第二通讯模块之后,通过串口 将经步骤102获得的该数据向该第二通讯模块进行发送,而该第二通讯模块则通过串口轮 询读取该第一通讯模块发送而来的数据。 0041 步骤104,该第二通讯模块判断接收到的数据的末尾是否为截止位数值0x7E,若 是,则说明接收到的数据完整无误,进入步骤105;若不是,则认为接收到的数据不完整或 说 明 书CN 102612173 A 5/5页 8 是已经失效。
28、,进入步骤106。 0042 步骤105,该第二通讯模块向该第一通讯模块发送响应,然后进入步骤109。此后, 若该第一通讯模块在一规定的时间内没有新的任务需要处理,则其将进入睡眠状态。 0043 步骤106,该第二通讯模块直接忽略已经从该第一通讯模块处接收到的数据,不向 该第一通讯模块发送任何响应,并等待下次再行接收数据。 0044 步骤107,该第一通讯模块在一定时间内未接收到该第二通讯模块的响应,则判断 经步骤102获得的该数据的发送次数是否已经超过例如3次,若已经超过3次,则进入步骤 108;若还未超过3次,则回到步骤103再次执行。 0045 步骤108,提示该第一通讯模块响应超时,并。
29、做相应的异常处理,至此结束该次数 据传递过程。此后,若该第一通讯模块在一规定的时间内没有新的任务需要处理,则其将进 入睡眠状态。 0046 步骤109,该第二通讯模块遍历经步骤103获得的该数据,将遇到的数值0x5A均还 原为0x7E,将遇到的数值Z均用该跳过位掩码0x20再次按位异或,以将其还原为0x5A。 0047 步骤110,该第二通讯模块对经步骤109获得的该数据进行CRC校验,若CRC校验 成功,则进入步骤111,若CRC校验失败,则进入步骤112。 0048 步骤111,该第二通讯模块向该第一通讯模块发送成功回应,至此该次数据传递过 程成功完成,后续将对经步骤110获得的该正确数据。
30、进行解析并进行相应处理。 0049 步骤112,该第二通讯模块向该第一通讯模块发送失败回应,至此该次数据传递过 程结束。 0050 此后,若该第二通讯模块在一规定的时间内没有新的任务需要处理,则其将进入 睡眠状态。 0051 另外,本发明所涉及的所有功能模块均可以在现有的硬件基础上结合现有的软件 编程手段实现,故在此对其具体实现过程不做赘述。 0052 综上所述,本发明在多模手机的通讯模块之间传递数据时,一方面采用了CRC校 验技术,另一方面采用了自行定义的截止位来分隔各个数据块,这样即使传递的数据很长, 也能够充分地确保数据传递的正确性和可靠性,并且由于本发明采用的是纯软件的方式, 因此其实现成本也非常低廉。 0053 虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些 仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背 离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更 和修改均落入本发明的保护范围。 说 明 书CN 102612173 A 1/2页 9 图1 说 明 书 附 图CN 102612173 A 2/2页 10 图2 说 明 书 附 图CN 102612173 A 10 。