[go: up one dir, main page]

CN115395988B - 蓝牙通信装置与数据传输方法 - Google Patents

蓝牙通信装置与数据传输方法 Download PDF

Info

Publication number
CN115395988B
CN115395988B CN202110571544.3A CN202110571544A CN115395988B CN 115395988 B CN115395988 B CN 115395988B CN 202110571544 A CN202110571544 A CN 202110571544A CN 115395988 B CN115395988 B CN 115395988B
Authority
CN
China
Prior art keywords
data
data block
value
transmission window
transmission
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
CN202110571544.3A
Other languages
English (en)
Other versions
CN115395988A (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.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor Corp
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 Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to CN202110571544.3A priority Critical patent/CN115395988B/zh
Priority to TW110122610A priority patent/TWI788887B/zh
Priority to US17/670,542 priority patent/US11722252B2/en
Publication of CN115395988A publication Critical patent/CN115395988A/zh
Application granted granted Critical
Publication of CN115395988B publication Critical patent/CN115395988B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/40Near-field transmission systems, e.g. inductive or capacitive transmission systems characterised by components specially adapted for near-field transmission
    • H04B5/48Transceivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • 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
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供了蓝牙通信装置和数据传输方法,数据传输方法包含下列操作:经由蓝牙网络开始传输映像档中的第一数据区段中的多个数据块至第一装置;当该些数据块中已传输给该第一装置的至少一第一数据块的个数等于传输窗口时,确认第一装置是否有收到全部的至少一第一数据块,以更新数据块丢失数据;若第一装置有收到全部的至少一第一数据块,根据数据块丢失数据动态地调整传输窗口,以继续传输该些数据块中的剩余数据块或是传输映像档中的第二数据区段;以及若第一装置没有收到全部的至少一第一数据块,重新传输第一装置先前未收到的数据块给第一装置。

Description

蓝牙通信装置与数据传输方法
技术领域
本公开涉及蓝牙通信装置,尤其是在蓝牙网状网络系统中执行固件更新程序的蓝牙通信装置与数据传输方法。
背景技术
在现有的蓝牙通信装置中,多个装置可经由蓝牙网络互相交换数据与/或传输映像档,以完成装置固件更新。然而,在映像档的传输过程中,若发出请求询问待更新装置是否有正确收到数据的次数过多,或是重新传输数据的次数过多,都会使得固件更新的整体时间过长。
发明内容
于一些实施方式中,蓝牙通信装置包含一无线收发器电路、至少一存储器电路以及至少一处理器电路。无线收发器电路用以经由一蓝牙网络耦接至一第一装置。至少一存储器电路用以存储程序码以及数据块丢失数据。至少一处理器电路用以执行该程序码,以开始传输一映像档中的一第一数据区段中的多个数据块至该第一装置;当该些数据块中已传输给该第一装置的至少一第一数据块的一个数不小于一传输窗口时,确认该第一装置是否有收到全部的该至少一第一数据块,以更新该数据块丢失数据;若该第一装置有收到全部的该至少一第一数据块,根据该数据块丢失数据动态地调整该传输窗口,以继续传输该些数据块中的剩余数据块或是该映像档中的一第二数据区段给该第一装置;以及若该第一装置没有收到全部的该至少一第一数据块,重新传输至少一第二数据块给该第一装置,其中该至少一第二数据块为该至少一第一数据块中未被该第一装置收到的数据块。
于一些实施方式中,数据传输方法包含下列操作:经由一蓝牙网络开始传输一映像档中的一第一数据区段中的多个数据块至一第一装置;当该些数据块中已传输给该第一装置的至少一第一数据块的一个数等于一传输窗口时,确认该第一装置是否有收到全部的该至少一第一数据块,以更新该数据块丢失数据;若该第一装置有收到全部的该至少一第一数据块,根据该数据块丢失数据动态地调整该传输窗口,以继续传输该些数据块中的剩余数据块或是传输该映像档中的一第二数据区段;以及若该第一装置没有收到全部的该至少一第一数据块,重新传输至少一第二数据块给该第一装置,其中该至少一第二数据块为该至少一第一数据块中未被该第一装置收到的数据块。
有关本公开的特征、实作与技术效果,兹配合附图作优选实施例详细说明如下。
附图说明
图1A为根据本公开一些实施例绘制的一种网络系统的示意图;
图1B为根据本公开一些实施例绘制的一种固件更新方法的流程图;
图1C为根据本公开一些实施例绘制的拆分映像档的示意图;
图2为根据本公开一些实施例绘制的一种数据传输方法的流程图;
图3A与图3B为根据本公开一些实施例绘制的图2中多个操作所对应的多个步骤的流程图;
图3C为根据本公开一些实施例绘制的图3B中的一步骤的流程图;
图3D为根据本公开一些实施例绘制的图3A中的一操作的流程图;以及
图4为根据本公开一些实施例绘制的一种蓝牙通信装置的示意图。
符号说明
100:网络系统
101~107:电子装置
110:固件更新方法
200:数据传输方法
400:蓝牙通信装置
410:无线收发器电路
420:至少一存储器电路
430:至少一处理器电路
BT:蓝牙网络
D1:映像档
DM:数据块丢失数据
i:第一计数值
n:数值
N:数据
PP:程序码
S111~S114,S201~S204:操作
S301~S312:步骤
S301_1~S301_3,S306_1~S306_4:子步骤
TH:临界值
W:传输窗口
Wint:初始值
q:预设速度
y:第二计数值
z:数值
具体实施方式
本文所使用的所有词汇具有其通常的含义。上述的词汇在普遍常用的字典中的定义,在本公开的内容中包含任一于此讨论的词汇的使用例子仅为示例,不应限制到本公开的范围与含义。同样地,本公开亦不仅以于此说明书所示出的各种实施例为限。
关于本文中所使用的“耦接”或“连接”,均可指两个或多个元件相互直接作实体或电性接触,或是相互间接作实体或电性接触,亦可指两个或多个元件相互操作或动作。如本文所用,用语“电路系统(circuitry)”可为由至少一电路(circuit)所形成的单一系统,且用语“电路”可为由至少一个晶体管与/或至少一个主被动元件按一定方式连接以处理信号的装置。
如本文所用,用语“与/或”包含了列出的关联项目中的一个或多个的任何组合。在本文中,使用第一、第二与第三等等的词汇,是用于描述并辨别各个元件。因此,在本文中的第一元件也可被称为第二元件,而不脱离本公开的本意。为易于理解,于各附图中的类似元件将被指定为相同标号。
图1A为根据本公开一些实施例绘制的一种网络系统100的示意图。网络系统100包含多个电子装置101~107。于一些实施例中,多个电子装置101~107通过蓝牙(Bluetooth)网络BT相互耦接(以虚线绘制表示连线),以互相传输数据与/或指令。于一些实施例中,多个电子装置101~107中每一者可为支持蓝牙低功耗(Bluetooth low energy,BLE)技术的装置。例如,多个电子装置101~107中每一者(例如为电子装置102)可为图4的蓝牙通信装置400。于一些实施例中,蓝牙网络BT可为蓝牙网状(mesh)网络。
图1B为根据本公开一些实施例绘制的一种固件更新方法110的流程图。固件更新方法110可由图1A的网络系统100执行。于一些实施例中,网络系统100可依据蓝牙技术联盟(Bluetooth Special Interest Group,SIG)所制定的蓝牙网状网络模型1.0.1版本(或其后续版本)的标准(其相关说明书公布于2017年7月13日)进行装置固件更新(devicefirmware update,DFU)。例如,网络系统100可依据蓝牙技术联盟于2020年5月29日提出的R06草案中的固件发布模型(firmware distribution model)、固件更新模型(firmwareupdate model)以及二进位大型物件传输模型(binary large object transfer model)执行固件更新方法110。
于操作S111,执行固件发布,以获取蓝牙网络中其他装置的信息,并辨识固件需要更新的电子装置(简称为待更新装置)。例如,图1A中的电子装置101可操作为启动节点(initiator node),且电子装置102可操作为分配节点(distributor node)。电子装置101可通过固件发布模型执行固件发布,以经由电子装置102获取蓝牙网络BT中的其他节点(例如为多个电子装置103~107)中每一者的装置信息以及固件版本。于此例中,电子装置101可根据多个电子装置103~107每一者的固件版本确认多个电子装置103~105的固件需要更新,故电子装置101认定多个电子装置103~105(即多个待更新装置)为更新节点(updating node),其余的电子装置106~107则非为待更新软件。于一些实施例中,电子装置101可通过固件发布模型直接传送载有新固件的映像档(image)D1(如图1A所示)给电子装置102。于一些实施例中,电子装置101可通过固件发布模型传送关于一特定连结的信息给电子装置102,且电子装置102可经由网际网络存取该特定连结,以获取映像档D1。
于操作S112,通知待更新装置开始进行固件更新程序。例如,电子装置102可通过固件更新模型通知多个电子装置103~105开始执行固件更新程序。
于操作S113,传输映像档给待更新装置。于操作S114,安装映像档以更新原有固件。例如,电子装置102可通过二进位大型物件传输模型确认多个电子装置103~105的传输能力,以确定传输过程中使用的数据区段(block)的大小、数据区段的个数(后称数值M)、数据块(chunk)的大小以及数据块的个数(后称数值N)。参照图1C,图1C为根据本公开一些实施例绘制拆分映像档D1的示意图。于一些实施例中,电子装置102可根据数据区段的大小将映像档D1拆分为M个数据区段,并根据数据块的大小将每一个数据区段拆分为N个数据块,其中数值M与数值N中每一者为大于1的正整数,且传输映像档D1的过程中的最小传输单位为一个数据块。通过二进位大型物件传输模型,电子装置102可将属于同一数据区段的N个数据块传输给待更新装置。电子装置102在确认该待更新电子装置有正确收到该数据区段中的所有数据块后,电子装置102可开始传输次一数据区段的多个数据块给该待更新装置。通过重复上述操作,待更新装置在接收到映像档D1的所有数据区段后可安装映像档D1,以更新其固件。关于操作S113的设置方式将于后参照图2或图3A说明。
上述关于固件发布模型、固件更新模型以及二进位大型物件传输模型的详细操作可参照相关通信标准的说明书,于此不再赘述。于一些实施例中,电子装置102可在推送(push)模式下执行图2的数据传输方法200,以传输映像档D1给待更新装置。如此,可有效率地传输映像档D1,并确保待更新装置所收到的映像档D1的完整性,以降低更新固件的整体时间。另外,图1A中示出的电子装置的个数(7个)用于示例,且本公开并不以此为限。
图2为根据本公开一些实施例绘制的一种数据传输方法200的流程图。于一些实施例中,数据传输方法200可由图1A中的电子装置102执行。于一些实施例中,数据传输方法200可相当于图1B中的操作S113。
于操作S201,开始传输映像档的数据区段中的多个数据块给待更新装置。于操作S202,当该些数据块中已传输给待更新装置的至少一第一数据块的个数等于传输窗口(例如为图4的传输窗口W)时,确认待更新装置是否有收到全部的至少一第一数据块。若待更新装置有收到全部的至少一第一数据块,执行操作S203。或者,若待更新装置没有收到全部的至少一第一数据块,执行操作S204。于操作S203,更新数据块丢失数据(例如为图4的数据块丢失数据DM),并根据数据块丢失数据动态地调整传输窗口,以继续传输该些数据块中的剩余数据块或是映像档中的次一数据区段中的多个数据块给待更新装置。于操作S204,重新传输至少一第二数据块给待更新装置,其中至少一第二数据块为至少一第一数据块中未被待更新装置接收到的数据块。
上述数据传输方法200的多个操作仅为示例,并非限定需依照此示例中的顺序执行。在不违背本公开的各实施例的操作方式与范围下,在数据传输方法200下的各种操作当可适当地增加、替换、省略或以不同顺序执行(例如可以是同时执行或是部分同时执行)。
为更进一步说明数据传输方法200,请参照图3A与图3B,图3A与图3B为根据本公开一些实施例绘制图2中多个操作所对应的多个步骤的流程图。图3A与图3B包含多个步骤S301~S312。在图3A中,多个步骤S301~S305对应于图2的操作S201与操作S202,多个步骤S306~S308对应于图2的操作S203。在图3B中,多个步骤S309~S312对应于图2的操作S204。
于步骤S301,设定传输窗口为初始值(例如为图4的初始值Wint)。于一些实施例中,在开始传输映像档D1前,电子装置102可决定传输窗口W的初始值Wint,其中传输窗口W为在一个传输周期内所能传输的数据块个数。于一些实施例中,传输周期为从开始传输i个数据块至确认待更新装置是否有收到该i个数据块之间的一期间。例如,若传输窗口W的初始值Wint为3,在一传输周期内,电子装置102可连续传输3个数据块并确认待更新装置是否有接收到该3个数据块。
于步骤S302,若传输窗口的数值有更新,使用新的传输窗口,并重置第一计数值(标示为i)为1,或若本次传输为初始传输,使用当前传输窗口,并重置第一计数值i为1。例如,若电子装置102在执行步骤S306后有更新传输窗口W,电子装置102可采用更新后的传输窗口W传输剩余的数据块,并将第一计数值i增加1。或者,若本次传输为初始传输(即传输映像档D1的第一个数据块时),电子装置102可采用具有初始值Wint的传输窗口W开始传输数据块,并将第一计数值i设定为1。
于步骤S303,传输对应于同一数据区段中的数据块给待更新装置。于步骤S304,确认已传输的多个数据块(即前述的至少一第一数据块)的个数(标示为数值n)是否小于数值N(标示为n<N)并确认当前的第一计数值i是否小于传输窗口(标示为i<W)。若已传输的多个数据块的个数小于数值N且第一计数值i小于传输窗口W,更新数值n为n+1并更新第一计数值i为i+1,并执行步骤S303以继续传输数据块。若已传输的多个数据块的个数不小于数值N或是第一计数值不小于传输窗口,执行步骤S305。
如先前所述,映像档D1的每一数据区段可拆分为N个数据块,故数值N代表一个数据区段所包含的所有数据块的个数。于一例子中,数值N为5,且本次传输为初始传输,故第一计数值i为1且传输窗口W的数值为初始值Wint(例如为5)。电子装置102可传输映像档D1中的第1个数据区段的第1个数据块给待更新装置(即步骤S303)。在传输完第1个数据块后,电子装置102确认当前已传输的数据块个数为1(即n=1),并确认n小于N(即1<5)且第一计数值i也小于传输窗口W(即1<5)(即步骤S304)。于此条件下,电子装置102可更新数值n为n+1,并更新第一计数值i为i+1,并再次执行步骤S302,以继续传输该第1个数据区段的第2个数据块给待更新装置。通过重复上述步骤,当电子装置102传输完第5个数据块后,电子装置102确认当前已传输的数据块个数为5(即n=5),并确认n不小于N(即5≧5)。于此条件下,代表电子装置102已传输第1个数据区段中的所有数据块给待更新装置,故电子装置102可执行步骤S305。
或者,于另一例子中,数值N为5,且本次传输为初始传输,故第一计数值i为1且传输窗口的数值为初始值Wint(例如为3)。当电子装置102传输完第3个数据块后,电子装置102确认当前已传输的数据块个数为3(即n=3),并确认n不小于N(即3不小于5)且第一计数值i不小于传输窗口W(即3≧3)(即步骤S304)。于此条件下,代表电子装置102在单一传输周期内可传送的数据块个数已达上限,故电子装置102可执行步骤S305。
于步骤S305,确认待更新装置是否有收到先前已传输的所有数据块。若待更新装置有收到先前已传输的所有数据块,执行步骤S306。或者,若待更新装置没有收到先前已传输的所有数据块,执行图3B中的步骤S309。例如,通过步骤S301~S304,电子装置102可传输第一数据区段中的3个数据块给待更新装置(例如为电子装置103)。在传输该3个数据块后,电子装置102可发出请求,以询问电子装置103是否有正确收到前述的3个数据块。若电子装置103回应已收到所有的3个数据块,电子装置102可更新数据块丢失数据DM,并执行步骤S306。或者,若电子装置103回应未收到3个数据块中的至少一者(即前述的至少一第二数据块),电子装置102可执行步骤S309。
于步骤S306,更新数据块丢失数据,并根据数据块丢失数据动态地调整传输窗口,以更新传输窗口的数值。步骤S306将参照图3C说明,故于此不再赘述。于步骤S307,确认数值n是否小于数值N。若数值n是小于数值N,执行步骤S302。或者,若数值n不小于数值N,执行步骤S308。于步骤S308,开始传输次一数据区段中的数据块。
如先前所述,映像档D1的单一数据片段可分为N个数据块。若数值n小于数值N,代表目前传输的数据区段中还有剩余的数据块未被传输,故电子装置102可执行步骤S302,并基于更新后的传输窗口继续传输剩余的数据块。或者,若数值n不小于数值N,代表目前传输的数据区段已传输完成,故电子装置102可执行步骤S308,以基于更新后的传输窗口继续传输映像档D1中的次一数据区段。
继续参照图3B,于步骤S309,获取待更新装置没有收到的数据块信息,并更新该数据块信息以及重传次数至数据包丢失数据。例如,若电子装置103回报未收到第1个数据块与第3个数据块且电子装置104回报未收到第2个数据块,电子装置102可记录上述信息以及先前重新传送该些数据块至对应电子装置的次数为数据包丢失数据DM。
于步骤S310,将第二计数值(标示为y)减去1(即y=y-1)。第二计数值y用于指示重数次数的上限值。于步骤S311,确认第二计数值是否大于0(标示为y>0)。若第二计数值y大于0,代表重传次数未达上限,故可执行步骤S312。或者,若第二计数值y不大0,代表重传次数已达上限,且此次传输失败。于步骤S312,重新传送待更新装置没有收到的数据块给待更新装置,并执行图3A的步骤S305。
通过反复执行图3A与图3B中的多个步骤,电子装置102可更有效率地传输映像档D1给多个电子装置103~105。如此,多个电子装置103~105可接收并安装映像档D1,以更新本身的固件。
图3C为根据本公开一些实施例绘制图3B中的步骤S306的流程图。于一些实施例中,图3B中的步骤S306包含多个子步骤S306_1~S306_4。
于子步骤S306_1,根据数据块丢失数据获取至少一第二数据块的个数或传输该至少一第二数据块的重传次数。至少一第二数据块为步骤S312中所重传的数据块(即于步骤S309中记录到待更新装置未收到的数据块)。
于子步骤S306_2,确认至少一第二数据块的个数或传输该至少一第二数据块的重传次数中至少一者是否大于或等于一临界值。若至少一第二数据块的个数或传输该至少一第二数据块的重传次数中至少一者大于或等于临界值,执行子步骤S306_3。或者,若至少一第二数据块的个数或传输该至少一第二数据块的重传次数中至少一者小于临界值,执行子步骤S306_4。
于子步骤S306_3,若传输窗口的当前数值不为1,决定第一数值并将传输窗口的当前数值减去第一数值,以更新传输窗口,其中若至少一第二数据块的个数或传输该至少一第二数据块的重传次数中至少一者越大,第一数值越大。
例如,若至少一第二数据块的个数大于或等于临界值(例如为图4中的临界值TH),电子装置102可判断蓝牙网络BT的传输品质不佳,故可设定较大的第一数值(例如为图4的数值z)。电子装置102可通过将传输窗口W的当前数值减去该数值z。换言之,在蓝牙网络BT的传输品质不佳的情形下,电子装置102可动态地降低传输窗口W,以增加图3A的步骤S305的执行次数来确保数据块的传输成功率。
于子步骤S306_4,若传输窗口的当前数值小于单一数据区段的所有数据块的个数(即数值N),决定第一数值并将传输窗口的当前数值增加第一数值(例如为图4的数值z),以更新传输窗口,其中若至少一第二数据块的个数或传输该至少一第二数据块的重传次数中至少一者越小,第一数值越大。
例如,若至少一第二数据块的个数小于临界值,电子装置102可判断蓝牙网络BT的传输品质稳定,故可设定较大的数值z。电子装置102可通过将传输窗口的当前数值加上该数值z。换言之,在蓝牙网络BT的传输品质优选的情形下,电子装置102可动态地增加传输窗口W,以降低图3A的步骤S305的执行次数来提高数据传输的效率。
上述仅以至少一第二数据块的个数为例说明,但本公开并不以此为限。于其他实施例中,电子装置102可通过比较至少一第二数据块的重传次数与临界值来调整传输窗口W。或者,电子装置102可根据至少一第二数据块的个数与其重传次数两者来调整传输窗口W。例如,于其他实施例中,电子装置102可将至少一第二数据块的个数以及至少一第二数据块的重传次数的一总和与临界值进行比较,以调整传输窗口W。
图3D为根据本公开一些实施例绘制图3A中的步骤S301的流程图。于一些实施例中,步骤S301包含多个子步骤S301_1~S301_3。
于子步骤S301_1,确认蓝牙网络的传输速度是否大于或等于一预设速度。若蓝牙网络的传输速度是大于或等于预设速度,执行子步骤S301_2。或者,若蓝牙网络的传输速度小于预设速度,执行子步骤S301_3。
于子步骤S301_2,设定传输窗口的初始值为第一预设值。于子步骤S301_3,设定传输窗口的初始值为第二预设值,其中第一预设值大于第二预设值。例如,在开始传输数据块前,电子装置102可通过应用层获取当前环境的相关信息,以判断蓝牙网络BT的传输速度是否大于或等于预设速度(例如为图4的预设速度q)。若蓝牙网络BT的传输速度大于或等于预设速度,代表蓝牙网络BT的当前传输品质稳定,电子装置102可设定传输窗口的初始值Wint为较大的第一预设值。于一些实施例中,第一预设值可为单一数据区段中的所有数据块的个数(即前述的数值N)。如此一来,电子装置102可尝试以最高效率传输数据块。
或者,若蓝牙网络BT的传输速度小于预设速度q。于此条件下,代表蓝牙网络BT的当前传输品质不佳,电子装置102可设定传输窗口的初始值为较小的第二预设值。于一些实施例中,第二预设值可为1。如此一来,电子装置102可尝试以最低效率传输数据块,以提高数据块传输的成功率。
通过上述设置方式,电子装置102可依据蓝牙网络BT的当前传输品质决定是否要执行二进位大型物件传输模型的快启动(即子步骤S301_2)或慢启动(即子步骤S301_3)。
在一些相关技术中,电子装置会在发送一个数据块后立即询问待更新装置是否有收到该数据块。如此,虽可确保数据成功率,但会使得整体传输时间大幅增加。在另一些相关技术中,电子装置会在发送完一个数据区段中的所有数据块后,再询问待更新装置是否有收到该些数据块。如此一来,若蓝牙网络当前的传输品质不佳,待更新装置未收到的数据块个数过多,将可能耗费更多的时间重传该些数据块。
相较于上述技术,在本公开的一些实施例中,电子装置102可利用传输窗口设定于在一个传输周期内传输的数据块个数,并根据蓝牙网络BT的传输品质动态地调整传输窗口。如此,可以有效地降低整体传输时间,并维持一定的传输成功率。
上述图3A至图3D中的多个步骤仅为示例,并非限定需依照此示例中的顺序执行。在不违背本公开的各实施例的操作方式与范围下,图3A至图3D中的多个步骤可适当地增加、替换、省略或以不同顺序执行。或者,在图3A至图3D中的多个步骤可以是同时或部分同时执行。
图4为根据本公开一些实施例绘制的一种蓝牙通信装置400的示意图。于一些实施例中,图1A的电子装置102可由蓝牙通信装置400实施。蓝牙通信装置400包含无线收发器电路410、至少一存储器电路420以及至少一处理器电路430。无线收发器电路410可经由图1A中的蓝牙网络BT耦接至多个电子装置101与103~107,以传输映像档D1与/或其他数据与指令。于一些实施例中,无线收发器电路410包含支持蓝牙网状网络的数据发射器电路(图中未示出)以及数据接收器电路(图中未示出)。
至少一处理器电路430耦接至无线收发器电路410以及至少一存储器电路420。于各个实施例中,至少一处理器电路430可为中央处理单元(CPU)、特殊应用集成电路(Application-specific integrated circuit)、多处理器、管线式的处理器、分散式处理系统等电路。用来实施至少一处理器电路430的各种电路或单元皆为本公开所涵盖的范围。
于一些实施例中,至少一存储器电路420可用来存储前述的映像档D1、数据包丢失数据DM以及关于第一计数值i、传输窗口W以及初始值Wint、数值n、数值N、第二计数值y、临界值TH、数值z与/或预设速度q的信息。于一些实施例中,至少一存储器电路420还存储程序码PP。至少一处理器电路430可执行存储于至少一存储器电路420的程序码PP,以进行固件更新(例如为图1B与/或图2中的多个操作)。
于一些实施例中,至少一存储器电路420可为非暂态电脑可读取存储媒介。于一些实施例中,电脑可读取存储媒介可为电性、磁性、光学、红外线与/或半导体装置。例如,电脑可读取存储媒介包含半导体或固态存储器、磁带、可移除式电脑磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘与/或光学磁盘。在使用光学磁盘的实施例中,电脑可读取存储媒介可包含只读存储光盘(CD-ROM)、可重复录写光盘(CD-R/W)与/或数字影音光盘(DVD)。
上述关于蓝牙通信装置400的设置方式用于示例,且本公开并不以此为限。各种类型的蓝牙通信装置皆为本公开所涵盖的范围。
综上所述,本公开一些实施例中的蓝牙通信装置以及数据传输方法可利用动态调整传输窗口,以在传输固件数据给待更新软件的过程中动态地根据当前网络品质调整传输效率,进而减少整体传输时间,并确保一定传输成功率。
虽然本公开的实施例如上所述,然而该些实施例并非用来限定本公开,本技术领域技术人员可依据本公开的明示或隐含的内容对本公开的技术特征施以变化,凡此种种变化均可能属于本公开所寻求的专利保护范围,换言之,本公开的专利保护范围须视本说明书的权利要求所界定者为准。

Claims (10)

1.一种蓝牙通信装置,包含:
一无线收发器电路,用以经由一蓝牙网络耦接至一第一装置;
至少一存储器电路,用以存储一程序码以及一数据块丢失数据;以及
至少一处理器电路,用以执行该程序码,以:
开始传输一映像档中的一第一数据区段中的多个数据块至该第一装置;
当所述多个数据块中已传输给该第一装置的至少一第一数据块的一个数不小于一传输窗口时,确认该第一装置是否有收到全部的该至少一第一数据块,以更新该数据块丢失数据,其中该传输窗口为在一个传输周期内所能传输的数据块个数;
若该第一装置有收到全部的该至少一第一数据块,根据更新后的该数据块丢失数据动态地调整该传输窗口,以继续传输所述多个数据块中的剩余数据块或是该映像档中的一第二数据区段给该第一装置;以及
若该第一装置没有收到全部的该至少一第一数据块,重新传输至少一第二数据块给该第一装置,其中该至少一第二数据块为该至少一第一数据块中未被该第一装置收到的数据块。
2.如权利要求1所述的蓝牙通信装置,其中该至少一处理器电路用以根据该数据块丢失数据获取该至少一第二数据块的一个数或传输该至少一第二数据块的一重传次数,并根据该个数或该重传次数中至少一者动态地调整该传输窗口。
3.如权利要求2所述的蓝牙通信装置,其中若该个数或该重传次数中该至少一者大于或等于一临界值且该传输窗口的一当前数值不为1,该至少一处理器电路用以将该当前数值减去一第一数值,以更新该传输窗口。
4.如权利要求3所述的蓝牙通信装置,其中若该个数或该重传次数中的该至少一者越大,该第一数值越大。
5.如权利要求2所述的蓝牙通信装置,其中若该个数或该重传次数中的该至少一者低于一临界值且该传输窗口的一当前数值小于所述多个数据块的一个数,该至少一处理器电路用以将该当前数值增加一第一数值,以更新该传输窗口。
6.如权利要求5所述的蓝牙通信装置,其中若该个数或该重传次数中的该至少一者越小,该第一数值越大。
7.如权利要求1所述的蓝牙通信装置,其中该至少一处理器电路还用以在开始传输该第一数据区段前,根据该蓝牙网络的一传输速度设定该传输窗口的一初始值为一第一预设值或是一第二预设值,其中该第一预设值大于该第二预设值。
8.如权利要求7所述的蓝牙通信装置,其中当该传输速度大于或等于一预设速度时,该至少一处理器电路用以设定该初始值为该第一预设值,且该第一预设值为所述多个数据块的一个数。
9.如权利要求7所述的蓝牙通信装置,其中当该传输速度低于一预设速度时,该至少一处理器电路用以设定该初始值为该第二预设值,且该第二预设值为1。
10.一种数据传输方法,包含:
经由一蓝牙网络开始传输一映像档中的一第一数据区段中的多个数据块至一第一装置;
当所述多个数据块中已传输给该第一装置的至少一第一数据块的一个数等于一传输窗口时,确认该第一装置是否有收到全部的该至少一第一数据块,以更新该数据块丢失数据,其中该传输窗口为在一个传输周期内所能传输的数据块个数;
若该第一装置有收到全部的该至少一第一数据块,根据更新后的该数据块丢失数据动态地调整该传输窗口,以继续传输所述多个数据块中的剩余数据块或是传输该映像档中的一第二数据区段;以及
若该第一装置没有收到全部的该至少一第一数据块,重新传输至少一第二数据块给该第一装置,其中该至少一第二数据块为该至少一第一数据块中未被该第一装置收到的数据块。
CN202110571544.3A 2021-05-25 2021-05-25 蓝牙通信装置与数据传输方法 Active CN115395988B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110571544.3A CN115395988B (zh) 2021-05-25 2021-05-25 蓝牙通信装置与数据传输方法
TW110122610A TWI788887B (zh) 2021-05-25 2021-06-21 藍牙通訊裝置與資料傳輸方法
US17/670,542 US11722252B2 (en) 2021-05-25 2022-02-14 Bluetooth communication device and data transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110571544.3A CN115395988B (zh) 2021-05-25 2021-05-25 蓝牙通信装置与数据传输方法

Publications (2)

Publication Number Publication Date
CN115395988A CN115395988A (zh) 2022-11-25
CN115395988B true CN115395988B (zh) 2024-08-23

Family

ID=84114502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110571544.3A Active CN115395988B (zh) 2021-05-25 2021-05-25 蓝牙通信装置与数据传输方法

Country Status (3)

Country Link
US (1) US11722252B2 (zh)
CN (1) CN115395988B (zh)
TW (1) TWI788887B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114245319B (zh) * 2021-12-03 2023-06-23 南京矽力微电子技术有限公司 基于蓝牙Mesh的增强广播并发式OTA固件升级方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1833211A2 (en) * 2006-02-21 2007-09-12 Huawei Technologies Co., Ltd. Method and system for controlling data transfer rate
CN101860423A (zh) * 2010-06-07 2010-10-13 华为技术有限公司 一种协议分组传输的重传方法和装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058085B2 (en) * 2001-03-14 2006-06-06 Nortel Networks Limited Method and apparatus for transmitting data over a network within a specified time limit
KR100747464B1 (ko) * 2002-01-05 2007-08-09 엘지전자 주식회사 고속하향링크패킷접속(hsdpa)시스템을 위한타이머를 이용한 교착상황 회피방법
WO2006012211A2 (en) * 2004-06-24 2006-02-02 Meshnetworks, Inc. A system and method for adaptive rate selection for wireless networks
CN100407611C (zh) * 2006-02-21 2008-07-30 华为技术有限公司 移动通信网络中分组数据传输速率的控制方法及其系统
US7924863B2 (en) * 2007-01-10 2011-04-12 Etherntty Networks Ltd. Device and method for processing data chunks
CN101764680A (zh) * 2008-12-26 2010-06-30 中兴通讯股份有限公司 一种提高移动通信系统数据业务传输效率的方法
CN102546106B (zh) * 2011-12-28 2014-03-26 南京邮电大学 面向卫星网络的多路径并行传输方法
CN105100140B (zh) * 2014-05-04 2019-05-14 腾讯科技(深圳)有限公司 文件传输方法和系统
CN106657197B (zh) * 2015-11-02 2021-10-15 腾讯科技(深圳)有限公司 文件上传的方法和装置
CN108810074A (zh) * 2018-04-11 2018-11-13 中国农业银行股份有限公司 数据传输方法、装置及系统、终端
EP3799374A1 (en) * 2019-09-26 2021-03-31 Mitsubishi Electric R&D Centre Europe B.V. Method for transmitting data packets and apparatus for implementing the same
KR20220124181A (ko) * 2020-01-10 2022-09-13 인텔렉추얼디스커버리 주식회사 무선 통신 시스템에서 비연결 애셋 트래킹 방법, 장치, 컴퓨터 프로그램 및 그 기록 매체

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1833211A2 (en) * 2006-02-21 2007-09-12 Huawei Technologies Co., Ltd. Method and system for controlling data transfer rate
CN101860423A (zh) * 2010-06-07 2010-10-13 华为技术有限公司 一种协议分组传输的重传方法和装置

Also Published As

Publication number Publication date
TW202247679A (zh) 2022-12-01
US20220385400A1 (en) 2022-12-01
TWI788887B (zh) 2023-01-01
CN115395988A (zh) 2022-11-25
US11722252B2 (en) 2023-08-08

Similar Documents

Publication Publication Date Title
US11146362B2 (en) Internet of things data transmission method, device and system
US9471646B2 (en) Method and server device for exchanging information items with a plurality of client entities
WO2022206759A1 (zh) 文件发送方法、设备及计算机可读存储介质
WO2023093879A1 (zh) 数据传输方法、装置、设备和介质
WO2018228477A1 (zh) 通信方法、网络设备和终端
CN115395988B (zh) 蓝牙通信装置与数据传输方法
CN112770312A (zh) 数据传输方法、装置、计算机可读介质及电子设备
US20160183082A1 (en) Information processing device, server device, data communication system, data communication method, and computer-readable storage medium storing data communication program
JP7282895B2 (ja) データの再送復号方法、装置、システム及び通信装置
US10051053B2 (en) System and method for transferring and synchronizing content between electronic devices
WO2019080059A1 (zh) 反馈应答信息传输方法及相关产品
CN112506684A (zh) 一种跨进程快速传送大数据的方法、系统及存储介质
CN113760986A (zh) 一种数据查询方法、装置、设备及存储介质
WO2022227615A1 (zh) 数据升级方法、数据升级装置和可读存储介质
CN114124275B (zh) 一种时间同步方法、装置、设备及存储介质
US20040213277A1 (en) Method and related circuit for increasing network transmission efficiency by increasing a data updating rate of a memory
CN109428861A (zh) 网络通信方法及设备
WO2020113434A1 (zh) 处理时间记录的方法和装置
CN112511528B (zh) 流媒体分发方法、系统、服务器和存储介质
WO2024113088A1 (zh) 一种传输速率协商方法、通信装置及通信系统
CN119299056A (zh) 分级模型信息的处理方法、装置、设备及可读存储介质
CN119011668A (zh) 基于流控的非对称带宽交互的调度方法、设备及介质
TW202243525A (zh) 具有自動配對機制的無線通訊系統及無線通訊之自動配對方法
CN119475396A (zh) 内存访问方法、装置、计算机设备和可读存储介质
CN118573722A (zh) 数据传输处理方法、装置、智能家电和计算机存储介质

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