歡迎您光臨本站 登入註冊首頁

概述

   藍牙技術是一種無線數據與數字通信的開放性規範。它以低成本、近距離無線連接為基礎,為固定與移動設備建立了一種完整的通信方式和技術。藍牙技術的實質是建立通用無線介面及其……

    藍牙技術是一種無線數據與數字通信的開放性規範。它以低成本、近距離無線連接為基礎,為固定與移動設備建立了一種完整的通信方式和技術。藍牙技術的實質是建立通用無線介面及其控制軟體的標準,使移動通信與計算機網路之間能實現無縫連接,由此,為不同廠家生產的攜帶型設備提供了近距離(10m~100m)範圍內的互操作通道。
    在工業控制系統和許多應用領域,隨著電子技術的發展,目前控制器和感測器已經實現了智能化。在一般的感測器或測試儀錶中,大量使用CPU 控制下的數字化技術,因此,許多控制系統或感測器系統已經實現了數字化傳輸。如果在數字化的控制系統和感測器中嵌入藍牙技術,則可以實現系統數據和控制命令的無線傳輸,這對於許多應用領域都是十分重要的。
    本文通過對藍牙協議棧結構的討論,提出一個嵌入式SoC 器件結構。這個嵌入式SoC 器件是一種具有藍牙通信功能的SoC 器件;SoC 中的CPU 對用戶開放,用戶可以使用這種結構的SoC 器件實現智能感測器或控制器單元。

1 藍牙協議棧
    藍牙技術規範1.0 版本作了如下規定。

  1. 藍牙工作在全球通用的2.4GHz ISM(Industrial ,Scientific and Medical)免付費、免申請的無線電頻段。
  2. 採用快速確認和跳頻技術,以確保鏈路的穩定。
  3. 採用二進位調頻(FM)技術的跳頻收發器,抑制干擾和防止衰落。
  4. 採用前向糾錯(FEC)技術,抑制長距離鏈路的隨機雜訊。
  5. 數據傳輸速率為1Mb/s 。
  6. 採用時分雙工傳輸,其基帶協議是電路交換和分組交換的結合。
  7. 一個跳頻頻率發送一個同步分組,每個分組佔用一個時隙,也可擴展到5 個時隙。
  8. 支持一個非同步數據通道,或3 個併發的同步語音通道,或一個同時傳送非同步數據和同步語音的通道。每一個語音通道支持64Kbps 的同步話音。非同步通道支持最大速率為721Kbps 、反嚮應答速率為57.6Kbps 的非對稱連接,或者是432.6bps 的對稱連接。

    目前,工作在2.4GHz 頻段上的無線區域網技術中,除了藍牙技術外,還有IEEE802.11、HomeRF 和紅外技術。總的來說,IEEE802.11 比較適合於辦公室無線網路,HomeRF 適用於家庭中的移動數據、語音設備等與主機之間的通信,而藍牙技術則可以應用於任何允許無線方式替代線纜的場合。
    在實際應用中,藍牙技術的應用一般採用嵌入式技術。在應用系統中嵌入藍牙協議棧,可為系統提供一個透明的無線網路通信層。
    藍牙技術協議棧的設計只有符合藍牙技術規範的要求,才能實現不同廠家產品的無縫對接。藍牙技術規範(specification)包括協議(protocol)和應用規範(profile)兩個部分。完整的藍牙協議棧如圖1 所示。
 
    協議規範中定義了各功能元素的工作方式,提供了藍牙技術實現中功能元素間的橫向體系結構。應用規範則介紹了實現特定應用模型,描述了各層協議間的協同機制,從而提供了技術實現的縱向體系結構。藍牙協議包括核心協議層、替代電纜協議層、電話控制協議層和選用協議層。

  • 核心協議。核心協議包括基帶協議、鏈路管理協議(LMP)、邏輯鏈路控制和適配協議(L2CAP)、服務發現協議(SDP)。
  • 替代電纜協議。替代電纜協議包括串列電路模擬協議( RFCOMM ) ,用於實現數據的轉換。
  • 電話替代協議。本協議包括二元電話控制規範(TCS Binary)與AT- 命令(AT-command)。用於提供音頻通信的處理規範和相應的控制命令。
  • 選用協議。選用協議與用戶的應用有關,包括點到點協議(PPP)、用戶數據報/ 傳輸控制協議/ 互聯網協議(UDP 和TCP/IP)、目標交換協議(OBEX)、無線應用協議(WAP)、無線應用環境(WAE)、vCard 、vCal 、紅外移動通信(IrMC)。選用協議層的具體內容由應用系統根據需要選擇。

    除了以上協議層外,藍牙協議棧中還應包括二個介面:一個是主機控制介面(HCI),用來為基帶控制器、鏈路控制器以及訪問硬體狀態和控制寄存器等提供了命令介面;另一個是與基帶處理部分直接相連的音頻介面,用以傳遞音頻數據。
    在藍牙協議棧中,HCI 以上部分通常用軟體實現,包括邏輯鏈路控制和適配協議L2CAP 、串列模擬RFCOMM 、鏈路管理協議(LMP)、電話替代協議和選用協議;而HCI 以下部分則用硬體實現,包括基帶協議和鏈路管理協議(LMP) ,這部分也叫作藍牙協議體系結構中的底層硬體模塊。

