CN112738782B - 一种蓝牙数据传输方法、装置、通信芯片和电子设备 - Google Patents

一种蓝牙数据传输方法、装置、通信芯片和电子设备 Download PDF

Info

Publication number
CN112738782B
CN112738782B CN202011592255.3A CN202011592255A CN112738782B CN 112738782 B CN112738782 B CN 112738782B CN 202011592255 A CN202011592255 A CN 202011592255A CN 112738782 B CN112738782 B CN 112738782B
Authority
CN
China
Prior art keywords
packet
data
time
synchronization
communication cycle
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
CN202011592255.3A
Other languages
English (en)
Other versions
CN112738782A (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 CN202011592255.3A priority Critical patent/CN112738782B/zh
Publication of CN112738782A publication Critical patent/CN112738782A/zh
Priority to PCT/CN2021/131069 priority patent/WO2022142813A1/zh
Application granted granted Critical
Publication of CN112738782B publication Critical patent/CN112738782B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

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

Abstract

本申请实施例提供一种蓝牙数据传输方法、装置、通信芯片和电子设备。方法包括:发起当前通信周期的一次数据交互,包括,发送第一数据包;当预设的第一时长内未收到用于回应所述第一数据包的第二数据包时,根据预设的同步时刻设定,确认在当前通信周期对应的交互时隙内,当前时刻之后的第一同步时刻;在所述第一同步时刻,发起所述当前通信周期的新一次的数据交互。根据本申请实施例的方法,可以在单次数据交互失败的情况下,不结束通信周期,发起新一次的数据交互,以在单个通信周期内完成所有预期数据的传输,从而降低数据延时。

Description

一种蓝牙数据传输方法、装置、通信芯片和电子设备
技术领域
本申请涉及通信技术领域,特别涉及一种蓝牙数据传输方法、装置、通信芯片和电子设备。
背景技术
在低功耗蓝牙数据传输的应用场景中,低功耗蓝牙协议中规定,在两个设备建立一个数据交互连接时,连接参数“交互时隙(interval)”为为设备交互的间隔,即,两个通信周期的起始时刻的间隔为一个interval。
一般的,interval越小,设备进行数据交互时的功耗越大。但是,interval越大,数据传输的耗时也就越大,数据延时也越大。针对上述问题,为了兼顾功耗和数据延时,在现有技术中,采用在一个通信周期(一个interval)内进行多次数据交互的方式,来降低数据延时。
然而,在实际应用场景中,存在在预期的数据交互尚未完成,但通信周期结束的情况。因此,需要一种新的数据传输方法,以在一个通信周期内完成预期的数据交互。
发明内容
针对现有低功耗蓝牙数据传输的应用场景中,预期的数据交互尚未完成,但通信周期结束的问题,本申请提供了一种蓝牙数据传输方法、装置、通信芯片和电子设备,本申请还提供一种计算机可读存储介质。
本申请实施例采用下述技术方案:
第一方面,本申请提供一种蓝牙数据传输方法,包括:
发起当前通信周期的一次数据交互,包括,发送第一数据包;
当预设的第一时长内未收到用于回应所述第一数据包的第二数据包时,根据预设的同步时刻设定,确认在当前通信周期对应的交互时隙内,当前时刻之后的第一同步时刻;
在所述第一同步时刻,发起所述当前通信周期的新一次的数据交互。
在上述第一方面的一种可行的实现方式中:
所述同步时刻设定用于,在所述当前通信周期的交互时隙内,预设多个同步时刻;
所述第一同步时刻为,针对所述当前通信周期的交互时隙所预设的多个同步时刻中,在所述当前时刻之后,距离所述当前时刻最近的时刻。
在上述第一方面的一种可行的实现方式中,所述发起所述当前通信周期的新一次的数据交互,包括:
发送所述第一数据包。
在上述第一方面的一种可行的实现方式中,所述方法还包括:
在低功耗蓝牙数据传输协议中,统一设定针对所有通信周期的同步时刻设定。
在上述第一方面的一种可行的实现方式中,所述方法还包括:
在进行所述当前通信周期之前,设定针对所述当前通信周期的同步时刻设定。
在上述第一方面的一种可行的实现方式中,所述方法还包括:
当根据所述预设的同步时刻设定,判定不存在所述第一同步时刻时,结束所述当前通信周期。
第二方面,本申请还提供一种蓝牙数据传输装置,包括:
第一发送模块,其用于发送第一数据包;
同步时刻确认模块,其用于当预设的第一时长内未收到用于回应所述第一数据包的第二数据包时,根据预设的同步时刻设定,确认在当前通信周期的交互时隙内,当前时刻之后的第一同步时刻;
第二发送模块,其用于在所述第一同步时刻发送第三数据包。
第三方面,本申请还提供一种蓝牙通信芯片,包括:
处理器,其用于执行存储在存储器中的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发所述蓝牙通信芯片执行如上述第一方面所述的方法步骤。
第四方面,本申请还提供一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如上述第一方面所述的方法步骤。
第五方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如上述第一方面所述的方法。
根据本申请实施例所提出的上述技术方案,至少可以实现下述技术效果:
根据本申请实施例的方法,可以在单次数据交互失败的情况下,不结束通信周期,发起新一次的数据交互,以在单个通信周期内完成所有预期数据的传输,从而降低数据延时。
附图说明
图1所示为通信周期中数据包交互示意图;
图2所示为通信周期中数据包交互示意图;
图3所示为根据本申请一实施例的蓝牙数据传输方法的流程图;
图4所示为通信周期中数据包交互示意图;
图5所示为通信周期中数据包交互示意图;
图6所示为通信周期中数据包交互示意图;
图7所示为通信周期中数据包交互示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
在蓝牙低能耗(Bluetooth Low Energy,BLE)数据传输的应用场景中,在一个通信周期中,当参与通信的两个设备(主设备(Master)(或者称为通信发起设备)与从设备(Slaver) (或者称为通信接收设备))之间完成一次数据交互(主设备发送一个数据包到从设备,从设备回应一个数据包到主设备)后,如果设备之间还需要继续进行数据交互,一种可行的方案是,结束当前的通信周期,待当前的interval结束时,发起新的通信周期,在新的通信周期中再次发起一次数据交互。这样,interval越大,两次数据交互的间隔时间也就越长,数据延时也就越大。
为降低数据延时,在一种可行的方案中,当主设备与从设备之间完成一次数据交互后,如果主设备与从设备之间还需要继续进行数据交互,主设备并不结束当前的通信周期,而是,在当前的通信周期内,再次发起一次主设备与从设备之间的数据交互。这样,就可以在一个interval时长内实现多次数据交互,从而降低数据时延。
具体的,BLE链路层(link layer)定义了数据包(packet)的格式。数据包包含协议数据单元(protocol data unit,PDU),在PDU的头字段(Header)中包含MD(More Data) 位,MD位用于表示设备是否有更多的数据要发送。
例如,在一个通信周期中,当主设备发送一个数据包A1时,如果主设备在发送数据包A1后,本通信周期的数据没有全部发完,还需要发送数据包C1,那么,数据包的MD 位被设置为1。从设备接收到数据包A1后,针对数据包A1回应数据包B1,主设备接收到数据包B1后,完成一次数据交互。
主设备在接收到数据包B1后,继续向从设备发送数据包C1(开启新一次数据交互),然后从设备在接收到数据包C1后,针对数据包C1回应数据包D1,主设备接收到数据包D1后,完成一次数据交互。
又例如,在一个通信周期的中,当主设备发送一个数据包A2时,如果主设备在发送数据包A2后,本通信周期的数据已全部发完,那么,数据包的MD位被设置为0。从设备接收到数据包A2后,针对数据包A2回应数据包B2,主设备接收到数据包B2后,完成一次数据交互。
如果从设备在发送数据包B2后,针对数据包A2的回应数据已全部发完,那么,数据包的MD位保持0。主设备在接收到数据包B1后,结束当前的通信周期。
又例如,在一个通信周期的中,当主设备发送一个数据包A3时,如果主设备在发送数据包A3后,本通信周期的数据已全部发完,那么,数据包的MD位被设置为0。从设备接收到数据包A3后,针对数据包A3回应数据包B3,主设备接收到数据包B3后,完成一次数据交互。
如果从设备在发送数据包B3后,针对数据包A3的回应数据没有全部发完,还需要发送数据包C3。那么,数据包的MD位被设置为1。主设备在接收到数据包B3后,向从设备发送空数据包(开启新一次数据交互)。从设备接收到空数据包后回应发送数据包C3,主设备接收到数据包C3后,完成一次数据交互。
图1所示为通信周期中数据包交互示意图。如图1所示,M~S代表主设备发向从设备的数据包,S~M代表从设备回应主设备的数据包。111为一个interval时长。在interval111 中发起通信周期112。
在通信周期112中,主设备向从设备发送数据包101,在发送数据包101后,主设备在本通信周期内还有未发送的数据(数据包103),因此,数据包的MD位被设置为1。从设备接收到数据包101后,回应主设备数据包102(完成一次数据交互)。
主设备接收到数据包102后,继续向从设备发送数据包103。在发送数据包103后,主设备在本通信周期内没有未发送的数据,因此,在发送数据包103的阶段,数据包的 MD位被设置为0。从设备接收到数据包103后,回应主设备数据包104。主设备接收到数据包104后,完成一次数据交互。在从设备发送数据包104后,从设备还有未发送的、用于回应数据包103的数据(数据包106),因此,在发送数据包104的阶段,数据包的 MD位被设置为1。
主设备接收到数据包104后,向从设备发送空数据包105。在发送空数据包105后,主设备在本通信周期内没有未发送的数据,因此,在发送数据包105的阶段,MD位被设置为0。从设备接收到空数据包105后,回应主设备数据包106(回应数据包103,但在发送数据包104阶段未发送的数据)。在发送数据包106后,从设备没有未发送的数据,因此,在发送数据包106的阶段,数据包的MD位被设置为0。
主设备接收到数据包106后,由于数据包的MD位被设置为0,主设备结束当前的通信周期。
如图1所示,主设备以及从设备在通信周期112中,实现了3次数据交互,从而有效控制了数据时延。
然而,在实际应用场景中,在一个通信周期中,如果一次数据交互未能完成,通信周期就会被结束,后续无法继续交互,只能等待当前的interval结束后发起新的通信周期。
具体的,当主设备输出一个数据包后,在预设时长内未接收到从设备针对该数据包的回应数据包时,视为本次的数据交互失败。例如,主设备输出数据包A5,由于通信错误,从设备未接收到数据包A5;或者,主设备输出数据包A5,从设备接收到数据包A5后解析失败,无法回应数据包A5;或者,主设备输出数据包A5,从设备接收到数据包A5后回应数据包B5,由于通信错误,主设备未能接收到数据包B5。
当数据交互失败时,主设备会结束当前的通信周期。这样,如果想要完成之前失败的数据交互,以及,想要完成之前失败的数据交互的后续数据交互,均需要等当前的interval 结束后发起新的通信周期,这就大大增加了数据延时。
图2所示为通信周期中数据包交互示意图。如图2所示,M~S代表主设备发向从设备的数据包,S~M代表从设备回应主设备的数据包。211为一个interval时长。在interval211 中发起通信周期212。
在通信周期212中,主设备向从设备发送数据包201,在发送数据包201后,主设备在本通信周期内还有未发送的数据(数据包203),因此,数据包的MD位被设置为1。从设备接收到数据包201后,回应主设备数据包202。主设备接收到数据包202后,完成一次数据交互。
主设备接收到数据包202后,继续向从设备发送数据包203(发起新一次的数据交互)。在发送数据包203后,主设备在本通信周期内还有未发送的数据(数据包205),因此,数据包的MD位被设置为1。从设备接收到数据包203后,回应主设备数据包204。
然而,由于通信错误,从设备回应主设备的数据包204,并未被主设备接收到(数据交互失败)。此时,主设备结束当前的通信周期。
主设备只能等待interval211结束后,发起新的通信周期,在新通信周期中再次向从设备发送数据包203,以获取从设备再次回应的数据包204,从而完成一次数据交互。并且,在数据交互成功后,向从设备发送数据包205,进行新一次的数据交互。
如图2所示,由于数据交互失败,导致通信周期被提前结束,大大增加了数据延时。
针对通信周期被提前结束的问题,本申请一实施例中提供了一种蓝牙数据传输方法。该方法由蓝牙数据传输应用场景中的主设备所执行。
图3所示为根据本申请一实施例的蓝牙数据传输方法的流程图。如图3所示,在一个通信周期中,参与蓝牙数据传输的主设备执行下述流程:
步骤310,发起当前通信周期的一次数据交互,包括,发送第一数据包;
步骤320,判断预设的第一时长(第一时长在BLE通信协议中预设,为设备间交互的回应时间阈值)内,是否接收到来自从设备的第二数据包,其中,第二数据包为从设备生成的、用于回应第一数据包的数据包;
当接收到第二数据包时,执行步骤321;
步骤321,判断MD为是否为1;
如果为1,执行步骤323,进行本通信周期的下一次的数据交互;
如果为0,执行步骤324,结束当前的通信周期;
当未接收到第二数据包时,执行步骤330;
步骤330,根据预设的同步时刻设定,确认在当前通信周期对应的交互时隙内,当前时刻之后的第一同步时刻;
步骤340,在第一同步时刻发起当前通信周期的新一次的数据交互。
根据图1所示实施例的方法,在单次数据交互失败的情况下,仍然可以不结束通信周期,发起新一次的数据交互,以在单个通信周期内完成所有预期数据的传输,从而降低数据延时。
进一步的,在步骤340的一种实现方式中,在新一次的数据交互中,主设备向从设备重新发送第一数据包,以期望可以获取从设备回应的第二数据包,从而完成上一次未完成的数据交互。
在步骤340的另一种实现方式中,在新一次的数据交互中,主设备向从设备发送第一数据包以外的其他数据包。例如,主设备向从设备发送询问数据包,以确认上一次数据交互失败的原因;或者,主设备根据第一数据包生成第三数据包,向从设备发送第三数据包。第三数据包除了携带第一数据包的有效信息之外,还标识该数据包为数据交互失败后重发的数据包,从而令从设备自查数据交互失败原因。
具体的,在实际应用场景中,在步骤330中,可以采用多种不同的方案确定第一同步时刻。
例如,在一应用场景中,同步时刻设定用于,在当前通信周期的交互时隙内,预设多个同步时刻(例如,设定从interval开始时刻开始,每隔25毫秒为一个同步时刻;或者,设定从interval开始时刻开始,第25毫秒、45毫秒、65毫秒、85毫秒为4个同步时刻;或者,设定从interval开始时刻开始,每隔一次数据交互的持续时长(从主设备发送数据包到主设备接收到从设备回应的数据包的时间间隔)为一个同步时刻);第一同步时刻为,针对当前通信周期的交互时隙所预设的多个同步时刻中,在当前时刻之后,距离当前时刻最近的时刻。
图4所示为通信周期中数据包交互示意图。如图4所示,M~S代表主设备发向从设备的数据包,S~M代表从设备回应主设备的数据包。411为一个interval时长。按照同步时刻设定,确定interval411中时刻421、422、423以及424为4个同步时刻。
在interval411中发起通信周期412。在通信周期412中,主设备向从设备发送数据包 401,在发送数据包401后,主设备在本通信周期内还有未发送的数据(数据包403),因此,数据包的MD位被设置为1。从设备接收到数据包401后,回应主设备数据包402,主设备接收到数据包402后(完成一次数据交互)。
主设备接收到数据包402后,继续向从设备发送数据包403。在发送数据包403后,主设备在本通信周期内还有未发送的数据(数据包405),因此,数据包的MD位被设置为1。从设备接收到数据包403后,回应主设备数据包404。
然而,由于通信错误,从设备回应主设备的数据包404,并未被主设备接收到(数据交互失败)。此时,主设备确认之后最近的同步时刻422。在同步时刻422,主设备向从设备重新发送数据包403。在发送数据包403后,主设备在本通信周期内还有未发送的数据 (数据包405),因此,数据包的MD位被设置为1。从设备接收到数据包403后,重新回应主设备数据包404。
主设备接收到数据包404后,继续向从设备发送数据包405。在发送数据包405后,主设备在本通信周期内没有未发送的数据,因此,数据包的MD位被设置为0。从设备接收到数据包405后,回应主设备数据包406。主设备接收到数据包406后,结束本通信周期。
又例如,在一应用场景中,同步时刻设定包含同步时刻数阈值以及第二时长(例如, 5毫秒);同步时刻数阈值指的是在同一interval中,所能允许的同步时刻的最大个数(例如,4个同步时刻)。在当前通信周期的交互时隙内,当当前时刻之前已使用的同步时刻数小于同步时刻数阈值时,第一同步时刻为当前时刻的第二时长之后的时刻。
图5所示为通信周期中数据包交互示意图。如图5所示,M~S代表主设备发向从设备的数据包,S~M代表从设备回应主设备的数据包。511为一个interval时长。按照同步时刻设定,确定interval511中最多只能存在4个同步时刻,并且,设定第二时长为5毫秒。
在interval411中发起通信周期512。在通信周期512中,主设备向从设备发送数据包 501,在发送数据包501后,主设备在本通信周期内还有未发送的数据(数据包503),因此,数据包的MD位被设置为1。从设备接收到数据包501后,回应主设备数据包502。
然而,由于通信错误,从设备回应主设备的数据包502,并未被主设备接收到(数据交互失败)。此时,主设备确认当前interval中,并未使用过同步时刻。因此,在5毫秒后,主设备向从设备重新发送数据包501。在发送数据包501后,主设备在本通信周期内还有未发送的数据(数据包503),因此,数据包的MD位被设置为1。从设备接收到数据包 501后,重新回应主设备数据包502。
主设备接收到数据包502后,继续向从设备发送数据包503。在发送数据包503后,主设备在本通信周期内还有未发送的数据(数据包505),因此,数据包的MD位被设置为1。从设备接收到数据包503后,回应主设备数据包504。
然而,由于通信错误,从设备回应主设备的数据包504,并未被主设备接收到(数据交互失败)。此时,此时,主设备确认当前interval中,使用过一次同步时刻(小于4次)。因此,在5毫秒后,主设备向从设备重新发送数据包503。在发送数据包503后,主设备在本通信周期内还有未发送的数据(数据包505),因此,数据包的MD位被设置为1。从设备接收到数据包503后,重新回应主设备数据包504。
主设备接收到数据包504后,继续向从设备发送数据包505。在发送数据包505后,主设备在本通信周期内没有未发送的数据,因此,数据包的MD位被设置为0。从设备接收到数据包505后,回应主设备数据包506。主设备接收到数据包506后,结束本通信周期。
进一步的,在根据图3所示实施例方法的应用场景中,当预设的第一时长内未收到用于回应第一数据包的第二数据包时,在步骤330中,存在根据预设的同步时刻设定,确认在当前通信周期对应的交互时隙内,当前时刻之后不存在同步时刻的情况。即,在步骤 330中,根据预设的同步时刻设定,判定不存在第一同步时刻。此时,主设备结束当前通信周期。
例如,图6所示为通信周期中数据包交互示意图。如图6所示,M~S代表主设备发向从设备的数据包,S~M代表从设备回应主设备的数据包。611为一个interval时长。按照同步时刻设定,确定interval411中时刻621、622为2个同步时刻。
在interval611中发起通信周期612。在通信周期612中,主设备向从设备发送数据包 601,在发送数据包601后,主设备在本通信周期内还有未发送的数据(数据包6 03),因此,数据包的MD位被设置为1。从设备接收到数据包601后,回应主设备数据包602,主设备接收到数据包602后(完成一次数据交互)。
主设备接收到数据包602后,继续向从设备发送数据包603。在发送数据包603后,主设备在本通信周期内还有未发送的数据(数据包605),因此,数据包的MD位被设置为1。从设备接收到数据包603后,回应主设备数据包604。
然而,由于通信错误,从设备回应主设备的数据包604,并未被主设备接收到(数据交互失败)。此时,主设备确认之后最近的同步时刻622。在同步时刻622,主设备向从设备重新发送数据包603。在发送数据包603后,主设备在本通信周期内还有未发送的数据 (数据包605),因此,数据包的MD位被设置为1。从设备接收到数据包603后,重新回应主设备数据包604。
主设备接收到数据包604后,继续向从设备发送数据包605。在发送数据包605后,主设备在本通信周期内没有未发送的数据,因此,数据包的MD位被设置为0。从设备接收到数据包605后,回应主设备数据包606。
然而,由于通信错误,从设备回应主设备的数据包606,并未被主设备接收到(数据交互失败)。此时,主设备确认之后最近的同步时刻。由于interval611中预设的同步时刻为时刻621、622,在当前时刻之后,interval611中并不存在同步时刻。因此,主设备结束本通信周期。如果需要完成数据包605~数据包606的数据交互,需要在下一个interval中发起新的通信周期。
又例如,图7所示为通信周期中数据包交互示意图。如图7所示,M~S代表主设备发向从设备的数据包,S~M代表从设备回应主设备的数据包。711为一个interval时长。按照同步时刻设定,确定interval711中最多只能存在2个同步时刻,并且,设定第二时长为 5毫秒。
在interval711中发起通信周期712。在通信周期712中,主设备向从设备发送数据包 701,在发送数据包701后,主设备在本通信周期内还有未发送的数据(数据包703),因此,数据包的MD位被设置为1。从设备接收到数据包701后,回应主设备数据包702。
然而,由于通信错误,从设备回应主设备的数据包702,并未被主设备接收到(数据交互失败)。此时,主设备确认当前interval中,并未使用过同步时刻。因此,在5毫秒后,主设备向从设备重新发送数据包701。在发送数据包701后,主设备在本通信周期内还有未发送的数据(数据包703),因此,数据包的MD位被设置为1。从设备接收到数据包 701后,重新回应主设备数据包702。
主设备接收到数据包702后,继续向从设备发送数据包703。在发送数据包703后,主设备在本通信周期内还有未发送的数据(数据包705),因此,数据包的MD位被设置为1。从设备接收到数据包703后,回应主设备数据包704。
然而,由于通信错误,从设备回应主设备的数据包704,并未被主设备接收到(数据交互失败)。此时,此时,主设备确认当前interval中,使用过一次同步时刻(小于2次)。因此,在5毫秒后,主设备向从设备重新发送数据包703。在发送数据包703后,主设备在本通信周期内还有未发送的数据(数据包705),因此,数据包的MD位被设置为1。从设备接收到数据包703后,重新回应主设备数据包704。
然而,由于通信错误,从设备重新回应主设备的数据包704,任然未被主设备接收到 (数据交互失败)。此时,此时,主设备确认当前interval中,使用过2次同步时刻。因此,主设备结束本通信周期。如果需要完成数据包703~数据包704的数据交互,并且,发送数据包705,需要在下一个interval中发起新的通信周期。
进一步的,在本申请一实施例中,在低功耗蓝牙数据传输协议中,统一设定针对所有通信周期的同步时刻设定。例如,设定从interval开始时刻开始,每隔25毫秒为一个同步时刻。在主设备与从设备进行BLE数据传输时,都遵循上述的同步时刻设定。
或者,在本申请另一实施例中,在进行当前通信周期之前,设定针对当前通信周期的同步时刻设定。例如,在interval A开始之前,针对interval A进行同步时刻设定,设定从 interval A开始时刻开始,每隔25毫秒为一个同步时刻。那么,interval A中的同步时刻即为从interval A开始时刻开始,每隔25毫秒为一个同步时刻。如果在interval A之后存在 interval B,在interval B开始之前,针对interval B进行同步时刻设定,设定从interval B 中最多存在2个同步时刻,并且,同步时刻为确认同步时刻的时刻的5毫秒后(第二时长)。则在interval B中的通信周期中,确认同步时刻时,就需要判定已使用的同步时刻是否小于2,当小于2时,当前时刻的5毫秒后即为同步时刻。
进一步的,在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(FieldProgrammable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由访问方对器件编程来确定。由设计人员自行编程来把一个数字装置“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL (Altera HardwareDescription Language)、Confluence、CUPL(Cornell University ProgrammingLanguage)、HDCal、JHDL(Java Hardware Description Language)、Lava、 Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与 Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
因此,根据本申请的方法,本申请还提出了一种蓝牙数据传输装置,装置包括:
第一发送模块,其用于发送第一数据包;
同步时刻确认模块,其用于当预设的第一时长内未收到用于回应第一数据包的第二数据包时,根据预设的同步时刻设定,确认在当前通信周期的交互时隙内,当前时刻之后的第一同步时刻;
第二发送模块,其用于在第一同步时刻发送第三数据包。
具体的,第一发送模块与第一发送模块可以为同一模块。
在本申请实施例的描述中,为了描述的方便,描述装置时以功能分为各种模块分别描述,各个模块的划分仅仅是一种逻辑功能的划分,在实施本申请实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
具体的,本申请实施例所提出的装置在实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,检测模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个数字信号处理器(Digital Singnal Processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,这些模块可以集成在一起,以片上装置(System-On-a-Chip,SOC)的形式实现。
具体的,本申请实施例还提出了一种蓝牙通信芯片,蓝牙通信芯片包括:
处理器,其用于执行存储在存储器中的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发蓝牙通信芯片执行如本申请实施例所述的方法步骤。
具体的,用于存储计算机程序指令的存储器也可以构建在蓝牙通信芯片中。
本申请一实施例还提出了一种电子设备,电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发电子设备执行如本申请实施例所述的方法步骤。
具体的,在本申请一实施例中,上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述设备执行时,使得上述设备执行本申请实施例所述的方法步骤。
具体的,在本申请一实施例中,电子设备的处理器可以是片上装置SOC,该处理器中可以包括中央处理器(Central Processing Unit,CPU),还可以进一步包括其他类型的处理器。具体的,在本申请一实施例中,电子设备的处理器可以是PWM控制芯片。
具体的,在本申请一实施例中,涉及的处理器可以例如包括CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural-network Process Units,NPU)和图像信号处理器(Image Signal Processing,ISP),该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如ASIC,或一个或多个用于控制本申请技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。
具体的,上述电子设备可以是安装了蓝牙通信芯片的电子设备,例如,手机。
具体的,在本申请一实施例中,电子设备的存储器可以是只读存储器(read-onlymemory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何计算机可读介质。
具体的,在本申请一实施例中,处理器可以和存储器可以合成一个处理装置,更常见的是彼此独立的部件,处理器用于执行存储器中存储的程序代码来实现本申请实施例所述方法。具体实现时,该存储器也可以集成在处理器中,或者,独立于处理器。
进一步的,本申请实施例阐明的设备、装置、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
具体的,本申请一实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。
本申请一实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。
本申请中的实施例描述是参照根据本申请实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B 可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以意识到,本申请实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种蓝牙数据传输方法,其特征在于,包括:
发起当前通信周期的一次数据交互,包括,发送第一数据包;
当预设的第一时长内未收到用于回应所述第一数据包的第二数据包时,根据预设的同步时刻设定,确认在当前通信周期对应的交互时隙内,当前时刻之后的第一同步时刻;
在所述第一同步时刻,发起所述当前通信周期的新一次的数据交互。
2.根据权利要求1所述的方法,其特征在于:
所述同步时刻设定用于,在所述当前通信周期的交互时隙内,预设多个同步时刻;
所述第一同步时刻为,针对所述当前通信周期的交互时隙所预设的多个同步时刻中,在所述当前时刻之后,距离所述当前时刻最近的时刻。
3.根据权利要求1所述的方法,其特征在于,所述发起所述当前通信周期的新一次的数据交互,包括:
发送所述第一数据包。
4.根据权利要求1~3中任一项所述的方法,其特征在于,所述方法还包括:
在低功耗蓝牙数据传输协议中,统一设定针对所有通信周期的同步时刻设定。
5.根据权利要求1~3中任一项所述的方法,其特征在于,所述方法还包括:
在进行所述当前通信周期之前,设定针对所述当前通信周期的同步时刻设定。
6.根据权利要求1~3中任一项所述的方法,其特征在于,所述方法还包括:
当根据所述预设的同步时刻设定,判定不存在所述第一同步时刻时,结束所述当前通信周期。
7.一种蓝牙数据传输装置,其特征在于,包括:
第一发送模块,其用于发送第一数据包;
同步时刻确认模块,其用于当预设的第一时长内未收到用于回应所述第一数据包的第二数据包时,根据预设的同步时刻设定,确认在当前通信周期的交互时隙内,当前时刻之后的第一同步时刻;
第二发送模块,其用于在所述第一同步时刻发送第三数据包。
8.一种蓝牙通信芯片,其特征在于,包括:
处理器,其用于执行存储在存储器中的计算机程序指令,其中,当该计算机程序指令被该处理器执行时,触发所述蓝牙通信芯片执行如权利要求1~6中任一项所述的方法步骤。
9.一种电子设备,其特征在于,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如权利要求1~6中任一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-6中任一项所述的方法。
CN202011592255.3A 2020-12-29 2020-12-29 一种蓝牙数据传输方法、装置、通信芯片和电子设备 Active CN112738782B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011592255.3A CN112738782B (zh) 2020-12-29 2020-12-29 一种蓝牙数据传输方法、装置、通信芯片和电子设备
PCT/CN2021/131069 WO2022142813A1 (zh) 2020-12-29 2021-11-17 一种蓝牙数据传输方法、装置、通信芯片和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011592255.3A CN112738782B (zh) 2020-12-29 2020-12-29 一种蓝牙数据传输方法、装置、通信芯片和电子设备

Publications (2)

Publication Number Publication Date
CN112738782A CN112738782A (zh) 2021-04-30
CN112738782B true CN112738782B (zh) 2022-08-16

Family

ID=75607629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011592255.3A Active CN112738782B (zh) 2020-12-29 2020-12-29 一种蓝牙数据传输方法、装置、通信芯片和电子设备

Country Status (2)

Country Link
CN (1) CN112738782B (zh)
WO (1) WO2022142813A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11855759B2 (en) * 2019-09-04 2023-12-26 Shenzhen GOODIX Technology Co., Ltd. Data synchronization method, device, equipment, system and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112738782B (zh) * 2020-12-29 2022-08-16 展讯通信(上海)有限公司 一种蓝牙数据传输方法、装置、通信芯片和电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8737917B2 (en) * 2009-07-24 2014-05-27 Broadcom Corporation Method and system for a dual-mode bluetooth low energy device
US8964586B2 (en) * 2011-08-05 2015-02-24 Texas Instruments Incorporated Enhanced QOS support using Bluetooth low energy
CN102801505B (zh) * 2012-08-28 2015-08-12 清华大学 多用户协同发送方法、接收方法以及通信装置
KR101910067B1 (ko) * 2014-07-03 2018-10-22 엘지전자 주식회사 블루투스 통신을 지원하는 무선 통신 시스템에서 오디오 데이터를 송수신하기 위한 방법 및 이를 위한 장치
CN106559735B (zh) * 2015-09-28 2019-06-07 展讯通信(上海)有限公司 蓝牙数据发送控制方法及装置
CN108901012A (zh) * 2018-09-29 2018-11-27 深圳市恒昌通电子有限公司 一种低功耗蓝牙大数据分包传输方法
CN110267305B (zh) * 2019-06-13 2022-12-20 重庆物奇科技有限公司 一种无线数据重传方法
CN110266444A (zh) * 2019-07-08 2019-09-20 展讯通信(上海)有限公司 数据传输方法、装置及设备
CN112738782B (zh) * 2020-12-29 2022-08-16 展讯通信(上海)有限公司 一种蓝牙数据传输方法、装置、通信芯片和电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11855759B2 (en) * 2019-09-04 2023-12-26 Shenzhen GOODIX Technology Co., Ltd. Data synchronization method, device, equipment, system and storage medium

Also Published As

Publication number Publication date
WO2022142813A1 (zh) 2022-07-07
CN112738782A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
CN112738782B (zh) 一种蓝牙数据传输方法、装置、通信芯片和电子设备
CN110661870B (zh) 一种hplc通信组网的方法、装置、存储介质和电子设备
JPH0620203B2 (ja) データ通信方法及び通信システム
US20210136756A1 (en) Method of allocating time slots for wireless headset, and wireless headset using the same
CN103248436A (zh) 一种解决水声通信网隐藏终端与暴露终端的方法
CN107528747B (zh) 主从站通信状态的诊断方法和装置及计算机可读存储介质
CN112565349A (zh) 一种基于中央油烟机的无线通信方法及相关设备
CN112055315B (zh) 蓝牙广播通信方法、系统及其主设备、从设备
CN111541662A (zh) 一种基于二进制通信协议的通信方法、装置、系统及设备
CN102970737B (zh) 一种基于相长干涉的无线网络传输的冲突解决方法与系统
CN111954123B (zh) 无线音频设备信息同步的方法、系统、介质及无线音频设备
US20230198648A1 (en) Time synchronization method, device and apparatus, and storage medium
US10880209B2 (en) Controller for, and a method of processing data over, a low-power, wireless software defined networking, SDN, architecture
CN109976243A (zh) 机器人同步控制方法、装置及设备
CN112822588B (zh) 一种数据传输方法、装置、通信芯片和耳机设备
JP7177972B2 (ja) ハンドオーバ処理
JP5183528B2 (ja) 無線通信システム
WO2020078407A1 (zh) Drx的配置方法及装置
CN111198840B (zh) 一种适用于双核系统的goose和mms共网通信方法和系统
CN110187891B (zh) 一种用于多核可编程控制器的程序开发方法及系统
CN113726469A (zh) 时间同步方法、装置、车用控制器及存储介质
CN108737119A (zh) 一种数据传输方法、装置及系统
CN114337889A (zh) 数据传输方法、接收方法、通信装置以及计算机存储介质
JP7103300B2 (ja) 車載通信システム、中継装置、及び通信方法
JP2010183270A (ja) 通信制御回路、通信ノード、通信システム、並びに通信制御方法及びプログラム

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