第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) ...
随机推荐
- [LeetCode] 379. Design Phone Directory 设计电话目录
Design a Phone Directory which supports the following operations: get: Provide a number which is not ...
- Cobalt环境搭建及 Web开发注意事项
一.在Linux系统上搭建Cobalt运行环境 Cobalt是一款开源轻量级HTML5/CSS/JS浏览器,旨在于用最少的CPU.GPU.RAM等资源消耗提供丰富的应用程序开发.为了使前端开发者验证自 ...
- sql server 批量备份数据库及删除N天前的备份数据
很多时候,我们都需要将数据库进行备份,当服务器上数据库较多时,不可能一个数据库创建一个定时任务进行备份,这时,就需要进行批量的数据库备份操作,好了,废话不多说,具体实现语句如下: 1 2 3 4 5 ...
- 用友U8根据客户简称/供应商简称的拼音首字母生成助记码
用友U8+中,客户档案和供应商档案可以设置自动生成助记码,但软件只能自动根据客户全称/供应商全称生成助记码,而无法选择按简称生成助记码,这显然十分不方便,可以通过如下方式解决: 修改步骤 1.往数据库 ...
- 大话设计模式Python实现-简单工厂模式
简单工厂模式(Simple Factory Pattern):是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 下面使用简单工厂模式实现一个简单的四则运算 #!/usr/ ...
- 了解jsp,这一篇就够了.
jsp的执行过程: 1 客户端发出请求. 2 Web容器将JSP转译成Servlet源代码. 3 Web容器将产生的源代码进行编译. 4 Web容器加载编译后的代码并执行. 5 把执行结果响应至客户端 ...
- Angular6 学习笔记——路由详解
angular6.x系列的学习笔记记录,仍在不断完善中,学习地址: https://www.angular.cn/guide/template-syntax http://www.ngfans.net ...
- SpringCloud入门概述
SpringCloud入门概述 Spring的三大模块:SpringBoot(构建),Spring Cloud(协调),Spring Cloud Data Flow(连接)注意:Spring Boot ...
- mybatis 报Invalid bound statement(not found) 和 Property 'mapperLocations' was not specified or not matching resources found
排除问题的步骤: 1.首先检查mapper文件和mapper接口的文件名是否相等. 2.pom.xml是否把xml排除了,这样写就会src/main/java下所有的Mybatis的xml文件都删除, ...
- golang---常用函数
package main; import ( "os" "fmt" "time" "strings" ) //os包中的 ...