2 藍牙核心協議棧硬體電路結構
    底層模塊是藍牙技術的核心模塊,主要由射頻(RF)單元電路、基帶層(base band)電路和鏈路管理層(LMP,Link Manger Protocol)電路組成。
(1)射頻(RF)單元
    RF 單元電路為藍牙技術提供了通信中的物理層,也叫作藍牙收發器。通過2.4GHz 的微波,實現數據流的過濾和傳輸。藍牙協議提供了有關藍牙收發器的各項技術指標。
(2)基帶層電路
    基帶層提供了基帶數字信號處理硬體,其功能是提供鏈路控制,因此也叫作基帶及鏈路控制層電路。通過基帶層電路,可以建立藍牙通信網路中的物理鏈路,從而形成微微網(piconet)。基帶層中有兩種物理鏈路,一種是面向連接的同步鏈路(SCO) ,另一種是非同步無連接鏈路(ACL) 。此外,基帶層還可為語音和數據分組提供不同水平的前向糾錯(FEC)或循環冗餘度校驗(CRC)處理,並可對數據進行加密。同時,基帶層電路還為不同類型的數據( 包括傳輸信息數據、鏈路管理和控制信息) 提供特定的通道。
(3)鏈路管理層(LMP)電路
    鏈路管理層電路也叫作鏈路管理器電路,功能是提供鏈路管理通信協議。鏈路管理協議用來對鏈路進行設置和控制,並負責建立和撤銷各藍牙設備間的連接、功率控制以及認證和加密,同時還控制藍牙設備的工作狀態(保持hold 、休眠park 、呼吸sniff 和活動active )。鏈路管理層的主要功能由軟體完成,鏈路管理器電路提供運行於藍牙設備的處理器中的軟體。鏈路管理器之間的通信協議稱為鏈路管理協議(LMP) 。
    藍牙技術整體框架以HCI(Host Controller Interface)為界,區分為硬體模塊以及上層軟體協議兩部分。藍牙技術標準中,選擇了USB、UART 或是RS232 作為硬體模塊與主機間的介面。當藍牙模塊以USB、UART或RS232 中的任何一個介面與主機連接時,HCI 介面上層的通信協議由主機負責處理,而HCI 介面下層的通信協議則由模塊內的基帶層晶元與RF 晶元負責。根據藍牙標準,藍牙系統的基本組成包括天線、收發器、基帶控制器。由此可知,在天線、RF 收法器和基帶控制器的支持下,藍牙系統的組成可以十分靈活,即可實現多種不同的實現方案。
    嵌入式藍牙系統是將RF 和基帶部分集成在一塊晶元上,單晶元藍牙硬體模塊結構如圖2 所示。在嵌入式藍牙器件中,硬體結構可分為鏈路管理器、鏈路控制器與RF 模塊3 部分,負責處理LMP 層、基帶層與RF 層的協議。鏈路管理器內包含處理器(CPU)、內存等組件。鏈路管理器與基帶層晶元合稱為鏈路控制器。RF 模塊內含RF 射頻發射組件,與主機相連接的介面位於鏈路控制器上。
    在嵌入式方案中,藍牙協議的上層軟體協議也全部固化在晶元中,晶元通過USB 或UART 介面與應用系統相連接。由於片內嵌入了CPU ,所以,嵌入式藍牙系統實際上是一個智能終端,適合於任何具有CPU 器件的系統。例如,智能感測器中,只要增加一個單晶元藍牙器件,就可以組成一個以藍牙為通信方式的感測器。
 
    由圖2 可知,它由微處理器(CPU) 、無線收發器(RF)、基帶控制器(BB) 、快閃記憶體( Flash 程序存儲器) 、通用非同步收發器UART(Universal Asynchronous Receiver Transmitter)、通用串列介面USB(Universal Serial Bus)及藍牙測試模塊組成。其中藍牙基帶控制器是藍牙硬體模塊的關鍵模塊。其主要功能是在微處理器控制下,實現藍牙基帶部分的所有實時處理功能,包括負責對接收的bit 流進行符號定時提取和恢復;分組頭及凈荷的循環冗餘度校驗(CRC) ,分組頭及凈荷的前向糾錯碼FEC 處理,加密和解密處理等,且能提供從基帶控制器到其它晶元的介面等。CPU一般採用RISC 結構的嵌入式微處理器,如ARM7TDMI微處理器,才能滿足對藍牙核心協議的高速處理和大量數據bit 流的處理。Flash 存儲器用於存放基帶和鏈路管理層中的所有協議軟體。SRAM 作為CPU 的運行空間,在工作時把Flash 中的軟體調入SRAM 中處理。射頻收發器負責接收或發送高頻的通信信號。UART 和USB 介面提供到HCI 的主機控制器介面傳輸層的物理連接,是上層協議與藍牙硬體模塊進行通信的通道。藍牙測試模塊主要提供無線層和基帶層的認證和一致性規範,同時還管理產品的生產和售後的測試,為可選模塊。

