造价通

反馈
取消

热门搜词

造价通

取消 发送 反馈意见

主机控制接口主机控制接口的数据格式

2022/07/13123 作者:佚名
导读:主机控制接口数据和参数格式 除非特别说明,所有的数值都是以小尾格式(Little Endian码)存储。当指定值的时候,可以有负数值的所有参数必须使用2的补码。数组化的参数被指定使用下面的标记法:参数A[i]。如果有多于一套数组化的参数被指定(如参数A[i],参数B[i]),那么参数的顺序应该是下面的形式:参数A[0],参数B[o],参数A[1],参数B[1],……,参数A[n],参数B[n]。

主机控制接口数据和参数格式

除非特别说明,所有的数值都是以小尾格式(Little Endian码)存储。当指定值的时候,可以有负数值的所有参数必须使用2的补码。数组化的参数被指定使用下面的标记法:参数A[i]。如果有多于一套数组化的参数被指定(如参数A[i],参数B[i]),那么参数的顺序应该是下面的形式:参数A[0],参数B[o],参数A[1],参数B[1],……,参数A[n],参数B[n]。

除非特别指明,所有参数的值都以小尾格式(Little Endian码)发送和接收。在一个位串中,右边的数据位是低位数据位。例如,对于二进制“10”来说,0就是低位数据位。除了明确说明以外,标记为被保留未来使用(Reserved for Future Use,RFU)的数值和参数应该设置为0,并且在接收时忽略。

主机控制接口主机控制接口命令分组

主机控制接口命令分组用来将命令从主机发送到控制层。主机控制接口命令分组的格式如图1所示。

图1 主机控制接口命令分组

每一个命令会分配2B的标识符(OpCode),这个标识符用来唯一确定命令的不同类型。OpCode分为2个不同的域,分别称为OpCode组域(OGF)和OpCode命令域(OCF)。OGF占OpCode的高6b,在低功耗蓝牙命令中设置为0x07。OCF占据OpCode的剩余的10b,并且它决定了低功耗蓝牙的主机控制接口命令。在OpCode后面是占据1B的参数总长度域,这个参数表明了在命令中所有参数的长度,这个长度是以8b为单位的。每一个命令都会有许多参数。这些参数和参数的大小都是为每一个命令定义的。每一个参数的长度都是8b的整数倍。

主机控制接口主机控制接口数据分组

主机控制接口数据分组用来将数据在主机和控制层之间进行交换。主机控制接口数据分组的格式如图2所示。

图2  主机控制接口数据分组的格式

这个数据分组的前12b(链接ID)确定了包所属的链路层的链接。当一个新的链接被创建并且具有0x000~0xFFF之间的数值时,链接ID由控制层所分配。在0xF00~0xFFF之间的数值是被保留的。PB设置为00,BC设置为00。之后的16b(数据总长度)表明了包中数据的总长度,

这个长度是以8b为单位的。数据域以升序字节顺序排序。

主机控制接口主机控制接口事件分组

当事件发生时,主机控制接口事件包被控制层用来向主机做出通知。主机控制接口事件分组的格式如图3所示。

图3 主机控制接口事件分组

每一个事件分配1B的事件标识符(事件码)。这个事件码用来唯一确定事件的不同类型。事件码是主机控制接口事件分组的第一个字节。包的第二个字节包含了数据总长度域,表明了在包中的所有参数的长度,这个长度是以8b为单位的。每一个事件都有许多参数。这些参数和参数的大小都是为每一个事件定义的。每一个参数的长度都是8b的整数倍 。

*文章为作者独立观点,不代表造价通立场,除来源是“造价通”外。
关注微信公众号造价通(zjtcn_Largedata),获取建设行业第一手资讯

热门推荐

相关阅读