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