[单片机芯片] 关于沁恒的蓝牙OTA,这个一包数据最大是多少?

[复制链接]
5515|13
 楼主| Estelle1999 发表于 2025-4-20 19:15 | 显示全部楼层 |阅读模式
关于沁恒的蓝牙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确认,这表明实际单包数据量可能小于协议允许的最大值,具体取决于芯片的固件实现和分包策略。

OceanDepths 发表于 2025-6-5 17:25 | 显示全部楼层
沁恒 BLE OTA 一包最大数据为 244 字节(MTU=247, Payload=244),需开启 MTU 和 DLE 扩展。默认情况下为 20 字节(MTU=23)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

95

主题

1589

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部