logo资料库

低功耗4.0蓝牙协议--物理层讲解.pdf

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
BLE4.0 协议讲解 1 第一章 协议组成图 1.1、协议由 HOST 层和 CONTROLLER 层组成
1.1.1、CONTROLLER 组成 PHY:基带物理层 LL:链路层 HCI:主机控制接口 1.1.2、HOST 组成 L2CAP:逻辑链路控制和适配器 ATT:属性协议 GATT:属性协议配置规范 SM:安全管理 GAP:通用访问规范 再往上层就是应用层,不属于协议层。 第二章 控制器 2.1、PHY 物理层 2.1.1、频段 BLE 使用 2.4GHz 工业、科学及医疗(ISM)频段。 这个频段有两个特别之处: • 它是一个无需授权的频段 • 它是唯一一个在任何国家都通用的频段,即对于 2.4GHz 的频 段,从 2400MHz~2483.5MHz 约 83.5MHz 的频谱资源在任何地 方都可以使用。 • 2.1.2、调制 BLE 采用的 GFSK 调制方式(髙斯频移键控),物理层的比特 率为 1Mbit/s(1Mbps)。
2.1.3、射频信道 一共 40 个通道,37 个自适应自动调频数据通道用于两个连 接设备的通讯;3 个固定广播通道分别是 37、 38、 39。通道的 具体频带分布如图 2-1。 图 2-1 频率分布 每一个频率可以通过以下公式计算: 表达式中 f 是无线信道 K 的中心频率。也意味着最小频率是 2402MHz,最大频率是 2480MHz。 2.1.4、发射功率 2.4GHz ISM 频段对无需授权的设备有最大发射功率的限制, 对于 BLE,在 4.0 规范中有规定:
也就是最小发送功率不能低于-20dBm 即 10uW,最大的发送功 率不能高于+10dBm 即 10mW。 2.2、链路层描述 链路层定义了两个设备如何利用无线电传输信息,包含了报 文、广播、数据通道的详细定义,也规定了发现其他设备的流 程、广播的数据、连接建立、连接管理以及连接中的数据传输。 2.2.1、链路层的状态机 链路层状态机定义了 5 种状态(图 2-2): 就绪态(Standby) • 广播态(Advertising) • 扫描态(Scanning) • 发起态(Initiating) • 连接态(Connection) 在扫描状态中又有:主动扫描和被动扫描;连接态又有:主机和 从机。
2.2.2、状态描述 • 就绪态 上电后,链路层进入并保持就绪态,直到接收到主机的命 令。就绪态可以进入广播态、扫描态或者发送态。从其他的任何 状态都能进入就绪态。 • 广播态 在广播态链路层可以发送广播报文,也可发送扫描响应,用 来回应主动扫描的设备。广播状态就是告诉周围的设备,我存在 在这里,并在广播报文中发送自己的名字以及设备地址,等待别 的设备进行连接。
在这注意,并不是所有的蓝牙一定要有发送和接收机。例 如,当广播者仅仅是广播自己而不让其他设备进行连接时,就可 以只需要发送机而不需要接收机。 广播态的设备停止广播可以进入就绪态,也可以收到发起者 的连接请求后进入连接态。 • 扫描态 扫描态能接收广播信道的报文,可用于简单的侦听哪些设备 正在广播。它有两个子状态:被动扫描和主动扫描。 • 被动扫描 被动扫描态,设备只能被动的扫描,不能发送任何报文,因 此,被动扫描可在只有接收机的设备中实现,以控制成本。 • 主动扫描中,链路层一旦发现了新的广播态设备,都会发送扫描 请求,并等待该请求的响应。扫描请求和响应报文都是在广播通 道中传输。 • 发起态 为了发起连接,链路层需要处于发起态,处于发起态的发起 者,其接收机用于侦听自己试图连接的设备。如果收到了来自该 设备的广播报文,链路层会向其发送连接请求并进入链接状态, 并假设广播者也进入了连接状态,这个假设是什么意思呢?就是 发起态发送连接请求后就会进入数据通道,不管和对方有没有真 正建立连接,都假设已经建立,在数据通道过程中进行数据包发
送,如果能应答说明连接建立,如果发送数据包应答超时,那么 连接失败发起态进入就绪态。 • 连接态 连接态可由发起态和广播态进行,进入连接态分为主机和从机, 如图 2-3。 图 2-3 连接态主从机 • 主机只能从发起态进入,必须向对端设备发起连接,并且主设备 必须定期向从设备发送报文(即链接事件),从设备只能回复主机 发送的报文时才能发送自己的数据。 从机只能从广播状态进入,必须向对端设备进行广播,对于从设 备是没有主动发送数据的能力,只有当主机发起了连接事件后, 从机才能发送自己的数据,如果从机有更多的数据需要发送,那 么将继续在同一个连接事件同一个信道上进行报文交互,当然如
果从机没有数据需要发送,也可以忽略主机发送的连接事件以达 到节能的目的。 2.2.3、bit 数据流格式 在讲数据报文之前,必须了解协议中对数据的 BIT 排序的规 定,在协议中规定数据包或者 PDU 都是以 Little Endian format(小端模式)存放,也就是在内存中低地址放低字节,高地址 放高字节,并且 Least Significant Bit (LSB) 即最低 bit 位是第一 个发送在空中的位,例如:发送 4 个 bit 的数 b0b1b2 b4= 1101, 其中 b0 为最低 bit 位,所以发送到空中先发送 1,接着发送 1,再 发送 0,最后发送 1。也就是说低字节的最低 bit 先发送到空中。 然而并不是整个数据包的每个字节都是以小端模式存放,以小 端模式发送数据,对于数据包中的 Cyclic Redundancy Check (CRC)循环冗余码校验和 MessageIntegrity Check (MIC)信息完整 性检查并不是先发送数据的低字节,而是先发送数据的高字节, 例如 CRC 的值为 0x149f5e,那么发送到空中是先发送高字节, 即先发送 0x14,在发送 0x9f,最后发送 0x5e。 2.2.4、Preamble 前导码 前导码为一个字节,它有两个值分别为:10101010b 和 01010101b。 实际上这个是干嘛的,具体我不是很清楚,它是由硬件实 现,也就是由硬件添加到发送包中,接收到包解析也是由硬件检
分享到:
收藏