[WIFI学院] - 00-02 MAC、PHY、BB、RF 的分层与关系
MAC、PHY、BB、RF 的分层与关系
一、WiFi 芯片内部的基本分层
1.1 从 WiFi Chip 黑盒开始
上一讲中,我们暂时把 WiFi 芯片看成一个整体:
Host
↓
Driver
↓
USB
↓
WiFi Chip
↓
Antenna
现在把 WiFi Chip 这个黑盒打开。
从 WiFi 数据处理的角度,可以先看到几个非常重要的概念:
MAC
PHY
Baseband / BB
RF
发送数据时,可以先粗略建立这样的数据路径:
数字数据
↓
MAC
↓
PHY
↓
Antenna
↓
电磁波
但是,如果从 WiFi 芯片内部的实际信号处理过程观察,PHY 又可以进一步看到:
MAC
↓
数字基带处理(BB)
↓
射频处理(RF)
↓
Antenna
因此,本讲最重要的任务之一,就是弄清楚:
MAC、PHY、BB、RF 分别是什么,以及这些概念为什么不能简单理解成四个完全并列的硬件层。
1.2 为什么 WiFi 芯片需要不同的处理模块
WiFi 芯片面对的数据,在发送过程中会经历非常大的变化。
最开始可能是一帧数字数据:
10110100 01101010 ...
最终却需要变成天线能够发射的高频电信号, 这中间需要解决的问题并不是同一种类型。
例如,有些问题属于通信协议:
这一帧数据发给谁?
这一帧是什么类型?
什么时候可以发送?
是否需要 ACK?
失败以后是否需要重传?
有些问题属于数字通信:
这些 Bit 使用什么方式编码?
使用什么调制方式?
怎样构造 OFDM 信号?
使用多大的带宽?
还有一些问题属于射频:
工作在什么无线频率?
如何产生 2.4 GHz 或 5 GHz 的射频信号?
发射功率是多少?
使用哪条 RF Path?
这些问题性质完全不同。
因此,可以先把整个处理过程粗略分成:
协议处理
↓
数字信号处理
↓
射频处理
↓
天线
对应到 WiFi 中,大致就是:
MAC -> BB -> RF -> Antenna
而从 IEEE 802.11 协议分层的角度,又通常描述为:
MAC -> PHY
这两种描述并不矛盾。
它们只是观察问题的角度不同。
二、MAC、PHY、BB、RF 的基本概念
2.1 MAC:负责 802.11 数据帧与介质访问
MAC 是 Media Access Control, 即 介质访问控制。
这里的“介质”,可以理解成多个无线设备共同使用的无线通信空间。
WiFi 设备不能毫无规则地随意发送数据。
例如,同一个信道上可能同时存在:
AP
手机
电脑
摄像机
其他 WiFi 设备
这些设备共同使用无线介质, 因此需要一套规则决定:
数据以什么格式组织?
这一帧是谁发送的?
这一帧发给谁?
什么时候可以发送?
收到以后是否需要确认?
发送失败以后怎么办?
这些问题主要属于 MAC 层处理的范围。
从数据结构角度看,MAC 处理的核心对象之一就是 802.11 Frame
例如可以先把一个 802.11 Frame 想象成:
+------------+------------+------------+---------+
| 控制信息 | 地址信息 | 其他信息 | Payload |
+------------+------------+------------+---------+
真实的 802.11 Frame 要复杂得多,后面的 IEEE 802.11 阶段会专门学习。
现在只需要知道:
MAC 主要面对的是“帧”和“无线介质访问规则”。
因此以后看到这些概念:
802.11 Frame
MAC Address
ACK
Retry
Sequence
Frame Type
通常都已经开始进入 MAC 世界。
2.2 PHY:负责无线物理层传输
PHY 是 Physical Layer, 即 物理层.
MAC 关心的是:
这一帧是什么、发给谁、什么时候发送。
而 PHY 更关心:
这一串数字信息究竟怎样通过无线信号发送出去。
例如 MAC 最终可能需要发送这样一串 Bit:
1011010010110010...
但是空气中并不存在可以直接传播的“0”和“1”。
因此 PHY 必须找到一种办法:
把数字 Bit 映射到实际可以通过无线信道传播的物理信号上。
PHY 需要处理的问题包括:
调制方式
编码方式
信道带宽
传输速率
空间流
OFDM
以后我们会遇到:
BPSK
QPSK
16-QAM
64-QAM
MCS
20 MHz
40 MHz
80 MHz
1 Spatial Stream
2 Spatial Streams
这些概念主要属于 PHY 世界。
因此可以先用一句话区分 MAC 和 PHY:
MAC:决定“发送什么,以及按照什么规则发送”。
PHY:决定“这些数字信息怎样真正变成无线信号发送”。
2.3 Baseband / BB:数字基带处理
Baseband 通常简称 BB, 即 Baseband 基带, 这是后面阅读 Realtek 驱动时会大量遇到的一个词。
所谓“基带”,可以先理解为:
还没有被搬移到最终无线载波频率上的信息信号。
例如 WiFi 最终可能工作在:
2.4 GHz
5 GHz
但数字信号处理部分并不需要直接用软件去产生一个每秒振荡几十亿次的数字波形。
数字信息首先在基带范围内完成大量处理。
发送方向中,BB 可能涉及:
数据编码
调制映射
OFDM处理
空间流处理
数字滤波
例如:
原始 Bit
↓
编码
↓
调制映射
↓
OFDM处理
↓
数字基带信号
接收时则进行大致相反的工作:
数字基带信号
↓
OFDM相关处理
↓
解调
↓
解码
↓
恢复 Bit
因此可以暂时把 BB 理解为:
PHY 中负责数字信号处理的核心部分。
这里有一个非常重要的概念:
PHY ≠ BB
PHY 是“物理层”这个更大的概念, 而 BB 是实现物理层功能时的一个重要组成部分。
所以不要简单理解成:
MAC -> PHY -> BB
好像 PHY 处理完以后才轮到 BB, 更合适的理解是:
PHY
|
+----+----+
| |
BB RF
其中 BB 主要处理数字基带部分。
2.4 RF:射频处理
RF 是 Radio Frequency, 即 射频.
Baseband 已经产生了包含我们要发送信息的基带信号。
但是这个信号还需要经过 RF 部分,才能形成适合通过天线发射的射频信号。
例如 WiFi 可能工作在:
2.412 GHz
2.437 GHz
5.180 GHz
...
RF 部分负责把基带信号与这些实际无线工作频率连接起来。
发送方向可以粗略理解为:
Baseband Signal
↓
RF
↓
RF Signal
↓
Antenna
RF 部分通常还涉及:
频率变换
信号放大
发射功率
接收放大
RF Path
因此以后看到:
Channel
Frequency
TX Power
RF Path
这些概念通常与 RF 有非常直接的关系, 例如, Channel 36.
最终并不是一个抽象的软件数字, 它需要落实成:
RF 电路工作在对应的实际射频频率附近。
同样, TX Power 最终也需要落实到:
RF 发射链路以多大的功率输出信号。
2.5 Antenna:射频电信号与电磁波之间的接口
RF 产生的是射频电信号, 但无线通信真正传播在空间中的,是电磁波, Antenna 位于两者之间。
发送时:
RF Electrical Signal
↓
Antenna
↓
Electromagnetic Wave
接收时:
Electromagnetic Wave
↓
Antenna
↓
RF Electrical Signal
因此 Antenna 可以从系统层面理解为:
射频电路与自由空间电磁波之间的接口。
到这里,发送链路已经可以初步展开为:
Digital Data
↓
MAC
↓
BB
↓
RF
↓
Antenna
↓
Electromagnetic Wave
三、MAC、PHY、BB、RF 之间的关系
3.1 MAC 与 PHY 的关系
MAC 和 PHY 是 IEEE 802.11 协议体系中的两个重要层次。
可以先建立:
+----------------------+
| MAC |
+----------------------+
↓
+----------------------+
| PHY |
+----------------------+
MAC 面向的是:
Frame
Address
ACK
Retry
Medium Access
...
PHY 面向的是:
Bit
Modulation
Coding
OFDM
Bandwidth
Radio Signal
...
发送时:
MAC -> PHY
MAC 把需要发送的信息交给 PHY,由 PHY 将其转换成实际无线信号。
接收时:
PHY -> MAC
PHY 从无线信号中恢复出数字信息,再交给 MAC 处理。
因此:
MAC关注协议规则和数据帧。
PHY关注物理传输。
3.2 PHY 与 BB、RF 的关系
这是本讲最容易混淆,也是最重要的概念之一。
如果按照协议分层来看:
MAC -> PHY
已经足够。
但是如果开始研究 WiFi 芯片内部实现,我们又会遇到:
BB, RF
原因是:
PHY 是功能和协议层面的概念,而 BB、RF 更接近这些 PHY 功能在芯片中的具体实现划分。
可以粗略表示成:
PHY
|
+-------+-------+
| |
BB RF
| |
数字基带处理 射频处理
发送时,从数据流角度又可以画成:
MAC
↓
PHY
|
+-- BB
↓
RF
↓
Antenna
因此不能把下面这张图机械地理解成四个完全同一级别的协议层:
MAC -> PHY -> BB -> RF
更准确的理解是:
协议分层视角:
MAC -> PHY
而从芯片内部处理链路观察:
MAC -> BB -> RF -> Antenna
其中:
BB + RF
共同参与 PHY 功能的实现。
3.3 BB 与 RF 的关系
BB 和 RF 之间存在一个非常重要的边界:
数字信号处理
↓
BB
↓
----------------
↓
RF
↓
模拟 / 射频信号处理
这是一个概念化的边界。
实际 WiFi 芯片内部还可能包含:
DAC
ADC
Mixer
PLL
Filter
PA
LNA
等大量电路。
现阶段不需要理解这些电路, 只需要建立:
BB -> 产生 / 处理基带信息
RF -> 把这些信息与实际无线射频世界连接起来
发送时:
Digital Baseband
↓
RF
↓
Radio Frequency Signal
接收时:
Radio Frequency Signal
↓
RF
↓
Baseband Signal
因此 BB 与 RF 正好位于 数字通信处理 和 射频通信处理 之间。
3.4 两种不同的观察视角
现在把最容易混淆的问题彻底整理一下。
第一种视角:802.11 协议分层
关注:
无线通信协议分成哪些层?
得到:
MAC -> PHY
这种视角下主要讨论:
MAC负责什么?
PHY负责什么?
第二种视角:WiFi 芯片实现
关注:
WiFi 芯片内部究竟需要哪些类型的硬件完成无线收发?
于是更容易看到:
MAC -> BB -> RF -> Antenna
因此:
MAC / PHY
和:
MAC / BB / RF
实际上是在使用不同的观察维度描述同一个 WiFi 系统。
可以把两种视角组合起来:
WiFi System
+--------------------------------+
| MAC |
+--------------------------------+
↓
+--------------------------------+
| PHY |
| |
| +--------------------+ |
| | BB | |
| +--------------------+ |
| ↓ |
| +--------------------+ |
| | RF | |
| +--------------------+ |
| |
+--------------------------------+
↓
Antenna
这张图是本讲非常重要的一张概念图。
以后看到:
MAC Register
BB Register
RF Register
PHY Configuration
就不会再把这些名称简单理解成四个完全并列的东西。
四、WiFi 发送方向的数据变化
4.1 MAC 阶段:处理准备发送的数据帧
现在沿着 TX 方向完整走一遍。
假设上层已经有一段数据需要通过 WiFi 发送, 在进入真正的无线物理传输之前,需要形成 MAC 能够处理的数据帧。
例如:
Payload
↓
802.11 MAC处理
↓
802.11 Frame
MAC 会关心:
Frame Type
Address
Sequence
ACK策略
Retry策略
介质访问
等信息。
最终 MAC 准备好需要通过 PHY 发送的数据。
因此可以暂时理解为:
Upper Layer Data
↓
MAC
↓
802.11相关数字信息
4.2 BB 阶段:从数字数据到基带信号
MAC 提供的数据仍然是数字信息。
例如:
1011010011010010...
BB 需要把这些 Bit 转换成适合无线传输的数字基带信号。
这个过程会涉及很多通信技术。
例如:
编码
↓
调制映射
↓
OFDM处理
↓
数字基带信号
以后学习 PHY 时,我们会详细研究:
BPSK
QPSK
16-QAM
64-QAM
OFDM
Coding Rate
MCS
现在只需要知道:
BB 的任务不是决定这一帧“发给谁”,而是处理“这些 Bit 应该怎样表示成适合无线传输的信号”。
所以:
MAC
↓
数字数据
↓
BB
↓
数字基带信号
4.3 RF 阶段:从基带信号到射频信号
BB 得到的基带信号仍然不能简单地直接送给天线完成 WiFi 发射。
WiFi 需要工作在规定的射频频段。
例如:
2.4 GHz
5 GHz
因此还需要 RF。
发送方向可以粗略理解为:
Baseband Signal
↓
RF
↓
2.4 GHz / 5 GHz RF Signal
RF 还会涉及:
工作频率
发射功率
RF Path
信号放大
等问题。
所以 Channel 最终会影响 RF 工作在哪个频率。
TX Power 最终会影响 RF 发射链路的输出功率。
4.4 Antenna:从射频电信号到电磁波
RF 输出射频电信号以后,最后进入 Antenna。
RF
↓
Antenna
↓
Electromagnetic Wave
Antenna 将射频电路中的信号与自由空间中的电磁波连接起来。
至此,一帧最开始存在于数字系统中的数据,才真正成为能够在空间中传播的无线信号。
4.5 完整 TX 数据路径
现在可以第一次完整画出 WiFi 芯片内部的 TX 数据路径:
Upper Layer Data
↓
MAC
↓
802.11相关数字信息
↓
BB
↓
Digital Baseband Signal
↓
RF
↓
RF Electrical Signal
↓
Antenna
↓
Electromagnetic Wave
如果使用协议分层视角,则可以简化为:
Data
↓
MAC
↓
PHY
↓
Antenna
而 PHY 内部实际包含大量:
BB Processing
RF Processing
所以两张图描述的是同一件事情,只是抽象层次不同。
五、WiFi 接收方向的数据变化
5.1 Antenna 与 RF:接收无线信号
RX 是 TX 的反方向。
空间中传播的是电磁波:
Electromagnetic Wave
首先由 Antenna 接收:
Electromagnetic Wave
↓
Antenna
↓
RF Electrical Signal
此时得到的仍然是射频信号。
因此下一步进入 RF 接收链路。
5.2 RF 到 BB:从射频回到基带
RF 接收部分需要对接收到的高频无线信号进行处理。
可以粗略理解为:
2.4 GHz / 5 GHz RF Signal
↓
RF
↓
Baseband Signal
也就是把无线射频世界中的信号重新带回基带处理范围。
实际 RF 接收过程会涉及:
放大
滤波
频率变换
等大量模拟和射频电路。
阶段 0 不深入这些内容。
5.3 BB:从基带信号恢复数字信息
得到基带信号以后,BB 开始执行发送过程的大致逆过程。
例如:
Baseband Signal
↓
OFDM相关处理
↓
解调
↓
解码
↓
Digital Bits
发送端原来的:
1011010011010010...
最终就有机会重新被恢复出来。
当然,真实无线环境存在:
噪声
干扰
衰减
多径
所以这个恢复过程远比简单的“反向转换”复杂。
这些问题会在后续 PHY 学习中逐渐展开。
5.4 MAC:得到可以处理的 802.11 数据帧
PHY 恢复数字数据以后,数据重新进入 MAC 世界。
MAC 开始按照 802.11 Frame 的规则解释这些数据。
例如识别:
Frame Type
Address
Sequence
Payload
并进行相应的 MAC 处理。
因此:
PHY / BB
↓
Digital Data
↓
MAC
↓
802.11 Frame Processing
之后数据才可能继续向 Host 和上层软件传递。
5.5 完整 RX 数据路径
完整 RX 可以表示成:
Electromagnetic Wave
↓
Antenna
↓
RF Electrical Signal
↓
RF
↓
Baseband Signal
↓
BB
↓
Digital Bits
↓
MAC
↓
802.11 Frame
↓
Upper Layer
TX 和 RX 因此形成两个相反方向:
TX:
MAC
↓
BB
↓
RF
↓
Antenna
RX:
Antenna
↓
RF
↓
BB
↓
MAC
这两条路径是以后分析 RTL8812EU TX/RX 源码时非常重要的硬件背景。
六、回到 RTL8812EU
6.1 RTL8812EU 中的 MAC、BB、RF
现在把这些抽象概念映射回 RTL8812EU。
RTL8812EU 并不是简单的:
USB数据
↓
Antenna
它内部需要完成完整的 WiFi 数据处理和无线信号处理。
因此可以建立第一版 RTL8812EU 内部模型:
RTL8812EU
+------------------------------------------+
| |
| MAC |
| ↓ |
| BB |
| ↓ |
| RF |
| |
+------------------------------------------+
↓
Antenna
从协议角度则可以表示为:
RTL8812EU
MAC
↓
PHY
↓
Antenna
其中 PHY 的实现包含 BB 和 RF 相关处理。
因此以后阅读 RTL8812EU 驱动源码时,看到:
MAC
PHY
BB
RF
这些名称,就已经能够大概知道它们指向芯片内部哪一类功能。
6.2 MAC、BB、RF 与 Driver 的关系
RTL8812EU 内部虽然存在 MAC、BB、RF,但这些硬件并不是完全不需要 Host 管理。
Driver 需要对 WiFi 芯片进行配置。
例如:
设置 Channel
设置 Bandwidth
设置 TX Power
配置工作模式
初始化 MAC
初始化 BB
初始化 RF
这些操作最终可能涉及不同类型的硬件寄存器。
因此后面阅读 Realtek Driver 时,会频繁看到类似概念:
MAC Register
BB Register
RF Register
它们大致对应:
Driver
|
+----> MAC Configuration
|
+----> BB Configuration
|
+----> RF Configuration
例如:
设置 Channel
从软件角度看可能只是:
channel = 36
但真正让 RTL8812EU 工作到 Channel 36,需要 Driver 配置相关硬件,使 BB/RF 等模块工作在对应状态。
所以 Driver 不只是:
把 Packet 交给 WiFi Chip
它还承担:
初始化硬件
配置硬件
控制硬件
读取硬件状态
等任务。
具体哪些事情由 Driver 做,哪些事情由 Firmware 做,哪些事情由硬件自动完成,是下一讲要解决的问题。
6.3 RTL8812EU 第一版硬件数据通路
现在可以把上一讲中的:
Host
↓
Driver
↓
USB
↓
[ RTL8812EU ]
↓
Antenna
进一步展开。
发送方向:
Host
Application
↓
Linux
↓
RTL8812EU Driver
↓
USB
↓
RTL8812EU
+--------------------------------+
| |
| MAC |
| ↓ |
| BB |
| ↓ |
| RF |
| |
+--------------------------------+
↓
Antenna
↓
Electromagnetic Wave
接收方向:
Electromagnetic Wave
↓
Antenna
↓
RTL8812EU
+--------------------------------+
| |
| RF |
| ↓ |
| BB |
| ↓ |
| MAC |
| |
+--------------------------------+
↓
USB
↓
RTL8812EU Driver
↓
Linux
↓
Application
到这里,我们已经比上一讲多打开了一层黑盒。
上一讲:
Host
↓
Driver
↓
USB
↓
RTL8812EU
↓
Antenna
现在:
Host
↓
Driver
↓
USB
↓
RTL8812EU
|
+-- MAC
| ↓
+-- BB
| ↓
+-- RF
↓
Antenna
但 RTL8812EU 内部仍然还有一个非常重要的角色没有加入这张图:
Firmware
Firmware 与 MAC、BB、RF 是什么关系?
Driver 与 Firmware 是什么关系?
为什么已经有 Driver 了,WiFi 芯片内部还需要 Firmware?
哪些工作由 Driver 完成?
哪些工作由 Firmware 完成?
哪些工作又由 MAC、BB、RF 硬件自动完成?
这些问题将在下一讲继续解决。
七、本讲知识总结
- MAC 主要处理 802.11 数据帧和无线介质访问规则。
- PHY 负责数字信息的无线物理传输。
- BB 是 PHY 中负责数字基带信号处理的重要部分。
- RF 负责基带信号与实际射频信号之间的转换和射频收发。
- MAC/PHY 是协议分层视角,MAC/BB/RF 更接近芯片实现和信号处理视角。
- RTL8812EU 的基本硬件数据路径可以理解为:MAC ↔ BB ↔ RF ↔ Antenna。
八、下一讲
下一讲:
00-03_Host_Driver_Firmware_硬件的分工
将在当前模型中加入 Firmware,研究 Host Driver、Firmware 与 MAC/BB/RF Hardware 之间的分工。
浙公网安备 33010602011771号