两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

無線收發(fā)器的接口協(xié)議和api的制作方法

文檔序號:6479036閱讀:410來源:國知局
專利名稱:無線收發(fā)器的接口協(xié)議和api的制作方法
技術(shù)領(lǐng)域
目前所公開的主題涉及計算與電子領(lǐng)域,且更具體地涉及諸如娛樂控制臺的領(lǐng) 域,盡管這些僅是示例性和非限制性的領(lǐng)域。
背景技術(shù)
視頻游戲和娛樂系統(tǒng)越來越多地結(jié)合無線特征和附件。無線無線電設(shè)備和必要的 驅(qū)動程序的開發(fā)需要大量的設(shè)計工作。而,控制和管理無線接口所需的命令和協(xié)議是復(fù)雜 的,并且無線系統(tǒng)的軟硬件附件的開發(fā)者需要大量的開發(fā)資源。此外,無線技術(shù)和相關(guān)標準 頻繁改變,需要開發(fā)者適應(yīng)新的接口要求。因而,開發(fā)者在開發(fā)特定無線接口的產(chǎn)品上的投 資在這些接口和協(xié)議頻繁改變時得不到補償。無論如何,使用開發(fā)無線特征和附件的現(xiàn)有標準的接口是有利的。在行業(yè)中廣泛 使用的并且為大量產(chǎn)品所支持的接口標準一般驅(qū)動成本下降,并且結(jié)合這樣的非定制組件 對于減少產(chǎn)品開發(fā)成本是合乎需要的。此外,在無線收發(fā)器的情形中,限制處理器之間通信 所需的IC引腳數(shù)量同時提供足夠的數(shù)據(jù)帶寬一般是合乎需要的。因此,可選擇簡單的串行 接口用于無線架構(gòu)。在本領(lǐng)域普遍使用且周知的、提供這些特征的一個這樣的標準接口是 串行外設(shè)接口(SPI)。SPI接口的一個限制是數(shù)據(jù)傳送限于一次8位。因為許多應(yīng)用需要 較高的命令和數(shù)據(jù)傳送能力,所以需要一種具有串行接口優(yōu)點的較高級協(xié)議。此外,提供一 種開發(fā)者可以使用來利用無線特征而不必關(guān)心接口的物理和傳輸細節(jié)的接口是有利的。發(fā)明概述本文公開了用于提供一種支持為使用串行接口如串行外設(shè)接口(SPI)的視頻游 戲和娛樂系統(tǒng)開發(fā)新的無線附件的平臺的各種系統(tǒng)、方法和計算機可讀指令。在本公開的 一個示例性和非限制性方面,一種智能收發(fā)器設(shè)備可包含無線協(xié)議棧的完整的物理(PHY) 和媒體訪問控制(MAC)層,并且無線協(xié)議功能可被劃分到單個設(shè)備中。在各種實施例中,公開了一種可用于向和從智能收發(fā)器設(shè)備提供控制和數(shù)據(jù)傳送 的協(xié)議。具體地,公開了一種用于協(xié)議、命令和響應(yīng)的示例性格式。在另一實施例中,公開了用于提供一種為開發(fā)者提供一組硬件無關(guān)服務(wù)的接口的 應(yīng)用編程接口(API)。這樣的API可用于向和從系統(tǒng)以及智能收發(fā)器設(shè)備建立、維護和傳輸 數(shù)據(jù)??砂葱柰ㄟ^API來調(diào)用各服務(wù)。具體地,公開了一組示例性和非限制性的服務(wù)、功能 調(diào)用、配置方法、事件和參數(shù)。應(yīng)當注意,提供本概述以便用簡化形式描述在下面的詳細描述中的一些概念。本 概述不旨在標識所要求保護的主題的關(guān)鍵特征或基本特征,也不旨在用于幫助確定所要求 保護的主題的范圍。附圖簡述上面的概述以及下面的詳細描述在結(jié)合附圖閱讀時能得到更好地理解。為了說明 本公開,示出本公開的各方面。然而,本公開不限于所示的這些特定方面。包括下列附圖