3 嵌入藍牙協議棧的SoC 結構設計
    根據上述藍牙協議棧硬體結構可以看出,如果使用SoC 結構設計藍牙協議棧,則可以實現嵌入藍牙通信模塊,同時向用戶開放內部CPU 的目的。在設計嵌入藍牙協議的SoC 結構時,需要考慮如下問題。

  1. 數據處理能力與速度。數據處理能力主要體現在兩個方面:一個是數據緩衝存儲器的規模,另一個是對數據處理演算法支持的程度。數據處理速度是一個重要的問題。數據處理速度不僅與系統時鐘頻率有關,還與CPU 和內部匯流排的結構直接相關。
  2. 通信操作與系統運行的關係。在嵌入了藍牙通信棧的SoC 中,通信是系統的一個功能,SoC 還需要實現系統的其它功能。由於CPU 串列結構的特點,當系統需要同時啟用通信功能和其它重要功能時( 例如實施系統的數據採集操作等) ,就需要使用適當的方法進行協調。實際上這也就是嵌入式藍牙SoC 器件的系統實時性問題。
  3. 器件的功率損耗。功率損耗是SoC 設計中的一個重要問題。除了採用相應的技術實現最低功率損耗問題外,還必須通過系統結構設計降低系統的功率損耗。對於對功率損耗有特殊要求的系統,低功耗設計更是必不可少的內容。

    由上述三個要求可知,在嵌入式藍牙SoC 中,如果數據處理量比較大,則需要考慮數據處理的速度問題。用戶系統CPU 屬於串列工作方式,因此,在大數據量的通信過程中,如何完成系統的其它功能,是SoC 結構設計的一個重要方面。例如,使用藍牙技術傳輸圖像時,其中的通信系統必須保持連續工作狀態,同時,還需要SoC 中設計大量的Flash 存儲器。由於傳輸圖像必須進行壓縮和解壓縮,所以,在保持通信連續和圖像的壓縮/ 解壓縮這兩種不同的操作中,就必須進行充分協調,採用硬體并行處理的技術。這種情況下,CPU 就僅僅是一個操作控制器件,用來啟動或終止某個操作。由此可知,應當針對不同類型的應用場合設計相應的SoC結構。
    對於智能感測器,其基本功能如下。

  1. 信號轉換。這一部分電路的作用是把相應的物理量轉換為電壓信號,然後對其進行放大和濾波處理。處理的結果作為數據採集電路的輸入信號。
  2. 數據採集。數據採集電路的功能是把信號轉換電路輸出的模擬信號轉換為數字信號( 數據序列) ,然後把數字信號輸出給CPU ,以便進行相應的處理。
  3. 數據處理。智能感測器中的數據處理功能一般並不統一。一般情況下,需要數字濾波即可。有些智能感測器還需要對信號進行其它處理,例如信號幅度的判別、信號特徵的提取、顯示處理等。總之,根據不同的應用領域,數據處理的要求不盡相同。
  4. 數據傳輸。在控制系統中,智能感測器採集並整理好的數據,需要傳輸給系統的核心控制器或其它控制單元。由於控制系統的特點,數據傳輸一般需要經過一段空間距離,因此,需要使用專門的電路和方式實現數據傳輸。例如,對數據進行編碼處理后,利用電流環或RS232 等方式傳輸。在現有控制系統中,絕大多數情況下都採用有線傳輸方式實現感測器與控制系統的連接。

    對於智能感測器來說,傳輸數據量一般並不是很大( 例如壓力、溫度等感測器) ,因此,滿足智能感測器需要的嵌入式藍牙SoC 器件中,並不需要很大的存儲容量;但必須考慮藍牙協議實現所必需的程序存儲空間。
    從圖1 可以看出,藍牙協議棧的處理軟體會佔用比較大的存儲器,因此,必須對其進行簡化。同時,為了保證控制系統安全可靠,還需要考慮使用用戶協議替代藍牙技術所定義的處理協議。由以上分析可以得出結論:

  1. 智能感測器的數據傳輸量比較小,不需要進行壓縮或編碼處理,可以設置在1 K 位元組以下。
  2. 為了保證控制系統的安全可靠性,需要把上層處理協議變為用戶層協議,由用戶自行編寫。
  3. 為了設計滿足智能感測器的嵌入式藍牙SoC 結構,對藍牙協議棧進行了簡化處理,只使用藍牙協議中的核心協議和替代電纜協議。SoC 中的藍牙協議棧由軟體和硬體兩部分組成。核心協議中的基帶協議由硬體實現,而鏈路管理和其它部分則使用軟體實現。所有有關協議的軟體存放在ROM 中,用戶使用通信棧時可直接調用。

    需要指出的是,通信棧的設計為一個整體,因此調用時也必須整體調用。換句話說就是,把通信棧看成是一個完整的子程序模塊加以調用。根據上述結論,提出一種具有開放使用戶協議的嵌入式藍牙SoC 模塊結構,如圖3 所示。
 
    圖3 中,RF 收發器、基帶控制器和藍牙協議ROM 共同組成藍牙協議棧。藍牙協議棧在CPU 的控制下完成通信任務。簡化的嵌入式藍牙協議棧結構如圖4 所示。其中用戶應用協議由用戶自行設計,以確保通信的安全性和可靠性。
 
    另外,對藍牙協議棧中的LMP 進行了相應的簡化。在智能感測器的應用中,通信鏈路一般比較簡單,因此,LMP 不需要對鏈路進行複雜的處理。本設計中,LMP 的主要功能由軟體完成。當需要使用藍牙通信發送數據或接收數據時,用戶程序只需調用LMP 軟體模塊即可。LMP 協議由兩部分組成:
① 軟體。通過CPU 對鏈路進行設置和控制,實現藍牙設備連接、功率控制以及認證和加密,同時還控制藍牙設備控制器電路。
② 硬體。LMP 控制器電路在LMP 軟體的操作下,控制藍牙設備的工作狀態(保持hold、休眠park、呼吸sniff 和活動active)。
    圖3 中的CPU 通過開放匯流排模塊向用戶開放,用戶程序保存在用戶程序存儲器中。數據存儲器採用Flash存儲電路,用來保存藍牙通信中的發送和接收數據;同時,作為感測器數據採集系統的數據存儲器。數據存儲器的使用分配由用戶決定,感測器的設計者可通過用戶程序對數據存儲器進行分塊控制使用,通過用戶程序設置相應的發送或接收數據存儲深度和起始地址,以及數據採集系統的數據存儲深度。
    圖3 中開放匯流排模塊提供了一個向用戶開放的匯流排,使用戶可以充分利用CPU 、存儲器的資源。此外,圖3 中的通用通信介面和測試電路向用戶提供了局部連接和測試輸入輸出通道。
    從以上模塊設計的結果可以看出,這種結構的智能感測器具有完整的藍牙通信功能,同時,為用戶提供了應用處理的靈活性。例如,LMP 中的認證和加密方法與演算法完全由用戶自行決定,從而提供了用戶系統的安全性和可靠性。另外,由於通用串列通信介面和測試電路的存在,為用戶系統提供了硬體測試的硬體支持。
    根據圖3和上述分析,可以得到用於智能感測器的嵌入式藍牙SoC 器件的電路結構,如圖5 所示。通信棧模塊調用操作流程如圖6 所示。
 
 

結語
    把藍牙協議棧嵌入到智能感測器中,將為控制系統提供十分靈活的組成方式;同時,通過採用相應的安全措施,可以提高系統的安全性和可靠性。本文通過對藍牙協議棧和智能感測器工作特徵的分析,設計了智能感測器中嵌入藍牙協議棧的SoC 結構。為了滿足智能感測器的應用,嵌入式藍牙SoC 中,CPU、存儲器以及相應的匯流排和外部電路應向用戶開放。對於用戶而言,只要設計相應的感測器前置電路,即可形成具有藍牙通信功能的智能感測器。由於藍牙通信協議的操作功能已經保存在ROM 中,所以用戶只需要調用相應的軟體程序即可完成藍牙通信。同時,這種SoC 中的藍牙協議棧中有關認證和加密的部分向用戶開放,具體的認證、加密方法和演算法可由用戶自行定義。此外,本文對智能感測器嵌入式藍牙SoC 中藍牙協議棧進行了簡化處理。


[admin via 研發互助社區 ] 智能感測器的藍牙協議棧與SoC 結構設計已經有2869次圍觀

http://cocdig.com/docs/show-post-44772.html