liwen01 2025.10.02
前言
WiFi、藍牙都是使用無線電進行數據交互,但是無線電是不可靠的傳輸,它會反射、散射、折射、衍射還會相互干涉。從用户的體驗來看,就是無線信號強度變弱,連接中斷、掉線、音頻卡頓、失真、配對困難、傳輸速率下降等。
為解決無線通信中的各種問題,藍牙模塊在物理層、鏈路層、軟件協議棧上都做了些不同的處理,使不可靠的無線傳輸逐漸地變為可靠的數據傳輸。
(一)無線通信中的不可靠性
無線信號通信中的不可靠性,一部分源自於無線信號衰減、干擾,另一部分源自於無線數據的數據安全。
(1)無線電信號衰減
信號從發射端傳播到接收端過程中,強度逐漸減弱的現象稱為信號衰減,衰減的原因有:
- 自由空間路徑損耗
- 穿透損耗(Penetration Loss)
- 多徑效應(Multipath Fading)
- 噪聲干擾
- 天線方向性與增益
(a)自由空間路徑損耗
路徑損耗是指電磁波從發射天線傳播到接收天線的過程中,信號強度的衰減。
即使在沒有障礙物、沒有反射、沒有散射的理想環境中,信號也會衰減,這種損耗就叫自由空間路徑損耗。
(b)穿透損耗
穿透損耗是指電磁波在穿過某種物體(例如牆壁、窗户、門、地板等)時,由於能量的吸收、反射、散射和折射等作用,導致信號強度降低的現象。
常見的如在擁擠的地鐵上,手機放在口袋中,無線耳機有時就會出現斷斷續續的情況,主要原因是因為無線電穿透人體後信號強度降低了,導致數據接收不穩定。
(c)多徑損耗
在無線電波傳播過程中,信號不僅會沿着直線路徑從發射端傳到接收端,還可能被周圍的物體(如建築物、牆壁、地面等)反射、折射、散射或繞射,形成多個路徑同時到達接收端的現象,這就叫做多徑傳播(Multipath Propagation)。
而由於這些路徑的長度不同、到達時間不同、相位不同,它們在接收端會疊加,有時候會相互增強,有時候卻會相互抵消,產生信號的波動,這種現象造成的信號衰減就稱為 多徑損耗(Multipath Loss)
這也叫電磁波的干涉
(d)噪聲干擾
藍牙標準使用的是2.4 GHz ISM(Industrial, Scientific and Medical)頻段。 這個頻段是與Wi-Fi(2.4GHz)重合的。
除了WiFi,還有微波爐、ZigBee、LoRa、等各種設備都是運行在該頻段,它們間相互干擾,對於藍牙而言,就容易出現上面提到的:連接中斷、掉線、音頻卡頓、失真、配對困難、傳輸速率下降等問題。
(e)天線方向性與增益
方向性描述了天線把能量集中到某個方向的能力。
- 如果一個天線把能量平均地向各個方向輻射,它被稱為全向天線(Omnidirectional)。
- 如果一個天線在某些方向上集中發射/接收,它被稱為定向天線(Directional)。
全向天線:像一個燈泡,360° 輻射,適合覆蓋大範圍但距離較近的區域
定向天線:像手電筒,能量集中在一個方向,適合遠距離通信
天線增益(Antenna Gain)表示天線將電磁能量聚焦到某個方向的能力,用來衡量信號強度的提升程度,通常單位是 dBi(相對於理想全向天線的增益)。
增益越高 → 信號在特定方向上越強 → 能傳播得更遠。
不同國家地區對電磁輻射的要求不一樣,所以也不能簡單粗暴地通過提升增益來提高信號。
(2)無線數據的數據安全
(a)配對與身份驗證安全
主要體現在配對過程易受攻擊
- 藍牙經典配對(Legacy Pairing),尤其是早期版本(如2.0及以前)中使用固定PIN碼(如“0000”或“1234”)進行配對,容易被暴力破解。
- 藍牙低功耗(BLE)配對,雖然引入了Just Works、Passkey Entry、Numeric Comparison、Out-of-Band 等多種配對方法,但其中 Just Works 模式缺乏身份驗證,容易受到中間人攻擊(MITM)。
(b)加密與隱私問題
加密強度不足
- 藍牙使用對稱加密(如E0(經典)、AES-CCM(BLE)),但如果加密密鑰協商過程被劫持或猜解,數據就可能被解密。
- 部分BLE設備根本未啓用加密或加密配置不當。
(C)協議層漏洞
藍牙協議棧實現複雜,容易被發現安全漏洞。例如:
- BlueBorne攻擊:遠程執行代碼漏洞;
- SweynTooth漏洞組:影響BLE協議棧的連接和安全過程;
- BrakTooth攻擊:針對藍牙通信協議棧中的緩衝區管理漏洞。
- 廣播包攻擊:攻擊者可發送惡意廣播包或利用UUID欺騙誘導設備連接錯誤的服務或特徵。
為了解決無線網絡的不可靠問題,藍牙對信號進行了調製處理,在鏈路層將數據進行進一步的封裝,然後再對數據進行加密、白化、FEC編碼等操作,使藍牙無線信號逐漸地變為可靠的數據傳輸方式。
(二)藍牙的調製方式
無線信道(天線發射、接收)只能處理模擬信號,也就是連續變化的波(電磁波)。
調製的本質是把數字數據“轉換”成可以在無線信道中傳輸的波形,比如頻率、相位、幅度的變化。
對無線信號進行調製,是為了能高效、可靠地通過無線信道傳輸數據。
在藍牙設備中,不同工作模式下的調試方式都不一樣。
| 模式 | 調製方式 | 速率 | 備註 |
|---|---|---|---|
| BR | GFSK | 1 Mbps | 最基礎的藍牙模式 |
| EDR | π/4-DQPSK, 8DPSK | 2 / 3 Mbps | 提升數據速率的經典藍牙模式 |
| BLE 1M | GFSK | 1 Mbps | BLE 默認模式,低功耗 |
| BLE 2M | GFSK | 2 Mbps | BLE 高速模式 |
| BLE Coded | GFSK + FEC 編碼 | 125/500 kbps | BLE 長距離模式(低速高可靠) |
(1)GFSK(高斯頻移鍵控)調製方式
使用場景:BR、LE 1M/2M PHY
特點:
- 抗干擾能力較好(頻移調製易區分)
- 實現簡單,適合低功耗設備
- 頻譜利用效率中等
使用它的原因:
- 早期藍牙(BR)注重簡單實現與穩定性;
- 低功耗藍牙(LE)強調低功耗與低複雜度,GFSK非常適合;
(2)π/4-DQPSK(π/4-差分四相位鍵控)
使用場景:EDR(2 Mbps)
特點:
- 比GFSK傳輸速率更高
- 相鄰符號差分編碼,便於相位變化檢測
- 對於接收器的相位同步要求較低
使用它的原因:
- 為了在保持較好誤碼率的同時提升傳輸速率,引入相位調製;
- π/4偏移設計避免了相位跨越 180°,提升解調穩定性;
(3) 8DPSK(8相位差分鍵控)
使用場景:EDR(3 Mbps)
特點:
- 使用8種相位,單符號攜帶3 bit信息
- 頻譜效率更高,但誤碼率較高
使用它的原因:
- 為了進一步提高速率;
- 但對噪聲敏感,接收機設計複雜,因此只用於短距離高帶寬應用;
(4)LE Coded (帶前向糾錯的LE編碼)
使用場景:LE Long Range(遠程模式,1M PHY編碼)
調製:GFSK + FEC(前向糾錯)
特點:
- 傳輸速率變慢(125 kbps / 500 kbps)
- 增強抗干擾性和通信距離(最長可達1公里)
使用它的原因:
- 用於低速、遠距離、可靠性高的場景(如IoT、Beacon)
(三)藍牙鏈路層數據包格式
這裏介紹的是藍牙鏈路層的數據包格式,其中BR與EDR鏈路層數據包格式是相似的,但它們與 BLE 在鏈路層的數據包格式卻差異很大
(1)BR 數據包格式
(a)Access Code(接入碼)
所有藍牙數據包的開頭都有一個接入碼。這個碼由主設備分配,是從設備同步和識別主設備的關鍵部分。接收端通過匹配 Access Code 來判斷該包是否是發送給自己的。
Access Code 的長度為 72 bit,主要作用是:
- 喚醒接收設備;
- 實現設備識別;
- 提供同步信息(位對齊和時鐘同步)。
(b)Header(包頭)
包頭攜帶的是控制信息,該控制信息控制着鏈路層的邏輯和通信協議流程,並且為了增加可靠性,會進行 3 次重複發送 + 多比特糾錯。
總長度是 54 bit ,是由 18bit 的信息重複 3 次構成。
包含字段有:
- AM_ADDR(Active Member Address):用於標識從設備;
- Type:包類型(如:DM1、DH1 等);
- Flow:流控制位;
- ARQN:確認請求;
- SEQN:順序控制;
- HEC(Header Error Check):校驗頭部。
(c)Payload(負載)
負載中包含實際的數據內容。不同的 BR 包類型支持不同長度的 Payload(如 DM1、DH1、DM3、DH3、DM5、DH5),總的長度範圍是0 ~ 2745 bit
主要結構有:
- Payload Header(有效載荷頭);
- Payload Body(有效載荷體);
- CRC(循環冗餘校驗,為可選)
(d)調製方式
在 BR 數據包中,所有的字段和數據都是使用 GFSK 調製方式。
(2)EDR 數據包格式
EDR 鏈路層數據包中包含了 6 個組成部分,使用了兩種不同的調製模式。
(a)Access Code(接入碼) 與 Header(頭部)
BR 與 EDR 在Access Code(接入碼) 與 Header(頭部) 部分是完全相同的。
它們使用相同的數據結構,以及它們都是採用 GFSK 調製方式。
(b)Guard(保護間隔)
Guard 是 EDR 獨有的部分,因為 EDR 使用兩種調製模式。
EDR 數據部分使用 DPSK(差分相移鍵控)調製,而前面的部分用的是 GFSK(高斯頻移鍵控),中間需要一點間隔時間(guard time)切換調製方式,避免誤碼。
Guard 的作用就是為後續使用不同調制方式的部分做準備,避免調製衝突。
(c)Sync(同步)
Sync(同步)的作用是為了接收端的解調器可以正確解碼 DPSK 信號。
Sync 字段有特定比特圖案,幫助接收端鎖定時鐘與相位,對準 DPSK 調製的起始點。
(d)Enhanced Data Rate Payload(增強速率載荷)
該部分是承載實際數據內容的部分。
它使用 π/4-DQPSK 或 8DPSK 調製技術,以更高的速率(2 Mbps 或 3 Mbps)傳輸數據,相比基本速率的 GFSK 更快。
- π/4-DQPSK:每個符號傳輸 2 比特。
- 8DPSK:每個符號傳輸 3 比特。
(e)Trailer(結尾段)
Trailer 是 EDR 數據包中用於“優雅地收尾”DPSK 調製段的符號填充區,確保收發雙方同步、調製狀態切換順暢,並不承載實際業務數據。
它的具體符號由控制邏輯決定,長度也不是固定的。
(3)BR 與 EDR 數據包格式的區別
| 對比項 | BR | EDR |
|---|---|---|
| 調製方式 | 全程 GFSK | GFSK(前導)+ DPSK(數據) |
| 數據率 | 1 Mbps | 2 Mbps 或 3 Mbps |
| 結構複雜度 | 簡單 | 複雜(多字段用於調製轉換) |
| 新增字段 | 無 | Guard、Sync、Trailer |
| 應用 | 基本數據傳輸、語音 | 高速音頻、更快文件傳輸 |
因為 EDR 對帶寬的要求比較高,所以在一個數據包中,它使用了兩種調製方式。
為了兩種調製方式能更好地同步,所以新增加了Guard、Sync、Trailer 字段。
整體而言,BR 與 EDR 在鏈路層中的數據包格式是相似的。
(4)BLE 數據包格式
這是 藍牙5.0及以上在低功耗通信中引入的一種編碼方式,用於擴展通信距離(Long Range 功能)。
它使用前向糾錯(FEC)和編碼因子 S=2 或 S=8 進行低速率的高可靠通信。
BLE 整個數據包可分為兩個部分:
- FEC Block 1:固定長度、使用 S=8編碼;
- FEC Block 2:可變長度、使用 S=2或S=8編碼,具體由 CI 決定。
(a)Preamble(前導碼)
用於接收端的頻率同步和位同步,固定長度為10bit(1010101010),編碼後為80 µs,它固定使用 S=8 編碼 。
它主要用於無線同步,幫助接收端完成:自動增益控制(AGC)、解調器定時同步、濾波器穩定。
(b)Access Address(接入地址)
長度為 32 bits,編碼後為 256 µs 。 每個連接事件中唯一的 32 bit地址。
同時,也用於標識連接和廣播事件,如果是廣播,通常固定為:0x8E89BED6(廣播包)
(c)CI(Coding Indicator)
長度為 2 bits(編碼後 16 µs)
作用:
- 指示 FEC Block 2 使用的編碼因子 S;
S=2→ 高速傳輸;S=8→ 高可靠傳輸(更適合遠距離或低信噪比)。
(d)TERM1(終止字段1)
長度為 3 bits,編碼後 24 µs
作用是:FEC Block 1 的結尾標記,用於接收端同步恢復。
(e)PDU(Protocol Data Unit)
該部分為鏈路層實際的數據,長度為:1~255 Byte
(f)CRC(循環冗餘校驗)
CRC 是用作鏈路層校驗,長度為 24 bits,編碼後為 24 × S µs
CRC 確保 PDU 數據的完整性。
(g)TERM2(終止字段2)
長度為:3 bits(編碼後為 3 × S µs) 它是FEC Block 2 的結尾標誌
(5)BLE 與 EDR 數據包格式格式的區別
| 項目 | BLE | EDR |
|---|---|---|
| 用途定位 | 低功耗、低速、遠距離通信(如IoT、穿戴設備) | 面向高速數據傳輸(如音頻、文件傳輸) |
| 調製方式 | GFSK + FEC(S=2或S=8) | GFSK(前導段) + π/4-DQPSK or 8DPSK(有效載荷段) |
| FEC | FEC Block 1 和 Block 2 | 不支持FEC,依靠ARQ重傳機制 |
| 同步機制 | 使用 Preamble + Access Address + Coding Indicator + TERM | 使用 Access Code 進行同步 |
| 速率 | 較低,S=8時只有 ~125 kbps,S=2時為 ~500 kbps | 2 Mbps(π/4-DQPSK)或 3 Mbps(8DPSK) |
| 複雜度 | 結構複雜,字段多、時序明確,適配糾錯和冗餘 | 結構較簡單,強調速率優先 |
| 適用場景 | IoT、低功耗傳感器、BLE廣播、遠距離設備通信 | 藍牙耳機、音頻傳輸、大文件傳輸 |
| 控制字段 | 有 CI(Coding Indicator)指示調製編碼 | 無明確調製指示字段 |
| 數據段 | 屬於 FEC Block 2,編碼後傳輸 | 直接使用DPSK調製方式傳輸 |
(四)藍牙數據處理流程
在上面鏈路層數據包格式中,我們看到 BR 與 EDR 的包格式是相似的,它們的數據處理流程也是相似。
它們都有 HEADER 和 PAYLOAD 部分,在數據處理流程中,這兩部分又存在差異。
(1)BR/EDR Header 數據處理流程
Header 從生成到被接受被解析,需要經過下面一個流程:
TX header → HEC generation → whitening → FEC encoding → RF interface(發送)
→ RF interface(接收)→ decoding → de-whitening → HEC checking → RX header
(a)HEC generation(Header Error Check 生成)
在藍牙 BR/EDR 模式中,鏈路層包頭是18 bit(3字節中的前18位),藍牙協議為其添加 8 bit的 HEC 校驗碼,用於 檢測頭部是否在傳輸過程中出現比特錯誤。
HEC generation 的目的:
- 檢測鏈路層包頭的傳輸錯誤
- HEC 只保護 header(18 bit),payload 的錯誤校驗由 CRC24 來完成
- HEC 檢查是早期過濾機制,快速檢測非法包,節省解碼資源
- HEC 校驗失敗時,藍牙設備不會處理該包(例如不會迴應 ACK)
HEC 有專門的生成算法,對於接收方,接到 Header 後按算法校驗即可。
(b) Whitening(數據白化)與 de-whitening
Whitening 是一種數據隨機化處理技術,目的是避免數據中出現長時間的 0 或 1 序列,以改善頻譜分佈、降低誤碼率,提高抗干擾能力。
數據白化的目的:
-
減少長時間不變的比特模式(如 00000 或 11111):
- 長時間重複比特會導致載波頻偏檢測困難,降低接收端靈敏度。
-
改善頻譜平坦性:
- 數據白化使得信號在頻域上能量分佈更均勻,降低干擾和串擾。
-
避免信道的系統性偏差被數據“觸發”:
- 如:調製器某些位模式會引起失真或功率峯值。
Whitening 的工作原理:
發送端:藍牙使用 線性反饋移位寄存器(LFSR) 生成偽隨機序列,並將其與原始數據進行 按位異或(XOR),從而達到擾動的目的。
接收端:只需要使用相同的 LFSR 初始化參數,對接收到的數據再次 XOR,即可恢復原始數據(de-whitening)。
數據經過白化之後,也就不會存在多個連續的 0 或是多個連續的 1 了。
(c)FEC encoding(前向糾錯編碼)
FEC(前向糾錯編碼)是一種在發送數據時添加冗餘信息的技術,以便接收端即使在數據傳輸中出現部分比特錯誤,也可以檢測並糾正錯誤,而不必請求重傳。
在藍牙 BR/EDR 模式中,FEC 主要用於增強鏈路的可靠性,特別是在噪聲大、信號弱的環境下。
在 BR/EDR中, FEC encoding 的使用範圍是:
| 數據部分 | 使用 FEC | 編碼類型 |
|---|---|---|
| Access Code | 是 | 1/3 Rate FEC |
| Header | 是 | 1/3 Rate FEC |
| Payload | 可選 | 1/3 或 2/3 Rate FEC,或不使用 |
藍牙支兩種 FEC 編碼方式:
- 1/3 Rate FEC(重複編碼)
- 2/3 Rate FEC(卷積編碼)
具體編碼細節這裏不做介紹了,對應於接收端,它需要做的是解碼。
(d)RF Interface(射頻接口)
RF Interface(射頻接口) 是藍牙協議棧的物理層(PHY)部分,負責將經過編碼和調製的數據轉換為無線電信號(電磁波)進行無線傳輸,並在接收端完成反向過程。
RF Interface 發送端的主要任務有:
- 接收調製後的比特流
- 載波調製(如 GFSK、π/4-DQPSK、8DPSK)
- 頻率選擇/跳頻控制
- 發射功率控制
- 模擬信號處理(上變頻、放大)
- 通過天線發送 RF 信號
RF Interface 接收端的主要任務有:
- 接收天線接收電磁波
- 低噪聲放大器(LNA)放大接收信號
- 下變頻器(Mixer)將 RF 信號轉換為中頻/基帶
- 濾波器去除帶外干擾
- 模數轉換(ADC)並送入基帶處理模塊
RF Interface 還需要控制發送與接收模式的切換,藍牙 RF 與 與WiFi 一樣,都是半雙工工作模式,不能同時收發數據,它們是時分複用的模式。
(2)BR/EDR Payload 數據處理流程
在 BR/EDR中,包頭與負載數據的處理方式大致是相同的,但也存在差異。
在同一個數據包中,為啥要做兩種不同的數據處理方式呢?這背後的設計邏輯是:
- Header 是整個包的
導航信息,必須保證極高的可靠性,因此強制使用 FEC 和 HEC,即便犧牲帶寬。 - Payload 是實際數據內容,容許根據場景權衡可靠性 vs 吞吐率,因而 FEC 可選、支持加密、帶 CRC、長度靈活。
較大區別的是數據加密和CRC校驗
(1)CRC → E0
先計算 CRC,再進行 E0 加密
加密流程
- 計算 CRC:對原始數據計算 循環冗餘校驗(CRC),並附加到數據末尾。
- 加密(E0 流密碼):使用 E0 流密碼(E0 Cipher) 對整個數據包(包括 CRC)進行加密。
解密流程
- 解密(E0 流密碼):先用 E0 算法解密整個數據包(包括 CRC)。
- 校驗 CRC:解密後再進行 CRC 校驗,以驗證數據是否正確。
優點:
- 保護了 CRC 校驗碼,如果數據被篡改,解密後 CRC 可能不匹配,從而檢測到篡改。
- E0 是流加密,適用於低時延數據傳輸。
缺點:無法抵禦主動篡改攻擊(bit flipping 攻擊)
- 由於 E0 是流密碼(類似於 XOR),攻擊者可能可以篡改加密數據,使得解密後仍然通過 CRC 校驗。
- 舉例:攻擊者可以修改密文中的特定位,使得解密後仍然是一個有效的數據包。
(1)AES-CCM → CRC
先加密數據,再計算 CRC
加密流程
- AES-CCM 加密:使用 AES-CCM(AES 計數器模式 + CBC-MAC)對原始數據進行加密。
- 計算 CRC:對加密後的數據計算 CRC 校驗,並附加到數據末尾。
解密流程
- CRC 校驗:先進行 CRC 校驗,以檢測傳輸過程中是否發生錯誤。
- AES-CCM 解密:對數據進行 AES-CCM 解密,恢復原始數據並驗證 MIC(消息完整性碼)。
優點:更高的安全性、更強的抗篡改能力
- AES-CCM 包含 MIC(消息完整性碼),可以防止數據被篡改。
- 即使攻擊者篡改了加密數據,MIC 校驗會失敗,數據包會被丟棄。- 比 E0 更安全,因為 MIC 機制可抵禦比特翻轉攻擊。
缺點:計算開銷較高
- 需要額外計算 MIC,並進行 AES 計算,相較於 E0 流密碼有更高的計算成本。
- 但 BLE 設備通常是低功耗設備,AES-CCM 經過優化,可在硬件層面高效執行。
(3)BLE Uncoded PHYs 數據處理流程
這裏我們介紹的是BLE PDU(數據負載)部分的數據處理流。
BLE的PDU又因為數據是否使用FEC編碼而區分為:BLE Uncoded PHYs 和 BLE coded PHYs
BLE Uncoded PHYs
BLE 使用的加密,就是上面介紹的AES-CCM → CRC,白化過程也相似,不同的是調製模式和 RF 模塊 ,這部分前面也已有介紹。
數據加密部分,BLE 與 EDR 之間的區別:
| 對比項 | BLE | EDR |
|---|---|---|
| 加密算法 | AES-CCM(128-bit) | E0 stream cipher(40/56/128bie) |
| 密鑰長度 | 固定 128 位(強安全性) | 最長 128 位,早期設備可能是 40 或 56 位 |
| 安全管理協議 | SMP(Security Manager Protocol) | HCI、LMP、Link Manager |
| 加密層級 | 僅加密 鏈路層 Payload | 加密整個 Baseband 層(基本帶幀結構) |
| 加密啓動時機 | 連接建立後,主設備發起加密請求 | 連接建立期間協商密鑰,立即啓用加密 |
| 抗攻擊能力 | 強(AES 標準,使用隨機數生成密鑰) | 中等偏弱(E0 被認為不夠強) |
| 防重放攻擊 | 有(Nonce + Packet Counter) | 無明顯防重放機制 |
| 是否支持認證 | 支持,使用配對和綁定機制 | 支持,使用 PIN 碼等驗證方式 |
AES-CCM 與 E0 加密的區別
| 特性 | AES-CCM | E0 |
|---|---|---|
| 標準 | NIST 標準對稱加密算法 | 藍牙自定義流密碼 |
| 安全性 | 被廣泛認為是安全的 | 已經被研究界攻擊過多次 |
| 用途 | BLE / Zigbee / LoRa 等標準 | 僅用於藍牙 EDR Baseband 層 |
(4)BLE coded PHYs 數據處理流程
BLE coded PHYs 與 BLE Uncoded PHYs 的區別是多加了FEC encoding 和 Pattern mapper 步驟。
(a)FEC encoding
LE Coded PHY 使用的是一種稱為 (3,1) 確定性卷積碼(deterministic convolutional code),也被稱作 Rate 1/3 卷積編碼。
核心特徵:
- 輸入1比特,輸出3比特
- 編碼增大了冗餘,從而提升解碼的魯棒性
- 多出的比特可以被接收方用於糾錯
(b)Pattern Mapper
Pattern Mapper 的目的是將 FEC 輸出的比特流映射為更長的符號序列(spreading pattern)以增強信號可靠性。
- 它增加了冗餘度,
- 提高了在遠距離和低信噪比情況下的解碼成功率。
Pattern Mapping 的規則:
- 每一個比特都被映射為一個預定義的symbol pattern。
這些符號不是新的信息位,而是用來佔據無線信道,提高解碼器從噪聲中恢復原始比特的能力。
具體 Pattern Mapping 表:
藍牙規範定義了一個固定的映射表:
| FEC 比特 | S=2 映射符號模式(2bit) | S=8 映射符號模式(8bit) |
|---|---|---|
| 0 | 01 |
00001111 |
| 1 | 10 |
11110000 |
對於 S=2:
0➜011➜10
對於 S=8:
0➜000011111➜11110000
結尾
藍牙模塊為了使不可靠的無線信號變為可靠的無線數據通信,在數據包、數據處理流程、信道、協議棧等等方面都做了很多處理。
這裏主要介紹了藍牙信號的干擾,鏈路層各模式下的數據包組成、數據處理流程,下一章我們將介紹藍牙的傳輸層 HCI 。