对于软件的人来说,物理层关注的内容会少一点。在前面的博客中,我们以快递员类比物理层,对于快递员来说,道路千万条,这条不通换另外一条。
对于物理层来说也是一样的,它有很多频率,这个频率有冲突了,将会切到另一个频率上面。

举例:深圳比较有两个比较出名的电台: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)的更多相关文章

  1. 第12节-BLE协议HCI层的数据格式

    学习资料: 1. 蓝牙协议core_v5.0.pdf <Vol 2: Core System Package [BR/EDR Controller volume]>的“Part E: Ho ...

  2. 第03节-BLE协议各层数据格式概述

    本篇博客根据韦大仙的视频,整理所得. 对于BLE系统,它分为上下两块.上面那一块,我们称为host主机.下面这一块是controller,你可以简单的认为它就是一个蓝牙芯片. 对于host这一块,它运 ...

  3. 第13节-BLE协议L2CAP层

    学习资料:官方手册 Vol 3: Core System Package [Host volume] Part A: Logical Link Control and Adaptation Proto ...

  4. 第11节-BLE协议HCI层的硬件接口

    本篇博客由韦东山视频整理所得 如何控制链路层让其发出广播包.数据包?通过HCI层向它发出命令,也可以通过ATT层.L2CAP层向LL层发出数据. 学习资料: 蓝牙协议core_v5.0.pdf < ...

  5. 第10节-BLE协议链路层(LL)

    本篇博客的学些要结合书籍<低功耗蓝牙开发权威指南,Robin Heydon著>第7章,实际上这书只是对蓝牙原版协议的简化.摘要. 回顾以前学过的<BLE协议各层的形象化理解>和 ...

  6. 第04节-BLE协议抓包演示

    在上几篇博客中,形象的讲解了BLE各个层的作用,各个层的数据结构.本篇博客将研究BLE协议抓包.在实际开发中,有一个中央设备(central)和一个外设(Peripheral).所谓中央设备就是指它可 ...

  7. 第02节-BLE协议各层的形象化理解

    本篇博客根据韦大仙视频,整理所得. 先上框图: ATT层 从ATT开始看,在上篇博客讲的医院结构里面有个检验室,检验室可以得到各项结果,但是它并不知道这些结果代表什么含义.类比的在BLE协议栈里面,A ...

  8. [蓝牙] 2、蓝牙BLE协议及架构浅析&&基于广播超时待机说广播事件

    第一章 BLE基本概念了解 一.蓝牙4.0和BLE区别   蓝牙4.0是一种应用非常广泛.基于2.4G射频的低功耗无线通讯技术.蓝牙低功耗(Bluetooth Low Energy ),人们又常称之为 ...

  9. BLE——协议层次结构

    未完待续…… BLE协议 Bluetooth Application Applications GATT-Based Profiles/Services Bluetooth Core (Stack) ...

随机推荐

  1. Zabbix的基本功能

    zabbix组件: 两核心组件: zabbix-server(监控者) :收集agent发送的数据,写入数据库(mysql.oracal.)中,再通过web展示出来.默认端口为10051. zabbi ...

  2. [LeetCode] 483. Smallest Good Base 最小的好基数

    For an integer n, we call k>=2 a good base of n, if all digits of n base k are 1. Now given a str ...

  3. 用 cgroups 管理 cpu 资源

    转自:http://xiezhenye.com/2013/10/用-cgroups-管理-cpu-资源.html 这回说说怎样通过 cgroups 来管理 cpu 资源.先说控制进程的 cpu 使用. ...

  4. js 立即调用函数 IIFE(Immediately Invoked Function Expression) 【转】

    原文链接:https://www.cnblogs.com/ming-os9/p/8891300.html JS中 (function(){...})()立即执行函数   1 (function(){. ...

  5. Docker使用compose(原Fig)快速编配

    Docker使用compose(原Fig)快速编配 目录 安装 应用 构建以及运行 安装 在Linux上安装Fig: 在OS上安装: 在Linux上安装Fig: sudo bash-c "c ...

  6. python多条插入问题

    多条插入用excutemany(listtuple) #coding=utf-8 import MySQLdb import traceback sqlstr= "insert into t ...

  7. 【模板】KD-tree

    核心思想: 将空间内的点进行合理划分,以支持有关高维点的操作. 其实就是将线段树搬到了二维及更高维度上. 注意$KD-tree$虽然很像线段树,但其实是一棵二叉搜索树,空间复杂度是$O(n)$的. 查 ...

  8. 【spring boot】【redis】spring boot 集成redis的发布订阅机制

    一.简单介绍 1.redis的发布订阅功能,很简单. 消息发布者和消息订阅者互相不认得,也不关心对方有谁. 消息发布者,将消息发送给频道(channel). 然后是由 频道(channel)将消息发送 ...

  9. Java-Iterator遍历集合

    import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Ite ...

  10. sql查询当前数据库的所有表名

    SELECT sys.tables.name as TableName from sys.tables