3 嵌入藍牙協(xié)議棧的SoC 結構設計
根據(jù)上述藍牙協(xié)議棧硬件結構可以看出,如果使用SoC 結構設計藍牙協(xié)議棧,則可以實現(xiàn)嵌入藍牙通信模塊,同時向用戶開放內(nèi)部CPU 的目的。在設計嵌入藍牙協(xié)議的SoC 結構時,需要考慮如下問題。
數(shù)據(jù)處理能力與速度。數(shù)據(jù)處理能力主要體現(xiàn)在兩個方面:一個是數(shù)據(jù)緩沖存儲器的規(guī)模,另一個是對數(shù)據(jù)處理算法支持的程度。數(shù)據(jù)處理速度是一個重要的問題。數(shù)據(jù)處理速度不僅與系統(tǒng)時鐘頻率有關,還與CPU 和內(nèi)部總線的結構直接相關。
通信操作與系統(tǒng)運行的關系。在嵌入了藍牙通信棧的SoC 中,通信是系統(tǒng)的一個功能,SoC 還需要實現(xiàn)系統(tǒng)的其它功能。由于CPU 串行結構的特點,當系統(tǒng)需要同時啟用通信功能和其它重要功能時( 例如實施系統(tǒng)的數(shù)據(jù)采集操作等) ,就需要使用適當?shù)姆椒ㄟM行協(xié)調(diào)。實際上這也就是嵌入式藍牙SoC 器件的系統(tǒng)實時性問題。
器件的功率損耗。功率損耗是SoC 設計中的一個重要問題。除了采用相應的技術實現(xiàn)最低功率損耗問題外,還必須通過系統(tǒng)結構設計降低系統(tǒng)的功率損耗。對于對功率損耗有特殊要求的系統(tǒng),低功耗設計更是必不可少的內(nèi)容。
由上述三個要求可知,在嵌入式藍牙SoC 中,如果數(shù)據(jù)處理量比較大,則需要考慮數(shù)據(jù)處理的速度問題。用戶系統(tǒng)CPU 屬于串行工作方式,因此,在大數(shù)據(jù)量的通信過程中,如何完成系統(tǒng)的其它功能,是SoC 結構設計的一個重要方面。例如,使用藍牙技術傳輸圖像時,其中的通信系統(tǒng)必須保持連續(xù)工作狀態(tài),同時,還需要SoC 中設計大量的Flash 存儲器。由于傳輸圖像必須進行壓縮和解壓縮,所以,在保持通信連續(xù)和圖像的壓縮/ 解壓縮這兩種不同的操作中,就必須進行充分協(xié)調(diào),采用硬件并行處理的技術。這種情況下,CPU 就僅僅是一個操作控制器件,用來啟動或終止某個操作。由此可知,應當針對不同類型的應用場合設計相應的SoC結構。
對于智能傳感器,其基本功能如下。
信號轉(zhuǎn)換。這一部分電路的作用是把相應的物理量轉(zhuǎn)換為電壓信號,然后對其進行放大和濾波處理。處理的結果作為數(shù)據(jù)采集電路的輸入信號。
數(shù)據(jù)采集。數(shù)據(jù)采集電路的功能是把信號轉(zhuǎn)換電路輸出的模擬信號轉(zhuǎn)換為數(shù)字信號( 數(shù)據(jù)序列) ,然后把數(shù)字信號輸出給CPU ,以便進行相應的處理。
數(shù)據(jù)處理。智能傳感器中的數(shù)據(jù)處理功能一般并不統(tǒng)一。一般情況下,需要數(shù)字濾波即可。有些智能傳感器還需要對信號進行其它處理,例如信號幅度的判別、信號特征的提取、顯示處理等??傊鶕?jù)不同的應用領域,數(shù)據(jù)處理的要求不盡相同。
數(shù)據(jù)傳輸。在控制系統(tǒng)中,智能傳感器采集并整理好的數(shù)據(jù),需要傳輸給系統(tǒng)的核心控制器或其它控制單元。由于控制系統(tǒng)的特點,數(shù)據(jù)傳輸一般需要經(jīng)過一段空間距離,因此,需要使用專門的電路和方式實現(xiàn)數(shù)據(jù)傳輸。例如,對數(shù)據(jù)進行編碼處理后,利用電流環(huán)或RS232 等方式傳輸。在現(xiàn)有控制系統(tǒng)中,絕大多數(shù)情況下都采用有線傳輸方式實現(xiàn)傳感器與控制系統(tǒng)的連接。
對于智能傳感器來說,傳輸數(shù)據(jù)量一般并不是很大( 例如壓力、溫度等傳感器) ,因此,滿足智能傳感器需要的嵌入式藍牙SoC 器件中,并不需要很大的存儲容量;但必須考慮藍牙協(xié)議實現(xiàn)所必需的程序存儲空間。
從圖1 可以看出,藍牙協(xié)議棧的處理軟件會占用比較大的存儲器,因此,必須對其進行簡化。同時,為了保證控制系統(tǒng)安全可靠,還需要考慮使用用戶協(xié)議替代藍牙技術所定義的處理協(xié)議。由以上分析可以得出結論:
智能傳感器的數(shù)據(jù)傳輸量比較小,不需要進行壓縮或編碼處理,可以設置在1 K 字節(jié)以下。
為了保證控制系統(tǒng)的安全可靠性,需要把上層處理協(xié)議變?yōu)橛脩魧訁f(xié)議,由用戶自行編寫。
為了設計滿足智能傳感器的嵌入式藍牙SoC 結構,對藍牙協(xié)議棧進行了簡化處理,只使用藍牙協(xié)議中的核心協(xié)議和替代電纜協(xié)議。SoC 中的藍牙協(xié)議棧由軟件和硬件兩部分組成。核心協(xié)議中的基帶協(xié)議由硬件實現(xiàn),而鏈路管理和其它部分則使用軟件實現(xiàn)。所有有關協(xié)議的軟件存放在ROM 中,用戶使用通信棧時可直接調(diào)用。
需要指出的是,通信棧的設計為一個整體,因此調(diào)用時也必須整體調(diào)用。換句話說就是,把通信??闯墒且粋€完整的子程序模塊加以調(diào)用。根據(jù)上述結論,提出一種具有開放使用戶協(xié)議的嵌入式藍牙SoC 模塊結構,如圖3 所示。

