Estelle1999 发表于 2025-4-20 19:15

关于沁恒的蓝牙OTA,这个一包数据最大是多少?

关于沁恒的蓝牙OTA,这个一包数据最大是多少?

JayWell 发表于 2025-4-21 17:09

支持BLE5.0及以上的蓝牙MCU(CH592系列、CH585系列等),都是支持512字节的MTU的,如果是自行整合一个上位机,可以协商到512字节。
各平台的BLE接口库:https://www.wch.cn/downloads/WCHBleLib_MultiOS_ZIP.html
如果是用EVT包中的OTA例程,配合已有的OTA上位机,默认可以协商到251字节的MTU。
https://www.wch.cn/downloads/BLE_OTA_Android_ZIP.html
https://www.wch.cn/downloads/BLE_OTA_iOS_ZIP.html

B1lanche 发表于 2025-5-19 14:11

沁恒蓝牙OTA升级过程中,单包数据的最大传输量受蓝牙协议版本和具体实现影响,通常在BLE 4.0时代为23字节(应用层可用)

Charlene沙 发表于 2025-5-19 17:08

在BLE 4.2及更高版本中可扩展至247字节(MTU最大值,应用层可用约244字节)

Euphoriaxixi 发表于 2025-5-19 19:15

一般来说,在实际OTA实现中,需结合具体芯片的MTU协商机制和分包策略确定单包最大数据量。

Annie556 发表于 2025-5-19 23:15

在蓝牙4.0时代,BLE芯片与手机通信时,蓝牙数据包长度MTU是23字节,其中还包括2字节的handle值,1字节的operation码,留给应用层的数据长度只有20个字节。

Belle1257 发表于 2025-5-20 07:06

到了蓝牙4.1,单包数据传输最大值从20字节上调到23字节。而在BLE 4.2中,MTU已经扩展到了247字节,除去3个字节,留给应用层的就是244字节可以使用。

zhouyong77 发表于 2025-5-20 07:58

蓝牙OTA只适合用于近场通信,比如智能家居应用。

EuphoriaV 发表于 2025-5-20 10:52

在BLE 4.2中,为了兼容BLE 4.2之前的设备,MTU的默认大小仍然是23字节,但可以在连接后进行修改。

flechazo 发表于 2025-5-20 14:33

当peripheral(从设备)和central(主设备)建立连接之后,central设备会发送ATT_Exchange_MTU_Req的请求包,包含了central所支持的MTU大小

limerenceforu 发表于 2025-5-20 18:41

peripheral会回应ATT_Exchange_MTU_Rsp应答包包含peripheral所支持的MTU大小,取两者之间最小的MTU作为两者通信的MTU。

Emily999 发表于 2025-5-21 10:05

在实际的OTA升级过程中,数据传输通常不是以单包最大容量直接发送,而是采用分包传输、校验和重传机制。

HeimdallHoney 发表于 2025-5-21 15:11

例如沁恒CH582的OTA升级,其数据传输流程包括擦除、编程、校验等步骤,且每次传输后需ACK确认,这表明实际单包数据量可能小于协议允许的最大值,具体取决于芯片的固件实现和分包策略。

页: [1]
查看完整版本: 关于沁恒的蓝牙OTA,这个一包数据最大是多少?