新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 可編程邏輯在藍牙HCI橋中的應用

        可編程邏輯在藍牙HCI橋中的應用

        作者:■Xilinx公司高級工程師 Mamoon Hamid 時間:2001-08-08 來源: 收藏

        今年底將會推出藍牙標準的新版本,將提供更高的帶寬和更大的覆蓋范圍,因此可以預計藍牙技術支持的應用范圍會進一步擴展。這也意味著不僅消費電子或計算機外設會采用藍牙進行通信,許多其它的家用和辦公電器,甚至工業(yè)設備也會采用藍牙技術。因此眾多的現有電子設備都需要支持或利用藍牙。

        本文引用地址:http://www.104case.com/article/2829.htm

        藍牙標準定義了需要用戶最小干預的一個設備通信接口。然而目前多數標準藍牙芯片解決方案僅提供了一個UART(通用異步收發(fā)報機)USB主機控制器接口(HCI)。顯然,將現有的電子設備完全重新設計來提供UARTUSB接口有點動作太大了。因此,采用系統上的現有接口作為連接藍牙子系統的橋接接口有重要的意義。

        藍牙標準將實現藍牙接口所需要的功能分成三個如圖1所示的功能模塊。這些功能模塊可直接與藍牙標準中的功能劃分相對應。

        射頻部分實現藍牙設備的寬帶無線接口。典型情況下,射頻單元以多芯片模塊實現,包括一個天線開關、阻抗匹配器、放大器、基于數字鎖相環(huán)路(PLL)的時鐘恢復、調制和解調電路。

        藍牙基帶鏈路控制器功能包括底層的鏈路層功能。基帶功能包括:

        * CVSD語音編碼

        * 頭錯誤校驗(HEC)生成及校驗

        * 前向糾錯(FEC)生成及校驗

        * 循環(huán)冗余校驗碼(CRC)生成及校驗

        * 數據擾碼

        * 有效數據加密和解密

        * 跳頻序列

        鏈路管理模塊實現鏈路管理器協議(LMP),負責處理底層控制方面的功能,包括:

        * 設備間鏈路的建立

        * 生成、交換并檢查加密密鑰

        * 協調基帶分組大小

        * 功率模式及射頻負載因數

        * 一個微微網中設備的連接狀態(tài)

        由于這些功能本身所具有的復雜性,因此需要采用軟件來實現。軟件通常運行在一個嵌入式RISC處理器上。這一軟件方法導致其它功能也可采用處理器實現,同時還包括實現到主機系統接口所需要的固件。

        藍牙標準對主機控制器接口(HCI)的定義如下:

        HCI提供了一個調用和訪問基帶控制器和鏈路控制器,以及硬件狀態(tài)和控制寄存器的命令接口。這一接口提供了一個訪問藍牙基帶功能的統一方法。

        HCI由兩部分組成,實現命令接口的軟件和用來連接藍牙子系統和主機的物理硬件。HCI軟件的目的是使構成接口的硬件對系統高層軟件來說看起來是透明的。

        藍牙軟件結構包括兩種類型的部件。數據相關部件負責數據通過鏈路的傳輸。控制相關部件則負責鏈路的控制和管理。就本文的目的來說,我們將集中討論構成HCI的控制和數據相關的部件。圖2 示出了HCI軟件結構以及與藍牙主機接口硬件的關系。

        主機通過HCI驅動程序提供的一系列命令來控制藍牙網絡接口。除這些命令外,藍牙標準還定義了一級由藍牙網絡接口中的HCI固件產生的事件,用來指示接口的狀態(tài)變化。

        HCI命令和事件與來自無連接和同步連接的數據一起通過HCI傳輸接口硬件進行傳輸。這些數據的復用方式對接口來說是確定的。

        HCI的傳輸層定義了三類數據如何在藍牙網絡接口和藍牙主機間進行傳輸。HCI傳輸層定義了每一類數據如何封裝和通過接口硬件進行復用。藍牙規(guī)范目前定義了三個HCI傳輸層。

        * UART傳輸層

        * RS232傳輸層

        * USB傳輸層

        藍牙特別興趣組(Bluetooth SIG )的白皮書中描述了第四個傳輸層,即PC卡傳輸層。

        除非有足夠的時間和資源,否則很少有人會從最底層來設計一個藍牙網絡接口,HCI實施的戰(zhàn)略通常是基于已經提供的ASSP產品。ASSP可以分成兩大類,一類僅實現了鏈路控制器功能,另一類則同時包括了鏈路控制器和鏈路管理器。這兩類器件的主要區(qū)別是后一類包含了一個嵌入式RISC處理器來實現鏈路管理器和HCI功能。

        要決定采用哪一類器件通常需要針對每種方案進行權衡分析。下面提供了一個實際例子,它展示了可編程邏輯器件(PLD)如何提供可解決HCI接口問題的方案。

        要將藍牙技術以有效的成本集成到系統級設計中要面臨許多挑戰(zhàn),包括:

        * 不斷演化的標準。雖然藍牙核心協議是穩(wěn)定的,但到高層協議和服務(IP業(yè)務)的映射卻仍在不斷演化;

        * 可能存在問題的ASSP。目前應用的大多數ASSP還相對較新,因此會存在一些必須由系統設計人員處理的缺陷;

        * 新出現的產品應用模式。對最初設想的電纜替代應用來說,大多數情況下藍牙技術目前還是太昂貴了。由于這一原因,和其它一些有利可圖的潛在關鍵應用,使許多人考慮將藍牙推向仍在形成期的新興應用領域;

        很明顯,這里所需要的是一個允許系統設計人員快速開發(fā)藍牙解決方案并可以針對不斷變化的環(huán)境做出響應的靈活技術。對采用前述兩類藍牙ASSP的接口設計,PLD可以滿足這一需要。

        選擇同時包括鏈路控制器和鏈路管理器功能的ASSP產品所具有的優(yōu)點是可以從相當完整的解決方案開始。器件包含一個RISC處理器和一個或多個HCI傳輸接口。制造商同時還提供HCI和鏈路管理器固件。采用此類器件,系統級集成僅需要將HCI傳輸接口與主機相連。如果主機系統已經有可用的USBUART端口,那么不需要額外的硬件就可以實現系統集成。

        藍牙子系統的三個部件分別是:

        * 射頻(RF)部分 - 射頻器件

        * 基帶(BB)- 基帶處理器

        * 微控制器(mC)- 微控制器

        然而很多情況下這一方法可能并不適用,可能的原因有:

        * 主機系統可能沒有可用于藍牙子系統的UARTUSB接口;

        *主機系統可能沒有足夠的USBUART端口。當主機僅有有限數量的端口時,或當應用需要大量的端口時就會出現這種情況;

        * 主機系統可以沒有可以支持全速藍牙數據速率的串行端口。為達到最大的系統級性能,藍牙ASSP包含可支持高達1.5Mbps傳輸速率的UART;

        * 標準接口的ASSP可能并不適合藍牙協議處理,因此在藍牙速率下工作時,可能會消耗太多的處理器處理資源。中斷處理開銷可能會大量消耗主機處理資源。

        在上述任何一種情況下,可編程邏輯都可以用來實現所需要的接口硬件。對深度嵌入式應用,這通常是一個USB或UART核心和系統中采用的嵌入式處理器局部總線間的接口。雖然可編程邏輯可以用來實現兩種傳輸接口的任何一種,但簡單的UART傳輸協議是一個成本效率較高的接口方案,同時還具有較好的系統級性能。

        系統級性能會更好的原因源于PLD的主要優(yōu)點,即他們可以快速創(chuàng)建一個針對目標應用的特定的接口解決方案。圖3是帶有DMA和HCI幀傳輸狀態(tài)機邏輯增強的一個UART的框圖。

        通過降低發(fā)送和接收時的中斷服務開銷,這一方法提高了系統級性能。在傳統UART情況下每接收或發(fā)送一個數據都產生一個中斷。與此不同,這一設計中采用了片上FIFO來進行接收和發(fā)送緩沖,每發(fā)送或接收一個完整的HCI幀才產生一次中斷。這是通過采用專用邏輯電路對HCI頭中的幀大小信息進行解碼并適當配置DMA邏輯來實現的。可編程邏輯實現的專用邏輯還通過檢查來保證幀級同步。

        雖然采用僅包含鏈路控制器的ASSP需要更多的工作才能創(chuàng)造出一個完整的解決方案,但他們也為在深度嵌入式系統實現更緊密的集成和降低系統成本提供了機會。如果藍牙網絡接口和主機位于同一塊電路板上,那么就沒有必要采用一個HCI傳輸層。這種情況下,用來控制基帶處理和射頻功能的接口以及用來傳輸數據幀的接口都成為直接簡單的主機處理器接口。由于這些接口通常與采用的ASSP相關,因此可編程邏輯提供了一個到主處理器總線或I/O總線(如PCI)接口的低成本方法。請注意,這是可編程邏輯可以用來集成其它核心邏輯功能的又一種情況。

        在這種方案中,主機CPU完成所有的協議處理功能。這進一步降低了成本。因為原來專門用于鏈路管理功能的RISC處理器和非易失存儲器在系統中就不需要了。在這一結構中,藍牙軟件協議層簡化成如圖4所示。

        基于可編程邏輯的快速UART至PCI橋解決方案是為舊系統集成業(yè)界標準的藍牙通信功能的理想方法。其中采用FPGA對系統加速最明顯的是FIFO緩沖器。這些FIFO的深度和寬度可以重新配置以適應更快速的數據速率以及更寬的數據字或特殊的字寬度。圖5顯示了一個單通道UART到PCI橋的功能部件。由于用于FPGA的標準接口和存儲控制器IP非常多,因此可以導出許多與此類似的幾乎實現了所有其它核心邏輯功能的設計。由圖5還可看出可以集成更多附加的功能,如SDRAM控制器和定制邏輯。這種靈活性使您可趕在競爭對手前,快速有效地改變您的設計以滿足新興的市場機會。

        可編程邏輯是集成藍牙技術到嵌入式系統中的優(yōu)秀解決方案,因為它提供的幾個優(yōu)勢可以幫助壓縮產品上市的時間。第一,有范圍廣泛的IP可以使用,因此可以快速得到關鍵的設計構建模塊。第二,準現成的可編程解決方案使系統設計人員可比任何其它方法更快地完成一個功能硬件平臺。第三,在軟件還在開發(fā)過程中,就可以方便快速地推出有限數量的設計來進行實際的Beta測試并獲得反饋。

        在集成藍牙技術的過程中,軟件開發(fā)是最大的問題之一。由于可編程邏輯可以更快地完成功能硬件設計,因此具有很大的優(yōu)勢。實際上,這一優(yōu)勢可能比想象的還要大,特別是當你考慮到可編程邏輯所帶來的巨大靈活性時。例如,許多情況下,非常希望能夠重新利用現有的驅動程序和固件。此時,PLD使系統設計人員可以先調整接口邏輯,以使用標準的驅動程序,然后再修改這一邏輯來提高性能。當設計中選擇購買第三方固件時,這一特性更有價值,因為對第三方固件的理解需要時間,而且第三方固件還可能不能非常好地適應目標應用環(huán)境。

        從本質上來說,產品開發(fā)并不是嚴格的科學,因為實際開發(fā)中總是存在錯誤、不兼容性和標準的不斷修改。由于其內在的可重新編程特性,PLD提供了非常有價值的優(yōu)勢,可在任意時間對已安裝系統的硬件進行升級。這使您可以保證現有設計的可用性,并大大降低了過時的器件庫存以及昂貴的現場器件更換所帶來的風險。■



        關鍵詞:

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 东莞市| 阿城市| 泗洪县| 南陵县| 六安市| 乐业县| 杭锦后旗| 百色市| 吉林省| 阳春市| 金沙县| 江达县| 庆阳市| 南和县| 凉山| 麻阳| 福海县| 侯马市| 墨江| 会理县| 揭阳市| 兖州市| 五台县| 富民县| 长垣县| 娱乐| 泸溪县| 海兴县| 巴东县| 吉木萨尔县| 济南市| 蓝田县| 张家川| 云霄县| 潮州市| 云安县| 嘉禾县| 麻栗坡县| 博兴县| 蚌埠市| 长泰县|