BLE控制器之链路层

BLE 协议之链路层介绍

链路层是低功耗蓝牙体系里面最复杂的部分,它负责广播、扫描、建立和维护连接、以及确保数据包按照正确的方式组织、正确的计算校验值以及加密序列等。

链路层包含三个基本概念;信道、报文、过程

首先来说信道,信道包含广播信道和数据信道。

未建立连接的设备使用广播信道发送数据,如外设通过广播信道进行广播,通告自身为可连接或可发现的,并且执行扫描或者发起连接。

连接后的设备则通过数据信道来进行数据传输。

在这两个信道上的数据发送均为小数据包,封装了发送者给接受者的少量数据,无论是广播信道还是数据信道,基本的数据包的格式相同,所不同的就是内容而已。每一个数据包包含有最少80比特的地址、报头和校验信息。

报文结构如下:

报文内容解析如下:

前导部分为01010101或者10101010 序列,取决于第一个bit是0还是1,用于接收者同步比特计时和设置自动增益控制。

32bit 接入地址在广播信道中为固定值:0x8e8dbed6, 而在数据信道数据包是完全随机的私有值。

8bit的包头字段描述数据包中的内容。

另一个8bit的长度的字段描述载荷的长度。要注意的是长度最大不超过37,所以8bit可以完全满足长度描述

数据部分就位变长的有效数据部分,包含了双方相互数据传输的有用信息。

可以发送的最短报文是空报文,时长为80us,满载时的最长报文时长376us。(因为物理层1us传输1个bit),大部分广播报文只有128us,而大部分数据报文时长为144us

时间: 2024-10-09 04:58:29

BLE控制器之链路层的相关文章

BLE控制器之HCI接口层

HCI 是主要是主机提供了与控制器通信的标准接口,这种结构的设计源自于传统的蓝牙,它允许主机将命令和数据发送到控制器,同时允许控制器降事件和数据发送到数据. 主机/控制器接口实际上由两个独立的部分组成:逻辑接口和物理接口. 逻辑接口定义了命令和事件以及相关的行为. 而物理接口则是具体的通过硬件实现具体传输的接口.物理接口定义了命令.事件.和数据如何通过不同的连接技术来传输.常见的物理接口包括USB/SDIO/UART ,但是对于低功耗而言,由于usb需要大量硬件,而且不属于低功耗的接口,所以一般

BLE进阶——链路层

BLE 的链路层,主要有一个或多个状态机构成,状态机有5中状态,分别是 standby(待机), advertise(广播), scan(扫描), init(初始化),connect(连接). 1. 链路层上层是BLE 的Host 端(主机端), 下层是物理层(调制解调,RF等). 2. 从空中的通道来看,BLE的通道分成2类:广播通道和数据通道. 其中广播通道有3个频段,数据通道有37个频段. 注:BLE有40个通道,跨越2402MHz~2480MHz, 每个通道带宽2MHz. BLE进阶--

Bluetooth Low Energy链路层

1. 介绍 1.1 链路状态机 链路层操作可以描述为链路状态机(The Link Layer State Machine) 链路状态机有如下五种状态 - Standby State: 准备,不传输或接受数据包 - Advertising State: 广播, advertiser,发送advertising channel packets,接受来自scanner的响应 - Scanning State: 监听/扫描, scanner,监听来自advertiser的advertising chan

《TCP/IP详解卷1:协议》——第2章:链路层(转载)

1.引言 从图1-4可以看出,在TCP/IP协议族中,链路层主要有三个目的: (1)为IP模块发送和接收IP数据报: (2)为ARP模块发送ARP请求和接收ARP应答. (3)为RARP发送RARP请求和接收RARP应答. TCP/IP支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网.令牌环网.FDDI(光纤分布式数据接口)及RS-232串行线路等. 2.以太网和IEEE 802封装 (1)以太网 以太网一般是指数字设备公司(Digital Equipment Corp.).英特尔和

链路层 - SLIP,PPP,

最常使用的封装格式是RFC 894定义的格式.图2 - 1显示了两种不同形式的封装格式.图中每一个方框以下的数字是它们的字节长度. 两种帧格式都採用48 bit(6字节)的目的地址和源地址( 8 0 2 . 3同意使用16 bit的地址,但通常是48 bit地址).即硬件地址. 接下来的2个字节在两种帧格式中互不同样. 在8 0 2标准定义的帧格式中.长度字段是指它兴许数据的字节长度,但不包含C R C检验码.以太网的类型字段定义了兴许数据的类型.在8 0 2标准定义的帧格式中.类型字段则由兴许

TCP/IP协议简介(二) 之 链路层介绍

链路层介绍 一.简介 上一节已经介绍过,网络层协议的数据单元是 IP 数据报 ,而数据链路层的工作就是把网络层交下来的 IP 数据报 封装为 帧(frame)发送到链路上,以及把接收到的帧中的数据取出并上交给网络层. 为达到这一目的,数据链路必须具备一系列相应的功能,主要有: 将数据封装为帧(frame),帧是数据链路层的传送单位: 控制帧的传输,包括处理传输差错,调节发送速率与接收方相匹配: 在两个网络实体之间提供数据链路通路的建立.维持和释放的管理. 数据帧的结构是这样的: 二.控制帧的传输

链路层的简介和MTU

链路层杂谈(凭个人理解瞎说的,欢迎拍砖) 链路层,说白了就是把网络层的IP数据处理一下,加点东西,放到物理层上去.    加的东西:源.目的地址和CRC校验值,有的还有类型这个字段,用来区分协议.    处理的部分:就是数据,就是把IP数据报,用指定的方法打个包: 打包的方法有以下几种:    尾部封装:把变长字段都放到最后(CRC之前),主要是为了前面的512整字节的数据整体直接复制到内核中而减小复制次数.    SLIP协议:串行线路IP,就是用END字符作为分隔符,分割数据报.为了防止干扰

协议详解2——链路层

1.1 链路层 链路层作用: 为IP模块发送和接受数据包: 为ARP模块发送ARP请求和接受ARP应答(地址解析协议): 为RARP发送RARP请求和接收RARP应答(逆地址解析协议): 链路层协议: 以太网链路层协议,串行接口链路层协议(SLIP和PPP),回环(loopback)驱动程序 1.2 以太网和IEEE802封装 1.3 SLIP:串行线路IP SLIP:是一种在串行线路上对IP数据报进行封装的简单形式: SLIP协议定义的帧格式: SLIP缺陷: 1)每一端必须知道对方的IP地址

<再看TCP/IP第一卷>关于链路层的知识细节及相关协议

在TCP/IP协议族中,链路层的主要有三个目的: (1)为IP模块发送和接受数据报 (2)为ARP模块发送ARP请求和接受ARP应答 (3)为RARP发送RARP请求和接受RARP应答 TCP/IP支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网,令牌环网,FDDI,及RS-232串行线等. 两个串行接口链路层协议: SLIP:(Serial Line IP)它是一种在串行线路上对IP数据报进行封装的简单形式,SLIP适合用于家庭中每台计算机及都有的RS-232串行端口和告诉调制解调