圖1示出本文所述主題的示例性控制臺;圖2示出本文所述主題的示例性計算環(huán)境;
圖3示出本文所述主題的示例性連網(wǎng)環(huán)境;圖4示出使用一種本文公開的協(xié)議的實施例的示例性數(shù)據(jù)傳送;圖5示出使用一種本文公開的協(xié)議的實施例的示例性數(shù)據(jù)傳送;圖6示出描繪使用本文公開的協(xié)議的實施例的總線傳送的示例性時序圖;圖7示出描繪使用本文公開的協(xié)議的實施例的總線傳送的示例性時序圖;圖8示出描繪使用本文公開的協(xié)議的實施例的總線傳送的示例性時序圖;圖9示出描繪使用本文公開的協(xié)議的實施例的總線傳送的示例性時序圖;圖10示出描繪使用本文公開的協(xié)議的實施例的總線傳送的示例性時序圖;圖11示出描繪使用本文公開的協(xié)議的實施例的總線傳送的示例性時序圖;圖12提供在本文公開的智能收發(fā)器的實施例中啟動信號收發(fā)和消息收發(fā)的示例 性圖示;圖13示出適于使用本文公開的協(xié)議的實施例的系統(tǒng)的示例;圖14示出使用本文公開的協(xié)議的實施例的使用服務(wù)原語的數(shù)據(jù)通信服務(wù);圖15示出使用本文公開的協(xié)議的實施例的API參數(shù)和配置值;圖16示出本文公開的協(xié)議的實施例的簡化狀態(tài)轉(zhuǎn)移圖;以及圖17示出本文公開的API的實施例的示例結(jié)構(gòu)。示例性實施例的詳細描述示例件游戲控制臺、PC和連網(wǎng)方面本公開的這個章節(jié)提供示例性和非限制性游戲控制臺的各個大體方面?,F(xiàn)在參考 圖1,框圖示出一個示例性多媒體控制臺。多媒體控制臺100具有中央處理單元(CPU) 101, 它具有1級(Li)高速緩存102、2級(L2)高級緩存104、和閃存R0M(只讀存儲器)106。1 級高速緩存102和2級高速緩存104臨時存儲數(shù)據(jù)且因此減少存儲器存取周期的數(shù)量,從 而提高處理速度和吞吐量。閃存ROM 106可存儲在多媒體控制臺100通電時的引導(dǎo)過程的 初始階段期間加載的可執(zhí)行代碼。或者,在初始引導(dǎo)階段期間加載的可執(zhí)行代碼可被存儲 在閃存存儲器設(shè)備(未示出)中。此外,ROM 106可位于與CPU 101分開的地方。圖形處理單元(GPU) 108和視頻編碼器/視頻編解碼器(編碼器/解碼器)114形 成高速和高分辨率圖形處理的視頻處理流水線。數(shù)據(jù)從圖形處理單元108經(jīng)由總線傳送到 視頻編碼器/視頻編解碼器114。視頻處理流水線輸出數(shù)據(jù)至A/V(音頻/視頻)端口 140 用于傳輸?shù)诫娨暬蚱渌@示器。存儲器控制器110連接到GPU 108和CPU 101以便于處理 器對各種類型存儲器112諸如但不限于RAM(隨機存取存儲器)的訪問。多媒體控制臺100包括I/O控制器120、系統(tǒng)管理控制器122、音頻處理單元 123、網(wǎng)絡(luò)接口控制器124、第一 USB主機控制器126、第二 USB主機控制器128、和前面板 I/O組合件130,它們較佳地在模塊118上實現(xiàn)。USB控制器126和128用作外設(shè)控制器 142(1)-142(2)、無線適配器148、和外部存儲器單元146 (例如,閃存存儲器、外部⑶/DVD ROM驅(qū)動器、可移動介質(zhì)、等等)的主機。網(wǎng)絡(luò)接口 124和/或無線適配器148提供對網(wǎng)絡(luò) (例如,因特網(wǎng)、家庭網(wǎng)絡(luò)等)的訪問并且可以是各種各樣的各種有線或無線接口組件中的 任何一種,這包括以太網(wǎng)卡、藍牙模塊、電纜調(diào)制解調(diào)器等等。提供系統(tǒng)存儲器143以存儲在引導(dǎo)過程期間加載的應(yīng)用數(shù)據(jù)。提供介質(zhì)驅(qū)動器 144并且它可包括DVD/CD驅(qū)動器、硬盤驅(qū)動器、或者可移動介質(zhì)驅(qū)動器等等。介質(zhì)驅(qū)動器
5144對于多媒體控制臺100可以是內(nèi)置的或者是外置的??山?jīng)由介質(zhì)驅(qū)動器144訪問應(yīng)用 數(shù)據(jù)以由多媒體控制臺100來執(zhí)行、回放等。介質(zhì)驅(qū)動器144經(jīng)由總線如串行ATA總線或 其它高速連接(例如IEEE 1394)連接到I/O控制器120。系統(tǒng)管理控制器122提供與確保多媒體控制臺100的可用性有關(guān)的各種服務(wù)功 能。根據(jù)上述本公開的各方面,音頻處理單元123和音頻編解碼器132形成具有高保真、 3D、環(huán)繞和立體聲音頻處理的相應(yīng)音頻處理流水線。音頻數(shù)據(jù)經(jīng)由通信鏈路在音頻處理單 元123和音頻編解碼器126之間傳送。音頻處理流水線輸出數(shù)據(jù)到A/V端口 140供外部音 頻播放器或者具有音頻功能的設(shè)備再現(xiàn)。前面板I/O組合件130支持電源按鈕150和彈出按鈕152以及暴露在多媒體控制 臺100的外表面上的任何LED(發(fā)光二極管)或其它指示器的功能。系統(tǒng)電源模塊136向 多媒體控制臺100的各組件供電。風扇138冷卻多媒體控制臺100內(nèi)的電路。CPU 101、GPU 108、存儲器控制器110、和多媒體控制臺100內(nèi)的各種其它組件經(jīng) 由一個或多個總線(包括串行和并行總線、存儲器總線、外設(shè)總線、和使用任何各種總線架 構(gòu)的處理器或局部總線)互連。當多媒體控制臺100通電或重新引導(dǎo)時,應(yīng)用數(shù)據(jù)可從系統(tǒng)存儲器143加載到存 儲器112和/或高速緩存102、104中并且在CPU 101上執(zhí)行。應(yīng)用可呈現(xiàn)圖形用戶界面, 它在導(dǎo)航至多媒體控制臺100上可用的不同媒體類型時提供一致的用戶體驗。在操作中, 應(yīng)用和/或介質(zhì)驅(qū)動器144內(nèi)包含的其它媒體可從介質(zhì)驅(qū)動器144啟動或播放以向多媒體 控制臺100提供附加的功能。多媒體控制臺100可作為獨立的系統(tǒng)通過簡單地將該系統(tǒng)連接至電視或其它顯 示器來操作。在該獨立模式中,多媒體控制臺100可允許一個或多個用戶與系統(tǒng)交互、觀看 電影、收聽音樂等等。然而,在集成了通過網(wǎng)絡(luò)接口 124或無線適配器148產(chǎn)生的寬帶連接 能力之后,多媒體控制臺100還可作為較大網(wǎng)絡(luò)社區(qū)的參加者來操作。在這后一種情形中, 控制臺100例如可經(jīng)由網(wǎng)絡(luò)連接至服務(wù)器。接著,現(xiàn)在轉(zhuǎn)到圖2,所示的是表示適于結(jié)合實現(xiàn)上面公開的主題使用的示例性計 算設(shè)備的框圖。本公開的眾多實施例可在計算機上執(zhí)行。例如,完成用于在游戲控制臺上 提供PC體驗的過程和方法的計算機可執(zhí)行指令可駐留如圖1所示這樣的計算環(huán)境中和/ 或在該環(huán)境中執(zhí)行。計算系統(tǒng)環(huán)境220只是合適計算環(huán)境的一個示例并且不旨在暗示對有 關(guān)當前公開的主題的使用范圍或功能有任何限制。也不應(yīng)當將計算環(huán)境220解釋為對在示 例性操作環(huán)境220中所示的任何一個組件或組件組合有任何依賴性或要求。在一些實施例 中,各種描繪的計算元件可包括被配置為具體化本公開的各特定方面的電路。例如,在本公 開中使用的術(shù)語電路可包括被配置為通過固件或開關(guān)完成(各)功能的專用硬件組件。在 其它示例實施例中,術(shù)語電路可包括通過體現(xiàn)可用于完成功能的邏輯的軟件指令配置的通 用處理單元、存儲器等等。在電路包括軟硬件組合的示例實施例中,實現(xiàn)者可編寫體現(xiàn)邏輯 的源代碼并且可將源代碼編碼成可由通用處理單元處理的機器可讀代碼。由于本領(lǐng)域技 術(shù)人員會了解到本領(lǐng)域的技術(shù)狀態(tài)已經(jīng)發(fā)展到了在硬件、軟件或軟硬件組合之間只存在很 少的差別的階段,因此選擇硬件或軟件來實現(xiàn)特定功能只是留給實現(xiàn)者的一個設(shè)計選擇而 已。更具體地,本領(lǐng)域的技術(shù)人員會了解到軟件過程可被轉(zhuǎn)換成等價的硬件結(jié)構(gòu),并且硬件 結(jié)構(gòu)本身可被轉(zhuǎn)換成等價的軟件過程。因而,選擇硬件實現(xiàn)或軟件實現(xiàn)只是設(shè)計選擇之一
6并將它留給實現(xiàn)者。計算機241 —般包括各種計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是可由計算機 241訪問的任何可用介質(zhì)并且它包括易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)。系 統(tǒng)存儲器222包括易失性和/或非易失性存儲器形式的計算機存儲介質(zhì),如只讀存儲器 (ROM) 223和隨機存取存儲器(RAM) 260?;据斎?輸出系統(tǒng)224 (BIOS) —般存儲在ROM 223中,它包含如在啟動時幫助計算機241內(nèi)元件之間傳送信息的基本例程。RAM 260 —般 包含可由處理單元259立即訪問和/或當前正在操作的數(shù)據(jù)和/或程序模塊。作為示例且 非限制,圖2示出操作系統(tǒng)225、應(yīng)用程序226、其它程序模塊227、和程序數(shù)據(jù)228。計算機241還可包括其它可移動/不可移動、易失性/非易失性計算機存儲介質(zhì)。 僅作為示例,圖2示出讀寫不可移動非易失性磁介質(zhì)的硬盤驅(qū)動器238、讀寫可移動非易失 性磁盤254的磁盤驅(qū)動器239、和讀寫可移動非易失性光盤253如⑶ROM或其它光介質(zhì)的 光盤驅(qū)動器240。可在示例性操作環(huán)境中使用的其它可移動/不可移動、易失性/非易失性 計算機存儲介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài) ROM、等等。硬盤驅(qū)動器238 —般通過不可移動存儲器接口如接口 235連接至系統(tǒng)總線221, 并且磁盤驅(qū)動器239和光盤驅(qū)動器240 —般通過可移動存儲器接口如接口 235連接至系統(tǒng) 總線221。上面討論并且在圖2中示出的這些驅(qū)動器及其相關(guān)聯(lián)的計算機存儲介質(zhì)為計算 機241提供計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。在圖2中,例如,硬盤 驅(qū)動器238被示為存儲操作系統(tǒng)258、應(yīng)用程序257、其它程序模塊256、和程序數(shù)據(jù)255。注 意,這些組件可以與操作系統(tǒng)225、應(yīng)用程序226、其它程序模塊227、以及程序數(shù)據(jù)228相 同或者不同。操作系統(tǒng)258、應(yīng)用程序257、其它程序模塊256、和程序數(shù)據(jù)257在這里給出 不同的標號以說明至少它們是不同的拷貝。用戶可通過輸入設(shè)備如鍵盤251和通常稱為鼠 標、軌跡球或觸摸板的定點設(shè)備252將命令和信息輸入到計算機241中。其它輸入設(shè)備(未 示出)可包括話筒、操縱桿、游戲墊、衛(wèi)星天線、掃描儀、等等。這些和其它輸入設(shè)備常常通 過耦合至系統(tǒng)總線的用戶輸入接口 236連接至處理單元259,但也可通過其它接口和總線 結(jié)構(gòu)如并行端口、游戲端口或者通用串行總線(USB)來連接。監(jiān)視器242或者其它類型的 顯示設(shè)備也可通過接口如視頻接口 232連接至系統(tǒng)總線221。除了監(jiān)視器之外,計算機可包 括其它外設(shè)輸出設(shè)備如揚聲器244和打印機243,它們可通過輸出外設(shè)接口 233來連接。計算機241可在使用至一個或多個遠程計算機如遠程計算機246的邏輯連接的網(wǎng) 絡(luò)化環(huán)境中操作。遠程計算機246可以是個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或 者其它通用網(wǎng)絡(luò)節(jié)點,并且通常包括許多或全部上面相對于計算機241所述的元件,但僅 在圖2中示出存儲器存儲設(shè)備247。圖2所示的邏輯連接包括局域網(wǎng)(LAN) 245和廣域網(wǎng) (WAN) 249,但也可包括其它網(wǎng)絡(luò)。這樣的連網(wǎng)環(huán)境在辦公室、企業(yè)級計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和 因特網(wǎng)中是很常見的。當在LAN連網(wǎng)環(huán)境中使用時,計算機241通過網(wǎng)絡(luò)接口或者適配器237連接至LAN 245。當在WAN連網(wǎng)環(huán)境中使用時,計算機241—般包括調(diào)制解調(diào)器或者用于在WAN 249如 因特網(wǎng)上建立通信的其它裝置。調(diào)制解調(diào)器250可以是內(nèi)置或外置,可通過用戶輸入接口 236或者其它合適機制連接至系統(tǒng)總線221。在網(wǎng)絡(luò)化環(huán)境中,相對于計算機241描繪的程 序模塊或者其部分可存儲在遠程存儲器存儲設(shè)備中。作為示例且非限制,圖2示出駐留在存儲器設(shè)備247上的遠程應(yīng)用程序248。可以了解,所示網(wǎng)絡(luò)連接是示例性的并且可使用在 計算機之間建立通信鏈路的其它裝置。圖3提供示例性網(wǎng)絡(luò)化或分布式計算環(huán)境的示意圖。該環(huán)境包括計算設(shè)備153、 156和157以及對象155和數(shù)據(jù)庫158。這些實體153、155、156、157和158中的每一個可包 括或者利用程序、方法、數(shù)據(jù)存儲、可編程邏輯等等。這些實體153、155、156、157和158可跨 越相同或不同設(shè)備如PDA、音頻/視頻設(shè)備、MP3播放器、智能電話、DVD播放器、有線電視盒 調(diào)諧器的各部分,或者就是具有獲得由服務(wù)器PC提供的遠程內(nèi)容的能力的任何計算設(shè)備。 每一實體153、155、156、157和158可以通過通信網(wǎng)絡(luò)154與其它實體153、155、156、157和 158通信。在這點上,任何實體可負責數(shù)據(jù)庫158或者其它存儲元件的維護與更新。這個網(wǎng)絡(luò)154本身可包括向圖3的系統(tǒng)提供服務(wù)的其它計算實體并且本身表示多 個互聯(lián)的網(wǎng)絡(luò)。根據(jù)當前公開的主題的一方面,每一實體153、155、156、157和158可包含 離散的功能程序模塊,這些模塊可利用API或者其它對象、軟件、固件和/或硬件來請求其 它實體153、155、156、157和158中的一個或多個的服務(wù)。還可了解的是,對象如155可被主存在另一個計算設(shè)備156上。因而,盡管所描述 的物理環(huán)境將連接的設(shè)備示為計算機,但這樣的圖示僅僅是示例性的并且物理環(huán)境可另選 地被描繪或者描述為包括如PDA、電視、MP3播放器之類的各種數(shù)字設(shè)備、如接口、COM對象 之類的軟件對象等。存在支持分布式計算環(huán)境的各種系統(tǒng)、組件、和網(wǎng)絡(luò)配置。例如,計算系統(tǒng)可通過 有線或無線系統(tǒng)由局部網(wǎng)絡(luò)或者大范圍分布的網(wǎng)絡(luò)連接在一起。目前,許多網(wǎng)絡(luò)耦合到因 特網(wǎng),后者提供用于大范圍分布計算的基礎(chǔ)設(shè)施并且包括許多不同網(wǎng)絡(luò)。任何這樣的基礎(chǔ) 設(shè)施,無論是否耦合到因特網(wǎng),都可結(jié)合所提供的系統(tǒng)和方法使用。網(wǎng)絡(luò)基礎(chǔ)設(shè)施允許容納各種網(wǎng)絡(luò)拓撲結(jié)構(gòu)如客戶機/服務(wù)器、對等、或者混合架 構(gòu)?!翱蛻魴C”是一類或一組的成員,它使用與其無關(guān)的另一類或另一組的服務(wù)。在計算中, 客戶機是一個進程,概略地講就是請求另一個程序提供的服務(wù)的一組指令或任務(wù)??蛻魴C 進程利用所請求的服務(wù)而不必“知道”有關(guān)該其它程序或服務(wù)本身的任何工作細節(jié)。在客 戶機/服務(wù)器架構(gòu)特別是網(wǎng)絡(luò)化系統(tǒng)中,客戶機通常是訪問由另一個計算機例如服務(wù)器提 供的共享網(wǎng)絡(luò)資源的計算機。在圖3的示例中,任何實體153、155、156、157和158可以根 據(jù)環(huán)境被視為客戶機、服務(wù)器、或者兩者。而且此外,對于娛樂控制臺,它可以是服務(wù)器的客 戶機。盡管不是必要的,服務(wù)器一般是可通過遠程或本地網(wǎng)絡(luò)如因特網(wǎng)訪問的遠程計算 機系統(tǒng)??蛻魴C進程可在第一計算機系統(tǒng)中是活躍的,而服務(wù)器進程可在第二計算機系統(tǒng) 中是活躍的,彼此通過通信介質(zhì)進行通信,從而提供分布式功能并且允許多個客戶機利用 服務(wù)器的信息收集能力。任何軟件對象可跨多個計算設(shè)備或?qū)ο蠓植肌?蛻魴C和服務(wù)器利用協(xié)議層提供的功能進行相互通信。例如,超文本傳送協(xié)議 (HTTP)是結(jié)合萬維網(wǎng)(WWW)即“Web”使用的常見協(xié)議。通常,計算機網(wǎng)絡(luò)地址如因特網(wǎng)協(xié) 議(IP)地址或其它參考如統(tǒng)一資源定位器(URL)可用于相互標識服務(wù)器或者客戶機計算 機。網(wǎng)絡(luò)地址可以被稱為URL地址??稍谕ㄐ沤橘|(zhì)上提供通信,例如可經(jīng)由TCP/IP連接將 客戶機和服務(wù)器耦合在一起用于高性能通信。按照可根據(jù)圖3提供的一般框架建立的各種計算環(huán)境并且可在如圖3的網(wǎng)絡(luò)環(huán)境
8中計算時發(fā)生的變化,不能將本文提供的系統(tǒng)和方法解釋為以任何方式受限于特定的計算 架構(gòu)或操作系統(tǒng)。相反,目前公開的主題應(yīng)當不限于任何單個實施例,而是應(yīng)當按照所附權(quán) 利要求書的本質(zhì)和范圍來解釋。從而例如,盡管已經(jīng)討論了游戲控制臺和服務(wù)器PC,但是這 就象完全尺寸的臺式機可為智能電話遠程控制以作為訪問數(shù)據(jù)和功能一樣容易,否則智能 電話不能訪問數(shù)據(jù)和功能。最后,還應(yīng)當注意,本文所述的各種技術(shù)可結(jié)合硬件或軟件或者在適當情況下結(jié) 合兩者的組合來實現(xiàn)。因而,目前公開的主題的方法、計算機可讀介質(zhì)和系統(tǒng)或者其某些方 面或部分可以采用包含在有形介質(zhì)如軟盤、⑶-ROM、硬盤驅(qū)動器、或者任何其它機器可讀存 儲介質(zhì)的形式,在當程序代碼被機器如計算機加載到該機器中并且被執(zhí)行時,該機器就變 成了實踐本主題的裝置。在程序代碼在可編程計算機上執(zhí)行的情形中,計算設(shè)備一般可包括處理器、處理 器可讀存儲介質(zhì)(包括易失性和非易失性存儲器和/或存儲元件)、至少一個輸入設(shè)備、和 至少一個輸出設(shè)備??衫帽竟_的領(lǐng)域?qū)S镁幊棠P透鞣矫娴膭?chuàng)建和/或?qū)崿F(xiàn)的一個或 多個程序,例如通過使用數(shù)據(jù)處理API等,較佳地用高級過程或面向?qū)ο蟮木幊陶Z言來實 現(xiàn)以與計算機系統(tǒng)通信。然而如果需要的話,程序可用匯編或機器語言來實現(xiàn)。在任何情 形中,語言可以是編譯或解釋語言,并且可與硬件實現(xiàn)相結(jié)合。SPI協(xié)議和侖令結(jié)構(gòu)本文公開了用于提供支持為視頻游戲和娛樂系統(tǒng)開發(fā)新無線附件的平臺的各種 系統(tǒng)、方法、和計算機可讀指令。為限制支持處理器之間通信所需的IC引腳數(shù)量,可使用簡 單的串行接口。具體地,為提供與盡可能多的非定制CPU部件一起使用并且支持所需的通 信量的通用接口,可實現(xiàn)基于串行外設(shè)接口(SPI)的設(shè)計。SPI是允許在主設(shè)備與從設(shè)備之間串行交換數(shù)據(jù)的接口。SPI —般使用同步協(xié)議, 其中發(fā)送和接收是由主微控制器生成的時鐘信號來指導(dǎo)的。SPI接口允許連接若干SPI設(shè) 備同時主設(shè)備用CS (片選)信號來選擇每一設(shè)備。SPI 一般由四個信號線組成主出從入(M0SI)主入從出(MIS0)串行時鐘(SCLK或SCK)片選(CS)SPI是同步串行數(shù)據(jù)鏈路標準。設(shè)備在其中主設(shè)備啟動數(shù)據(jù)幀的主/從模式中通 信。通過各個片選線來允許多個從設(shè)備。在每一 SPI時鐘周期期間,進行全雙工數(shù)據(jù)傳輸,在其中主設(shè)備在M0SI線上發(fā)送 一個位,從設(shè)備在該線上讀取該位,從設(shè)備在MIS0線上發(fā)送一個位,并且主設(shè)備在該線上 讀取它。傳輸一般涉及兩個給定字大小諸如8位的移位寄存器,一個在主設(shè)備中而一個在 從設(shè)備中。移位寄存器以環(huán)形配置連接。數(shù)據(jù)一般先從最高位移出,而將新的最低位移入 同一寄存器中。在該寄存器已經(jīng)移出后,主設(shè)備和從設(shè)備就交換了寄存器值。隨后可按需 重復(fù)該過程。在本公開的一個示例性且非限制性方面,可提供智能收發(fā)器設(shè)備來支持快速開發(fā) 游戲平臺的新無線附件。在一實施例中,智能收發(fā)器可為物理和鏈路無線通信層提供接收
9器和發(fā)送器功能。具體地,無線協(xié)議棧的物理和鏈路層以及用于這樣的設(shè)備的無線協(xié)議功 能可在無線專用集成電路(ASIC)中實現(xiàn)。在一個實施例中,智能收發(fā)器可以是從設(shè)備而主 控制應(yīng)用可以是SPI總線的主設(shè)備。在一實施例中,可使用具有準予每一無線附件無線電時間的時分多址(TDMA)的 頻跳數(shù)字無線電協(xié)議來提供無線通信??墒褂迷谌澜鐭o許可證的2. 4GHz工業(yè)科學醫(yī)學 (ISM)無線電頻段??尚枰钌倭康耐獠拷M件來實現(xiàn)符合世界規(guī)定的要求的完全跳頻擴頻 (FHSS) 2. 4GHz ISM頻段數(shù)字無線電收發(fā)器。標準SPI接口的缺點是數(shù)據(jù)傳送限于一次8位。因為許多應(yīng)用要求較高的命令和 數(shù)據(jù)傳送能力,所以需要仍保持串行接口的優(yōu)點的較高級協(xié)議。在各種實施例中,在考慮 SPI總線上全雙工數(shù)據(jù)傳送的高效控制/數(shù)據(jù)傳輸方法時,公開了一種基于幀的SPI協(xié)議, 它可用于向和從智能收發(fā)器設(shè)備提供控制和數(shù)據(jù)傳送。具體地,公開了用于該協(xié)議、命令和 響應(yīng)的示例性格式。在一實施例中,每一幀可由2字節(jié)頭部和可變有效載荷長度組成。頭 部可包括2個部分——命令字節(jié)和長度字節(jié)。有效載荷的長度可取決于特定命令,并且最 長的分組可定義傳送的長度。圖4提供了典型數(shù)據(jù)傳送的示例性圖示。因為所公開的協(xié)議包括全雙工接口,如果一個設(shè)備沒有信息要傳送,則該設(shè)備可 發(fā)送一個空閑命令。所公開的協(xié)議可維護主/從結(jié)構(gòu),其中主控制應(yīng)用一般控制所有事務(wù), 并且主控制應(yīng)用每當它具有準備好發(fā)送的消息時就傳送數(shù)據(jù)。智能收發(fā)器可用作從設(shè)備并 且可返回指示該請求的結(jié)果、對命令的順從、或者來自先前請求的事件的發(fā)生的指示的回 答。智能收發(fā)器還可生成至主控制應(yīng)用的中斷,它指示消息已經(jīng)準備好供主設(shè)備讀取。所公開的協(xié)議還可包括下列應(yīng)用于幀事務(wù)的規(guī)則。首先,片選處于活躍狀態(tài)。其 次,在鏈路的兩端總是先發(fā)送頭部。如果一端沒有有效消息要發(fā)送,則命令域可置為0x00。 第三,可使用最長幀(主至從或者從至主)來定義傳送的長度。第四,如果一方具有多于一 個分組要發(fā)送,則可在同一幀中將獨立的消息追加在一起。在下表中所示的情形都是示例性的有效傳送。
情形 編號主從數(shù)據(jù)無數(shù)據(jù)數(shù)據(jù)無數(shù)據(jù)1XX2X1)X3XX4XX5X2)X2)6X2)X1)7X3)X2)1)單一命令2)多個數(shù)據(jù)3)啞命令圖5-11示出描繪在該表中略述的場景的總線傳送的示例性時序圖。圖5描繪主
10設(shè)備有數(shù)據(jù)要發(fā)送而從設(shè)備有命令要發(fā)送但沒有數(shù)據(jù)。圖6描繪主設(shè)備有命令要發(fā)送但沒 有數(shù)據(jù)而從設(shè)備沒有數(shù)據(jù)。圖7描繪主設(shè)備有數(shù)據(jù)要發(fā)送且從設(shè)備有數(shù)據(jù)要發(fā)送。圖8描 繪主設(shè)備有命令要發(fā)送但沒有數(shù)據(jù)而從設(shè)備有數(shù)據(jù)。圖9描繪主設(shè)備有多個數(shù)據(jù)分組且從 設(shè)備有多個數(shù)據(jù)分組。圖10描繪主設(shè)備有多個數(shù)據(jù)分組而從設(shè)備有單個數(shù)據(jù)分組要發(fā)送。 最后,圖11描繪主設(shè)備沒有數(shù)據(jù)要發(fā)送而從設(shè)備設(shè)備有多個數(shù)據(jù)分組。在幀頭部之后不需要保護時間。CSIHS到高的轉(zhuǎn)變可用于幀同步。為支持SPI多 個從應(yīng)用,可在完成數(shù)據(jù)傳送之后將MIS0焊點設(shè)置為三態(tài)(由CS#觸發(fā))。在發(fā)送了由長 度字節(jié)定義的數(shù)量的數(shù)據(jù)字節(jié)之后,數(shù)據(jù)字節(jié)可被置為“隨意”。在一個實施例中,可在啟動時選擇智能收發(fā)器功能。智能收發(fā)器的功能可根據(jù)所 需的應(yīng)用而不同。功能還可取決于在其中使用智能收發(fā)器的產(chǎn)品類型。例如,如果IC在只 有語音的設(shè)備中使用,則該IC可與產(chǎn)品為游戲控制器設(shè)備時不同地操作。SPI命令結(jié)構(gòu)可 根據(jù)為其配置智能收發(fā)器的應(yīng)用的類型而改變??蓪⒅悄苁瞻l(fā)器設(shè)備設(shè)計為同時支持至多4個數(shù)據(jù)和語音附件或者4個只有數(shù)據(jù) 和4個只有語音的附件,或者其間的任何組合。智能收發(fā)器當在無線附件中實現(xiàn)時可與無 線視頻游戲控制臺或者啟用無線的個人計算機或者配備了相似的智能收發(fā)器的其它計算 設(shè)備通信。智能收發(fā)器是可用于支持各種產(chǎn)品配置的平臺??烧{(diào)整智能收發(fā)器內(nèi)的固件以支 持各種產(chǎn)品版本而不改變芯片硬件。在視頻游戲系統(tǒng)中,智能收發(fā)器可用于支持視頻控制 臺產(chǎn)品、游戲控制器產(chǎn)品、和各種外設(shè)產(chǎn)品。圖12提供在智能收發(fā)器的實施例中的啟動信號收發(fā)和消息收發(fā)的示例性圖示。 參考該附圖,智能收發(fā)器發(fā)送收發(fā)器啟動消息610。主控制應(yīng)用隨后可發(fā)送啟動配置消息至 智能收發(fā)器615。啟動配置消息可向智能收發(fā)器提供有關(guān)大體設(shè)置的信息,包括正在使用的 SPI協(xié)議、所需的輸出時鐘、主控制應(yīng)用使用的EEPR0M存儲的類型和EEPR0M的長度。智能收發(fā)器可用啟動配置響應(yīng)來應(yīng)答620。主控制應(yīng)用可發(fā)送命令以在EEPR0M數(shù) 據(jù)中檢索應(yīng)用配置625。如果已發(fā)送,則主控制應(yīng)用可發(fā)送這些命令并且等待來自智能收發(fā) 器的響應(yīng)630。主控制應(yīng)用可發(fā)送應(yīng)用配置命令635。應(yīng)用配置命令可將智能收發(fā)器芯片設(shè)置成 主控制應(yīng)用需要的模式中。智能收發(fā)器可用應(yīng)用配置響應(yīng)來應(yīng)答640。主控制應(yīng)用可發(fā)送該命令以將該應(yīng)用設(shè)置為活躍645。智能收發(fā)器隨后可用“應(yīng) 用活躍”的當前模式來應(yīng)答650。在配置待機狀態(tài)中,主控制應(yīng)用可允許有限的SPI命令。智能收發(fā)器一般沒有足 夠的信息以在該時刻執(zhí)行任何功能并且需要主控制應(yīng)用提供更多的數(shù)據(jù)。一般在該狀態(tài)中 所允許的命令只有模式控制(即,通電、復(fù)位)和啟動配置消息收發(fā)。在主控制應(yīng)用發(fā)送有效啟動配置消息之后可進入預(yù)應(yīng)用狀態(tài)。該狀態(tài)可允許更多 的SPI命令但數(shù)量受到限制,因為該應(yīng)用尚未被建立。所允許的命令的主要功能一般是配 置讀、配置設(shè)置和模式控制。智能收發(fā)器可保持在該狀態(tài)中直至主控制應(yīng)用將它改變成另 一個狀態(tài)。在主控制應(yīng)用設(shè)置應(yīng)用配置之后可進入應(yīng)用待機狀態(tài)。應(yīng)用一般直至主控制應(yīng)用 將狀態(tài)設(shè)置為活躍之后才開始。
可在主控制應(yīng)用將模式設(shè)置為活躍之后從應(yīng)用待機狀態(tài)進入應(yīng)用活躍狀態(tài)。應(yīng)用 活躍狀態(tài)一般是設(shè)備的正常操作模式。主控制應(yīng)用可繼續(xù)發(fā)出應(yīng)用所允許的命令。下面是支持智能收發(fā)器功能的消息的示例性列表。在兩個組中描繪這些命令。第 一組是應(yīng)用無關(guān)命令。第二組描繪了示例性的應(yīng)用專用命令。通常,命令組可以是更完整 的命令組的子集。下面的表列出示例性應(yīng)用無關(guān)命令。在附錄A中提供命令細節(jié)(特定的格式和域 含義)。
主控制應(yīng)用至智能收發(fā)器智能收發(fā)器至主控制應(yīng)用命令#描述命令#描述0x00沒有命令或響應(yīng)正在被發(fā) 送0x01消息失敗0x02模式控制0x03模式控制響應(yīng)0x05緩沖區(qū)警告0x07緩沖區(qū)警告清除0x38語音同步設(shè)置請求0x39語音同步設(shè)置響應(yīng)0x3B語音同步消息0x3E設(shè)置語音編碼類型0x3F語音編碼類型響應(yīng)0x44EEPROM讀請求0x45EEPROM讀坰應(yīng)0x46EEPROM寫請求0x47EEPROM寫響應(yīng)0x80啟動配置消息0x81啟動配置響應(yīng)0x82智能收發(fā)器啟動消息請求0x83智能收發(fā)器啟動消息
0χΒ8無線幀同步設(shè)置0xB9無線幀同步設(shè)置響應(yīng)OxBB無線幀同步OxCOGPIO設(shè)置OxClGPIO設(shè)置響應(yīng)/狀態(tài)0xC2GPIO讀/寫消息0xC3GPIO狀態(tài)/響應(yīng)消息應(yīng)用無關(guān)消息游戲手柄應(yīng)用可使用關(guān)聯(lián)于游戲手柄操作的無線協(xié)議。游戲手柄應(yīng)用的語音部分 可使用游戲手柄規(guī)則獲得語音信道。下表示出可由游戲手柄應(yīng)用使用的SPI消息。
游戲手柄應(yīng)用消息語音設(shè)備應(yīng)用可使用關(guān)聯(lián)于語音設(shè)備的無線協(xié)議。無線應(yīng)用的語音部分可使用語 音規(guī)則獲得語音信道。下表示出由語音應(yīng)用使用的示例性SPI消息。 語音應(yīng)用消息應(yīng)用編程接口(API)接著,描述API。在一個實施例中,從設(shè)備可由應(yīng)用處理器(AP)和作為無線協(xié)議 處理器的智能收發(fā)器組成。API可位于應(yīng)用處理器中。這兩個處理器可經(jīng)由串行外設(shè)接口 (SPI)連接。如圖13所示,盡管可獨立于實際的硬件和軟件環(huán)境提供這些服務(wù),但在一個實施 例中,API可假設(shè)單獨的應(yīng)用處理器(主控制應(yīng)用處理器)經(jīng)由串行接口與智能收發(fā)器通 信。此外,在另一個實施例中,API可由一般的GPI0應(yīng)用來使用。在一個實施例中,API可處理對物理無線電信道和對智能收發(fā)器引腳的訪問。API 還可負責下列任務(wù)1.使用SPI驅(qū)動程序通過SPI與智能收發(fā)器通信。2.簡化智能收發(fā)器的設(shè)置。3.同步應(yīng)用與智能收發(fā)器之間的通電模式和功能狀態(tài)。4.提供應(yīng)用的無線數(shù)據(jù)和語音傳輸功能的框架。5.支持對應(yīng)用與智能收發(fā)器的通信的調(diào)試??煽紤]五個API服務(wù)分組1.用于通過無線鏈路發(fā)送和接收固定大小的數(shù)據(jù)分組的數(shù)據(jù)服務(wù)。2.用于通過無線鏈路發(fā)送和接收語音分組的語音服務(wù)??砂ㄌ厥獾臋C制來支持 該服務(wù)的等時性質(zhì)并且支持對語音樣本的編碼或解碼。3.用于配置其它服務(wù)的參數(shù)的層管理服務(wù)。4.用于在智能收發(fā)器的一些空引腳上執(zhí)行面向位的10的GPI0服務(wù)。
5.用于提供應(yīng)用以訪問智能收發(fā)器產(chǎn)品測試界面的產(chǎn)品測試服務(wù)??砂凑請D14例示的服務(wù)原語定義數(shù)據(jù)通信服務(wù)。服務(wù)原語是服務(wù)提供層和任何 服務(wù)用戶(任務(wù)、層等)之間的抽象交互。因此它可獨立于軟件實現(xiàn)細節(jié)。該服務(wù)可被實 現(xiàn)為適于目標系統(tǒng)的功能調(diào)用或者操作系統(tǒng)消息。如圖15所示,信息庫(IB)可包含API參數(shù)和配置值。服務(wù)原語可以是四種一般 類型之一·請求可從服務(wù)使用層向下傳遞請求原語以請求由API啟動的服務(wù)。 指示可從API向上傳遞指示原語。該事件可在邏輯上與遠程服務(wù)請求有關(guān),或 者它可由內(nèi)部API事件引起?!ご_認確認原語可從API傳遞至應(yīng)用/網(wǎng)絡(luò)層以傳送一個或多個關(guān)聯(lián)的先前服 務(wù)請求的結(jié)果?!ろ憫?yīng)響應(yīng)原語可從服務(wù)使用層傳遞至API以完成由指示原語在先前調(diào)用的過程。下面的約定可用于原語< 原語名稱X原語類型 >。< 原語類型 > 可以是下列各 項之一 =Req (請求),Ind (指示),Conf (確認)或Resp (響應(yīng))。這些服務(wù)原語可提供下列功能..力站乂數(shù)據(jù))...具有各種固定大小的數(shù)據(jù)分組的傳輸。...Connect (連接)...連接建立。...Disconnect (斷開連接)...連接釋放。下面示出上行數(shù)據(jù)服務(wù)的分組類型的示例性列表??梢园凑杖我忭樞蚴褂盟蓄?型。可給出每幀48字節(jié)(加上頭部中的至多16個位)的最大上行吞吐量。幀持續(xù)時間可 以是8毫秒。總的請求吞吐量一般不超過最大值。對于純無線語音設(shè)備(例如耳機)可使 用…DATA VOICE(數(shù)據(jù)語音)...分組類型。
上行數(shù)據(jù)服務(wù)大多數(shù)上行分組類型和對應(yīng)的數(shù)據(jù)(子)服務(wù)在無線電鏈路上不提供任何分組排 隊或者流控制。這些數(shù)據(jù)分組假設(shè)是可重寫的。當可重寫的分組發(fā)送得比可用吞吐量所允 許的快時,后面發(fā)送的分組可重寫早先發(fā)送的分組??芍貙懙姆纸M一般用于周期性地發(fā)送 某種狀態(tài)信息。列出下行數(shù)據(jù)服務(wù)的分組類型的示例性列表。可按任意順序使用所有類型。可給 出每幀8字節(jié)(加上頭部中的至多16個位)的最大下行吞吐量。幀持續(xù)時間可以是8毫秒。 總吞吐量一般不超過最大值。對于純無線語音設(shè)備(例如耳機)可使用...DATA VOICE (數(shù) 據(jù)語音)...分組類型。 下行數(shù)據(jù)服務(wù)對于語音服務(wù),服務(wù)原語提供下列功能. . . TxRx...指示PCM語音分組的傳輸定時。通過特殊功能GetVoiceBuffer (取 語音緩沖區(qū))來交換實際的語音分組?!瑿onnect. ··連接建立?!?· · Disconnect. · ·連接釋放。. . . Samp IeRate (取樣速率)...指示上行取樣速率改變。因此可由智能收發(fā)器編碼PCM數(shù)據(jù)以滿足吞吐量限制??砂凑彰繕颖?6個位傳 送PCM語音樣本(左對齊,2的補碼,小尾序格式)。取樣速率可由主設(shè)備在任何時候改變。可為該情形提供取樣速率指示,以觸發(fā)音 頻處理程序來相應(yīng)地改變AD轉(zhuǎn)換參數(shù)。上行語音分組大小(屬性IB_VOICE_PACKET_SIZE)和初始上行編碼類型(屬性 IB_UPSTREAM_VOICE_ENCODING_TYPE)可在 IB 頭文件中設(shè)置。管理服務(wù)可經(jīng)由信息庫(IB)組合與數(shù)據(jù)或語音傳輸服務(wù)和層配置不直接相關(guān)的 原語。在典型的應(yīng)用環(huán)境中,IB屬性具有固定值并且不需要在應(yīng)用執(zhí)行期間改變。管理服務(wù)原語可提供下列功能... Init (初始化)...API軟件初始化。. . . Start (開始)...:開始與智能收發(fā)器的通信。...Reset (復(fù)位)...:API和智能收發(fā)器復(fù)位。...PowerDown (斷電)...智能收發(fā)器斷電。...BindU^S)...主/從綁定(連接的先決條件,但只需要一次)。...StopBind (停止綁定)...停止綁定。. ..Read (讀)...智能收發(fā)器 EEPROM 讀。...Write (寫)...智能收發(fā)器 EEPROM 寫。作為將來的擴展的選擇,IB屬性也可由對應(yīng)的原語(get (取)和set (設(shè)置))來 訪問。然后IB訪問原語可具有單獨的確認原語,因為在大多數(shù)情形中涉及與智能收發(fā)器的
通{曰。智能收發(fā)器具有可用于輸入或輸出的空閑的GPIO引腳。配置可通過IB屬性來完 成。服務(wù)原語可設(shè)置或清除至多16個IO引腳或者在請求(用確認原語)或者主動提 供(用指示原語)時遞送至多16個IO引腳的當前狀態(tài)。圖16描繪API協(xié)議的實施例的簡化狀態(tài)轉(zhuǎn)移圖。API狀態(tài)可定義為已初始化API準備好被使用。已開始建立并配置了與智能收發(fā)器的通信。已連接建立了數(shù)據(jù)和/或語音連接并且可發(fā)送或接收數(shù)據(jù)和/或語音。為簡化 狀態(tài)圖,未示出無語音狀態(tài)或轉(zhuǎn)移,但其可作為單獨的獨立實例存在。綁定這是在綁定到主設(shè)備期間的瞬時狀態(tài)。為僅僅達到已連接狀態(tài)通常不必進 行綁定。在從設(shè)備的使用期限中通常只發(fā)生一次。圖17中示出API的示例性基本結(jié)構(gòu)。示出了狀態(tài)機,它可處理應(yīng)用的請求、根據(jù)
17智能收發(fā)器收到的SPI消息為應(yīng)用生成事件、以及內(nèi)部狀態(tài)。用于在主控制應(yīng)用控制器與 智能收發(fā)器之間傳送數(shù)據(jù)和語音的緩沖區(qū)可集成在API中。應(yīng)用層可就原語功能調(diào)用與 API通信以發(fā)出請求。另外,在一個實施例中,存在兩個功能GetEVent(...)(取事件)和 ReadEventDetailsC ..)(讀事件細節(jié))用于處理來自API的事件消息。對于語音處理,可 實現(xiàn)兩個功能PutVoiceBuffer ( )(放入語音緩沖區(qū))和GetVoiceBuffer ( )(取語音 緩沖區(qū))。SPI驅(qū)動程序可通過這四個功能與API接口以處理API緩沖區(qū)。可考慮兩種類型的請求1.可以沒有對應(yīng)確認的請求。請求操作的結(jié)果一般在功能調(diào)用返回之后知道。2.具有對應(yīng)確認的請求。對于這些類型的請求,存在兩種不同方式來處理操作 同步或異步。對于同步實現(xiàn),功能調(diào)用的結(jié)果可在功能調(diào)用返回之后知道,但該功能會等待 確認并且進行調(diào)用的任務(wù)會被阻塞直至該功能返回。相反,異步實現(xiàn)了具有立即返回的功 能調(diào)用,但操作的結(jié)果可被獨立地處理。指示和確認可由應(yīng)用作為事件來接收(事件標識符和指向收到的原語元素的指 針列表)。功能調(diào)用可用于取事件和讀事件細節(jié)。為優(yōu)化語音處理任務(wù),語音樣本的緩沖區(qū) 管理可通過單獨的功能調(diào)用而非事件來處理。通過底層的操作系統(tǒng),這可通過由任務(wù)或線 程收到的消息來實現(xiàn)。代替擁有接收指示和確認的事件循環(huán),可向API注冊回調(diào)功能。當收到相應(yīng)的指 示或確認時,可調(diào)用對應(yīng)的功能。下表將用戶和第三方應(yīng)用可用的SPI命令與本文所述原語進行交叉引用。如果 一個原語列出多于一次,則根據(jù)原語參數(shù)(例如,Xair_MdDataReq)或者內(nèi)部驅(qū)動程序狀態(tài) (例如,Xair_MmStartReq)選擇相關(guān)的命令。標記為FFS的命令目前未被包括在規(guī)范中但 可按需添加。
SPI命令與原語之間的交叉引用附錄B提供由API服務(wù)提供的各種功能的細節(jié)。最后,盡管已經(jīng)結(jié)合如在各附圖中示出的較佳方面描述了本公開,但可理解,可使 用其它相似方面或者可對所述方面進行修改或添加以完成本公開的相同功能而不偏離本 公開。例如,在本公開的各方面中,公開了一種協(xié)議和API。然而,本文的教導(dǎo)還設(shè)想了這些 所述方面的其它等價機制。因此,本公開不應(yīng)當限于任何單一方面,而是應(yīng)當根據(jù)所附權(quán)利 要求書的本質(zhì)和范圍來解釋。附錄A智能收發(fā)器啟動消息當智能收發(fā)器初次啟動并且SPI模式已經(jīng)被檢測到并且它已經(jīng)準備進行SPI傳送 時,它可在其SPI輸出FIFO中加載啟動消息并斷言“D_AVAIL#”行。該消息一般用作配置 消息來讓主控制應(yīng)用知道芯片的類型及其配置。即使智能收發(fā)器可在啟動時自動發(fā)送該消 息,主控制應(yīng)用也可在任何時間用智能收發(fā)器啟動消息請求來請求它。智能收發(fā)器至主控制應(yīng)用 表1-智能收發(fā)器啟動消息(0x83)多媒體控制臺至智能收發(fā)器 表2-智能收發(fā)器啟動消息請求(0x82)啟動配置在主控制應(yīng)用收到智能收發(fā)器啟動消息之后它可發(fā)送啟動配置消息至智能收發(fā) 器芯片。該消息可讓智能收發(fā)器知道它正在使用的是什么SPI協(xié)議版本和它想要的輸出時 鐘速度。響應(yīng)消息可包含為調(diào)試檢查而發(fā)送的配置數(shù)據(jù)。當前啟動配置可由主控制應(yīng)用通 過發(fā)送長度為0(無有效載荷)的命令來輪詢。主控制應(yīng)用至智能收發(fā)器 表3-智能收發(fā)器啟動配置消息(0x80)智能收發(fā)器至主控制應(yīng)用注意響應(yīng)包含與啟動命令一起發(fā)送的數(shù)據(jù)作為它被正確接收的確認。 表4-啟動配置響應(yīng)(0x81)如果SPI驅(qū)動程序使用不同于芯片所支持的SPI協(xié)議版本,則該芯片可返回其支 持的版本而不是所請求的版本。使用芯片能操作的版本是驅(qū)動程序的責任。模式控制主控制應(yīng)用對智能收發(fā)器操作具有最終控制。模式命令允許主控制應(yīng)用改變智能 收發(fā)器的模式。不同的復(fù)位模式復(fù)位智能收發(fā)器芯片使得它可以從一已知狀態(tài)開始。電源 模式使智能收發(fā)器斷電或者將其置入另一個電源狀態(tài)。模式改變消息可由智能收發(fā)器在模 式改變發(fā)生之前確認。模式控制輪詢是供主控制應(yīng)用確定智能收發(fā)器仍正確地處于不同的模式中的“保 持活動”消息的好選擇。主控制應(yīng)用至智能收發(fā)器主控制應(yīng)用可發(fā)送該命令至智能收發(fā)器以改變模式或者請求當前模式。如果沒有 長度發(fā)送,則請求可被視為對當前模式的輪詢。
25 表5-模式控制請求(0x02)智能收發(fā)器至主控制應(yīng)用 表6-模式控制響應(yīng)(0x03)模式控制響應(yīng)消息在收到模式控制請求的1毫秒內(nèi)在SPI接口處可用。消息緩沖區(qū)警告通常,主控制應(yīng)用不會發(fā)送消息太快而讓智能收發(fā)器無法處理。然而,在智能收發(fā) 器緩沖區(qū)正在開始填充的情形中,定義了錯誤消息。有一個消息用于向主控制應(yīng)用警告緩 沖區(qū)幾乎要滿。有另一個消息用于清除對緩沖區(qū)類型的警告。另外,有一個消息用于讓智 能收發(fā)器告訴主控制應(yīng)用最后的消息被拒絕。拒絕消息僅在主控制應(yīng)用忽略緩沖區(qū)警告并 且以任何方式為該緩沖發(fā)送數(shù)據(jù)或者在消息對于當前的應(yīng)用或狀態(tài)為錯時才被發(fā)送。智能收發(fā)器至主控制應(yīng)用緩沖區(qū)警告該消息可由智能收發(fā)器在一個或多個緩沖區(qū)幾乎被填滿時發(fā)送。可編寫智能收發(fā) 器固件使得它在還有用于至少一個以上的消息的空間時(不包括當前正在接收的消息)發(fā) 送該警告。每當發(fā)送該消息時,發(fā)送處于警告狀態(tài)的所有緩沖區(qū)的列表。當主控制應(yīng)用收 到緩沖區(qū)警告時,它應(yīng)當不再發(fā)送該類型的緩沖區(qū)直至該警告被清除為止。
表7-緩沖區(qū)警告消息(0x05)智能收發(fā)器至主控制應(yīng)用緩沖區(qū)警告清除該消息可在處于警告的緩沖區(qū)已經(jīng)被足夠地清空以允許更多消息時發(fā)送。有效載 荷可列出正在清空的每一項緩沖區(qū)類型。這可僅列出具有先前置位的警告類型且現(xiàn)在可以 安全寫入的緩沖區(qū)。 表8-緩沖區(qū)警告清除消息(0x07)智能收發(fā)器至主控制應(yīng)用消息失敗通過良好的主控制應(yīng)用編碼,該消息應(yīng)當從不發(fā)送,但在主控制應(yīng)用忽略緩沖區(qū) 警告消息并且發(fā)送智能收發(fā)器不能接受的緩沖區(qū)時或者在消息對于當前的應(yīng)用或狀態(tài)為 錯時可發(fā)送它。 表9-消息失敗(0x01)EEPR0M 命令主控制應(yīng)用可請求向EEPR0M寫數(shù)據(jù)或從EEPR0M讀數(shù)據(jù)。消息限于32字節(jié)的數(shù) 據(jù)并且一次僅有一個消息未完成(一個EEPR0M讀或一個寫消息)。EEPR0M 讀主控制應(yīng)用可向EEPR0M請求數(shù)據(jù)。這是通過讀請求來完成的。稍后,當智能收發(fā) 器芯片讀EEPR0M時,它可通過SPI用EEPR0M讀響應(yīng)消息返回數(shù)據(jù)。這兩個消息均包含正 在讀的EEPR0M偏移和長度,這讓主控制應(yīng)用將其未完成的讀請求與響應(yīng)同步。如果存在錯 誤,則智能收發(fā)器可返回沒有EEPR0M數(shù)據(jù)讀的請求。該消息收發(fā)允許主控制應(yīng)用處理器將上下文放入要返回的消息中。這可以用主控制應(yīng)用處理器所想要的任何方式來使用。例如, 這可以是在收到響應(yīng)消息時要繼續(xù)的任務(wù)編號。主控制應(yīng)用至智能收發(fā)器EEPROM讀請求 表IO-EEI3ROM 讀請求(0x44)智能收發(fā)器至主控制應(yīng)用EEPROM讀響應(yīng) 表Il-EEI3ROM 讀響應(yīng)(0χ4δ)EEPROM 寫主控制應(yīng)用可以在EEPROM中保存非易失性數(shù)據(jù)。這是通過寫請求來完成的。稍 后,在智能收發(fā)器芯片寫好數(shù)據(jù)并且驗證數(shù)據(jù)之后,它可通過SPI信道返回響應(yīng)消息以讓 主控制應(yīng)用知道它已完成。這兩個消息均可包含正在讀的EEPROM偏移和長度,允許主控制 應(yīng)用將其未完成的寫請求與響應(yīng)同步。如果存在錯誤,則智能收發(fā)器可返回具有錯誤狀態(tài) 的請求。該消息收發(fā)允許主控制應(yīng)用處理器將上下文放入要返回的消息中。這可以用主控 制應(yīng)用處理器所想要的任何方式來使用。例如,這可以是在收到響應(yīng)消息時要繼續(xù)的任務(wù)編號。在響應(yīng)中可返回所寫的數(shù)據(jù),因此主控制應(yīng)用可以驗證正確的數(shù)據(jù)被寫入。主控制應(yīng)用至智能收發(fā)器EEPROM寫請求 智能收發(fā)器至主控制應(yīng)用EEPROM寫響應(yīng) 表13-EEraOM 寫響應(yīng)(0x47)有兩部分的智能收發(fā)器固件可以知道當前的語音類型。1.鏈路層需要知道正在上行發(fā)送什么類型的數(shù)據(jù)。2.如果智能收發(fā)器硬件正在提供語音編碼/解碼,則應(yīng)用可以知道要用于編碼的 編碼類型。在發(fā)送該注釋時,智能收發(fā)器在必要時可改變上行路徑的冊編碼類型,并且還可
29以用該類型來標記上行語音數(shù)據(jù)。如果發(fā)送沒有有效載荷的命令,則智能收發(fā)器可發(fā)送當 前類型。主控制應(yīng)用至智能收發(fā)器設(shè)置語音編碼類型 表14-設(shè)置語音編碼類型(0x3E)智能收發(fā)器至主控制應(yīng)用語音編碼類型響應(yīng) 表15-語音編碼類型響應(yīng)(0x3F)GPI0 控制智能收發(fā)器IC具有可由主控制應(yīng)用芯片用于輸入或輸出的空閑GPI0引腳。在智 能收發(fā)器初始化時,所有空閑GPI0可被配置為輸入并且將它們的狀態(tài)作為智能收發(fā)器啟 動消息的一部分發(fā)送。消息可允許主控制應(yīng)用配置GPI0并且對GPI0讀或?qū)?。當配置輸?時,主控制應(yīng)用可請求每當所請求的輸入改變時即發(fā)送GPI0狀態(tài)消息。這些消息可被排隊 并且準備好在4毫秒內(nèi)發(fā)送至主控制應(yīng)用。GPI0狀態(tài)消息的優(yōu)先級比緩沖區(qū)和模式消息 低。在所有GPI0命令中,位0映射到GPI0 0,位1映射到GPI0 1,以此類推。主控制應(yīng)用至智能收發(fā)器GPI0設(shè)置如果主控制應(yīng)用想要使用智能收發(fā)器的GPI0,則它必須正確地設(shè)置它們。有獨立 的位映射以確定輸入和輸出。
表16-GPI0 設(shè)置(OxCO)智能收發(fā)器至主控制應(yīng)用GPI0設(shè)置響應(yīng) 表17-GPI0 設(shè)置響應(yīng)(OxCl)主控制應(yīng)用_至智能收發(fā)器GPI0讀/寫 表18-GPI0 設(shè)置(0xC2)智能收發(fā)器至主控制應(yīng)用GPI0狀態(tài)/響應(yīng) 表19-GPI0 設(shè)置響應(yīng)(0xC3)無線幀同步應(yīng)用可在幀中任何位置設(shè)置幀同步消息。默認地,幀同步消息可被關(guān)閉。當啟用 時,幀同步消息可在幀位時鐘到達觸發(fā)值時被加載到SPI緩沖中并且做好準備。主控制應(yīng)用至智能收發(fā)器幀同步設(shè)置請求 表20-幀同步設(shè)置請求(0xB8)智能收發(fā)器至主控制應(yīng)用幀同步設(shè)置響應(yīng)
12位置枚舉1表21-幀同步設(shè)置響應(yīng)(0xB9)智能收發(fā)器至主控制應(yīng)用幀同步消息 表22-幀同步消息(OxBB)無線語音同步為提高通過SPI端口的吞吐量,有可能同步上行和下行語音數(shù)據(jù)使得兩種分組類 型通過全雙工連接同時傳送??墒褂谜Z音同步設(shè)置請求消息來啟用該特征。主控制應(yīng)用至智能收發(fā)器語音同步設(shè)置請求默認地,當啟用該消息時,可禁用幀同步消息。當禁用該消息時,可啟用幀同步消 肩、ο 表23-語音同步設(shè)置請求(0x38)智能收發(fā)器至主控制應(yīng)用語音同步設(shè)置響應(yīng) 表24-語音同步設(shè)置響應(yīng)(0x39)智能收發(fā)器至主控制應(yīng)用語音同步消息主控制應(yīng)用可使用該消息來開始通過SPI接口的全雙工傳輸。 表25-語音同步消息(0x3B)配置消息收發(fā)配置消息允許主控制應(yīng)用將智能收發(fā)器芯片設(shè)置為具有其特定選項的正確的應(yīng)用。設(shè)置應(yīng)用和選項該機制允許主控制應(yīng)用選擇正確的應(yīng)用以及用于它的各種選項。主控制應(yīng)用至智能收發(fā)器應(yīng)用配置_第三方 表26-應(yīng)用配置一第三方(0x84)智能收發(fā)器至主控制應(yīng)用應(yīng)用配置響應(yīng) 表27-SPI應(yīng)用配置響應(yīng)(0x85)如果無效的選項標志或者語音分組大小域被智能收發(fā)器檢測到,則它可保持在預(yù) 應(yīng)用狀態(tài)中直至它收到有效的應(yīng)用配置命令為止。主機連接一旦主控制應(yīng)用準備好,它就可嘗試啟動到主機的連接。在游戲手柄應(yīng)用中,它首 先可建立數(shù)據(jù)連接,并且一旦完成連接如果有耳機插入的話它就可嘗試建立語音連接。一 旦建立連接就可因為三種不同的情況丟棄它們1.主控制應(yīng)用請求鏈路丟棄。在該情形中鏈路被丟棄并且無線電被關(guān)閉。主控制 應(yīng)用可發(fā)出新的連接請求來開啟無線電并重新建立新鏈路。2.主機請求鏈路丟棄。在該情形中鏈路被丟棄并且無線電被關(guān)閉??上蛑骺刂茟?yīng) 用通知連接丟棄和無線電關(guān)閉。主控制應(yīng)用可發(fā)出新連接請求以開啟無線電并重新建立新 鏈路。3.與主機的同步丟失。在該情形中鏈路被丟棄并且無線電被關(guān)閉??上蛑骺刂茟?yīng) 用通知連接丟棄和無線電關(guān)閉。主控制應(yīng)用必須發(fā)出新連接請求以開啟無線電并重新建立 新鏈路。數(shù)據(jù)連接請求一旦應(yīng)用開啟并且運行,它就可請求智能收發(fā)器連接至主機。智能收發(fā)器芯片可 使用協(xié)議規(guī)則來找到主機并選擇無線槽。一起動了連接過程,主機即可返回連接請求響應(yīng)。 一旦獲得一個槽,就可發(fā)送連接狀態(tài)報告。如果主控制應(yīng)用想要丟棄連接,則它可將動作設(shè) 置為“丟棄連接”并且發(fā)送該消息。智能收發(fā)器可丟棄連接并關(guān)閉無線電??煞祷亍斑B接被丟棄”響應(yīng)。另外,鏈路狀態(tài)消息可通過“按主控制應(yīng)用請求丟棄的槽”的鏈路狀態(tài)且隨后 是“無線電關(guān)閉”的鏈路狀態(tài)來發(fā)送。主控制應(yīng)用不應(yīng)當在它收到指示鏈路已獲得的鏈路狀態(tài)消息之前發(fā)送要被傳送 的任何數(shù)據(jù)。如果它這么做,則數(shù)據(jù)會被沖掉并且不再被發(fā)送。主控制應(yīng)用至智能收發(fā)器數(shù)據(jù)連接請求注意該命令可包括用于初始報告的域。 表28-數(shù)據(jù)連接請求(OxEO)智能收發(fā)器至主控制應(yīng)用數(shù)據(jù)連接響應(yīng) 表29-數(shù)據(jù)連接響應(yīng)(OxEl)語音連接請求一旦應(yīng)用開啟且運行并且插入了耳機和獲得了數(shù)據(jù)連接,主控制應(yīng)用就可請求智 能收發(fā)器進行語音連接。智能收發(fā)器芯片可使用游戲手柄語音協(xié)議規(guī)則來選擇無線槽。一 起動連接過程,主機即可返回連接請求響應(yīng)。一旦獲得一個槽,就可發(fā)送連接狀態(tài)報告。主控制應(yīng)用至智能收發(fā)器語音連接請求 表30-語音連接請求(0xE2)智能收發(fā)器至主控制應(yīng)用語音連接響應(yīng) 表31-語音連接響應(yīng)(0xE3)鏈路狀態(tài)主控制應(yīng)用可能想要查詢鏈路狀態(tài)。另外,智能收發(fā)器應(yīng)用可能想要在鏈路狀態(tài) 改變時發(fā)送消息。語音槽可用性主控制應(yīng)用至智能收發(fā)器鏈路狀態(tài)請求 表32-鏈路狀態(tài)請求(0x42)智能收發(fā)器至主控制應(yīng)用鏈路狀態(tài) 表33-鏈路狀態(tài)響應(yīng)(0x43)控制器緩沖傳送一旦應(yīng)用開啟且運行并且無線電鏈路已獲得,則大多數(shù)的傳送是用于要發(fā)送的數(shù) 據(jù)或者接收的數(shù)據(jù)的緩沖區(qū)傳送。在協(xié)議中定義的每一數(shù)據(jù)類型具有其自己的緩沖區(qū)集 合。對于上行消息,主控制應(yīng)用可在它具有緩沖區(qū)時發(fā)送這些緩沖區(qū)。如果用于特定數(shù)據(jù) 類型的緩沖分配區(qū)低,則智能收發(fā)器芯片可發(fā)送該緩沖區(qū)類型低的的警告。主控制應(yīng)用可 僅再發(fā)送該類型的一個緩沖區(qū)(包括同時正在傳送的緩沖區(qū))直至它得到“警告清除”為 止。在實踐中,假設(shè)存在足夠的緩沖區(qū)而警告從不發(fā)生。在智能收發(fā)器從無線信道收到消 息時,它可使用正確的數(shù)據(jù)類型消息將它們發(fā)送到主控制應(yīng)用上。主控制應(yīng)用至智能收發(fā)器(上行)緩沖區(qū)控制器頭部報告控制器頭部報告是經(jīng)由無線頭部發(fā)送的狀態(tài)報告。這些的一個示例是設(shè)備類型報告。 表34-控制器頭部報告(0x08)控制器數(shù)據(jù) 表35-控制器數(shù)據(jù)(OxOC)控制器傳送 一般報告緩沖區(qū)該緩沖區(qū)類型可以用于所有沒有專用緩沖區(qū)消息的緩沖區(qū)類型。 表36-—般報告緩沖區(qū)(OxOA)智能收發(fā)器至主控制應(yīng)用(下行)緩沖區(qū)控制器頭部請求 表37-控制器頭部請求(0x09)控制器數(shù)據(jù)表40-—般請求緩沖區(qū)(OxOB)語音緩沖區(qū)傳送語音緩沖區(qū)是可在一個消息中定期發(fā)送的最長的數(shù)據(jù)。為允許全雙工總線的較佳 使用,主控制應(yīng)用可將語音緩沖區(qū)配置為被分成較小的片段。該配置可在啟動時設(shè)置并且 不能在運行時設(shè)置。分組0可視為基本類型,并且如果語音沒有被劃分,則它可以是唯一傳 送的語音分組類型。主控制應(yīng)用處理器可讓智能收發(fā)器芯片知道正在使用的是什么類型的 編碼使得它可以將正確的數(shù)據(jù)類型放在語音頭部中。如果智能收發(fā)器正在執(zhí)行語音編碼, 則它可使用主控制應(yīng)用已經(jīng)設(shè)置的類型。智能收發(fā)器可能需要跟蹤通過SPI接收的語音分組并且確保在使用劃分的分組時,在通過無線信道發(fā)送全部緩沖區(qū)之前收到了所有的分 組。主控制應(yīng)用可能需要對它從智能收發(fā)器接收的數(shù)據(jù)提供相似功能。主控制應(yīng)用至智能收發(fā)器(上行)緩沖區(qū)語音頭部報告 表41-語音頭部報告(0x14)語音傳輸 表42-語音傳輸報告(0x16)PCM語音分組0-7如果主控制應(yīng)用已經(jīng)將應(yīng)用配置為提供語音解碼和編碼,則這些分組類型可用于 填充緩沖區(qū)。配置選項“上行語音分組計數(shù)”可用于控制哪些分組被發(fā)送。可使用具有不 同命令代碼的分組使得智能收發(fā)器可以將其DMA設(shè)置為指向正確的緩沖區(qū)位置。表43示 出用于PCM分組的最大分組大小。所有PCM樣本可以是16位、2的補碼、小尾序格式。這意味著第一字節(jié)是第一樣本 的低位字節(jié),第二字節(jié)是第一樣本的高位字節(jié),等等。另外,如果使用小于16位的ADC,則樣 本可以左對齊。
表43-上行PCM語音分組大小對比分組數(shù)量 表44-PCMi吾音緩沖區(qū)(0x28—0x36)智能收發(fā)器至主控制應(yīng)用(下行)緩沖區(qū)語音頭部請求 表45-語音頭部請求(0x15)語音傳輸 表46-語音傳輸報告(0x17)PCM語音分組0-7如果主控制應(yīng)用已經(jīng)將應(yīng)用配置為提供語音解碼和編碼,則可發(fā)送這些分組類 型。配置選項“下行語音分組計數(shù)”可用于控制多少分組被發(fā)送。表47示出用于PCM分組 的最大分組大小。注意這些分組可包含用于狀態(tài)的額外字節(jié),以讓主控制應(yīng)用處理器知道 數(shù)據(jù)CRC是否被確認。“壞”數(shù)據(jù)僅在主控制應(yīng)用已經(jīng)為它配置了智能收發(fā)器時才被發(fā)送。 表47-下行PCM語音分組大小對比分組數(shù)量 表48-PCM 語音緩沖區(qū)分組 0_7 (0x29-0x37)配置消息收發(fā)配置消息允許主控制應(yīng)用將智能收發(fā)器芯片設(shè)置為具有其特定選項的正確的應(yīng)用。
設(shè)置應(yīng)用和選項該機制允許主控制應(yīng)用選擇正確的應(yīng)用以及用于它的各種選項。主控制應(yīng)用至智能收發(fā)器應(yīng)用配置一第三方 表49-應(yīng)用配置,第三方(0x84)智能收發(fā)器至主控制應(yīng)用應(yīng)用配置響應(yīng) 表50-應(yīng)用配置響應(yīng)(0x85)主機連接一旦主控制應(yīng)用準備好,它就可嘗試啟動到主機的連接。在語音設(shè)備應(yīng)用中,它首 先可搜索主機并與主機同步且隨后使用語音設(shè)備協(xié)議建立語音槽連接。一旦建立連接就可 因為三種不同的情況丟棄它們
1.主控制應(yīng)用請求鏈路丟棄或者無線電關(guān)閉。在該情形中鏈路可被丟棄。如果主 控制應(yīng)用請求無線電關(guān)閉,則也可丟棄與主機的同步并且關(guān)閉無線電。在任一情形中,主控 制應(yīng)用必須發(fā)出新的連接請求以重建新鏈路。2.主機請求鏈路丟棄。在該情形中,鏈路可被丟棄并且可向主控制應(yīng)用通知,但與 主機的同步可被保持。這允許在將來無須搜索主機就能完成連接。在該場景中,智能收發(fā) 器可嘗試并重建連接,以及如果它這么做的話則通知主控制應(yīng)用。3.與主機的同步丟失。在該情形中,智能收發(fā)器應(yīng)用可嘗試與主機重新同步并且 隨后重建丟失的連接??上蛑骺刂茟?yīng)用通知進展但不必重新發(fā)送連接消息。語音連接請求一旦應(yīng)用啟動且運行,則主控制應(yīng)用就可請求智能收發(fā)器進行語音連接。智能收 發(fā)器芯片可使用語音設(shè)備協(xié)議規(guī)則來選擇無線槽。一起動連接過程,主機即可返回連接請 求響應(yīng)。一旦獲得槽,就可發(fā)送連接狀態(tài)報告。如果沒有綁定信息,則智能收發(fā)器可返回錯 誤連接響應(yīng)。主控制應(yīng)用至智能收發(fā)器語音連接請求 表51-語音連接請求(0xE2)智能收發(fā)器至主控制應(yīng)用語音連接響應(yīng) 表52-語音連接響應(yīng)(0xE3)鏈路狀態(tài)主控制應(yīng)用可能想要查詢鏈路狀態(tài)。另外,智能收發(fā)器應(yīng)用可能想要在鏈路狀態(tài) 改變時發(fā)送消息。語音槽可用性
45
主控制應(yīng)用至智能收發(fā)器鏈路狀態(tài)請求 表53-鏈路狀態(tài)請求(0x42)智能收發(fā)器至主控制應(yīng)用鏈路狀態(tài) 表54-鏈路狀態(tài)響應(yīng)(0x43)語音緩沖區(qū)傳送語音緩沖區(qū)是可在一個消息中定期發(fā)送的最長的數(shù)據(jù)。為允許全雙工總線的較佳 使用,主控制應(yīng)用可將語音緩沖區(qū)配置為被分成較小的片段。該配置可在啟動時設(shè)置而不 能在運行時設(shè)置。分組0被視為基本類型并且如果語音沒有被劃分則它可以是唯一被傳送 的語音分組類型。主控制應(yīng)用處理器可讓智能收發(fā)器芯片知道正在使用的是什么類型的編 碼,使得它可以將正確的數(shù)據(jù)類型放在語音頭部中。如果智能收發(fā)器正在執(zhí)行語音編碼,則 它可使用主控制應(yīng)用已經(jīng)設(shè)置的類型。智能收發(fā)器可能需要跟蹤通過SPI接收的語音分組 并且確保在使用劃分的分組時,在通過無線信道發(fā)送全部緩沖區(qū)之前收到了所有的分組。 主控制應(yīng)用可能需要對它從智能收發(fā)器接收的數(shù)據(jù)提供相似功能。主控制應(yīng)用至智能收發(fā)器(上行)緩沖區(qū)語音頭部報告 表55-語音頭部報告(0x14)語音傳輸在語音設(shè)備中使用語音傳輸來進行命令請求和狀態(tài)報告。 表56-語音傳輸報告(0x16)PCM語音分組0-7如果主控制應(yīng)用已經(jīng)將應(yīng)用配置為提供語音解碼和編碼,則這些分組類型可用于 填充緩沖區(qū)。配置選項“上行語音分組計數(shù)”可用于控制哪些分組被發(fā)送??墒褂镁哂胁?同命令代碼的分組使得智能收發(fā)器可以將其DMA設(shè)置為指向正確的緩沖區(qū)位置。表43示 出用于PCM分組的最大分組大小。所有PCM樣本是16位、2的補碼、小尾序格式。這意味著第一字節(jié)是第一樣本的低 位字節(jié),第二字節(jié)是第一樣本的高位字節(jié),等等。另外,如果使用小于16位的ADC,則樣本可 以左對齊。 表57-上行PCM語音分組大小對比分組數(shù)量 表58-PCM 語音緩沖區(qū)(0x28-0x36)智能收發(fā)器至主控制應(yīng)用(下行)緩沖區(qū)語音頭部請求 表59-語音頭部請求(0x15)語音傳輸在語音設(shè)備可使用語音傳輸用于命令請求和狀態(tài)報告。 表60-語音傳輸報告(Ox 17)PCM語音分組0-7
如果主控制應(yīng)用已經(jīng)將應(yīng)用配置為提供語音解碼和編碼,則發(fā)送這些分組類型。 配置選項“下行語音分組計數(shù)”用于控制多少分組被發(fā)送。表47示出用于PCM分組的最大 分組大小。注意,這些分組包含用于狀態(tài)的額外字節(jié)以讓主控制應(yīng)用處理器知道數(shù)據(jù)CRC 是否被確認。 表61-下行PCM語音分組大小對比分組數(shù)量 表62-PCM 語音緩沖區(qū)分組 0-7 (0x29-0x37)附錄B數(shù)據(jù)服務(wù)的請求功能API請求功能可從應(yīng)用調(diào)用以便在API層起動通信棧中的動作。API功能可以用 req作為前綴和后綴。Xair_MdDataReq功能XAIR_RESULT_T Xair_MdDataReq(XAIR_UP_PACKET_T PacketType, uint8*Data);執(zhí)行已止 升少。描述發(fā)送上行數(shù)據(jù)分組至主設(shè)備。本地緩沖的數(shù)量在API 配置中定義。默認緩沖區(qū)深度為4,表示數(shù)據(jù)被復(fù)制一次 并且至多四個緩沖區(qū)可用。因為異步執(zhí)行,需要至少一個 緩沖區(qū)。輸入?yún)?數(shù)PacketType (分組類型)數(shù)據(jù)緩沖區(qū)的大小也由 分組類型確定 Data(數(shù)據(jù))指向要發(fā)送的數(shù)據(jù)返回值 XAIR_SUCCESS 數(shù)據(jù)緩沖區(qū)的內(nèi)容被復(fù)制并且被 調(diào)度以發(fā)送到智能收發(fā)器芯片。
XAIR_BUFFER_FULL 操作失敗,因為沒有空間可 用于排隊該請求(API流控制)。
XAIR_0VERL0AD 操作失敗,因為當前不接受該分 組類型用于在無線電鏈路上發(fā)送(由智能收發(fā)器流控制)。 這可在超過無線電鏈路的吞吐量時發(fā)生。
XAIR_CL0SED 操作失敗,因為數(shù)據(jù)連接被關(guān)閉。Xair_MdConnectReq
置。表63:設(shè)備子類型Xair_MdDisconnectReq 數(shù)據(jù)服務(wù)的事件Xair_MdDataInd Xair_MdConnectConf Xair_MdDisconnectConf Xair_MdDisconnectInd Xair語音服務(wù)的請求功能Xair_MvConnectReq Xair_MvDisconnectReq Xair語音服務(wù)的事件Xair_MvTxRxlnd
需要該事件來確保相對于無線幀信號的語音分組交換 的同步處理。該事件在經(jīng)由SPI在后端控制器和智能收發(fā) 器芯片之間交換了無線幀的所有上行/下行語音分組之后 發(fā)生。注意對于音頻時鐘同步,后端控制器必須使用硬 件幀同步信號。
事件XAIR_MV_C0NNECT_C0NF 回答語音連接請求。
參數(shù)1XAIR_RESULT_T* 指向連接請求的結(jié)果。
XAIR_SUCCESS 建立語音連接。
XAIR_ERR0R 操作失敗。
事件XAI R_MV_D I SC0NNECT_C0NF 回答語音連接釋放請求。
參數(shù)1XAIR_RESULT_T* 指向釋放請求的結(jié)果。
XAIR_SUCCESS 語音連接現(xiàn)在關(guān)閉。
主動提供的數(shù)據(jù)連接失敗的指示。
參數(shù)1 XAIR_RESULT_T* 指向該指示的原因。
XAIR_CL0SED 無線電鏈路關(guān)閉。 Xair管理服務(wù)的請求功能Xair_MmInitReq Xair_MmStartReq Xair_MmResetReq Xair_MmStopBindReq Xair_MmReadReq Xair GPIO服務(wù)的請求功能Xair_MgIoReq Xair GPIO服務(wù)的事件Xair_MgIoConf Xair_MgIoInd Xair_MpSendRawSpiDataReq 事件和緩沖處理功能Xair_GetEvent Xair_PutVoiceBuffer Xair_GetVoiceBuffer API的配置和設(shè)計API的所有配置可通過“xair_api_xib.h”頭文件中的定義來完成。在這里,完整 的API可根據(jù)主控制應(yīng)用系統(tǒng)中的可用資源進行調(diào)整。用于排隊RX/TX數(shù)據(jù)的緩沖區(qū)的數(shù)量可通過以下參數(shù)來調(diào)整-XIB_TX_DATA_QUEUE_SIZE-XIB_EVENT_QUEUE_SIZE-XIB_RX_DATA_QUEUE_SIZE這樣就可以根據(jù)主控制應(yīng)用系統(tǒng)的可用存儲器空間調(diào)整所使用的隊列大小。可通過以下項來配置所使用的EEPROM類型和存儲大小-XIB_EEPROM_TYPE-XIB_PERSISTENT_ST0RE_SIZE
可通過以下項來設(shè)置SPI模式-XIB_SPI_M0DE可以設(shè)置模式0.. 3。默認是SPI模式0。可以用以下項來設(shè)置智能收發(fā)器芯片提供的輸出時鐘的頻率-XIB_PROVIDED_CLOCK_FREQUENCY可以將時鐘設(shè)置為12、24或48MHz。默認為12MHz??赏ㄟ^以下項來設(shè)置工作應(yīng)用類型-XIB_APPLICATION_TYPE可以設(shè)置數(shù)據(jù)、Voice (語音或者兩者。默認為數(shù)據(jù)。可通過以下項來設(shè)置集成語音設(shè)備的能力-XIB_VOICE_ABILITY可以設(shè)置為啟用或者禁用。默認為啟用??赏ㄟ^以下項來調(diào)整由智能收發(fā)器生成的幀同步消息的位置-XIB_SYNC_EVENT_POSITION可以設(shè)置SYNC_EVENT_0FF (同步事件關(guān)閉)、SYNC_EVENT_FRAMESTART (同步事件 幀開始)、SYNC_EVENT_BROADCAST (同步事件廣播)或者 SYNC_EVENT_RX_FINISHED (同步事 件接收完成)。默認為SYNC_EVENT_FRAMESTART。用以下項設(shè)置所使用的上行語音編碼類型_XIB_UPSTREAM_VOICE_ENCODING_TYPE可用以下來設(shè)置語音同步消息的生成-XIB_V0ICE_SYNC可以設(shè)置為啟用或者禁用。默認為啟用??捎靡韵马梺碓O(shè)置智能收發(fā)器芯片的初始GPIO設(shè)置-XIB_GPIO_INPUTS/** < 16位,小尾序,位清除表示忽略,位置位表示輸入*/-XIB_GPIO_INTERRUPT_MASK/**< 16位,小尾序,位清除表示忽略,位置位表示在輸入改變時收到Xair_ MgIoInd 事件 */-XIB_GPI0_0UTPUTS/** < 16位,小尾序,位清除表示忽略,位置位表示該位為輸出*/-XIB_GPI0_0UTPUT_TYPE/** < 16位,小尾序,位清除表示這是推/拉,位置位表示這是漏極開路*/-XIB_GPI0_0UTPUT_INIT/** < 16位,小尾序,初始化輸出狀態(tài)*/-XIB_GPIO_INPUT_TYPE/#< 32位,配置GPIO輸入引腳。兩位一對的域用于定義每一 GPIO引腳*/用以下項設(shè)置數(shù)據(jù)和語音分組緩沖區(qū)的相同大小-XIB_VOICE_EQ_DATA_BUFFER(語音等于數(shù)據(jù)緩沖區(qū))可以設(shè)置為真(TRUE)或假(FALSE)。默認為真。Xair API 功能(xair_api. h)
/*XAIR_EVENT_T 的 API 類型定義 */typedef enum{XAIR_NULL_EVENT, /**〈無事件可用 */XAIR_MM_smart transceiver_COM_READY_IND, /** <智能收發(fā)器 / 主 SPI 通信就 緒指示(在自動檢測之后)*/XAIR_MM_START_CONF, /** <開始請求結(jié)束 */XAIR_MM_RESET_IND, /** <復(fù)位發(fā)生 */xair_mm_bind_conf, /** <綁定請求結(jié)束 */xair_mm_stop_bind_conf, /** <停止綁定請求結(jié)束 */xair_mm_read_conf, /** <智能收發(fā)器 eeprom 讀結(jié)束 */XAIR_MM_WRITE_CONF, /** <智能收發(fā)器 EEPROM 寫結(jié)束 */XAIR_MM_SYNC_IND, /** <指示無線幀同步消息 */XAIR_MD_C0NNECT_C0NF, /** <數(shù)據(jù)連接請求結(jié)束 */XAIR_MD_DISC0NNECT_C0NF, /** <數(shù)據(jù)斷開連接請求結(jié)束 */XAIR_MD_DISCONNECT_IND, /** <數(shù)據(jù)連接釋放 */XAIR_MD_DATA_IND, /** <數(shù)據(jù)收到 */XAIR_MV_C0NNECT_C0NF, /** <語音連接請求結(jié)束 */XAIR_MV_DISC0NNECT_C0NF, /** <語音斷開連接請求結(jié)束 */XAIR_MV_DISCONNECT_IND, /** <語音連接釋放 */XAIR_MV_SAMPLE_RATE_IND, /** <取樣速率改變指示 */XAIR_MV_RX_TX_IND, /** <指示語音分組同步 */XAIR_MG_I0_C0NF, /** < GPIO 設(shè)置請求結(jié)束 */XAIR_MG_I0_IND, <主動提供的GPIO狀態(tài)的指示*/XAIR_MP_PR0TEST_C0NF, /** <產(chǎn)品測試命令請求結(jié)束 */}XAIR_EVENT_T ;/** < XAIR API 事件的枚舉類型定義 */
/*xair_result_t 的 api 類型定義 */typedef enum{xair_success, /** <請求成功 */XAIR_ERR0R, /** <請求錯誤 */XAIR_CL0SED, /** <連接(非預(yù)期地)關(guān)閉 */xair_not_available, /** <智能收發(fā)器芯片不可用 */XAIR_MISCONFIG, <智能收發(fā)器配置失敗*/xair_connected, <智能收發(fā)器芯片連接已經(jīng)建立*/XAIR_RESET, /** <復(fù)位發(fā)生 */xair_buffer_full, /** <緩沖區(qū)滿 */XAIR_VOICE_SYNC, /** <語音分組速率不同步 */}XAIR_RESULT_T ;< XAIR API 結(jié)果的枚舉類型定義 */
/*Xair層管理服務(wù)的API原語*/XAIR_RESULT_T Xair_MmInitReq(void);XAIR_RESULT_T Xair_MmStartReq(void);XAIR_RESULT_T Xair_MmResetReq(void);XAIR_RESULT_T Xair_MmPowerDownReq(void);XAIR_RESULT_T Xair_MmBmdReq(void);XAIR_RESULT_T Xa i r _MmR e a dRe q (uintl60ffset, uint8Size, uintl6BackendContext);XAIR_RESULT_T Xair_MmffriteReq(unitl60ffset, uint8Size, uint8*Data, uintl6BackendContext);/*Xair層數(shù)據(jù)服務(wù)的API原語*/XAIR_RESULT_T Xair_MdDataReq(XAIR_UP_PACKET_TYPE_TPacketType, uint8*Data);XAIR_RESULT_T Xair_MdConnectReq(uint8*Data);XAIR_RESULT_T Xair_MdDisconnectReq(void);/*Xair層語音服務(wù)的API原語*/XAIR_RESULT_T Xair_MvConnectReq(uint8*Data);XAIR_RESULT_T Xair_MvDisconnectReq(void);/*Xair 層 GPIO 服務(wù)的 API 原語 */XAIR_RESULT_T Xair_MgIoReq (uintl6 OutputClearMask, uintl6 OutputSetMask);XAIR_RESULT_T Xair_MpSendRawSpiData(uint8氺Data);/*API 事件功能 */XAIR_EVENT_T Xair_GetEvent(void);XAIR_RESULT_T Xair_ReadEventDetai1s(P0INTER_T*Paraml, POINTER, T*Param2,P0INTER_T*Param3,P0INTER_T*Param4);XAIR_RESULT_T Xair_PutVoiceBuffer(P0INTER_T*NextTxBuff);XAIR_RESULT_T Xair_GetVoiceBuffer(P0INTER_T*RxBuff, uint8*CrcStatus);/*API調(diào)試和跟蹤功能*/XAIR_RESULT_T Xair_DbgEnable(uint8Level);XAIR_RESULT_T Xair_DbgSetLevel(uint8Level);XAIR_RESULT_T Xair_DbgPrint(uint8氺DebugMessage,uint8Length);XAIR_RESULT_T Xair_DbgDisable(void);/*SPI驅(qū)動程序的API功能*/void Xair_Spi2XairTxReady(XAIR_SPI_FRAME_TYPE_TType);bool Xair_Xair2SpiGetRx(uint8 xdata* ^address, XAIR_SPI_FRAME_TYPE_T Type);void Xair_Spi2XairRxReady(XAIR_SPI_FRAME_TYPE_TType);/*Xair API的過程,必須周期性地調(diào)用以處理新的請求或者rx SPI消息*/
690677]void Xair_Api_State_Machme_Handler(void);
0678]Xair 信息庫(xair_api_xib. h)
0679]/* <請求/SPI tx消息隊列的大小(每一項分配35/67字節(jié)的存儲器)。有效參 數(shù)是1,2,4,8,...*/
0680]#define XIB_TX_DATA_QUEUE_SIZE 2
0681]/**<事件隊列的大小(每一項分配18字節(jié)的存儲器)。有效參數(shù)是1,2,4,
0682]#define XIB_EVENT_QUEUE_SIZE
0683]
2
、*<SPI rx數(shù)據(jù)隊列的大小(每一項分配35/67字節(jié)的存儲器)。有效參數(shù)是 ,2,4,8,···*/
0684] #define XIB_RX_DATA_QUEUE_SIZE 2
0685]
0687]
0689]
/** <持久存儲大小(EEPR0M長度)。*/
0686] #define XIB PERSISTENT STORE SIZE 0x0200
、*<SPI協(xié)議版本。用于訪問智能收發(fā)器芯片的協(xié)議。*/
0688] #define XIB SPI PROTOCOL VERSION 0x0100
< SPI 模式(0,1,2,3)*/
0690]#define XIB_SPI_M0DE0
0691]/**<由智能收發(fā)器芯片提供的時鐘頻率,單位為MHz (12,24或48 (僅主機))。*/
0692]#define PR0VIDED_CL0CK_120x00
0693]#define PR0VIDED_CL0CK_240x01
0694]#define PR0VIDED_CL0CK_480x02
0695]#define XIB_PR0VIDED_CL0CK_FREQUENCY PR0VIDED_CL0CK_12
0696]/** <應(yīng)用類型(數(shù)據(jù)、語音、數(shù)據(jù)和語音)。*/
0697]#define APPLICATI0N_TYPE_DATA 0x01
0698]#define APPLICATI0N_TYPE_V0ICE 0x02
0699]#define APPLICATI0N_TYPE_B0TH 0x03
0700]#define XIB_APPLICATI0N_TYPE APPLICATI0N_TYPE_DATA
0701]/** < XIB_V0ICE_ABILITY 集成語音能力。*/
0702]#define V0ICE_ABILITY_ENABLE0x40
0703]#define V0ICE_ABILITY_DISABLE 0x00
0704]#define XIB_V0ICE_ABILITYV0ICE_ABILITY_ENABLE
0705]/**<用于同步與無線幀相關(guān)的事件消息的位置。*/
0706]#define SYNC_EVENT_0FF0x00
0707]#define SYNC_EVENT_ 0x01
0708]#define SYNC_EVENT_BR0ADCAST0x02
0709]#define SYNC_EVENT_RX_FINISHED 0x03
0710]#define XIB_SYNC_EVENT_P0SITION SYNC_EVENT_FRAMESTART
0711]/** <由智能收發(fā)器芯片進行語音編碼*/
0712]#define VOICE CODING DISABLE0x00
#define V0ICE_C0DING_ENABLE0x01#define XIB_V0ICE_C0DINGV0ICE_C0DING_ENABLE/** <上行和下行語音分組大小(32,64字節(jié))*/#define VOICE_PACKET_SIZE_640x00#define V0ICE_PACKET_SIZE_320x01#if(XIB_V0ICE_C0DING = = V0ICE_C0DING_ENABLE)#define XIB_VOICE_PACKET_SIZE VOICE_PCM_PACKET_SIZE_32#else#define XIB_VOICE_PACKET_SIZE 0x01#endif/**<啟用/禁用語音同步消息(注意示例SPI驅(qū)動程序需要語音同步?。。?*/#define VOICE_SYNC_DISABLE0x00#define VOICE_SYNC_ENABLE0x01#define XIB_V0ICE_SYNCVOICE_SYNC_ENABLE/** < GPIO輸入,16位,小尾序,位清除表示忽略,位置位表示輸入。*/#define XIB_GPIO_INPUTS0x0000/** < GPIO中斷掩碼,16位,小尾序,位清除表示忽略,位置位表示在輸入時接收 Xair_MgloInd 事件。氺/XIB_GPIO_INTERRUPT_MASK0x0000/** < GPIO輸出,16位,小尾序,位清除表示忽略,位置位表示該位為輸出。*/XIB_GPI0_0UTPUTS0x0000/** < GPIO輸出,16位,小尾序,位清除表示這是推/拉,位置位表示這是漏極開 路。*/XIB_GPI0_0UTPUT_TYPE0x0000/** < GPIO輸出初始化,16位,小尾序,初始輸出狀態(tài)。*/XIB_GPI0_0UTPUT_INIT0x0000/#< 32位,配置GPIO輸入引腳,兩位一對的域用于定義每一 GPIO引腳。 */#define XIB_GPIO_INPUT_TYPE0x05555555/** <語音和數(shù)據(jù)緩沖區(qū)具有相同的長度(真,假)*/#define XIB_VOICE_EQ_DATA_BUFFER TRUE
權(quán)利要求
一種游戲系統(tǒng)或外設(shè)(142)包括無線協(xié)議處理器和串行外設(shè)接口(SPI)鏈路,包括被配置為通過SPI鏈路提供全雙工命令和數(shù)據(jù)消息收發(fā)協(xié)議的電路,所述協(xié)議允許形成包括頭部和可變長度有效載荷的數(shù)據(jù)分組,頭部包括命令域和長度域,長度域表示所述可變長度有效載荷的大小,所述長度域取決于所述命令域的內(nèi)容,且所述命令域指示應(yīng)用無關(guān)命令和應(yīng)用專用命令。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所有通過所述SPI的事務(wù)是由發(fā)送所述至少 一個數(shù)據(jù)分組至從設(shè)備的主設(shè)備來起動的,且其中,所述電路還被配置為從所述從設(shè)備接 收響應(yīng),所述響應(yīng)包括來自主設(shè)備的請求的結(jié)果、對所述命令的順從和來自先前請求的事 件的發(fā)生的指示中的至少一項。
3.如權(quán)利要求1所述的系統(tǒng),所述電路還被配置為選擇功能模式以及提供一組命令作 為所述功能模式的功能,在初始化階段期間選擇并且由產(chǎn)品類型確定所述功能。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,由主設(shè)備發(fā)送的所述應(yīng)用無關(guān)命令包括下 列各項中的至少之一無命令或響應(yīng)被發(fā)送、模式控制、語音同步設(shè)置請求、設(shè)置語音編碼類型、鏈路狀態(tài)請 求、EEPR0M讀請求、EEPR0M寫請求、啟動配置消息、收發(fā)器啟動消息請求、無線幀同步設(shè)置、 測試傳輸請求、請求無線槽調(diào)試消息、GPI0設(shè)置、GPI0讀/寫消息、主EEPR0M讀響應(yīng)、和主 EEPR0M寫響應(yīng)。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,由從設(shè)備發(fā)送的所述應(yīng)用無關(guān)命令包括下 列各項中的至少之一消息失敗、模式控制響應(yīng)、緩沖區(qū)警告、緩沖區(qū)警告清除、語音同步設(shè)置響應(yīng)、語音同步 消息、語音編碼類型響應(yīng)、鏈路狀態(tài)、EEPR0M讀響應(yīng)、EEPR0M寫響應(yīng)、啟動配置響應(yīng)、智能收 發(fā)器啟動消息、無線幀同步設(shè)置響應(yīng)、無線幀同步、測試。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括被配置為通過SPI驅(qū)動程序提供對無 線協(xié)議處理器的訪問的電路,所述被配置為提供對無線協(xié)議處理器的訪問的電路還包括用 于通過所述無線鏈路發(fā)送和接收固定大小的數(shù)據(jù)分組的數(shù)據(jù)服務(wù)、用于通過所述無線鏈路 發(fā)送和接收語音分組的語音服務(wù)、用于配置其它服務(wù)的參數(shù)的層管理服務(wù)、用于在無線協(xié) 議處理器的空閑引腳上執(zhí)行面向位的輸入/輸出的GPI0服務(wù)、以及用于提供對所述無線協(xié) 議處理器的產(chǎn)品測試接口進行訪問的產(chǎn)品測試服務(wù)。
7.—種通過串行外設(shè)接口鏈路提供全雙工命令和數(shù)據(jù)消息收發(fā)協(xié)議的方法,包括形成至少一個包括16位的頭部和可變長度有效載荷的數(shù)據(jù)分組,頭部包括命令字節(jié)和長度字節(jié),長度域表示所述可變長度有效載荷的大小,其中,所述長度域取決于所述命令 域的內(nèi)容且所述命令域指示包括應(yīng)用無關(guān)命令或者應(yīng)用專用命令的命令;通過發(fā)送所述至少一個數(shù)據(jù)分組至從設(shè)備來啟動事務(wù);發(fā)送對所述至少一個數(shù)據(jù)分組的響應(yīng)。
8.如權(quán)利要求8所述的方法,其特征在于,所有事務(wù)是由發(fā)送所述至少一個數(shù)據(jù)分組 的主設(shè)備啟動的,且其中,所述響應(yīng)包括來自主設(shè)備的請求的結(jié)果、對所述命令的順從和來 自先前請求的事件的發(fā)生的指示中的至少一項。
9.如權(quán)利要求7所述的方法,其特征在于,還包括選擇功能模式并且提供一組命令作 為所述功能模式的功能,其中所述功能模式是在初始化階段期間被選擇并且由產(chǎn)品類型來確定。
10.如權(quán)利要求7所述的方法,其特征在于,由主設(shè)備發(fā)送的所述應(yīng)用無關(guān)命令包括下 列各項中的至少之一無命令或響應(yīng)被發(fā)送、模式控制、語音同步設(shè)置請求、設(shè)置語音編碼類型、鏈路狀態(tài)請 求、EEPR0M讀請求、EEPR0M寫請求、啟動配置消息、收發(fā)器啟動消息請求、無線幀同步設(shè)置、 測試傳輸請求、請求無線槽調(diào)試消息、GPI0設(shè)置、GPI0讀/寫消息、主EEPR0M讀響應(yīng)、和主 EEPR0M寫響應(yīng)。
11.如權(quán)利要求7所述的方法,其特征在于,由從設(shè)備發(fā)送的所述應(yīng)用無關(guān)命令包括下 列各項中的至少之一消息失敗、模式控制響應(yīng)、緩沖區(qū)警告、緩沖區(qū)警告清除、語音同步設(shè)置響應(yīng)、語音同步 消息、語音編碼類型響應(yīng)、鏈路狀態(tài)、EEPR0M讀響應(yīng)、EEPR0M寫響應(yīng)、啟動配置響應(yīng)、智能收 發(fā)器啟動消息、無線幀同步設(shè)置響應(yīng)、無線幀同步、測試傳輸響應(yīng)、GPI0設(shè)置響應(yīng)/狀態(tài)、和 GPI0狀態(tài)/響應(yīng)消息。
12.一種使用應(yīng)用編程接口(API)提供對無線協(xié)議處理器的訪問的方法,包括通過串行外設(shè)接口(SPI)驅(qū)動程序與所述無線協(xié)議處理器通信;在應(yīng)用與所述無線協(xié)議處理器之間同步電源模式和功能狀態(tài);以及協(xié)調(diào)所述應(yīng)用的無線數(shù)據(jù)和語音傳輸功能。
13.如權(quán)利要求12所述的方法,其特征在于,所述API被配置為使用SPI驅(qū)動程序通過 SPI提供與無線協(xié)議處理器的通信,簡化無線協(xié)議處理器的設(shè)置,在應(yīng)用與無線協(xié)議處理器 之間同步電源模式和功能狀態(tài),提供應(yīng)用的無線數(shù)據(jù)和語音傳輸功能的框架,以及支持對 應(yīng)用與無線協(xié)議處理器的通信的調(diào)試。
14.如權(quán)利要求12所述的訪求,其特征在于,還包括提供用于通過無線鏈路發(fā)送和接 收固定大小的數(shù)據(jù)分組的數(shù)據(jù)服務(wù)、用于通過所述無線鏈路發(fā)送和接收語音分組的語音服 務(wù)、用于配置其它服務(wù)的參數(shù)的層管理服務(wù)、以及用于在無線協(xié)議處理器的空閑引腳上執(zhí) 行面向位的輸出輸出的GPI0服務(wù)。
15.如權(quán)利要求12所述的方法,其特征在于,所述數(shù)據(jù)服務(wù)還包括服務(wù)原語,所述服務(wù) 原語還包括請求原語、指示原語、確認原語、和響應(yīng)原語。
全文摘要
在包含無線協(xié)議棧的物理(PHY)和媒體訪問控制(MAC)層的智能收發(fā)器設(shè)備中實現(xiàn)無線協(xié)議。在各種實施例中,使用基于串行外設(shè)接口(SPI)的設(shè)計。公開了可用于向和從智能收發(fā)器提供控制和數(shù)據(jù)傳送的協(xié)議的實施例。具體地,公開了協(xié)議、命令和響應(yīng)的示例性格式。在另一實施例中,公開了一種應(yīng)用編程接口(API)。API提供可用于向和從該系統(tǒng)和智能收發(fā)器設(shè)備建立、維護和傳送數(shù)據(jù)的硬件無關(guān)服務(wù)。具體地,公開了一組示例性和非限制性的服務(wù)、功能調(diào)用、配置方法、事件和參數(shù)。
文檔編號G06F13/00GK101874241SQ200880118673
公開日2010年10月27日 申請日期2008年11月14日 優(yōu)先權(quán)日2007年11月27日
發(fā)明者D·W·盧梭, D·古姆利希, G·R·史密斯, U·帕克多夫 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
阿荣旗| 大同市| 东源县| 浦县| 竹北市| 庆元县| 乾安县| 琼结县| 玉环县| 化德县| 湛江市| 永嘉县| 密山市| 石柱| 隆回县| 松桃| 同江市| 新巴尔虎右旗| 叶城县| 南平市| 县级市| 太湖县| 安远县| 祁东县| 左云县| 龙泉市| 台安县| 南陵县| 雷山县| 孝感市| 荆州市| 广安市| 深水埗区| 七台河市| 南雄市| 富平县| 江阴市| 武定县| 银川市| 清新县| 图们市|