HCI接口定義

主機(計算機或單片機)和主機控制器(實際的藍牙芯片組)之間的通信遵循主機控制器接口(HCI),參見?在下面?.HCI定義了命令、事件、異步和同步數(shù)據(jù)包的交換方式。異步數(shù)據(jù)包用于數(shù)據(jù)傳輸,而同步數(shù)據(jù)包用于帶耳機和免提配置文件的語音。

HCI 1

HCI-H2

桌面級計算機包括。筆記本電腦、USB主要用作HCI傳輸層.對于USB藍牙芯片組,幾乎沒有變化:目前市場上的大多數(shù)USB聯(lián)用器都含有一個寬帶公司的bcm20702或一個csr851x芯片組。它也叫H2。
在嵌入式系統(tǒng)上,使用UART連接,雖然USB也可以使用。
對于UART連接,存在不同的傳輸層變體。

HCI-H4

最常見的是官方的”UART運輸”,也稱為H4。它需要通過CTS/RTS線路進行硬件流控制,并假定UART線路上沒有錯誤。

HCI-H5

“三線UART傳輸”,也叫H5,利用滑移協(xié)議來傳輸數(shù)據(jù)包,并可以通過再傳輸來處理數(shù)據(jù)包丟失和錯誤。雖然使用H5實際上是可能的,沒有硬件握手”三線”,我們建議使用一個完整的UART與硬件握手。如果您的設計缺少硬件握手,那么H5是您唯一的選擇。

BcSP

H5的前身。與H5的主要區(qū)別是BCSP使用的是均等。若要使用BCSP與BT棧,您可以使用H5傳輸,并可以調(diào)用?hci_transport_h5_enable_bcsp_mode

eHCILL

最后,德克薩斯的儀器擴展了H4,創(chuàng)建了”Ehcil運輸”層,允許雙方進入睡眠模式而不放松同步。雖然它比H5更容易實現(xiàn),但它僅由鈦芯片組支持,不能處理包丟失或包錯誤。

H4 over SPI

來自對話半導體和emmmarin的芯片允許通過SPI發(fā)送H4格式化的HCI數(shù)據(jù)包。SPI對于主機控制器和主機來說都有更簡單的實現(xiàn)的好處,因為它不需要精確的時鐘。這里是主機,它提供SPI時鐘,而SPI奴隸(主機控制器)只需在時鐘行發(fā)生變化時讀取和更新它的數(shù)據(jù)行即可。EM9304支持一個高達8兆赫的SPI時鐘。然而,需要有一個附加協(xié)議,以便讓主機控制器知道什么時候它擁有HCI包。通常,一個額外的GIPO是用來表示這一點的。

HCI缺陷

不幸的是,hti標準遺漏了一些相關(guān)的細節(jié):
對于基于UART的連接,初始波特率沒有定義,但大多數(shù)藍牙芯片集使用115,200波特。為了更好的吞吐量,需要更高的波特率,但是沒有標準的HCI命令來更改它。取而代之的是,每個供應商都必須提出自己的特定供應商命令集。有時,還有其他步驟,例如。做一個熱重置,是必要的,以激活波特率變化以及。
一些藍牙芯片組沒有一個唯一的Mac地址。開始時,需要設置Mac地址,但沒有標準的HCI命令來設置它。
語音的SCO數(shù)據(jù)可以通過HCI接口傳輸,也可以通過芯片組上的顯式PCM/I2S接口傳輸。大多數(shù)芯片組默認的PCM/I2S接口。若要通過USB或?qū)拵дZ音在免提配置文件中使用,需要將數(shù)據(jù)傳送到主機單片機。更新的藍牙標準定義了一個HCI命令來配置該組織的路由,但是它還沒有在我們已經(jīng)測試過的芯片組中實現(xiàn)。相反,這也是以特定供應商的方式配置的。此外,大多數(shù)供應商允許在運行時通過向芯片集發(fā)送自定義命令來補丁或配置芯片集。顯然,這也是供應商所依賴的。

總結(jié)

HCI的基礎(chǔ)知識了解也是為了更好的完成產(chǎn)品的需求,如想了解更多,可以聯(lián)系飛易通團隊!深圳市飛易通科技有限公司是一家專注于物聯(lián)網(wǎng)無線互聯(lián)的高新技術(shù)企業(yè)。公司擁有核心的軟硬件研發(fā)團隊。經(jīng)過多年的技術(shù)積累和沉淀,飛易通已擁有自主的無線協(xié)議棧及軟件知識產(chǎn)權(quán),在短距離無線通信和組網(wǎng)領(lǐng)域構(gòu)筑了端到端的方案優(yōu)勢。