圖3 中,RF 收發(fā)器、基帶控制器和藍牙協(xié)議ROM 共同組成藍牙協(xié)議棧。藍牙協(xié)議棧在CPU 的控制下完成通信任務。簡化的嵌入式藍牙協(xié)議棧結構如圖4 所示。其中用戶應用協(xié)議由用戶自行設計,以確保通信的安全性和可靠性。

另外,對藍牙協(xié)議棧中的LMP 進行了相應的簡化。在智能傳感器的應用中,通信鏈路一般比較簡單,因此,LMP 不需要對鏈路進行復雜的處理。本設計中,LMP 的主要功能由軟件完成。當需要使用藍牙通信發(fā)送數(shù)據(jù)或接收數(shù)據(jù)時,用戶程序只需調(diào)用LMP 軟件模塊即可。LMP 協(xié)議由兩部分組成:
?、?軟件。通過CPU 對鏈路進行設置和控制,實現(xiàn)藍牙設備連接、功率控制以及認證和加密,同時還控制藍牙設備控制器電路。
?、?硬件。LMP 控制器電路在LMP 軟件的操作下,控制藍牙設備的工作狀態(tài)(保持hold、休眠park、呼吸sniff 和活動active)。
圖3 中的CPU 通過開放總線模塊向用戶開放,用戶程序保存在用戶程序存儲器中。數(shù)據(jù)存儲器采用Flash存儲電路,用來保存藍牙通信中的發(fā)送和接收數(shù)據(jù);同時,作為傳感器數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)存儲器。數(shù)據(jù)存儲器的使用分配由用戶決定,傳感器的設計者可通過用戶程序?qū)?shù)據(jù)存儲器進行分塊控制使用,通過用戶程序設置相應的發(fā)送或接收數(shù)據(jù)存儲深度和起始地址,以及數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)存儲深度。
圖3 中開放總線模塊提供了一個向用戶開放的總線,使用戶可以充分利用CPU 、存儲器的資源。此外,圖3 中的通用通信接口和測試電路向用戶提供了局部連接和測試輸入輸出通道。
從以上模塊設計的結果可以看出,這種結構的智能傳感器具有完整的藍牙通信功能,同時,為用戶提供了應用處理的靈活性。例如,LMP 中的認證和加密方法與算法完全由用戶自行決定,從而提供了用戶系統(tǒng)的安全性和可靠性。另外,由于通用串行通信接口和測試電路的存在,為用戶系統(tǒng)提供了硬件測試的硬件支持。
根據(jù)圖3和上述分析,可以得到用于智能傳感器的嵌入式藍牙SoC 器件的電路結構,如圖5 所示。通信棧模塊調(diào)用操作流程如圖6 所示。


結語
把藍牙協(xié)議棧嵌入到智能傳感器中,將為控制系統(tǒng)提供十分靈活的組成方式;同時,通過采用相應的安全措施,可以提高系統(tǒng)的安全性和可靠性。本文通過對藍牙協(xié)議棧和智能傳感器工作特征的分析,設計了智能傳感器中嵌入藍牙協(xié)議棧的SoC 結構。為了滿足智能傳感器的應用,嵌入式藍牙SoC 中,CPU、存儲器以及相應的總線和外部電路應向用戶開放。對于用戶而言,只要設計相應的傳感器前置電路,即可形成具有藍牙通信功能的智能傳感器。由于藍牙通信協(xié)議的操作功能已經(jīng)保存在ROM 中,所以用戶只需要調(diào)用相應的軟件程序即可完成藍牙通信。同時,這種SoC 中的藍牙協(xié)議棧中有關認證和加密的部分向用戶開放,具體的認證、加密方法和算法可由用戶自行定義。此外,本文對智能傳感器嵌入式藍牙SoC 中藍牙協(xié)議棧進行了簡化處理。
電子發(fā)燒友App












評論