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