一種藍牙基帶芯片實(shí)現的系統架構
1.1 打包器
藍牙的功能是發(fā)送和接收數據,打包器是將上層數據按格式組合后通過(guò)物理層(PHY)發(fā)送出去,是核心功能部件。圖2為基本速率包的格式。本文引用地址:http://dyxdggzs.com/article/156632.htm
圖2中接入碼用于同步、DC偏移補償和標識;分組頭包含鏈路控制消息;凈荷是要傳送的內容,為了提高傳送信息的準確性,要經(jīng)過(guò)白化、CRC校驗、FEC編碼等檢錯糾錯過(guò)程,為了保證傳送信息的安全性還要對信息進(jìn)行加密。根據不同情況,包的具體結構是不同的,BR有15種包格式。V2.0引入了新的信息編碼方式,新增加10種包的格式,包的格式也有所差異,但工作原理是類(lèi)似的。低功耗工作模式和BR/EDR工作模式在基帶和物理層可以共用,因此加入低功耗工作模式后打包器的結構會(huì )改變。打包器的工作細節如下:
(1)邏輯控制器根據不同情況控制打包的流程。根據不同的通信需求,數據包的類(lèi)型大體分為:鏈路控制分組、ACL分組、SCO分組,分別傳送控制信息、異步通信數據、同步通信數據。定時(shí)器是邏輯控制器的輔助模塊,控制數據的處理次序及接入碼、分組頭、凈荷各部分數據處理和融合的時(shí)間;EDR分組含有同步序列,FHS分組也含時(shí)鐘信息,因此需要系統時(shí)鐘信息。
(2)包的數據信息來(lái)源有兩個(gè):主機地址、包的類(lèi)型、上次分組接收的狀態(tài)、接收方的微微網(wǎng)內地址等信息從參量寄存器中取得,這些信息主要含在接入碼和包頭中;TX_BUF(發(fā)送緩存器)存儲等待發(fā)送的數據,這些數據來(lái)源于上層部分。
(3)為了防止信息在傳輸過(guò)程中泄露,需要對信息進(jìn)行加密,密鑰產(chǎn)生器生成加密密鑰,凈荷和加密密鑰在相關(guān)器中完成加密操作。
1.2 解包器
解包器的主要工作有:檢驗接收到的數據是否已損壞。把信息從接收到的分組中提取出來(lái)。解包器的工作細節和相關(guān)模塊的協(xié)同工作關(guān)系為:
(1)邏輯控制器控制解碼主體流程;參量寄存器提供相關(guān)工作信息,例如微微網(wǎng)的主機地址以確認信息發(fā)送方為網(wǎng)內成員,鏈路建立階段也需要向參量寄存器寫(xiě)入隨機數、掃描間隔等信息;定時(shí)器控制解碼流程;密鑰產(chǎn)生器提供解密密碼。
(2)解碼器首先檢測接入碼以確認接收信息是否為網(wǎng)內成員發(fā)送,然后進(jìn)行CRC校驗、BCH解碼以檢測分組是否已損壞,其次檢測分組頭信息以判斷分組的狀態(tài)。如果檢測到分組已經(jīng)損壞,將狀態(tài)信息寫(xiě)入狀態(tài)寄存器中,上層管理器和控制器通過(guò)檢查寄存器的信息,決定重傳或放棄分組(主要針對ACL數據傳輸)。分組的信息回饋給邏輯控制器,邏輯控制器根據分組的類(lèi)型確定回復分組的格式以及時(shí)刻,在一定范圍內控制重傳和丟棄分組。
(3)將解碼后的數據信息寫(xiě)入RX_BUF(接收緩存器)中傳給主機,控制信息直接傳給LM,LE,AMP管理器。
1.3 密鑰產(chǎn)生器
密鑰產(chǎn)生器的功能有:為鑒權產(chǎn)生各種密鑰包括初始密鑰、組合密鑰、臨時(shí)密鑰(節點(diǎn)密鑰在新協(xié)議中已被禁用);啟動(dòng)加密配置后,產(chǎn)生加密密鑰和解密密鑰;隨機數產(chǎn)生器。與相關(guān)模塊的關(guān)系為:
(1)邏輯控制器。邏輯控制器的主要事務(wù):?jiǎn)?dòng)鑒權模式后,根據通信雙方的狀況控制密鑰產(chǎn)生器生成不同的鏈路密鑰;確定加密密鑰的長(cháng)度;根據不同的工作模式確定產(chǎn)生加密密鑰的類(lèi)型,BR/EDR模式下密鑰類(lèi)型為SAFER+,SAFER+是基于現有的64位分組密碼的SAFERSK128,僅使用了字節運算,LE模式下密鑰類(lèi)型為AES-128。
(2)ADDR,PIN等數據信息從參量寄存器中取得,生成鏈路密鑰或更換密鑰時(shí)需向參量寄存器寫(xiě)入新的密鑰;定時(shí)器、系統時(shí)鐘控制生成鏈路密鑰的時(shí)序和速率。
(3)在相關(guān)器中完成密鑰和分組數據的加密和解密操作。
1.4 跳頻序列發(fā)生器
跳頻通信是保障藍牙通信安全的重要手段。通過(guò)控制發(fā)送數據所使用的頻率在一個(gè)偽隨機序列中跳變,達到預防信息泄露的效果。其工作相關(guān)部件有:
(1)控制寄存器和邏輯控制器共同控制跳頻序列的模式是23跳還是79跳;頻率改變的速率;以及是否采用自適應性跳頻。在藍牙協(xié)議的不斷演進(jìn)中,對跳頻序列發(fā)生器構造產(chǎn)生較大影響的修改為:協(xié)議V2.0增加了AHS跳頻模式,摒棄了傳輸質(zhì)量不理想的信道;新加入的LE模式規定使用40跳模式,廣播和數據傳送使用不同信道。
(2)參數寄存器提供設備地址;系統時(shí)鐘提供時(shí)鐘信息;定時(shí)器決定頻率跳變的時(shí)刻。
1.5 相關(guān)器
相關(guān)器的主要功能是進(jìn)行相關(guān)操作。在鑒權時(shí)檢驗鏈路密鑰是否正確,在打包解包時(shí)完成密鑰和凈荷數據的加解密操作。相關(guān)的控制信號有:時(shí)鐘信號控制相關(guān)運算的速率;參數寄存器中存有查詢(xún)/掃描間隔,和定時(shí)器一起決定鑒權時(shí)的相關(guān)啟動(dòng)時(shí)刻;邏輯控制器決定加解碼的相關(guān)時(shí)刻。相關(guān)器將相關(guān)后的結果或送往底層發(fā)送出去或進(jìn)行后續處理,并將相關(guān)的結果反饋給邏輯控制器處理或寫(xiě)入狀態(tài)控制器中。
1.6 命令解析器、控制寄存器
命令解析器是基帶和上層管理模塊實(shí)現通信的部件,擔當著(zhù)翻譯器的角色。它將LM,LE,AMP管理器的控制信息解析出來(lái),并將控制信息和參數分別輸入邏輯控制器和控制寄存器??刂萍拇嫫骼锩娲嬗蟹纸M的類(lèi)型,管理器的種類(lèi)等控制信息,它是邏輯控制器工作不可或缺的一部分,也減輕了邏輯控制器的負擔。
1.7 緩存器
基帶和主機或上層管理器交換數據是通過(guò)緩存器實(shí)現的,使數據不會(huì )因為傳送速率的過(guò)快或過(guò)慢而丟失。緩存器共有接收和發(fā)送兩種類(lèi)型,每類(lèi)又各有同步和異步兩種。定時(shí)器和系統時(shí)鐘控制緩存器的切換和數據的移入和移出;緩存器連接的兩端分別是打包解包器和LM/LE /AMP管理器或更上層接口;邏輯控制器控制數據的寫(xiě)入、清空和暫停接收;當緩沖器寫(xiě)滿(mǎn)時(shí),它通過(guò)將狀態(tài)寄存器中相關(guān)標志位置位,通知控制器控制暫停接收或傳送。
1.8 標志狀態(tài)寄存器
標志狀態(tài)寄存器是用來(lái)向上層管理器描述基帶模塊工作狀態(tài)的部件。其主要作用有3個(gè):
(1)標志緩存器的存儲狀態(tài)。管理器在緩存器滿(mǎn)時(shí),發(fā)送消息給信息發(fā)送設備或主機,通知對方減慢發(fā)送速度或通知主機暫緩傳送數據。
(2)在A(yíng)RQ模式下標志傳送數據是否已超時(shí)。管理器將根據情況控制重發(fā)、放棄分組或斷開(kāi)連接。
(3)標志接收到的分組的狀態(tài)。解包器檢測到分組已經(jīng)被污染或損壞,將置位標志寄存器的相關(guān)狀態(tài)位。
評論