- 博客(21)
- 收藏
- 关注
原创 Low Energy Controller——Air interface packets(1)
访问地址的唯一性:确保每个链路层连接、广播同步流和周期性广播序列都有唯一的访问地址。访问地址的生成规则:链路层在发起状态和广播状态下需要动态生成访问地址,并在特定字段中传递这些地址。固定访问地址:其他广播物理信道数据包使用固定的访问地址(0x8E89BED6)。这些规则旨在确保蓝牙设备之间的通信能够正确同步,并避免地址冲突。在连接状态下,链路层在创建每个连接等时流(CIS)时应生成一个新的访问地址(Access Address)。
2025-03-24 15:07:59
1150
原创 Low Energy Controller——Connection state
一旦两个设备建立了连接,它们中的任何一个都可以发送数据。这个示例展示了两个设备都在发送数据的情况,比如当属性协议发起一个读取请求,并接收到一个读取响应时(见图6.1)。
2025-03-18 10:28:09
1056
原创 Low Energy Controller——Initiating state
设备可以发起与广播者的连接。此示例显示了一个成功的启动,至此两个设备都能够发送应用程序数据(见图5.1)。设备可以取消挂起的连接创建。此示例显示了一个不成功的启动,随后取消了连接(见图5.2)。
2025-02-25 13:21:43
317
原创 Low Energy Controller——Advertising state
设备可以通过开启广播进入广播状态。在执行此操作之前,还应配置广告参数(见图3.1)。
2025-01-17 11:39:14
801
原创 Low Energy Controller——Standby state
在进行LE Controller的初始设置时,可能需要按照以下步骤进行操作:首先,主机(Host)会等待Controller通过针对“无操作”(No Operation)命令操作码的命令完成(Command Complete)事件来指示当前允许主机发送的HCI命令包数量。这一步骤是为了了解主机与Controller之间的通信限制。接着,主机会将Controller重置到一个已知状态。这是为了确保Controller从一个干净、标准化的配置开始,从而避免任何先前状态对后续配置的影响。
2025-01-16 20:23:36
653
原创 ATT(Attribute Protocol)——Protocol requirement
注意:一些响应包括多个属性值,例如当客户端请求多个属性读取时。为了让客户端确定属性值边界,属性值必须具有由属性类型定义的固定大小。有一些PDU,其中属性值的长度作为PDU中的一个字段包含,因此上述含义不适用于这些PDU。
2025-01-16 17:54:29
1053
原创 ATT(Attribute Protocol)——Protocol overview
可以将权限应用于属性,以防止应用程序获取或更改属性的值。属性可以由更高层的规范定义为可读或可写,或者两者兼而有之,并且可能具有额外的安全要求。对于给定的客户端,服务器应该有一组属性,无论使用哪个承载器,这些属性都应该具有相同的值和属性。根据GATT或更高层规范的定义,每个客户机的属性值可以相同,也可以不同。蓝牙SIG定义的属性类型在Assigned Numbers中定义,并由相关的更高层规范使用。在LE中,有一个ATT承载器,它使用一个固定的通道,该通道在ACL连接建立后立即可用。属性协议定义了两个角色;
2024-11-18 11:53:55
398
原创 ATT(Attribute Protocol)——Introducation
属性协议(attribute protocol)允许服务端设备向客户端设备公开一组属性及其相关值。这些由服务端公开的属性可以被客户端发现、读取和写入,并且可以由服务端设备指示和通知。
2024-11-18 11:39:50
305
原创 BR/EDR——Connectionless peripheral broadcast services
图9.3显示了同步列车特性。设备A是无连接外围广播发送端。设备B是无连接外围广播接收端。图9.4说明了设备B如何开始接收来自设备A的无连接外围广播数据包。图9.2说明了设备A如何开始向设备B发送无连接外围广播数据包。图9.1演示了Truncated Page过程。
2024-11-18 11:30:30
196
原创 BR/EDR——Buffer managemnet,flow control
这可以在主机控制器接口上使用HCI_Read_Buffer_Size命令,HCI_Number_Of_Completed_Packets事件,HCI_Set_Controller_To_Host_Flow_Control, HCI_Host_Buffer_Size和HCI_Host_Number_Of_Completed_Packets命令来实现。当一个HCI数据包被传输到远程设备,并且接收到该数据的基带确认时,将生成一个HCI_Number_Of_Completed_Packets事件(参见图7.1。
2024-11-18 10:40:19
198
原创 BR/EDR——Synchronous connection establishment and detachment
HCI_Setup_Synchronous_Connection命令用来在链路上添加同步逻辑通道。同步逻辑链路可以通过创建SCO或eSCO逻辑传输来提供。注意:创建同步连接前,必须先建立ACL连接。步骤1a: Central设备请求与外围设备的同步连接。(参见图5)步骤1b:外围设备请求与中央设备的同步连接。(见图5.2)步骤1c:中央设备请求与外围设备的SCO连接。(见图5.3)步骤1d: 中央设备请求与外围设备的SCO连接。(见图5.4)步骤1e:主机设备请求与某个设备的SCO连接。
2024-11-15 17:52:40
371
原创 BR/EDR——Optional activites after ACL connection establishment(2)
当主机使能时,外设收到lmp_superion_timeout PDU后,会产生hci_link_superion_timeout_changed事件。
2024-11-14 20:50:25
860
原创 BR/EDR——Optional activities after ACL connection establishment(1)
步骤1:可以在建立连接后的任何时间显式执行身份验证。如果没有可用的链接密钥,则需要主机提供链接密钥。(见图4.1)注意:如果控制器或LM和主机没有Link Key,设备将需要使用第3.1节步骤7a或第4.2节中的步骤进行配对。当两台设备都支持“安全连接”时,使用“安全认证”。
2024-11-12 10:44:26
791
原创 BR/EDR ——ACL Connection establishment and detachment
两个设备之间连接的建立和断开流程图如图3.1所示。这个过程分为9个不同的步骤。其中许多步骤可以选择性地执行,例如身份验证和加密。有些步骤是必需的,例如Connection Request和Setup Complete步骤。概览图中的步骤与以下消息序列图中的步骤直接相关。
2024-11-07 11:39:34
448
原创 BR/EDR——Service without connection request
远程名称请求服务用于查找远端设备的名称,而不需要显式的ACL连接。步骤1:主机发送一个HCI_Set_Event_Mask,设置远程主机支持的功能通知事件(bit 60)和一个HCI_Remote_Name_Request命令,期望本地设备自动尝试连接到远程设备。(见图2.1)步骤2a:如果ACL连接不存在,设备A Pages设备b。
2024-11-06 20:41:10
401
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