[BLE--Link Layer]物理信道
简述
有线通信,是用电缆直接连接。然后分距离的长短。有些会须要载入波,信号也可能会经过不同的调制方式调制。
无线通信也是一样,仅仅是信号的传输是通过射频了,通过在某一频段。对无线信道进行调制,将数据发送出去。
BLE物理信道
在Physical Layer部分提到过BLE的物理信道,一共40个,在2.4GHz的ISM频段。事实上BLE的这40个物理信道是分成了两组的。一组是Advertising信道(3个)。一组是Data信道(37个),详细情况例如以下:
在连接成功建立之前。设备之间是通过Advertising信道交互数据的。而在连接成功建立之后,就使用Data信道进行数据交互了。
两个无线设备之间要进行通信。除了要遵循同一协议外,两者必须要调到同一信道,才会有正常的数据能够交换,不然一个在2404MHz,另一个在2430MHz,两者根本就不能接收到对方的数据的(就是常说的不在同一个频道……)。
因此在连接建立之前,仅仅用三个Advertising信道是有道理的,那样使得对方来扫描时。撞到同一频道的可能性就大大添加了。不然扫描扫半天,都没在同一频道过,那还怎么通信。BLE还使用了跳频,这是出于无线干扰以及安全性的考虑了。
关于Access Address
这里须要说明下Access Address,由于在考虑了无线通信时,须要两个设备调到同一个频道,才干进行通信,可是有时候可能有非常多个设备在使用。那么多个设备调到同一个频道的可能性也还是蛮大的,为了避免这样的多个设备某时刻工作在同一频率会造成的干扰。于是就设计了Access Address。该Address是一个无线发射器须要加在包中的,比如一个设备在发Advertising,它的Access Address是0x8E89BED8。那么有Scanner听到这个包后,也会用这个0x8E89BED8的Access Address与Advertiser通信,而Scanner要是听到的是别的Advertiser的包。就会使用另外一个Access Address去发Scan Request包。
关于Access Address做例如以下三点说明:
1. Access Address放在封包中。用于识别该physical channel下向哪一个设备发packet,这样某时刻工作在同一physical channel的设备就不至于packet混乱。
2. 从封包的Link Layer info能够看到每一个封包的确都有一个Access Address,Adv_pkt有一个固定Access Address。而intiator发con_req时会包括一个con_Access_Addr。连接之后的data pkt都是用的这个新的Access Addr了。
3. 每次又一次断开建立连接,Access Address会不一样。
事实上关于Access Address是另一些要求的,如不能有连续的6个1 bit位或6个连续的0 bit位,因此这样算下来。满足作为Access Address的4byte的组合中有231个是可用的。
[BLE--Link Layer]物理信道的更多相关文章
- 详解BLE 空中包格式—兼BLE Link layer协议解析
BLE有几种空中包格式?常见的PDU命令有哪些?PDU和MTU的区别是什么?DLE又是什么?BLE怎么实现重传的?BLE ACK机制原理是什么?希望这篇文章能帮你回答以上问题. 虽然BLE空中包(pa ...
- 蓝牙BLE LINK LAYER剖析(二) -- PDU
DATA FORMAT The Link Layer has only one packet format used for both advertising channel packets and ...
- 蓝牙BLE LINK LAYER剖析(一) -- status and channel
一.LINK LAYER STATES 二.PHYSICAL CHANNEL
- 5G-NR物理信道与调制-下行链路v1.1.0
上接<5G-NR物理信道与调制v1.1.0>下行链路 References Definitions, symbols and abbreviations 帧结构与物理资源 通用函数 上行链 ...
- NB-IOT无线帧结构和下行物理信道
NB-IOT Downlink OFDM参数 1.下行基于OFDMA, FF点数=128,基带采样速率1.92MHz,子载波间距15kHz,有效带宽180kHz=1PRB OFDMA: 正交频分多址, ...
- 蓝牙BLE实用教程
蓝牙BLE实用教程 Bluetooth BLE 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 设置 里的修改模板来改变新建文章的内容. 1.蓝牙BLE常见问答 Q: Smart Re ...
- 蓝牙BLE实用教程(转载)
欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 设置 里的修改模板来改变新建文章的内容. 1.蓝牙BLE常见问答 Q: Smart Ready 和 Smart 以及传统蓝牙之间是什么关 ...
- 深入浅出讲解低功耗蓝牙(BLE)协议栈
详解BLE连接建立过程https://www.cnblogs.com/iini/p/8972635.html 详解BLE 空中包格式—兼BLE Link layer协议解析https://www.cn ...
- Overview and Evaluation of Bluetooth Low Energy: An Emerging Low-Power Wireless Technology
转自:http://www.mdpi.com/1424-8220/12/9/11734/htm Sensors 2012, 12(9), 11734-11753; doi:10.3390/s12091 ...
随机推荐
- Teleportation(tel)
Teleportation(tel) 题目描述 Zy大帝拥有n个星球,因为距离非常遥远,所以Zy在他所居住的1号星球和他的军事基地霸中所在的2号星球建造了两个传送门,这样从1号星球到2号星球就只需要2 ...
- Python实现knn
#coding:utf-8 import numpy as np import operator import os def classify0(inX, dataSet, labels, k): d ...
- vue的v-for循环普通数组、对象数组、对象、数字
如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...
- 【转】Java进阶之路
1. 引言 搞Java的弟兄们肯定都想要达到更高的境界,用更少的代码解决更多的问题,用更清晰的结构为可能的传承和维护做准备.想想当初自己摸着石头过河,也看过不少人介绍的学习路线,十多年走过来多少还 ...
- 怎样让enum枚举支持string
原文发布时间为:2011-03-02 -- 来源于本人的百度文章 [由搬家工具导入] 大家都知道enum是以下两种情况,不能支持string 1,enum类型是静态 2,enum类型仅限于long、i ...
- .NET返回上一页
原文发布时间为:2010-05-25 -- 来源于本人的百度文章 [由搬家工具导入] if (Request.UrlReferrer != null) { ...
- [LeetCode] Merge Intervals 排序sort
Given a collection of intervals, merge all overlapping intervals. For example,Given [1,3],[2,6],[8,1 ...
- 享元模式FlyweightPattern(转)
解释一下概念:也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象.比如说一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象 ...
- OpenGL入门学习(二)
http://developer.178.com/201103/94954661733.html 一.点.直线和多边形我们知道数学(具体的说,是几何学)中有点.直线和多边形的概念,但这些概念在计算机中 ...
- manjao linux下玩转arduino
自从入手arduinon差不多半个月了,在window下几乎没有任何问题,下载,编程,编译,上传,运行.几乎没有任何问题.在linux编译成功,上传时下却总是提示找不到libncurses.so.5无 ...