CN109286919B - Ble设备及其数据包接收方法、计算机可读存储介质 - Google Patents

Ble设备及其数据包接收方法、计算机可读存储介质 Download PDF

Info

Publication number
CN109286919B
CN109286919B CN201710597806.7A CN201710597806A CN109286919B CN 109286919 B CN109286919 B CN 109286919B CN 201710597806 A CN201710597806 A CN 201710597806A CN 109286919 B CN109286919 B CN 109286919B
Authority
CN
China
Prior art keywords
data packet
data
packet
energy
judging
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.)
Active
Application number
CN201710597806.7A
Other languages
English (en)
Other versions
CN109286919A (zh
Inventor
陈国础
俞忠兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CN201710597806.7A priority Critical patent/CN109286919B/zh
Publication of CN109286919A publication Critical patent/CN109286919A/zh
Application granted granted Critical
Publication of CN109286919B publication Critical patent/CN109286919B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种BLE设备及其数据包接收方法、计算机可读存储介质,所述方法包括:接收数据包,并对所接收到的数据包进行解析;判断所述数据包中是否存在未解析的有效数据;当所述数据包中存在未解析的有效数据时,对所述数据包进行解析,直至检测到所述数据包中不存在未解析的有效数据时,完成所述数据包接收。上述方案能够有效避免负载长度信息被误解析,提高BLE设备的吞吐量。

Description

BLE设备及其数据包接收方法、计算机可读存储介质
技术领域
本发明实施例涉及蓝牙低功耗领域,尤其涉及一种BLE设备及其数据包接收方法、计算机可读存储介质。
背景技术
蓝牙低功耗(Bluetooth Low Energy,BLE)技术是低成本、短距离、可互操作的鲁棒性无线技术,工作在免许可的2.4GHz ISM射频频段。
在BLE 5.0中,包括两种数据包:广播信道协议数据单元(advertising channelprotocol data unit)以及数据信道协议数据单元(data channel protocol data unit)。针对广播信道协议数据单元以及数据信道协议数据单元,负载(payload)的长度(length)均由包头中的最后8比特决定。
在无线通信环境下,如果空口环境较为嘈杂,可能会存在负载的长度信息被误解析的情况,例如,将短包误解析为长包,或者将长包误解析为短包,导致BLE设备吞吐恶化。
发明内容
本发明实施例解决的是如何避免负载长度信息被误解析,提高BLE设备吞吐量。
为解决上述技术问题,本发明实施例提供一种BLE设备的数据包接收方法,包括:接收数据包,并对所接收到的数据包进行解析;判断所述数据包中是否存在未解析的有效数据;当所述数据包中存在未解析的有效数据时,对所述数据包进行解析,直至检测到所述数据包中不存在未解析的有效数据时,完成所述数据包接收。
可选的,所述判断所述数据包中是否存在未解析的有效数据,包括:判断是否解析到所述数据包中的协议数据单元的包头;当解析到所述数据包中的协议数据单元的包头时,判断所述数据包中是否存在未解析的有效数据。
可选的,所述判断所述数据包是否存在有效数据,包括:判断所述数据包的信号能量是否大于预设能量;当所述数据包的信号能量不小于所述预设能量时,判定所述数据包中存在有效数据;当所述数据包的信号能量小于所述预设能量时,判定所述数据包中不存在有效数据。
可选的,所述判断所述数据包的信号能量是否大于预设能量,包括:判断所述数据包的接收信号强度指示是否大于预设值;当所述数据包的接收信号强度指示不小于所述预设值时,判定所述数据包的信号能量不小于预设能量;当所述数据包的接收信号强度指示小于所述预设值时,判定所述数据包的信号能量小于预设能量。
本发明实施例还提供了一种BLE设备,包括:接收单元,用于接收数据包;判断单元,用于判断所述数据包中是否存在未解析的有效数据;解析单元,用于对所接收到的数据包进行解析,直至所述判断单元检测到所述数据包中不存在未解析的有效数据时,完成所述数据包接收。
可选的,所述判断单元,用于判断是否解析到所述数据包中的协议数据单元的包头;当解析到所述数据包中的协议数据单元的包头时,判断所述数据包中是否存在未解析的有效数据。
可选的,所述判断单元,用于判断所述数据包的信号能量是否大于预设能量;当所述数据包的信号能量不小于所述预设能量时,判定所述数据包中存在有效数据;当所述数据包的信号能量小于所述预设能量时,判定所述数据包中不存在有效数据。
可选的,所述判断单元,用于判断所述数据包的接收信号强度指示是否大于预设值;当所述数据包的接收信号强度指示不小于所述预设值时,判定所述数据包的信号能量不小于预设能量;当所述数据包的接收信号强度指示小于所述预设值时,判定所述数据包的信号能量小于预设能量。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一种所述的BLE设备的数据包接收方法的步骤。
本发明实施例还提供了一种BLE设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述任一种所述的BLE设备的数据包接收方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
在对接收到的数据包进行解析的过程中,判断接收到的数据包中是否存在未解析的有效数据。当数据包中存在未解析的有效数据时,继续对数据包进行解析,直至检测到数据包中不存在未解析的有效数据。由于在对数据包的解析过程中实时检测是否存在未解析的有效数据,因此即便负载长度信息被误解析,也可以正常对数据包进行解析,因此可以提高BLE设备吞吐量。
附图说明
图1是本发明实施例中的一种BLE设备的数据包接收方法的流程图;
图2是本发明实施例中的一种BLE设备的结构示意图。
具体实施方式
在BLE 5.0中,针对广播信道协议数据单元以及数据信道协议数据单元,负载(payload)的长度(length)均由包头中的最后8比特决定。在无线通信环境下,如果空口环境较为嘈杂,可能会存在负载的长度信息被误解析的情况。例如,将短包误解析为长包,或者将长包误解析为短包。当将负载的长度信息由短包误解析为长包时,由于一个长包的最长的包长可达17040μs,因此会导致最大17040μs的空口时间的浪费,造成BLE设备的吞吐量恶化。当将负载的长度信息由长包误解析为短包时,在空口资源还没有被完全释放时占用空口资源,导致空口资源利用率低下。
在本发明实施例中,在对数据包的解析过程中实时检测是否存在未解析的有效数据,因此即便负载长度信息被误解析,也可以正常对数据包进行解析,因此可以提高BLE设备吞吐量。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明实施例提供了一种BLE设备的数据包接收方法,参照图1,以下通过具体步骤进行详细说明。
步骤S101,接收数据包,并对所接收到的数据包进行解析。
在实际应用中可知,蓝牙设备在进行通信时,由主设备进行设备查找,查找当前工作范围内所存在的从设备。主设备在找到从设备后,发起配对,与查找到的从设备建立通信。蓝牙设备在进行通信的过程中,主设备向从设备发送数据包,从设备接收主设备发送的数据包。在通信的过程中,主设备与从设备之间的主从关系可以互换。
在具体实施中,BLE设备在接收到主设备发送的数据包之后,即可对接收到的数据包进行解析。
步骤S102,判断所述数据包中是否存在未解析的有效数据。
在具体实施中,在对数据包进行解析的过程中,可以实时判断数据包中是否存在未解析的有效数据。当判定数据包中仍存在未解析的有效数据时,执行步骤S103;当判定数据包中存在未解析的有效数据时,执行步骤S104。
在实际应用中可知,BLE设备发送的数据包通常由前导码(Preamble)、接入地址(Access Address)、协议数据单元(Protocol Data Unit,PDU)以及循环冗余校验(CyclicRedundancy Check,CRC)等部分组成,且上述几个部分在数据包中所占位置的顺序依次为:前导码、接入地址、PDU以及CRC。
在对接收到的数据包进行解析时,先解析前导码,再解析接入地址、PDU等,因此,在判断接收到的数据包中是否存在未解析的有效数据之前,可以先判断是否解析到接收到的数据包中的PDU的包头(header)。当检测到解析到数据包中的PDU包头时,即可判断数据包中是否存在未解析的有效数据。反之,当检测到尚未解析到数据包中的PDU包头时,则无需执行步骤S102。
在具体实施中,在判断数据包中是否存在有效数据时,可以判断在对数据包进行解析时,数据包的信号能量是否大于预设能量。当数据包的信号能量不小于预设能量时,判定数据包中存在有效数据;反之,当数据包的信号能量小于预设能量时,判定数据包中不存在有效数据。
在实际应用中可知,当信号中携带有效数据时,其对应的信号能量要大于信号中没有携带有效数据时对应的信号能量。因此,预先设置一个能量阈值作为预设能量,通过判断数据包的信号能量是否大于预设能量来检测数据包中是否存在未解析的有效数据。
在设置预设能量时,可以根据应用场景进行设置。预设能量应大于噪声信号对应的信号能量且小于有效数据对应的信号能量。
在判断数据包的信号能量是否大于预设能量时,可以判断数据包的接收信号强度指示(Received Signal Strength Indication,RSSI)是否大于预设值。当数据包的RSSI大于预设值时,判定数据包的信号能量不小于预设能量;当数据包的RSSI小于预设值时,判定数据包的信号能量小于预设能量。
步骤S103,对所述数据包进行解析。
在具体实施中,当检测到数据包中仍存在未解析的有效数据时,继续对数据包进行解析。并在解析过程中,继续执行步骤S102,也即在解析过程中实时检测是否存在未解析的有效数据,
步骤S104,完成所述数据包接收。
在具体实施中,当检测到数据包中不存在未解析的有效数据时,则可以判定完成对接收到的数据包的解析,此时即可完成对数据包的接收。
在现有技术中,在无线通信环境下,当空口环境噪声较大时,可能会出现PDU负载的长度信息被误解析的情况。例如,当空口环境噪声较大时,将负载的长度信息由长包误解析为短包,或者将负载的长度信息由短包误解析为长包,造成空口资源利用率低下,BLE设备吞吐量低下。
而在本发明实施例中,在对接收到的数据包进行解析的过程中,判断接收到的数据包中是否存在未解析的有效数据。当数据包中存在未解析的有效数据时,继续对数据包进行解析,直至检测到数据包中不存在未解析的有效数据。也就是说,在本发明实施例中,在对数据包进行解析时,并不根据所解析得到的负载长度信息来对数据包进行相应长度信息的解析,而是根据数据包中是否仍存在有效数据来进行解析。当数据包中存在有效数据时,继续对数据包进行解析;当数据包中不存在有效数据时,则完成数据包接收。
当空口环境的噪声较大时,假设解析得到的负载长度信息由短包被误解析为长包,由于并不根据解析得到的负载长度信息对数据包进行相应长度信息的解析,而是直接对负载进行解析,并在解析过程中实时检测是否存在未解析的有效数据。由于负载的实际是短包,因此,在正常的短包解析时间内即可完成对有效数据的解析,而不是根据长包的解析时间来对接收到的数据包进行解析,因此可以有效避免将短包误解析为长包而导致的空口资源浪费。
相应地,当空口环境的噪声较大时,假设解析得到的负载长度信息由长包误解析为短包,在达到正常的短包解析时间时,检测到数据包中仍存在未解析的有效数据,因此继续对数据包进行解析,而不是在达到短包解析时间时就结束对数据包的解析,因此可以提高空口资源的利用率。
参照图2,本发明实施例提供了一种BLE设备,包括:接收单元201、判断单元202以及解析单元203,其中:
接收单元201,用于接收数据包;
判断单元202,用于判断所述数据包中是否存在未解析的有效数据;
解析单元203,用于对所接收到的数据包进行解析,直至所述判断单元检测到所述数据包中不存在未解析的有效数据时,完成所述数据包接收。
在具体实施中,所述判断单元202,可以用于判断是否解析到所述数据包中的协议数据单元的包头;当解析到所述数据包中的协议数据单元的包头时,判断所述数据包中是否存在未解析的有效数据。
在具体实施中,所述判断单元202,可以用于判断所述数据包的信号能量是否大于预设能量;当所述数据包的信号能量不小于所述预设能量时,判定所述数据包中存在有效数据;当所述数据包的信号能量小于所述预设能量时,判定所述数据包中不存在有效数据。
在具体实施中,所述判断单元202,可以用于判断所述数据包的接收信号强度指示是否大于预设值;当所述数据包的接收信号强度指示不小于所述预设值时,判定所述数据包的信号能量不小于预设能量;当所述数据包的接收信号强度指示小于所述预设值时,判定所述数据包的信号能量小于预设能量。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行本发明上述实施例中提供的BLE设备的数据包接收方法的步骤。
本发明实施例还提供了另一种BLE设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行本发明上述实施例中提供的BLE设备的数据包接收方法的步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (6)

1.一种BLE设备的数据包接收方法,其特征在于,包括:
接收数据包,并对所接收到的数据包进行解析;
判断所述数据包中是否存在未解析的有效数据,包括:判断是否解析到所述数据包中的协议数据单元的包头;当解析到所述数据包中的协议数据单元的包头时,判断所述数据包中是否存在未解析的有效数据;所述判断所述数据包是否存在有效数据,包括:判断所述数据包的信号能量是否大于预设能量;当所述数据包的信号能量不小于所述预设能量时,判定所述数据包中存在有效数据;当所述数据包的信号能量小于所述预设能量时,判定所述数据包中不存在有效数据;
当所述数据包中存在未解析的有效数据时,对所述数据包进行解析,直至检测到所述数据包中不存在未解析的有效数据时,完成所述数据包接收。
2.如权利要求1所述的BLE设备的数据包接收方法,其特征在于,所述判断所述数据包的信号能量是否大于预设能量,包括:
判断所述数据包的接收信号强度指示是否大于预设值;
当所述数据包的接收信号强度指示不小于所述预设值时,判定所述数据包的信号能量不小于预设能量;当所述数据包的接收信号强度指示小于所述预设值时,判定所述数据包的信号能量小于预设能量。
3.一种BLE设备,其特征在于,包括:
接收单元,用于接收数据包;
判断单元,用于判断所述数据包中是否存在未解析的有效数据,包括:判断是否解析到所述数据包中的协议数据单元的包头;当解析到所述数据包中的协议数据单元的包头时,判断所述数据包中是否存在未解析的有效数据;所述判断所述数据包是否存在有效数据,包括:判断所述数据包的信号能量是否大于预设能量;当所述数据包的信号能量不小于所述预设能量时,判定所述数据包中存在有效数据;当所述数据包的信号能量小于所述预设能量时,判定所述数据包中不存在有效数据;
解析单元,用于对所接收到的数据包进行解析,直至所述判断单元检测到所述数据包中不存在未解析的有效数据时,完成所述数据包接收。
4.如权利要求3所述的BLE设备,其特征在于,所述判断单元,用于判断所述数据包的接收信号强度指示是否大于预设值;当所述数据包的接收信号强度指示不小于所述预设值时,判定所述数据包的信号能量不小于预设能量;当所述数据包的接收信号强度指示小于所述预设值时,判定所述数据包的信号能量小于预设能量。
5.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1或2所述的BLE设备的数据包接收方法的步骤。
6.一种BLE设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1或2所述的BLE设备的数据包接收方法的步骤。
CN201710597806.7A 2017-07-20 2017-07-20 Ble设备及其数据包接收方法、计算机可读存储介质 Active CN109286919B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710597806.7A CN109286919B (zh) 2017-07-20 2017-07-20 Ble设备及其数据包接收方法、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710597806.7A CN109286919B (zh) 2017-07-20 2017-07-20 Ble设备及其数据包接收方法、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109286919A CN109286919A (zh) 2019-01-29
CN109286919B true CN109286919B (zh) 2021-09-14

Family

ID=65185052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710597806.7A Active CN109286919B (zh) 2017-07-20 2017-07-20 Ble设备及其数据包接收方法、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109286919B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095907B (zh) * 2021-10-28 2024-07-02 东集技术股份有限公司 蓝牙连接的控制方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958902A (zh) * 2010-09-30 2011-01-26 北京锐安科技有限公司 一种网络数据包的解析方法与装置
CN103973387A (zh) * 2013-01-30 2014-08-06 电信科学技术研究院 一种维护时隙状态信息的方法及装置
CN106658576A (zh) * 2016-10-19 2017-05-10 北京三快在线科技有限公司 一种数据处理方法、装置以及网络***
CN106658513A (zh) * 2017-01-11 2017-05-10 深圳市金立通信设备有限公司 一种无线网络的安全检测方法、终端及服务器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9577796B2 (en) * 2013-05-24 2017-02-21 Aruba Networks, Inc. Mitigating interference in wireless systems
US20160162980A1 (en) * 2014-12-09 2016-06-09 Opnia LLC Internet of things device management platform
US9734682B2 (en) * 2015-03-02 2017-08-15 Enovate Medical, Llc Asset management using an asset tag device
CN205484454U (zh) * 2016-01-08 2016-08-17 辽宁北方节能股份有限公司 一种ble蓝牙低功耗智能电能表
CN105676860A (zh) * 2016-03-17 2016-06-15 歌尔声学股份有限公司 一种可穿戴设备、无人机控制装置和控制实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958902A (zh) * 2010-09-30 2011-01-26 北京锐安科技有限公司 一种网络数据包的解析方法与装置
CN103973387A (zh) * 2013-01-30 2014-08-06 电信科学技术研究院 一种维护时隙状态信息的方法及装置
CN106658576A (zh) * 2016-10-19 2017-05-10 北京三快在线科技有限公司 一种数据处理方法、装置以及网络***
CN106658513A (zh) * 2017-01-11 2017-05-10 深圳市金立通信设备有限公司 一种无线网络的安全检测方法、终端及服务器

Also Published As

Publication number Publication date
CN109286919A (zh) 2019-01-29

Similar Documents

Publication Publication Date Title
US9867140B2 (en) Random access techniques for fixed devices in mobile broadband networks
WO2018000841A1 (zh) 一种harq重传的指示方法及相关设备
US20180109970A1 (en) Method and apparatus for performing a fine timing measurement in a wireless network
US20170201985A1 (en) Transmission Method and Communications Device
US10149202B2 (en) System and method for response frame type indication
US10827412B2 (en) Ultra-reliable communication reliability and detection in mobile networks
CN108123775B (zh) 传输数据包的方法和设备
CN106658756B (zh) 一种终端设备与热点连接的识别方法及装置
US11172442B2 (en) Method and apparatus for indicating a system information block change
US9473961B2 (en) Method and apparatus for handling address conflict
US9603154B2 (en) Method for transmitting data signal and user equipment
CN102938903B (zh) 一种避免测量时机与数据传输时机冲突的方法及装置
US9560674B2 (en) Virtual busy-tone for full-duplex wireless networks
CN114362885A (zh) 物联网数据传输方法、装置、设备和介质
JP2019161290A (ja) センサ装置、無線品質分析装置、無線品質監視システム、データ取得方法、および、プログラム
CN113260021A (zh) 接入控制方法、装置、用户设备及存储介质
CN109286919B (zh) Ble设备及其数据包接收方法、计算机可读存储介质
US10499423B2 (en) Channel allocation system and method for accommodating multiple nodes in sensor network
EP2840838B1 (en) Network discovery method, access point, and terminal device
KR20170126879A (ko) 믹싱된 무선 통신 시스템에서의 선택적 경합을 위한 방법들 및 장치
US9838907B2 (en) Methods and devices for transmitting frame in network
CN112953674B (zh) 一种速率匹配方法、网络设备以及用户设备
EP4319410A1 (en) Method for detecting pscch, and communication apparatus
CN113973331B (zh) 一种异常终端设备的检测方法及装置
US20210410223A1 (en) Signaling transmission method and device, signaling reception method and device, storage medium and terminal

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant