《一种基于SWP数据链路的数据处理装置及方法.pdf》由会员分享,可在线阅读,更多相关《一种基于SWP数据链路的数据处理装置及方法.pdf(14页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201410723232.X (22)申请日 2014.12.02 H04L 1/00(2006.01) (71)申请人 深圳中科讯联科技有限公司 地址 518067 广东省深圳市南山区工业六路 创业壹号大楼 B 栋 301 室 (72)发明人 欧时顺 张明宇 (74)专利代理机构 深圳市科进知识产权代理事 务所 ( 普通合伙 ) 44316 代理人 宋鹰武 沈祖锋 (54) 发明名称 一种基于 SWP 数据链路的数据处理装置及方 法 (57) 摘要 本发明属于通信技术领域, 尤其涉及一种基 于 SWP 数据链路的数据处理装置及方法。所述。
2、基 于 SWP 数据链路的数据处理装置包括发送滑动窗 口单元和接收滑动窗口单元 ; 所述发送滑动窗口 单元用于发送或重发写入发送滑动窗口的数据 帧, 所述接收滑动窗口单元用于接收数据帧。 本发 明通过两个滑动窗口单元同时工作, 保证 SWP 数 据链路的传输效率 ; 并将发送滑动窗口单元分割 为写数据指针模块、 发送数据指针模块、 重复发送 数据指针模块, 将接收滑动窗口单元分割为接收 数据指针模块和读数据指针模块, 根据各个指针 模块的指针指示, 确保数据帧正确、 有序的发送及 接收, 避免漏传或漏接数据, 实现数据传输的流量 控制, 解决数据传输的拥塞问题。 (51)Int.Cl. (19。
3、)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书7页 附图4页 (10)申请公布号 CN 104468041 A (43)申请公布日 2015.03.25 CN 104468041 A 1/2 页 2 1.一种基于 SWP 数据链路的数据处理装置, 其特征在于 : 包括发送滑动窗口单元和接 收滑动窗口单元 ; 所述发送滑动窗口单元用于发送或重发写入发送滑动窗口的数据帧, 所 述接收滑动窗口单元用于接收数据帧。 2.根据权利要求1所述的基于SWP数据链路的数据处理装置, 其特征在于, 所述发送滑 动窗口单元包括写数据指针模块、 发送数据指针模块和重复发送数据指针模块 。
4、; 在数据发 送前, 所述写数据指针模块、 发送数据指针模块和重复发送数据指针模块的指针都指向发 送滑动窗口单元的初始位置, 指针值的大小都为 0 ; 当数据链路开始进行数据交互前, 所述 写数据指针模块的指针指向发送滑动窗口单元的第一个空闲位置, 所述发送数据指针模块 的指针指向发送滑动窗口单元的第一个待发送数据帧位置, 所述重复发送数据指针模块的 指针指向发送滑动窗口单元的第一个待重复发送的数据帧位置。 3.根据权利要求 2 所述的基于 SWP 数据链路的数据处理装置, 其特征在于, 所述发送 滑动窗口单元还包括第一指针判断模块和第一指针控制模块, 所述第一指针判断模块与第 一指针控制模块。
5、连接, 且所述第一指针判断模块和第一指针控制模块分别与写数据指针模 块、 发送数据指针模块及重复发送数据指针模块连接。 4.根据权利要求3所述的基于SWP数据链路的数据处理装置, 其特征在于, 当数据链路 开始进行数据交互时, 通过所述第一指针判断模块判断写数据指针模块的指针大小是否小 于滑动窗口大小, 如果写数据指针模块的指针大小小于滑动窗口大小, 则向发送滑动窗口 单元的第一个空闲位置写入一帧数据, 并通过所述第一指针控制模块控制写数据指针模块 的指针值加 1 ; 所述第一指针判断模块还用于判断发送数据指针模块的指针大小是否小于 发送滑动窗口大小及写数据指针模块的指针大小, 以及所指向的数。
6、据帧是否是未发送数据 帧, 如果发送数据指针模块的指针大小小于发送滑动窗口大小及写数据指针模块的指针大 小, 且所指向的数据帧是未发送数据帧, 则通过发送数据指针模块发送该帧数据, 并通过第 一指针控制模块控制发送数据指针模块的指针值加 1。 5.根据权利要求1所述的基于SWP数据链路的数据处理装置, 其特征在于, 所述接收滑 动窗口单元包括接收数据指针模块、 读数据指针模块、 第二指针判断模块和第二指针控制 模块, 所述第二指针判断模块与第二指针控制模块连接, 且所述第二指针判断模块和第二 指针控制模块分别与接收数据指针模块及读数据指针模块连接 ; 在数据接收前, 所述接收 数据指针模块和读。
7、数据指针模块的指针都指向接收滑动窗口单元的初始位置, 指针值的大 小都为 0 ; 在数据链路开始进行数据交互时, 所述接收数据指针模块的指针指向接收滑动 窗口单元的第一个空闲位置, 所述读数据指针模块的指针指向最后一个已接收的数据帧位 置。 6.根据权利要求5所述的基于SWP数据链路的数据处理装置, 其特征在于, 所述第二指 针判断模块判断接收数据指针模块的指针大小小于滑动窗口大小时, 接收数据, 每接收一 帧数据, 通过第二指针控制模块控制接收数据指针模块的指针值加 1 ; 并通过所述第二指 针判断模块判断读数据指针模块的指针大小是否小于滑动窗口大小, 以及读数据指针模块 的指针大小是否等于。
8、接收数据指针模块的指针大小, 如果读数据指针模块的指针大小小于 滑动窗口大小, 且读数据指针模块的指针大小不等于接收数据指针模块的指针大小, 通过 读数据指针模块从接收滑动窗口中读取数据并对数据进行解析处理, 并通过第二指针控制 模块控制读数据指针模块的指针值加 1 ; 如果读数据指针模块的指针大小等于接收数据指 权 利 要 求 书 CN 104468041 A 2 2/2 页 3 针模块的指针大小, 则通过第二指针控制模块控制读数据指针模块和接收数据指针模块的 指针值同时归零。 7.根据权利要求6所述的基于SWP数据链路的数据处理装置, 其特征在于, 如果所述读 数据指针模块解析到的数据是请。
9、求重发数据帧, 则通过第一指针控制模块将发送数据指针 模块和重复发送数据指针模块的指针置于要重发的数据帧的位置, 当满足发送数据帧的条 件时, 重发该数据帧, 并通过第一指针控制模块控制发送数据指针模块和重复发送数据指 针模块的指针值各加 1 ; 当写数据指针模块、 发送数据指针模块及重复发送数据指针模块 的指针值的大小都相等时, 通过第一指针控制模块控制写数据指针模块、 发送数据指针模 块及重复发送数据指针模块的指针值同时归零。 8.一种基于 SWP 数据链路的数据处理方法, 包括 : 步骤 a : 向发送滑动窗口单元写入数据帧 ; 步骤 b : 通过发送滑动窗口单元发送或重发数据帧 ; 步。
10、骤 c : 通过接收滑动窗口单元接收数据帧。 9.根据权利要求 8 所述的基于 SWP 数据链路的数据处理方法, 其特征在于, 所述步骤 a 还包括 : 将发送滑动窗口单元分割为写数据指针模块、 发送数据指针模块、 重复发送数据指 针模块, 并将接收滑动窗口单元分割为接收数据指针模块和读数据指针模块 ; 开始发送或 接收数据前, 所述写数据指针模块、 发送数据指针模块及重复发送数据指针模块的指针都 指向发送滑动窗口的初始位置, 指针值的大小都为 0 ; 所述接收数据指针模块和读数据指 针模块的指针都指向接收滑动窗口的初始位置, 指针值的大小都为 0。 10.根据权利要求 9 所述的基于 SWP。
11、 数据链路的数据处理方法, 其特征在于 : 在所述步骤 a 中, 向所述发送滑动窗口单元写入一帧数据后, 所述写数据指针模块的 指针值加 1 ; 在所述步骤 b 中, 将写入发送滑动窗口的第一帧数据发送出去, 所述发送数据指针模 块的指针值加 1 ; 在所述步骤 c 中, 每接收一帧数据, 所述接收数据指针模块的指针值加 1 ; 所述读数据 指针模块从接收滑动窗口中读取数据并对数据进行解析处理, 且将读数据指针模块的指针 值加 1 ; 如果读数据指针模块的指针大小等于接收数据指针模块的指针大小, 则将读数据 指针模块和接收数据指针模块的指针值同时归零 ; 如果读数据指针模块解析到的数据是请求重。
12、发数据帧, 则将发送数据指针模块和重复 发送数据指针模块的指针置于要重发的数据帧的位置, 并重发该数据帧, 每重复发送一帧 数据, 将发送数据指针模块和重复发送数据指针模块的指针值各加 1 ; 当写数据指针模块、 发送数据指针模块及重复发送数据指针模块的指针大小都相等时, 将写数据指针模块、 发 送数据指针模块及重复发送数据指针模块的指针值同时归零。 权 利 要 求 书 CN 104468041 A 3 1/7 页 4 一种基于 SWP 数据链路的数据处理装置及方法 技术领域 0001 本发明属于通信技术领域, 尤其涉及一种基于 SWP 数据链路的数据处理装置及方 法。 背景技术 0002 近。
13、几年, 手机已经不再是简单的通信工具, 它已经成为便携的娱乐工具, 将来有望 发展为可信赖的支付工具, 在消费、 购物、 交通等领域通过手机可以更方便、 快捷地完成支 付。基于手机的新需求, 移动支付应运而生, 并逐渐成为移动运营商、 手机制造商及 SIM 卡 制造商研究的热点问题。 而NFC(Near Field Communication, 近距离通信)手机方案, 由于 解决了非接通讯和发卡流程等问题, 被普遍认为是手机支付中较完善的解决方案。 0003 SWP 协议 (Single Wire Protocol, 单线程协议 ) 标准规定了 SIM 卡和 NFC 芯片 之间的通信接口, 通。
14、过 SWP 协议中的 SHDLC( 简化的高级数据链路控制 ) 层实现数据传输, SHDLC 层在全双工通信时, 数据帧要携带确保数据完整性的所有帧。目前, 在 SWP 数据处理 上, 无法保证 SWP 数据链路的传输效率, 且传送的数据帧存在漏传、 漏收数据帧及传输拥塞 等问题。 发明内容 0004 本发明提供了一种基于 SWP 数据链路的数据处理装置及方法, 旨在解决现有的 SWP 数据处理技术无法保证 SWP 数据链路的传输效率, 且传送的数据帧存在漏传、 漏收数据 帧及传输拥塞的技术问题。 0005 本发明是这样实现的, 一种基于 SWP 数据链路的数据处理装置, 包括发送滑动窗 口单。
15、元和接收滑动窗口单元 ; 所述发送滑动窗口单元用于发送或重发写入发送滑动窗口的 数据帧, 所述接收滑动窗口单元用于接收数据帧。 0006 本发明实施例采取的技术方案还包括 : 所述发送滑动窗口单元包括写数据指针模 块、 发送数据指针模块和重复发送数据指针模块 ; 在数据发送前, 所述写数据指针模块、 发 送数据指针模块和重复发送数据指针模块的指针都指向发送滑动窗口单元的初始位置, 指 针值的大小都为 0 ; 当数据链路开始进行数据交互前, 所述写数据指针模块的指针指向发 送滑动窗口单元的第一个空闲位置, 所述发送数据指针模块的指针指向发送滑动窗口单元 的第一个待发送数据帧位置, 所述重复发送数。
16、据指针模块的指针指向发送滑动窗口单元的 第一个待重复发送的数据帧位置。 0007 本发明实施例采取的技术方案还包括 : 所述发送滑动窗口单元还包括第一指针判 断模块和第一指针控制模块, 所述第一指针判断模块与第一指针控制模块连接, 且所述第 一指针判断模块和第一指针控制模块分别与写数据指针模块、 发送数据指针模块及重复发 送数据指针模块连接。 0008 本发明实施例采取的技术方案还包括 : 当数据链路开始进行数据交互时, 通过所 述第一指针判断模块判断写数据指针模块的指针大小是否小于滑动窗口大小, 如果写数据 说 明 书 CN 104468041 A 4 2/7 页 5 指针模块的指针大小小于。
17、滑动窗口大小, 则向发送滑动窗口单元的第一个空闲位置写入一 帧数据, 并通过所述第一指针控制模块控制写数据指针模块的指针值加 1 ; 所述第一指针 判断模块还用于判断发送数据指针模块的指针大小是否小于发送滑动窗口大小及写数据 指针模块的指针大小, 以及所指向的数据帧是否是未发送数据帧, 如果发送数据指针模块 的指针大小小于发送滑动窗口大小及写数据指针模块的指针大小, 且所指向的数据帧是未 发送数据帧, 则通过发送数据指针模块发送该帧数据, 并通过第一指针控制模块控制发送 数据指针模块的指针值加 1。 0009 本发明实施例采取的技术方案还包括 : 所述接收滑动窗口单元包括接收数据指针 模块、 。
18、读数据指针模块、 第二指针判断模块和第二指针控制模块, 所述第二指针判断模块与 第二指针控制模块连接, 且所述第二指针判断模块和第二指针控制模块分别与接收数据指 针模块及读数据指针模块连接 ; 在数据接收前, 所述接收数据指针模块和读数据指针模块 的指针都指向接收滑动窗口单元的初始位置, 指针值的大小都为 0 ; 在数据链路开始进行 数据交互时, 所述接收数据指针模块的指针指向接收滑动窗口单元的第一个空闲位置, 所 述读数据指针模块的指针指向最后一个已接收的数据帧位置。 0010 本发明实施例采取的技术方案还包括 : 所述第二指针判断模块判断接收数据指针 模块的指针大小小于滑动窗口大小时, 接。
19、收数据, 每接收一帧数据, 通过第二指针控制模块 控制接收数据指针模块的指针值加 1 ; 并通过所述第二指针判断模块判断读数据指针模块 的指针大小是否小于滑动窗口大小, 以及读数据指针模块的指针大小是否等于接收数据指 针模块的指针大小, 如果读数据指针模块的指针大小小于滑动窗口大小, 且读数据指针模 块的指针大小不等于接收数据指针模块的指针大小, 通过读数据指针模块从接收滑动窗口 中读取数据并对数据进行解析处理, 并通过第二指针控制模块控制读数据指针模块的指针 值加 1 ; 如果读数据指针模块的指针大小等于接收数据指针模块的指针大小, 则通过第二 指针控制模块控制读数据指针模块和接收数据指针模。
20、块的指针值同时归零。 0011 本发明实施例采取的技术方案还包括 : 如果所述读数据指针模块解析到的数据是 请求重发数据帧, 则通过第一指针控制模块将发送数据指针模块和重复发送数据指针模块 的指针置于要重发的数据帧的位置, 当满足发送数据帧的条件时, 重发该数据帧, 并通过第 一指针控制模块控制发送数据指针模块和重复发送数据指针模块的指针值各加 1 ; 当写数 据指针模块、 发送数据指针模块及重复发送数据指针模块的指针值的大小都相等时, 通过 第一指针控制模块控制写数据指针模块、 发送数据指针模块及重复发送数据指针模块的指 针值同时归零。 0012 本发明实施例采取的另一技术方案为 : 一种基。
21、于 SWP 数据链路的数据处理方法, 包括 : 0013 步骤 a : 向发送滑动窗口单元写入数据帧 ; 0014 步骤 b : 通过发送滑动窗口单元发送或重发数据帧 ; 0015 步骤 c : 通过接收滑动窗口单元接收数据帧。 0016 本发明实施例采取的技术方案还包括 : 所述步骤 a 还包括 : 将发送滑动窗口单元 分割为写数据指针模块、 发送数据指针模块、 重复发送数据指针模块, 并将接收滑动窗口单 元分割为接收数据指针模块和读数据指针模块 ; 开始发送或接收数据前, 所述写数据指针 模块、 发送数据指针模块及重复发送数据指针模块的指针都指向发送滑动窗口的初始位 说 明 书 CN 10。
22、4468041 A 5 3/7 页 6 置, 指针值的大小都为 0 ; 所述接收数据指针模块和读数据指针模块的指针都指向接收滑 动窗口的初始位置, 指针值的大小都为 0。 0017 本发明实施例采取的技术方案还包括 : 0018 在所述步骤 a 中, 向所述发送滑动窗口单元写入一帧数据后, 所述写数据指针模 块的指针值加 1 ; 0019 在所述步骤 b 中, 将写入发送滑动窗口的第一帧数据发送出去, 所述发送数据指 针模块的指针值加 1 ; 0020 在所述步骤 c 中, 每接收一帧数据, 所述接收数据指针模块的指针值加 1 ; 所述读 数据指针模块从接收滑动窗口中读取数据并对数据进行解析处。
23、理, 且将读数据指针模块的 指针值加 1 ; 如果读数据指针模块的指针大小等于接收数据指针模块的指针大小, 则将读 数据指针模块和接收数据指针模块的指针值同时归零 ; 0021 如果读数据指针模块解析到的数据是请求重发数据帧, 则将发送数据指针模块和 重复发送数据指针模块的指针置于要重发的数据帧的位置, 并重发该数据帧, 每重复发送 一帧数据, 将发送数据指针模块和重复发送数据指针模块的指针值各加 1 ; 当写数据指针 模块、 发送数据指针模块及重复发送数据指针模块的指针大小都相等时, 将写数据指针模 块、 发送数据指针模块及重复发送数据指针模块的指针值同时归零。 0022 本发明实施例的基于。
24、 SWP 数据链路的数据处理装置及方法通过发送滑动窗口单 元发送及重发数据帧, 通过接收滑动窗口单元接收数据帧, 两个滑动窗口单元同时工作, 保 证 SWP 数据链路的传输效率 ; 并将发送滑动窗口单元分割为写数据指针模块、 发送数据指 针模块、 重复发送数据指针模块, 将接收滑动窗口单元分割为接收数据指针模块和读数据 指针模块, 根据各个指针模块的指针指示, 确保数据帧正确、 有序的发送及接收, 避免漏传 或漏接数据, 实现数据传输的流量控制, 解决数据传输的拥塞问题。 附图说明 0023 图 1 是本发明实施例的基于 SWP 数据链路的数据处理装置的结构示意图 ; 0024 图 2 是本发。
25、明实施例的发送滑动窗口单元及其相应指针的初始位置结构示意图 ; 0025 图 3 是本发明实施例的向发送滑动窗口写一帧数据后, 发送滑动窗口及其指针的 大小结构示意图 ; 0026 图 4 是本发明实施例的接收滑动窗口单元及其相应指针的初始位置结构示意图 ; 0027 图 5 是本发明实施例的接收滑动窗口接收一帧数据后, 接收滑动窗口及其指针的 大小结构示意图 ; 0028 图 6 是本发明实施例的发送滑动窗口的工作示意图 ; 0029 图 7 是本发明实施例的基于 SWP 数据链路的数据处理方法的流程图。 具体实施方式 0030 为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附。
26、图及实施例, 对 本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并 不用于限定本发明。 0031 请参阅图 1, 是本发明实施例的基于 SWP 数据链路的数据处理装置的结构示意图。 说 明 书 CN 104468041 A 6 4/7 页 7 本发明实施例的基于 SWP 数据链路的数据处理装置包括发送滑动窗口单元和接收滑动窗 口单元 ; 发送滑动窗口单元用于发送数据帧及重发数据帧, 接收滑动窗口单元用于接收数 据帧 ; 两个滑动窗口单元同时工作, 保证 SWP 数据链路的传输效率, 解决数据传输的拥塞问 题, 且不会漏传、 漏收数据帧 ; 发送滑动窗口单元。
27、和接收滑动窗口单元的大小在 SWP 数据链 路建立时由支持 SWP 协议的主从设备 ( 如 NFC 手机作为主机, 支持 SWP 协议的 SIM 卡作为 从机 ) 协商确定。具体地 : 0032 发送滑动窗口单元包括写数据指针模块、 发送数据指针模块、 重复发送数据指针 模块、 第一指针判断模块和第一指针控制模块 ; 第一指针判断模块与第一指针控制模块连 接, 且第一指针判断模块和第一指针控制模块分别与写数据指针模块、 发送数据指针模块 及重复发送数据指针模块连接 ; 在数据发送前, 写数据指针模块、 发送数据指针模块和重复 发送数据指针模块的指针都指向发送滑动窗口单元的初始位置, 指针值的大。
28、小都为 0, 如图 2 所示, 是本发明实施例的发送滑动窗口单元及其相应指针的初始位置结构示意图, 其中, A 为写数据指针模块, B 为发送数据指针模块, C 为重复发送数据指针模块 ; 0033 写数据指针模块 : 当数据链路开始进行数据交互前, 写数据指针模块的指针指向 发送滑动窗口单元的第一个空闲位置 ; 当数据链路开始进行数据交互时, 通过第一指针判 断模块判断写数据指针模块的指针大小是否小于滑动窗口大小, 如果写数据指针模块的指 针大小小于滑动窗口大小, 则向发送滑动窗口单元的第一个空闲位置写入一帧数据, 并通 过第一指针控制模块控制写数据指针模块的指针值加 1, 如图 3 所示,。
29、 是本发明实施例的向 发送滑动窗口写一帧数据后, 发送滑动窗口及其指针的大小结构示意图, 其中, A 为写数据 指针模块, B 为发送数据指针模块, C 为重复发送数据指针模块 ; 0034 发送数据指针模块的指针指向发送滑动窗口单元的第一个待发送数据帧位置, 通 过第一指针判断模块判断发送数据指针模块的指针大小是否小于发送滑动窗口大小及写 数据指针模块的指针大小, 以及所指向的数据帧是否是未发送数据帧, 如果发送数据指针 模块的指针大小小于发送滑动窗口大小及写数据指针模块的指针大小, 且所指向的数据帧 是未发送数据帧, 则通过发送数据指针模块发送该帧数据, 并通过第一指针控制模块控制 发送数。
30、据指针模块的指针值加 1 ; 0035 重复发送数据指针模块的指针指向发送滑动窗口单元的第一个待重复发送的数 据帧位置。 0036 接收滑动窗口单元包括接收数据指针模块、 读数据指针模块、 第二指针判断模块 和第二指针控制模块, 第二指针判断模块与第二指针控制模块连接, 且第二指针判断模块 和第二指针控制模块分别与接收数据指针模块及读数据指针模块连接 ; 在数据接收前, 接 收数据指针模块和读数据指针模块的指针都指向接收滑动窗口单元的初始位置, 指针值的 大小都为 0 ; 如图 4 所示, 是本发明实施例的接收滑动窗口单元及其相应指针的初始位置结 构示意图, 其中, D 为接收数据指针模块, 。
31、E 为读数据指针模块 ; 在数据链路开始进行数据交 互时 : 0037 接收数据指针模块的指针指向接收滑动窗口单元的第一个空闲位置 ; 通过第二指 针判断模块判断接收数据指针模块的指针大小是否小于滑动窗口大小, 如果接收数据指针 模块的指针大小小于滑动窗口大小, 通过接收数据指针模块接收数据帧, 接收数据指针模 块每接收一帧数据, 通过第二指针控制模块控制接收数据指针模块的指针值加 1 ; 具体如 说 明 书 CN 104468041 A 7 5/7 页 8 图 5 所示, 是本发明实施例的接收滑动窗口接收一帧数据后, 接收滑动窗口及其指针的大 小结构示意图, 其中, D 为接收数据指针模块,。
32、 E 为读数据指针模块 ; 0038 读数据指针模块的指针指向最后一个已接收的数据帧位置 ; 通过第二指针判断模 块判断读数据指针模块的指针大小是否小于滑动窗口大小, 以及读数据指针模块的指针大 小是否等于接收数据指针模块的指针大小, 如果读数据指针模块的指针大小小于滑动窗口 大小, 且读数据指针模块的指针大小不等于接收数据指针模块的指针大小, 通过读数据指 针模块从接收滑动窗口中读取数据并对数据进行解析处理, 并通过第二指针控制模块控制 读数据指针模块的指针值加 1 ; 如果读数据指针模块的指针大小等于接收数据指针模块的 指针大小, 则通过第二指针控制模块控制读数据指针模块和接收数据指针模块。
33、的指针值同 时归零 ( 即指向接收滑动窗口单元的初始位置 ), 以让接收滑动窗口达到最大效率 ; 0039 如果读数据指针模块解析到的数据是请求重发数据帧, 则通过第一指针控制模块 将发送数据指针模块和重复发送数据指针模块的指针置于要重发的数据帧的位置, 当满足 发送数据帧的条件时, 重发该数据帧, 每重复发送一帧数据, 通过第一指针控制模块控制发 送数据指针模块和重复发送数据指针模块的指针值各加 1 ; 当写数据指针模块、 发送数据 指针模块及重复发送数据指针模块的指针值都相等时, 通过第一指针控制模块控制写数据 指针模块、 发送数据指针模块及重复发送数据指针模块的指针值同时归零 ( 即指向。
34、发送滑 动窗口单元的初始位置 ), 以让发送滑动窗口达到最大效率。 0040 为了清楚说明本发明实施例的发送滑动窗口的工作原理, 请一并参阅图 6, 是本发 明实施例的发送滑动窗口的工作示意图, 其中, A 为写数据指针模块, B 为发送数据指针模 块, C 为重复发送数据指针模块。开始发送数据前, 写数据指针模块、 发送数据指针模块及 重复发送数据指针模块的指针都指向发送滑动窗口的初始位置, 指针值的大小都为 0 ; 向 发送滑动窗口单元写入一帧数据后, 写数据指针模块的指针值加 1 ; 将写入发送滑动窗口 的第一帧数据发送出去, 发送数据指针模块的指针值加 1 ; 接收滑动窗口接收数据并解。
35、析 接收到的数据, 如果解析到的数据是请求重发第一帧, 则将发送数据指针模块和重复发送 数据指针模块的指针同时调整到要重发送的数据帧位置, 当满足发送数据帧的条件时, 发 送数据帧, 且发送数据指针模块和重复发送数据指针模块的指针值各加 1 ; 此时写数据指 针模块、 发送数据指针模块及重复发送数据指针模块的指针值都为 1, 三个指针模块的指针 值相等, 为了实现发送滑动窗口的最大效率, 当写数据指针模块、 发送数据指针模块及重复 发送数据指针模块的指针值的大小都相等时, 将三个指针模块的指针值都归零, 使他们处 于发送滑动窗口的初始位置。 0041 请参阅图7, 是本发明实施例的基于SWP数。
36、据链路的数据处理方法的流程图。 本发 明实施例的基于 SWP 数据链路的数据处理方法包括以下步骤 : 0042 步骤 100 : 将发送滑动窗口单元分割为写数据指针模块、 发送数据指针模块、 重复 发送数据指针模块, 并将接收滑动窗口单元分割为接收数据指针模块和读数据指针模块 ; 0043 在步骤 100 中, 在数据发送前, 写数据指针模块、 发送数据指针模块和重复发送数 据指针模块的指针指向发送滑动窗口单元的初始位置, 指针值的大小都为 0 ; 在数据接收 前, 接收数据指针模块和读数据指针模块的指针指向接收滑动窗口单元的初始位置, 指针 值的大小都为 0 ; 发送滑动窗口单元和接收滑动窗。
37、口单元的大小在 SWP 数据链路建立时由 支持 SWP 协议的主从设备 ( 如 NFC 手机作为主机, 支持 SWP 协议的 SIM 卡作为从机 ) 协商 说 明 书 CN 104468041 A 8 6/7 页 9 确定。 0044 步骤 200 : 向发送滑动窗口单元的第一个空闲位置写入一帧数据, 并将写数据指 针模块的指针值加 1 ; 0045 在步骤 200 中, 当数据链路开始进行数据交互前, 写数据指针模块的指针指向发 送滑动窗口单元的第一个空闲位置。 0046 步骤 300 : 判断发送数据指针模块的指针大小是否小于发送滑动窗口大小及写数 据指针模块的指针大小, 以及所指向的数据。
38、帧是否是未发送数据帧, 如果发送数据指针模 块的指针大小小于发送滑动窗口大小及写数据指针模块的指针大小, 且所指向的数据帧是 未发送数据帧, 执行步骤 400 ; 0047 步骤 400 : 发送该帧数据, 并将发送数据指针模块的指针值加 1 ; 0048 步骤 500 : 判断接收数据指针模块的指针大小是否小于滑动窗口大小, 如果接收 数据指针模块的指针大小小于滑动窗口大小, 执行步骤 600 ; 0049 步骤 600 : 通过接收数据指针模块接收数据帧, 并通过第二指针控制模块控制接 收数据指针模块的指针值加 1 ; 0050 在步骤 600 中, 在数据链路开始进行数据交互时, 接收数。
39、据指针模块的指针指向 接收滑动窗口单元的第一个空闲位置。 0051 步骤 700 : 判断读数据指针模块的指针大小是否小于滑动窗口大小, 以及读数据 指针模块的指针大小是否等于接收数据指针模块的指针大小, 如果读数据指针模块的指针 大小小于滑动窗口大小, 且读数据指针模块的指针大小不等于接收数据指针模块的指针大 小, 执行步骤 800 ; 如果读数据指针模块的指针大小等于接收数据指针模块的指针大小, 执 行步骤 900 ; 0052 在步骤 700 中, 在数据链路开始进行数据交互时, 读数据指针模块的指针指向最 后一个已接收的数据帧位置。 0053 步骤 800 : 通过读数据指针模块从接收。
40、滑动窗口中读取数据, 对数据进行解析处 理, 将读数据指针模块的指针值加 1, 并执行步骤 1000 ; 0054 步骤 900 : 将读数据指针模块和接收数据指针模块的指针值同时归零, 使读数据 指针模块和接收数据指针模块的指针处于接收滑动窗口单元的初始位置 ; 0055 步骤 1000 : 判断解析的数据帧是否是请求重发数据帧, 如果解析的数据帧请求重 发数据帧, 执行步骤 1100 ; 0056 步骤 1100 : 将发送数据指针模块和重复发送数据指针模块的指针置于要重发的 数据帧的位置, 当满足发送数据帧的条件时, 重发该数据帧, 并将发送数据指针模块和重复 发送数据指针模块的指针值各。
41、加 1 ; 0057 步骤 1200 : 当写数据指针模块、 发送数据指针模块及重复发送数据指针模块的指 针值的大小都相等时, 将写数据指针模块、 发送数据指针模块及重复发送数据指针模块的 指针值同时归零, 使写数据指针模块、 发送数据指针模块及重复发送数据指针模块的指针 处于发送滑动窗口单元的初始位置。 0058 本发明实施例的基于 SWP 数据链路的数据处理装置及方法通过发送滑动窗口单 元发送及重发数据帧, 通过接收滑动窗口单元接收数据帧, 两个滑动窗口单元同时工作, 保 证 SWP 数据链路的传输效率 ; 并将发送滑动窗口单元分割为写数据指针模块、 发送数据指 说 明 书 CN 1044。
42、68041 A 9 7/7 页 10 针模块、 重复发送数据指针模块, 将接收滑动窗口单元分割为接收数据指针模块和读数据 指针模块, 根据各个指针模块的指针指示, 确保数据帧正确、 有序的发送及接收, 避免漏传 或漏接数据, 实现数据传输的流量控制, 解决数据传输的拥塞问题。 0059 以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内所作的任何修改、 等同替换和改进等, 均应包含在本发明的保护范围之内。 说 明 书 CN 104468041 A 10 1/4 页 11 图 1 图 2 说 明 书 附 图 CN 104468041 A 11 2/4 页 12 图 3 图 4 图 5 说 明 书 附 图 CN 104468041 A 12 3/4 页 13 图 6 说 明 书 附 图 CN 104468041 A 13 4/4 页 14 图 7 说 明 书 附 图 CN 104468041 A 14 。