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