

1, Client MCU 向 BCM20732 发送数据
1.1 通讯流程图
Uart 通讯波特率为 115200,数据位 8 位,停止位 1 位,无奇偶校验位。图一为 Client
MCU 向 BCM20732 发送数据通讯流程图,共分四步骤。
Client MCU BCM20732
发送唤醒命令0x55
第一步
返回准备好回应Ready命令0x52
第二步
发送数据包Packet
第三步
返回Result ACK
第四步
图一:通讯流程图
1.2 数据包格式
在第三步
发送数据包Packet
过程中,Client MCU 向 BCM20732 发送数据包格式如表一
所示。对于 Uart 通讯来说,数据包长度 N 可以达到 200 个字节,但是因为蓝牙 4.0 协议规
定,在 GATT 协议中每一个 UUID 通道最大通道传输数据包长度为 20 字节,如果要传递大
于 20 个字节,必须分段传输,这样会导致蓝牙模块和移动设备的通讯协议复杂,会导致功
耗加大,建议用户需要和移动设备(如手机)频繁交流的数据包长度不要大于 18(20 个字节
减去一个长度和 check sum 即为 18 个字节)个字节。
表一:Client MCU 向 BCM20732 发送数据包格式
数据位置 数据 数据长度
(字节)
描述
Byte (0) N 1 其中 N 为要发送的数据包长度(1<=N<200)
Byte(1) Header 1 Header 为数据包头,含义如下:
Header =0x01:进入蓝牙配对
Header =0x02: 蓝牙芯片进入休眠
Header =0x03: 断开蓝牙连接,进入空闲状态
Header =0x04: 退出蓝牙配对
(备注:Header 不能为 0,当 Header 为上述
ITON TECHNOLOGY LTD. Bluetooth 4.0 BLE Uart Interface
2013-9-3 V1.0 YKQ
标准的命令时,N 为 1,即无其他数据包)
Header =other:保留,供客户自定义
Byte (2)~ Byte (N) 其他数据包 N-1 其他(N-1)个数据
Byte(N+1) Check sum 1 Check sum 为 Byte (0)至 Byte (N)累加和的低八
位
在第四步
返回Result ACK
过程中, BCM20732 回应 Client MCU ACK 数据格式如表二所示。
表二:BCM20732 回应 Client MCU ACK 数据格式
数据位置 数据 数据长度
(字节)
描述
Byte (0) N 1 ACK=0x53(为 Success 中‘S’的 ASCII 码):当接收到
数据包 Byte (0)至 Byte (N)累加和的低八位等于
Byte (N+1),即 check sum 判断正确
ACK=0x46(为 Fail 中‘F’的 ASCII 码): 等待接收超
时或者 check sum 不正确
1.2 通讯时序
发送唤醒
命令0x55
返回准备好回应
Ready命令0x52
发送数据
包Packet
返回result ACK
发送唤醒
命令0x55
RD
t
TO
t
INIT
t
Client MCU
BCM20732
T
T 为一个通讯周期。
RD
t
: 该时间的长短取决于 20732 的工作状态:当 20732 处于工作状态时,
RD
t
≈2ms;
处于休眠状态时,
RD
t
≈ 600ms。
TO
t
: 数据发送端在收到 Ready 信息后,必须在 20ms 内发送数据包(即
TO
t
<20ms) ,否
则会因发送数据超时返回错误。
INIT
t
:当 20732 返回数据发送结果之后,就意味着一个数据传输周期结束。如果想再次
发送数据,须延时 10ms。即
INIT
t
≥10ms。
2 BCM20732 向 Client MCU 发送数据
BCM20732 向 Client MCU 发送数据格式如表三所示,当 Header=0x01 时,表示发送蓝
牙芯片状态(如断开,连接,休眠等),此时 N 固定为 2,Byte(2)为蓝牙芯片状态字,含义
如表四所示。对于 Uart 通讯来说,数据包长度 N 可以达到 200 个字节,但是因为蓝牙 4.0
协议规定,在 GATT 协议中每一个 UUID 通道最大通道传输数据包长度为 20 字节,如果要
传递大于 20 个字节,必须分段传输,会导致蓝牙模块和移动设备的通讯协议复杂,会导致
功耗加大,建议用户需要和移动设备(如手机)频繁交流的数据包长度不要大于 18(20 个字
节减去一个长度和 check sum 即为 18 个字节)个字节。
ITON TECHNOLOGY LTD. Bluetooth 4.0 BLE Uart Interface
2013-9-3 V1.0 YKQ
表三, BCM20732 向 Client MCU 发送数据格式
数据位置 数据 数据长度(字节) 描述
Byte (0) N 1 其中 N 为 要 发 送 数 据 包 长 度
(1<=N<200)
Byte(1) Header 1 Header 为数据包头,不能为 0,含义
如下:Header =0x01:发送蓝牙状态
Header =other:保留,供客户自定义
Byte (2)~ Byte (N) 其他数据包 N-1 其他(N-1)个数据
Byte(N+1) Check sum 1 Check sum 为 Byte (0)至 Byte (N)累加
和的低八位
表四, 蓝牙芯片状态字
数值 描述
00 空闲状态
01 休眠状态
02 广播配对状态
03 连接状态
04 意外断开状态
其他 保留,以后扩展