有人好奇過藍牙嗎?它究竟是怎么做到 把兩臺不認識的設備連接起來,又是怎么做到 無線跟有線一樣,連接的時候不被其他信號干擾的?
![]()
藍牙既然是無線傳輸,那肯定又是電磁波了,拿經典藍牙舉例,它在電磁光譜中的通信頻段是2.4GHz(頻率范圍是2400 MHz 到 2483.5 MHz),大概是這個位置,所以為了充分利用好這個開放頻段,經典藍牙就把信道分成了79份,每個信道里面只有1MHz的帶寬。
明確了這個前提之后,讓我們看看耳機跟手機是怎么進行連接和溝通的。
在連接之初,耳機和手機需要進行一些簡單的會話,來確定對方是不是自己要連接的設備,所以這些信道里就單獨分出了兩類,“查詢信道”和“頁面信道”,讓它們來完成確認對話的工作。
![]()
首先,耳機會在0、32、64(都是跳頻,一次只發一個信道),這三個信道里發出廣播,表明自己可以被連接,手機監測到之后,在8、40、72里面發出連接請求,其中就包括手機的藍牙版本、設備地址等信息。耳機監測到這個請求之后,就會對這些信息進行判斷,如果符合自己的預期,就會向手機發送確認信息(8、40、72),表示自己準備好進入連接狀態了。
連接狀態主要就是雙方互通信息以及確認的步驟。手機和耳機會通過“身份驗證協議”,確認對方設備的合法性,如果可以就交換密鑰,穩定傳輸鏈路,用來確保接下來的數據傳輸不會被竊聽或篡改,并且這份密鑰,如果手機端不主動取消,就會一直保存,即使藍牙斷開重連。這就解釋了,為什么只需要手動連接一次,之后就可以直接使用了。
那么傳輸鏈道穩定之后,手機就會通過“服務發現協議”了解耳機支持的功能,然后根據“藍牙高級音頻分發協議”建立音頻通道,再根據耳機支持的編解碼器(如SBC、AAC等)來調整音頻傳輸的質量和壓縮方式。
總之,經過這通操作之后,兩臺原本毫無關系的設備,就算連接起來了。
那么為什么在同一個房間內,多臺手機跟多臺耳機的連接不會混淆呢?
因為在之前的密鑰交換中,設備之間就已經確定了對方的ip地址,在使用的時候,數據包是由訪問地址,標頭,有效載荷和CRC校驗組成的,訪問地址用來區分使用的藍牙設備,標頭可以確保數據的可靠性和穩定性,有效載荷就是你要傳輸的信息,CRC校驗是用來檢測這一幀信息是否正確的。
也就是說,數據包只會被固定的設備接收,其他設備即使掃描到了也無法解析,所以會直接無視掉。
可是說了這么多,那些標頭,CRC什么的,究竟是怎么傳輸的呢,也就是說,藍牙的0和1是通過什么來表達的。
先前我們提到藍牙是有專用的信道的,但肯定不是一個信道代表一個數字。因為雖然藍牙在開著的時候,會以每秒1600次的速率進行跳頻,但不是每一次都會工作,它只在有信息傳輸的時候,才會把這些信息分成很多個數據包,然后每次跳躍發送一小串,所以其實是需要在每個信道內都做區分的。
![]()
頻率調制
![]()
相位調制技術
事實上,藍牙是采用“頻率調制”和“相位調制技術”這兩種方式,來區分每個信道的0和1的,頻率是單位時間內波的周期數,頻率越高,波形越密,頻率越低,波形就越稀疏;相位指的是波形的偏移量,簡單來說就是,控制一個周期內波形的開始位置,這是它們的區別。
![]()
區別
然后,調制后的信號會通過載波調制到2.4 GHz的正弦波上,以電磁波的形式通過藍牙發送給另一個設備,從而達到信息傳輸的目的。不清楚載波這一步的,可以跳轉到無線電報那期,有詳細講解。
所以,雖然藍牙的通信頻段是2.4GHz,但實際數據在CPU和藍牙模塊之間的傳輸速率,最高只能達到3 Mbps。
這里是球村冷知識,感謝關注,我們下期再見。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.