第05节-BLE协议物理层(PHY)
对于软件的人来说,物理层关注的内容会少一点。在前面的博客中,我们以快递员类比物理层,对于快递员来说,道路千万条,这条不通换另外一条。
对于物理层来说也是一样的,它有很多频率,这个频率有冲突了,将会切到另一个频率上面。
举例:深圳比较有两个比较出名的电台:105.7MHZ 和106.2MHZ

注意:当说105.7MHZ时,是指该频率的周围一段都属于105.7MHZ。对于106.2MHZ的频率也是这样的。记住,它并不仅仅指一个值。数据是在该频段范围内传输,数据并不是仅仅在105.7MHZ或106.2MHZ这个点传输。
如果105.7MHZ的电台被干扰了,将切换到106.2MHZ的电台。同样的道理,对于蓝牙也是这样的,蓝牙用的是2.4GHZ的频率,它也是指在2.4GHZ左右的一段范围,在该范围内都属于2.4GHZ。

在这个频段内,我们不可能只传输一个电台,需要继续切分。每一个红色的小块传输一个电台(或者称为无线信道)。这就是蓝牙中无线信道的划分,对于BLE低功耗蓝牙,它将2.4GHZ频率的周围划分出了0到39,总共40个信道。

fc = 2402 + 2k, k=0,1,2,…,39, fc是无线信道k的中心频率
从这个图可以看出,对于低功耗蓝牙,在2.4GHZ这个频段它被分为了40个信道,一个信道被干扰了,将切换到另一个信道。
对于这些信道,它标上了一个名字,这些名字是在上一层链路层那里提出来的。对于物理层只需要知道对于2.4GHZ,它被拆分成40个信道就可以了。
物理层使用跳频技术提高了数据传输的成功率,一个信道被干扰了,将跳到另一个信道。
第05节-BLE协议物理层(PHY)的更多相关文章
- 第12节-BLE协议HCI层的数据格式
学习资料: 1. 蓝牙协议core_v5.0.pdf <Vol 2: Core System Package [BR/EDR Controller volume]>的“Part E: Ho ...
- 第03节-BLE协议各层数据格式概述
本篇博客根据韦大仙的视频,整理所得. 对于BLE系统,它分为上下两块.上面那一块,我们称为host主机.下面这一块是controller,你可以简单的认为它就是一个蓝牙芯片. 对于host这一块,它运 ...
- 第13节-BLE协议L2CAP层
学习资料:官方手册 Vol 3: Core System Package [Host volume] Part A: Logical Link Control and Adaptation Proto ...
- 第11节-BLE协议HCI层的硬件接口
本篇博客由韦东山视频整理所得 如何控制链路层让其发出广播包.数据包?通过HCI层向它发出命令,也可以通过ATT层.L2CAP层向LL层发出数据. 学习资料: 蓝牙协议core_v5.0.pdf < ...
- 第10节-BLE协议链路层(LL)
本篇博客的学些要结合书籍<低功耗蓝牙开发权威指南,Robin Heydon著>第7章,实际上这书只是对蓝牙原版协议的简化.摘要. 回顾以前学过的<BLE协议各层的形象化理解>和 ...
- 第04节-BLE协议抓包演示
在上几篇博客中,形象的讲解了BLE各个层的作用,各个层的数据结构.本篇博客将研究BLE协议抓包.在实际开发中,有一个中央设备(central)和一个外设(Peripheral).所谓中央设备就是指它可 ...
- 第02节-BLE协议各层的形象化理解
本篇博客根据韦大仙视频,整理所得. 先上框图: ATT层 从ATT开始看,在上篇博客讲的医院结构里面有个检验室,检验室可以得到各项结果,但是它并不知道这些结果代表什么含义.类比的在BLE协议栈里面,A ...
- [蓝牙] 2、蓝牙BLE协议及架构浅析&&基于广播超时待机说广播事件
第一章 BLE基本概念了解 一.蓝牙4.0和BLE区别 蓝牙4.0是一种应用非常广泛.基于2.4G射频的低功耗无线通讯技术.蓝牙低功耗(Bluetooth Low Energy ),人们又常称之为 ...
- BLE——协议层次结构
未完待续…… BLE协议 Bluetooth Application Applications GATT-Based Profiles/Services Bluetooth Core (Stack) ...
随机推荐
- MySQL使用的几条注意事项和1449错误解决方案
一.如何在Windows终端连接MySQL? 使用cmd进入终端,然后要进入到你安装MySQL的bin目录下(如果没有的话,会出现该命令无效之类的错误),然后使用命令mysql -u root -p, ...
- Python例题集
例题1:任意输入一组数据比较其最大值并记录输入的数据个数. 源代码: def max(*a): m=a[0] i=0 for x in a: i+=1 if x>m: m=x print('参数 ...
- AI语音验证码识别
欢迎使用AI语音验证码识别v4.0程序程序调用方法:http://code.hbadmin.com/?url=http://code.hbadmin.com/demo/2118534.wav [试听] ...
- win7升级win10
win7的系统看起来不是特别爽,还是win10用得顺手. win7升级win10: https://jingyan.baidu.com/article/066074d60391e2c3c31cb04e ...
- ABP vNext中使用开源日志面板 LogDashboard
ABP vNext 使用 logdashboard 本文示例源码:https://github.com/liangshiw/LogDashboard/tree/master/samples/abpvn ...
- 【转】python实现Telnet操作
# -*- coding: utf-8 -*- import logging import telnetlib import time import sys import os host_ip = ' ...
- Mysql select into outfile 命令
[1]Mysql select into outfile命令 在Mysql中,与load data infile命令作用相反的一个命令是select into outfile命令 select int ...
- 关于Ext checkboxfiled 获取值为 on的解决办法
今天在做Ext checkboxfield 为取值为on,应该是true或false,解决办法是把Name去掉,只设置ID即可 { xtype: "container", layo ...
- PIE SDK打开自定义矢量数据
1. 数据介绍 信息提取和解译的过程中,经常会生成一部分中间临时矢量数据,这些数据在执行完对应操作后就失去了存在的价值,针对这种情况,PIE增加了内存矢量数据集,来协助用户完成对自定义矢量数据的读取和 ...
- 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!
原文地址 迁移到:http://www.bdata-cap.com/newsinfo/1741515.html 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和f ...