第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) ...
随机推荐
- A1050 String Subtraction (20 分)
一.技术总结 这个是使用了一个bool类型的数组来判断该字符是否应该被输出. 然后就是如果在str2中出现那么就判断为false,被消除不被输出. 遍历str1如果字符位true则输出该字符. 还有需 ...
- Linux性能优化实战学习笔记:第四十八讲
一.上节回顾 上一节,我们一起学习了如何分析网络丢包的问题,特别是从链路层.网络层以及传输层等主要的协议栈中进行分析. 不过,通过前面这几层的分析,我们还是没有找出最终的性能瓶颈.看来,还是要继续深挖 ...
- [LeetCode] 82. Remove Duplicates from Sorted List II 移除有序链表中的重复项之二
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numb ...
- Linux设置定时任务方法
linux下定时执行任务的方法: 在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出. 在LI ...
- nginx学习笔记2
nginx基础配置 一.nginx常用命令 nginx -s reload:在nginx已经启动的情况下重新加载配置文件(平滑重启) nginx -s reopen:重新打开日志文件 nginx -c ...
- (一)golang--初识go语言
学习来源:https://www.bilibili.com/video/av35928275/?p=1 尚硅谷的(我学spring.springmvc和mybatis就是他们的课) 使用1.9.2的 ...
- Git恢复之前版本的两种方法reset、revert(图文详解)(转)
一.问题描述在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset).反做(reve ...
- hdfs 列出文件
package com.lala.lala.pipe.dbinfo import java.io.{ByteArrayOutputStream, PrintWriter} import com.ali ...
- Python 脚本如何执行另一个脚本
关于Python 脚本如何执行另一个脚本,可以使用os.system()来实现 os.system()的参数: 执行的命令 +执行的内容 举例说明: (1)显示当前文件夹下的全部目录和文件夹 os.s ...
- SQL -------- 简单的增删改查
sql 结构化查询语言,一种ansi 的标准计算机语言,为了访问数据库 可以做什么:可以对数据库 和表进行创建于删除, 对表里面的数据进行增删改查. 也可以创建存储过程和视图,对表设置权限 RDBM ...