国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      單線總線系統(tǒng)的制作方法

      文檔序號:6440374閱讀:349來源:國知局
      專利名稱:單線總線系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本公開大體涉及總線系統(tǒng),更具體地,涉及單線總線系統(tǒng)。
      背景技術(shù)
      在計(jì)算機(jī)或處理器架構(gòu)中,總線是在計(jì)算機(jī)內(nèi)的計(jì)算機(jī)組件之間或在計(jì)算機(jī)之間傳送數(shù)據(jù)的子系統(tǒng)??偩€架構(gòu)也用于多個設(shè)備的公共數(shù)據(jù)信令路徑,而不是需要通信的每一個設(shè)備組之間的單獨(dú)連接。換言之,總線結(jié)構(gòu)可用于使一個或多個從屬設(shè)備與一個或多個主控設(shè)備進(jìn)行通信。

      發(fā)明內(nèi)容
      下面描述一種單總線架構(gòu)作為通過單線進(jìn)行通信的系統(tǒng),該單總線架構(gòu)包括這一傳輸介質(zhì)上的同步、控制、數(shù)據(jù)、時鐘和電能??偩€可以用于管腳或?qū)Ь€數(shù)目受限的操作或期望相對于抗擾度的高可靠性的操作。優(yōu)選地,本公開的總線允許多個外部設(shè)備的連續(xù)操作,并且所有設(shè)備通過同一個時鐘信號來同步。該單總線架構(gòu)可以基于連續(xù)時鐘源對導(dǎo)線、PCB布線或傳輸線進(jìn)行充電,并允許可變數(shù)目的接收機(jī)(例如,從屬設(shè)備)在指定時刻對線進(jìn)行放電,以提供通信鏈路。如果系統(tǒng)時鐘頻率較低,則可以給系統(tǒng)添加總線保持器用來保持線上的電荷。


      現(xiàn)在將參照附圖,僅作為示例來描述本公開的實(shí)施例,在附圖中圖I是便攜式電子設(shè)備的示意圖;圖2是便攜式電子設(shè)備的框圖;圖3是單線總線系統(tǒng)的示意圖;圖4a是時序圖的示意圖;圖4b是十六個時鐘周期的示意時序圖;圖4c是單個時間幀的圖示;圖4d是Y字的一部分的圖示;圖4e至4g是示例時鐘信號的示意;圖5是時序圖的示意圖;圖6是接口控制寄存器的不意圖;圖7是IRQ掩碼的示意圖;圖8是狀態(tài)寄存器的示意圖;圖9是如何傳送同步字的示意圖;圖IOa是查驗(yàn)(ping)操作中X字的示意圖;圖IOb是ping操作中Y字的示意圖;圖Ila是用于讀取操作的X字的示意圖Ilb是用于讀取操作的Y字的示意圖;圖12a是用于寫入操作的X字的示意圖;圖12b是用于寫入操作的Y字的示意圖;以及圖13a至13e是示例時間幀的示意圖。
      具體實(shí)施例方式本公開涉及用于在至少兩個設(shè)備(例如主控設(shè)備和從屬設(shè)備)之間進(jìn)行通信的單總線架構(gòu)。主控設(shè)備與從屬設(shè)備之間的傳輸包括連續(xù)時鐘系統(tǒng)和雙向數(shù)據(jù)。在總線架構(gòu)中,通常存在用于設(shè)備發(fā)信號通知下列信息的機(jī)制它們何時需要使用總線;以及在使用總線時,使用的性質(zhì)(對于數(shù)據(jù)而言,例如,指令的傳輸、控制信息或信號的傳輸?shù)?。然而,當(dāng)大量異步處理試圖有效地共享總線時,總線控制可能變得相當(dāng)復(fù)雜。 系統(tǒng)通常需要多條導(dǎo)線和焊盤,這使得系統(tǒng)的成本較高。當(dāng)這種系統(tǒng)與外部設(shè)備一同使用時,還需要多個連接器,這產(chǎn)生了較大的空間需求。參考圖1,其中示出了便攜式電子設(shè)備(例如,移動通信設(shè)備)的示意圖。便攜式電子設(shè)備10具有機(jī)身12,機(jī)身12包括顯示屏14、鍵盤/鍵區(qū)16、一組按鈕18、以及用戶輸入設(shè)備20 (例如,軌跡墊或軌跡球20)。將理解,用戶輸入設(shè)備20表示用戶操作的指向或輸入設(shè)備,可以呈現(xiàn)為操縱桿、渦輪、滾輪、鼠標(biāo)、觸墊等,或另一按鈕。設(shè)備10還包括用于容納插孔的至少一個端口,這在圖I中未示出。參考圖2,便攜式電子設(shè)備10還包括控制器或處理器30,與集成在通信設(shè)備10內(nèi)的芯片32(例如,頭戴式耳機(jī)或耳機(jī)接口芯片)連接。芯片32包括開關(guān)矩陣和插孔配置檢測部分34,集成有端口 36,用于容納與纜線40 (例如,視頻纜線或頭戴式耳機(jī)纜線)相關(guān)聯(lián)的插孔38。開關(guān)矩陣34包括多個單獨(dú)的輸入輸出端口 42,用于利用連接在插孔38內(nèi)的相應(yīng)導(dǎo)線44來發(fā)送和接收信號。插孔38內(nèi)的導(dǎo)線或線44代表信號線,例如音頻和視頻線。各條線的集合(典型地為4條,但是其他插孔配置也是可以的)允許在便攜式電子設(shè)備與位于纜線末端的設(shè)備 (例如,頭戴式耳機(jī))之間進(jìn)行通信。在一個實(shí)施例中,線44包括一對音頻線44a和44b、 地線44c和麥克風(fēng)線44d。然而,只需要其中的一條線用于通信,并由此作為單線總線系統(tǒng) 10的通信總線。其余的線可以用于其他功能。典型地,一條線可以用作地線,而剩余的兩條線可以用于耳機(jī)輸出。在另一配置中,一條線可以用作單線總線,一條線用作地線,第三條線可以提供電能,以及留下最后一條線用于其他目的(例如,分離的時鐘線),用于傳送視頻信號或用于其他功能。在其他實(shí)施例中,單線總線可以用于設(shè)備之間(而不是便攜式電子設(shè)備與頭戴式耳機(jī)之間)的任意數(shù)字或模擬傳輸。參考圖3,其示出了單線總線系統(tǒng)的示意圖。單線總線系統(tǒng)50包括主控設(shè)備52, 例如便攜式電子設(shè)備或便攜式電子設(shè)備內(nèi)的頭戴式耳機(jī)接口芯片;以及從屬設(shè)備54,例如頭戴式耳機(jī)。盡管僅示出了一個從屬設(shè)備,應(yīng)當(dāng)理解,多個從屬設(shè)備可以連接到主控設(shè)備 52。主控設(shè)備52或從屬設(shè)備54可以包括內(nèi)置集成電路(I2C)接口 56,連接到基帶處理器或其他移動處理單元。主控設(shè)備或從屬設(shè)備還可以包括用于數(shù)字音頻數(shù)據(jù)的I2C接口。I2C 接口 56和串行接口 58的輸入或輸入信號60可以包括外部時鐘60a(EXT CLK)、I2C時鐘 60b (I2C CLK)和I2C數(shù)據(jù)信號60c (I2C DAT),但不局限于此。低速串行接口 58的輸出經(jīng)由纜線62 (例如,同軸電纜)連接到從屬設(shè)備54。如上所述,纜線62內(nèi)的導(dǎo)線64之一用于從屬設(shè)備54與主控設(shè)備52之間的通信,并且可以看作單線總線。本公開的一個優(yōu)點(diǎn)在于利用這個架構(gòu),單線總線可以組合多個功能,包括在單個總線周期中傳輸時鐘和數(shù)據(jù)二者,但不局限于此。在操作中,I2C接口 56獲取數(shù)據(jù),并通過指定的單線64將數(shù)據(jù)發(fā)送至從屬設(shè)備54。在其他實(shí)施例中,單線總線可以經(jīng)由到基帶處理器或其他處理單元的連接來控制。主控設(shè)備52產(chǎn)生成幀信息,以允許從屬設(shè)備54或多個從屬設(shè)備與單線總線或通信總線64同步。在一個實(shí)施例中,幀長度由8位寄存器確定, 該8位寄存器設(shè)置了命令數(shù)據(jù)的每個塊的起始之間的分隔距離。在另一實(shí)施例中,測量單位是半字節(jié),等于4比特。最小幀長度由命令模型確定,并且在一個實(shí)施例中,最小幀長度可以是48比特,其中有28個半字節(jié)的缺省同步分隔值,從而使得幀長度為384比特。在操作中,通過單線總線64在主控設(shè)備52與從屬設(shè)備54之間傳送同步信號 (sync)、信息的控制信號、數(shù)據(jù)、時鐘信號和電能。時鐘信號可以用作內(nèi)部電路(例如Σ-Δ 轉(zhuǎn)換器)的采樣時鐘,或者可以用于復(fù)雜邏輯電路的連續(xù)操作。該系統(tǒng)的一個優(yōu)點(diǎn)在于,可以減小供單線總線通信使用的組件的尺寸。例如,如果在圖2的便攜式電子設(shè)備中實(shí)現(xiàn),則本公開的單線總線允許通過單線傳送時鐘信號和數(shù)據(jù),這減小了芯片32中需要被占用的管腳的數(shù)目,從而使得其他管腳端口 42可以用于其他功能,或者減小總管腳數(shù)、硅面積或芯片成本。在一個實(shí)施例中,總線可以利用低-高-浮動的周期模式來實(shí)現(xiàn),但是備選地可以實(shí)現(xiàn)為高-低-浮動模式。該浮動時段用于信令,而低-高(或高-低)時段用于傳送電能以及用于時鐘同步。由于總線浮動的時間段非常短,總線可以由于寄生電容而保持穩(wěn)定, 或者可以通過在系統(tǒng)內(nèi)包括總線保持器而在較長時間段內(nèi)保持穩(wěn)定。因此,如果靜態(tài)卸載或加載高阻抗,則可以認(rèn)為電荷以及由此總線上的電壓是穩(wěn)定的。在給定實(shí)現(xiàn)中,雖然可以利用延遲鎖定環(huán)(DLL)或固定延遲值電路使用受控延遲來將外部設(shè)備同步至總線,但也可以使用低-高沿或高-低沿觸發(fā)的鎖相環(huán)(PLL)來進(jìn)行同步。延遲單元可以包括兩個電容器,這兩個電容器由固定電流交流地充電,然后使用電容器上的充電電壓來確定應(yīng)對總線進(jìn)行激活和采樣的點(diǎn)。這兩個電容器可以從一個固定時鐘沿到第二固定時鐘沿充電,并在開始這個周期之前放電。在一個實(shí)施例中,應(yīng)當(dāng)觀測到最小總線電容和最小時鐘頻率(即,足夠高),以便唯一地定義在浮動或三態(tài)時段期間對總線狀態(tài)的讀取。如果該總線系統(tǒng)在印刷電路板上實(shí)現(xiàn),則可以使用較小電容器來提供大量電荷,以避免數(shù)據(jù)差錯。在這種情況下,需要小而有限的總線電容,或備選地利用總線保持器(例如,使用兩個背靠背相連的反相器)來實(shí)現(xiàn)小而有限的電容,以保持穩(wěn)定的總線值??梢赃x擇這種方法用于總線的低頻操作,其中較小的泄漏電流可能慢慢地釋放總線上剩下的所有電荷,但是總線保持器將使值保持穩(wěn)定。該總線保持器一般在主控設(shè)備上實(shí)現(xiàn),用以限制與其操作相關(guān)聯(lián)的功率效率的損失,但是為了數(shù)據(jù)完整性也可以在從屬設(shè)備中實(shí)現(xiàn)。此外,如果從屬設(shè)備或主控設(shè)備想要發(fā)信號通知邏輯0,則該設(shè)備將使總線處于與之前的狀態(tài)(即浮動狀態(tài))相同的狀態(tài),并使總線上具有相同的值,這將在下面進(jìn)行討論。 利用本公開的一個優(yōu)點(diǎn),當(dāng)多個設(shè)備試圖同時通過總線發(fā)信號通知或通信時,該總線結(jié)構(gòu)減少或避免總線競爭、或擁塞,這是因?yàn)橐坏┛偩€已經(jīng)放電,則后續(xù)設(shè)備檢測不到該總線的放電并且不會出現(xiàn)總線沖突。參考圖4a,其示出了主控設(shè)備與從屬設(shè)備之間的通信或通信協(xié)議的時序圖。在該圖中,示出了單個時鐘周期。在時鐘周期開始時,總線上的信號較低,然后主控設(shè)備將其拉高。在該時間周期期間的某一點(diǎn)處,將該信號拉低或放電,以便為下一個時鐘周期做準(zhǔn)備。 在不需要傳送信息的時段或時鐘周期期間,可以通過將時鐘信號設(shè)置為恒定高來使得總線變得空閑。備選地,總線上的信號可以維持為低,然后為了發(fā)信號通知從屬設(shè)備想要與主控設(shè)備通信,或者為了通過總線傳送數(shù)據(jù),將該信號拉高。在一個時鐘周期期間,在主控設(shè)備與從屬設(shè)備之間傳送一個比特。在時鐘信號被拉高的時刻與時鐘周期的結(jié)尾之間,存在三態(tài)區(qū)域,在該區(qū)域中,信號可以由主控設(shè)備或從屬設(shè)備拉低。在一個實(shí)施例中,如果時鐘信號由主控設(shè)備拉低,則主控設(shè)備發(fā)信號通知邏輯“1”,并且下一個時鐘周期開始。如果時鐘信號由從屬設(shè)備拉低,則是從屬設(shè)備發(fā)信號通知邏輯“I”。這將在下面利用總線通信的特定示例來詳細(xì)描述。在一個示例操作模式下,在16個時鐘周期上,主控設(shè)備在總線上傳送諸如同步字之類的信息。如圖4b示意性所示,其示出了主控設(shè)備在單線上傳送同步字 111111111101100的示例時序圖。因此,對于連接到總線的任意從屬設(shè)備,這些設(shè)備可以經(jīng)由該同步字鎖定到總線上,以使得其內(nèi)部狀態(tài)機(jī)以及進(jìn)而定時與主控設(shè)備同步。參考圖5,利用圖4a的通信協(xié)議示出了從屬設(shè)備寫入“0101”的時序圖的示意圖。 通常,按照4個時間間隔對總線進(jìn)行時間復(fù)用。在操作中,總線在第一四分之一時鐘周期處于低有效(從前一時鐘周期),然后主控設(shè)備通常在第二四分之一時鐘周期將其驅(qū)動到高有效。這一低-高轉(zhuǎn)換可以用作連續(xù)采樣時鐘信號。然后,在該時鐘周期的剩余部分使得該總線處于浮動狀態(tài),除非從屬設(shè)備54或主控設(shè)備52為了發(fā)信號通知“I”而將總線拉低。 這典型地發(fā)生在后半個時鐘周期,以使得該總線在該時鐘周期的結(jié)尾是完全固定的。在時鐘周期的結(jié)尾附近(在主控設(shè)備為了開始下一個時鐘周期而開始將總線驅(qū)動為低之前或同時),對總線值進(jìn)行采樣。在一個實(shí)施例中,前半個時鐘周期可以用于時鐘信號,而后半個時鐘周期可以用于數(shù)據(jù)傳輸。然而,時鐘周期的其他劃分也是可以的,例如,67%用于時鐘以及33%用于數(shù)據(jù)傳輸。在圖5的示例中,在時鐘周期開始處,總線初始處于低有效。在特定時間段之后, 由主控設(shè)備將總線驅(qū)動為高有效。在從屬設(shè)備想要傳送被視為高有效的“O”時,從屬設(shè)備不對總線進(jìn)行任何動作。然后,在主控設(shè)備在下一個時鐘周期之前將總線驅(qū)動為低有效之前,由主控設(shè)備和從屬設(shè)備讀取“O”值。在第二時鐘周期期間,主控設(shè)備在特定時間段之后將總線驅(qū)動為高有效。在從屬設(shè)備想要傳送“I”時,從屬設(shè)備將總線驅(qū)動或拉至低有效,然后由主控設(shè)備和從屬設(shè)備讀取該值。當(dāng)總線為低有效時,主控設(shè)備不需要將總線驅(qū)動為低有效(盡管如圖5所示,主控設(shè)備可以執(zhí)行該功能)。在第三時鐘周期中,在特定時間段之后,主控設(shè)備將總線驅(qū)動為高有效。當(dāng)從屬設(shè)備想要傳送“I”時,從屬設(shè)備將總線驅(qū)動或拉至低有效,然后由主控設(shè)備和從屬設(shè)備讀取該值。在第四時鐘周期的起始處,總線處于低有效,并在特定時間段之后由主控設(shè)備將該總線驅(qū)動為高有效。當(dāng)從屬設(shè)備想要傳送“O”時, 不對總線進(jìn)行任何動作,直到該值被讀取,然后主控設(shè)備將總線驅(qū)動為低有效,以為下一個時鐘周期做準(zhǔn)備。主控設(shè)備在特定時間段之后將總線拉低,以使得主控設(shè)備或從屬設(shè)備不會采樣到不正確的數(shù)據(jù)。當(dāng)主控設(shè)備將總線拉高時,從屬設(shè)備需要浮動的輸出。當(dāng)主控設(shè)備或從屬設(shè)備進(jìn)入三態(tài)時,這由上部(高)和下部(低)電平之間的虛線表示(即便實(shí)際電壓將由被寫入總線的先前值確定)。在優(yōu)選實(shí)施例中,三態(tài)期間的輸出電壓由總線或線的電荷和寄生負(fù)載阻抗確定。在一些場景中,從屬設(shè)備可能需要激活數(shù)據(jù)線(或總線)。為了以特定時間間隔激活總線,可以經(jīng)由鎖相環(huán)(PLL)、動態(tài)鎖定環(huán)路(DLL)或延遲電路來實(shí)現(xiàn)本地時鐘。由于主控設(shè)備用于控制定時,因此主控設(shè)備上不需要模擬受控延遲。在通過在查驗(yàn)(ping)操作期間將信號拉低來指示從屬設(shè)備想要與主控設(shè)備進(jìn)行通信之后,可以再經(jīng)由讀取或?qū)懭氩僮髟趶膶僭O(shè)備與主控設(shè)備之間傳送數(shù)據(jù)。主控設(shè)備也可以主動發(fā)起讀取或?qū)懭氩僮?。為了發(fā)起通信,主控設(shè)備和從屬設(shè)備需要同步。在當(dāng)前實(shí)施例中,在16比特的單個分組或時鐘周期中傳送控制字,例如,同步字、X字和Y字。如圖4c示意性示出的,其示出了單個時間幀。主控設(shè)備與從屬設(shè)備之間的通信發(fā)生在時間幀中。主控設(shè)備傳送同步字使得物理上連接到總線的從屬設(shè)備之一能夠被鎖定用于與主控設(shè)備進(jìn)行通信。根據(jù)應(yīng)用或總線的使用(或者用于音頻傳輸,或者用于比特流傳輸),可以使用不同的同步字。選擇同步字的固定部分,以使得該固定部分是音頻或比特流中不常出現(xiàn)的比特模式,從而不會影響其用作同步字。作為示例,當(dāng)總線用于音頻傳輸時, 音頻同步字的固定部分可以是0xB25(十六進(jìn)制),以及當(dāng)總線用于比特流傳輸時,比特流同步字的固定部分可以是OxFFE。參考圖13a至13e,其中示出了各個幀結(jié)構(gòu)的示例。圖13a是命令分隔為O個比特的幀結(jié)構(gòu)。圖13b是命令分隔為84個比特的幀結(jié)構(gòu)。圖13c是命令分隔為112個比特的幀結(jié)構(gòu)。圖13d是3個比特流的比特交織處理類型的幀結(jié)構(gòu),以及圖13e是7個比特流的比特交織處理類型的幀結(jié)構(gòu)。在一個示例中,幀長度為384比特長,然而將理解,幀長度可以更短或更長,并且可以與總線所操作的時鐘頻率或過采樣率更適于64以外的其他數(shù)的時鐘頻率相關(guān)聯(lián)。例如,在使用(移動系統(tǒng)中通常使用的)19. 2MHz的時鐘頻率時,可以有利地使用50或100的過采樣率,因?yàn)檫@允許支持48kHz的采樣率,而不需要采樣率轉(zhuǎn)換方法。在這種情況下,可以使用400的幀長度??梢越?jīng)由I2C接口,通過另一控制接口、或作為與數(shù)字信號處理器(DSP)或微處理器單元的連接的一部分來控制主控設(shè)備,這將提供使得主控設(shè)備Ping或執(zhí)行讀或?qū)懖僮鞯谋匾畔?。主控設(shè)備還產(chǎn)生將外部設(shè)備同步到總線所必需的成幀信息。在離開空閑操作之后,接口應(yīng)進(jìn)入Ping操作,這是因?yàn)樵诘綦娭髲膶僭O(shè)備沒有鎖定到總線。在同步字和X字的傳送(下面將詳細(xì)描述其操作)之間,從屬設(shè)備或主控設(shè)備可以拾起(pick up)總線以傳送隨機(jī)數(shù)據(jù)或信息。該信息包括比特流或音頻數(shù)據(jù),但不局限于此。X字的傳輸允許主控設(shè)備和從屬設(shè)備可以確定是否要執(zhí)行任意特定功能,或者確定是否已經(jīng)設(shè)置了任何中斷。在傳送了X字(假定沒有設(shè)置任何中斷)之后,可以通過總線傳送其他數(shù)據(jù),例如音頻數(shù)據(jù)。然后傳送Y字,Y字進(jìn)一步概述了功能以及主控設(shè)備與從屬設(shè)備之間用以確定總線上或者從屬設(shè)備是否存在差錯的其他信息。P ing和讀或?qū)懨羁梢圆怀霈F(xiàn)在同一個幀中,因?yàn)槊恳粋€幀由三個不同的功能定義。所有幀都從同步字開始,隨后是X字,然后是Y字。在命令字之間,根據(jù)使用場景,可能存在分配用于數(shù)據(jù)傳輸?shù)目臻e空間??臻e空間的長度由同步分隔寄存器定義。X或Y字的傳輸可能導(dǎo)致產(chǎn)生ping操作、命令數(shù)據(jù)讀取或命令數(shù)據(jù)寫入。在一個實(shí)施例中,如果命令是命令數(shù)據(jù)讀取,則從與主控設(shè)備對齊的從屬設(shè)備中讀取16比特字, 以及如果命令是命令數(shù)據(jù)寫入,則向與主控設(shè)備對齊的從屬設(shè)備寫入16比特字。在一個實(shí)施例的操作中,當(dāng)產(chǎn)生ping命令時,將分別如圖IOa和IOb所示的X和Y 命令字(或寄存器)傳送至單條總線。如果從屬設(shè)備想要請求中斷,則將“I”或高邏輯電平寫入X15比特,以指示該中斷。這可以用于延遲讀取或?qū)懭氩僮?,并在主控設(shè)備能夠發(fā)信號通知其當(dāng)前操作之前被寫入。如果X14寄存器等于“1”,則發(fā)起“ping”操作。該比特由主控設(shè)備寫入。Ping操作在下列情況下出現(xiàn)沒有讀取或?qū)懭朊钤趫?zhí)行;或者X15的值=I以及X15 DELAY B5(IRQ 掩碼)的值=1,即,禁用中斷掩碼或者未決的輸入/輸出操作由于識別出的從屬中斷而被延遲。X字的比特X13-X12在ping操作期間等于“11”,并且該字段的任意其他值被保留用于未來擴(kuò)展。如果所讀取的值不是“11”,則應(yīng)忽略命令幀的內(nèi)容(X和Y值)。ST13:ST0 比特應(yīng)由任意外部設(shè)備設(shè)置為指定狀態(tài),并且位于χο-ll和Y0-15比特中。每一個設(shè)備可以利用三個不同的狀態(tài)等級進(jìn)行響應(yīng),或者可以選擇完全不進(jìn)行響應(yīng)。這些比特可以基于中斷掩碼寄存器的設(shè)置而產(chǎn)生中斷。除非主控設(shè)備(頭戴式耳機(jī)芯片)已經(jīng)激活了讀取或?qū)懭朊?,并且正在處理該命令,否則該ping命令始終是有效的。Ping命令是確定連接到總線的設(shè)備的狀態(tài)的通用命令。為了與從屬設(shè)備進(jìn)行通信,主控設(shè)備傳送從屬設(shè)備(或多個從屬設(shè)備)可以用于與主控設(shè)備同步其內(nèi)部定時或時鐘的同步字。在一個實(shí)施例中,同步字包括12比特常數(shù)和4比特偽隨機(jī)值或寄存器值。從屬設(shè)備使用該字的常數(shù)部分來降低似然性,避免或消除幀內(nèi)的錯誤同步字或位置。例如,其他從屬設(shè)備可以通過單線總線來傳送數(shù)據(jù),該數(shù)據(jù)看起來是同步字,但是由于它不是由主控設(shè)備傳送的,因此它們實(shí)際上是錯誤同步字,并且應(yīng)該被未連接的從屬設(shè)備所忽略。偽隨機(jī)寄存器還用于驗(yàn)證幀的起始位置。這允許更快的時間鎖定(time-to-lock),并降低從屬設(shè)備鎖定于總線上的隨機(jī)數(shù)據(jù)所產(chǎn)生的錯誤單字的可能性。典型地,從屬設(shè)備可以在鎖定到總線之前多次驗(yàn)證偽隨機(jī)模型。一旦從屬設(shè)備連接到總線,可以通過總線傳送各種數(shù)據(jù)(例如,音頻數(shù)據(jù)或比特流傳輸)。將同步字和X字的傳輸之間的時間段設(shè)置為特定值,并且在一個實(shí)施例中設(shè)置為 4比特或時鐘信號的倍數(shù),最大為4*255或1020個時鐘信號。在傳送X字時,每個已連接的從屬設(shè)備可以通過查看X字來確定正在執(zhí)行的操作的類型,例如讀取或?qū)懭?。主控設(shè)備可以通過檢查X字的比特15來確定是否有任意一個從屬設(shè)備已經(jīng)發(fā)起了中斷。如果存在差錯或者如果從屬設(shè)備之一需要協(xié)助或者不是以期望的方式進(jìn)行操作或者具有重要的狀態(tài)消息要發(fā)送,則可以發(fā)信號通知中斷。X字代表時間幀中的控制字,并且確定是否有從屬設(shè)備正在等待中斷請求。X字的比特15或X15也確定用于讀取或?qū)懭霊?yīng)用的動作,并且不影響ping操作正在進(jìn)行的進(jìn)程。 該比特也可以作為掩碼,以使得其不會阻礙總線業(yè)務(wù)量。如果尚未設(shè)置X15比特,則主控設(shè)備和已鎖定的從屬設(shè)備從X字中讀取信息,以確定總線上是否有任何動作,或者是否有任何動作在主控設(shè)備與特定從屬設(shè)備之間的總線上執(zhí)行。如果已經(jīng)設(shè)置了 X15比特,并且已經(jīng)檢測并確認(rèn)了中斷,則由主控設(shè)備基于從I2C 傳送(I2C transfer)接收到的數(shù)據(jù)來傳送信號,如狀態(tài)或ping請求、讀取命令或?qū)懭朊睢?然后,主控設(shè)備延遲當(dāng)前操作,以確定是哪個從屬設(shè)備發(fā)信號通知了該中斷,并確定需要解決的問題。該信息可以在Y字中發(fā)現(xiàn),Y字在特定時間段(相當(dāng)于同步字與X字之間的時間段)之后傳送。當(dāng)發(fā)出數(shù)據(jù)讀取命令時,將分別如圖IIa和IIb所示的X和Y命令字(或寄存器) 傳送至單條總線。如果從屬設(shè)備需要請求通信中斷,則可以通過激活X15比特或通過設(shè)置中斷請求來延遲讀取操作。如果沒有從屬設(shè)備激活該比特(‘I’表示激活),或者如果禁用了 IRQ掩碼,則數(shù)據(jù)讀取命令將繼續(xù)。如果激活了延遲,則請求了中斷的從屬設(shè)備具有等于“10”或 “11”的狀態(tài)等級,并且設(shè)置了相應(yīng)的IRQ掩碼比特。在延遲期間,該從屬設(shè)備應(yīng)將其狀態(tài)寄存器的最高位的內(nèi)容復(fù)制到總線上。如果沒有中斷,則將X14比特設(shè)置為“0”,表示讀取或?qū)懭爰拇嫫鞑僮?,并且將X13 比特設(shè)置為“I”表示讀取操作。為了確認(rèn)是否已經(jīng)正確接收到消息,由從屬設(shè)備寫入確認(rèn)消息比特。當(dāng)在該幀中傳送或傳達(dá)命令字期間在總線上沒有檢測到差錯時,將該比特的值設(shè)置為邏輯高,以使得從屬設(shè)備存在,并且具有與主控設(shè)備已經(jīng)寫入的相同的地址。主控設(shè)備識別與其進(jìn)行通信的從屬設(shè)備,并因此可以有規(guī)律地確認(rèn)該從屬設(shè)備的地址,以降低似然性或差錯,如果出現(xiàn)了差錯(從總線讀取的比特不同于所期望的),則主控設(shè)備報(bào)告總線差錯。這避免了任意設(shè)備無意寫入該總線,并且避免了總線差錯。如果在讀取應(yīng)用期間數(shù)據(jù)傳輸發(fā)生損壞,則從屬設(shè)備應(yīng)發(fā)信號通知邏輯O。此外,從屬設(shè)備設(shè)置確認(rèn)比特,因?yàn)樗俏ㄒ恢朗欠癯霈F(xiàn)差錯 (例如,奇偶校驗(yàn)比特錯誤或者出現(xiàn)了總線差錯)的設(shè)備。如果沒有從屬設(shè)備連接到總線, 則將借助于總線信令方案來從總線返回邏輯0,以向主控設(shè)備指出問題。當(dāng)發(fā)出數(shù)據(jù)寫入命令時,將分別如圖12a和12b所示的X和Y命令字(或寄存器) 傳送至單條總線。如果從屬設(shè)備有重要的狀態(tài)消息要發(fā)送或者已經(jīng)發(fā)送了中斷請求,則X15比特的目的是延遲寫入操作。這通過激活X15比特來完成。如果沒有從屬設(shè)備激活該比特(‘I’ 表示激活),或者如果IRQ掩碼被禁用,則數(shù)據(jù)寫入命令可以繼續(xù)。如果激活延遲,則利用與上述關(guān)于數(shù)據(jù)讀取命令所公開的方式類似的方式來對待該延遲。通過寄存器比特X14:X13 =“00”來發(fā)信號通知數(shù)據(jù)寫入命令操作的開始。Y14被定義為使得從屬設(shè)備不會用主控設(shè)備所提供的控制來強(qiáng)加數(shù)據(jù)讀取或?qū)懭朊?。此外,在已?jīng)選擇了數(shù)據(jù)讀取命令時,從屬設(shè)備可能不會強(qiáng)加進(jìn)行數(shù)據(jù)寫入命令。然而,從屬設(shè)備可以(錯誤地或故意地)將讀取或?qū)懭氩僮鞲淖優(yōu)镻ing,或?qū)懭朊罡淖優(yōu)樽x取命令。這應(yīng)當(dāng)視為總線沖突。如果將X14比特設(shè)置為“0”,則不允許從屬設(shè)備利用IRQ信息進(jìn)行應(yīng)答 (即,這表示讀取/寫入寄存器操作)。在數(shù)據(jù)寫入命令的結(jié)尾,從屬設(shè)備應(yīng)該向主控設(shè)備確認(rèn)它已經(jīng)讀取并接受了該消息。主控設(shè)備所尋址的從屬設(shè)備將該比特設(shè)置為邏輯1,以指示不存在奇偶校驗(yàn)差錯以及它已經(jīng)接受了該消息。作出響應(yīng)的從屬設(shè)備必須被鎖定到總線,并且具有與主控設(shè)備正在試圖寫入的設(shè)備相同的地址。如果已經(jīng)出現(xiàn)了總線差錯,并且由主控設(shè)備檢測到該差錯,則主控設(shè)備應(yīng)當(dāng)將總線差錯比特設(shè)置為有效的,并再次嘗試數(shù)據(jù)寫入命令。在數(shù)據(jù)被寫入至或讀取自從屬設(shè)備時,使用11個比特進(jìn)行尋址,使用4個比特選擇特定從屬設(shè)備,以及保留7個地址比特用于選擇還應(yīng)當(dāng)使用正在被寫入的從屬設(shè)備內(nèi)的哪個寄存器、其他地址以及寄存器空間。X字的最后2個比特用于寄存器讀取或?qū)懭朊?。最后的控制?Y)用于在主控設(shè)備與從屬設(shè)備之間傳送數(shù)據(jù)。在一個實(shí)施例中, 該數(shù)據(jù)可以是被寫入至或讀取自從屬設(shè)備寄存器的數(shù)據(jù)(當(dāng)沒有發(fā)信號通知中斷時)。在另一實(shí)施例中,該數(shù)據(jù)可以是來自從屬設(shè)備的中斷狀態(tài)的輪詢,以確定哪個從屬設(shè)備設(shè)置了中斷請求。數(shù)據(jù)長度是16比特,包括X寄存器的最后2個比特。Y寄存器的最后2個比特用于數(shù)據(jù)完整性。在其他實(shí)現(xiàn)中,可以使用其他數(shù)據(jù)長度。因此,如果在X15比特中沒有設(shè)置中斷,則可以輪詢Y字或Y控制字,以確定上述所列出的信息。如果利用X15比特發(fā)信號通知了中斷,并且啟用了關(guān)聯(lián)中斷掩碼比特,則主控設(shè)備利用Ping操作來輪詢從屬設(shè)備。這里,X和Y字用于確定哪一個從屬設(shè)備發(fā)信號通知該中斷。下面將關(guān)于從屬設(shè)備的狀態(tài)等級來對此進(jìn)行更詳細(xì)的描述。在X和Y字中,指定特定寄存器用于從屬設(shè)備,以使得主控設(shè)備可以快速確定特定從屬設(shè)備的狀態(tài)等級。圖 4d示出了 Y字的一部分的示意圖。為了表示從屬設(shè)備想要與主控設(shè)備進(jìn)行通信,如上面所公開的,該從屬設(shè)備可以產(chǎn)生中斷(典型地在Ping操作期間),或者可以在任意時間幀期間激活X字的X15。然后, 該從屬設(shè)備可以在Ping操作期間使用從屬地址O來向主控設(shè)備發(fā)送中斷請求(IRQ),這是因?yàn)樵摰刂方?jīng)由如圖4b (圖4b示出了連接到單線總線的5個從屬設(shè)備的狀態(tài))示意性所示的單線總線被分配給了未指派的從屬設(shè)備或基帶芯片。盡管只示出了 5個從屬設(shè)備,然而可以有任意數(shù)目的從屬設(shè)備連接到總線。從屬設(shè)備可以通過其2個比特而具有4個狀態(tài)等級,即“00”、“01”、“10”和“11”。
      “00”典型地表示從屬設(shè)備沒有鎖定到單線總線。“01”表示從屬設(shè)備已經(jīng)鎖定到總線,并且該狀態(tài)可以用于檢測從屬設(shè)備何時從總線斷開(如果有的話)。“10”表示該從屬設(shè)備鎖定到總線,但希望獲得主控設(shè)備的關(guān)注。如果IRQ掩碼是有效的,則該從屬狀態(tài)等級也將延遲讀取或?qū)懭氩僮??!?1”表示從屬設(shè)備具有需要被立即處理的緊急狀態(tài),例如設(shè)備的溫度過熱或存在嚴(yán)重的欠壓或過壓,但不局限于此。如果IRQ掩碼是有效的,則該狀態(tài)等級將延遲讀取或?qū)懭氩僮鳌R虼耍诟袦y到中斷時,主控設(shè)備輪詢Y字,以確定哪些從屬設(shè)備需要關(guān)注。在圖4d的示例中,從屬設(shè)備4的狀態(tài)等級為“10”,而從屬設(shè)備5的狀態(tài)等級為“II”。關(guān)于ping操作,以存儲在X和Y字的XlI:X0&Y15: YO寄存器中的值更新狀態(tài)寄存器。將讀取自從屬設(shè)備的最高值與從屬狀態(tài)寄存器進(jìn)行比較,并且在讀取的值高于當(dāng)前從屬狀態(tài)寄存器值的情況下更新寄存器值。利用這種方式,最需要關(guān)注的從屬設(shè)備接收到即時關(guān)注。在讀取從屬狀態(tài)寄存器時,其值不會被后續(xù)Ping操作期間的覆寫所清除。換言之, 將從屬設(shè)備5的狀態(tài)等級確定為需要即時關(guān)注,并將其狀態(tài)等級寫入狀態(tài)寄存器。在已經(jīng)完成ping操作之后,將更新從屬狀態(tài)寄存器,以反映所更新的寄存器值。圖4e至4g示出了其他時鐘信號選項(xiàng)或其他通信協(xié)議或如何通過總線來傳送邏輯高和邏輯低。在圖4e中,初始將時鐘信號拉高(如圖4a所示),然而這表示邏輯“I”信號, 以使得如果主控設(shè)備或從屬設(shè)備之一想要在時鐘周期的數(shù)據(jù)部分期間傳送邏輯“0”,則必須拉低時鐘周期。為了傳送邏輯“I”信號,使時鐘信號保持不變,直至靠近時鐘周期的結(jié)尾 (在已經(jīng)對總線進(jìn)行采樣之后)。在圖4f中,初始將時鐘信號拉低,以指示時鐘信號的前沿。在本實(shí)施例中,為了主控設(shè)備或從屬設(shè)備之一中的一個在時鐘周期的數(shù)據(jù)部分期間發(fā)信號通知邏輯“1”,需要該設(shè)備將時鐘信號拉高。如果主控設(shè)備或從屬設(shè)備之一想要傳送邏輯“0”,則使時鐘信號保持不變,直至靠近時鐘周期的結(jié)尾(在已經(jīng)對總線進(jìn)行采樣之后)。在圖4g中,初始將時鐘信號拉低,以指示時鐘信號的前沿。在本實(shí)施例中,為了主控設(shè)備或從屬設(shè)備之一中的一個在時鐘周期的數(shù)據(jù)部分期間發(fā)信號通知邏輯“0”,需要該設(shè)備將時鐘信號拉高。如果主控設(shè)備或從屬設(shè)備之一想要傳送邏輯“ 1”,則使時鐘信號保持不變,直至靠近時鐘周期的結(jié)尾(在已經(jīng)對總線進(jìn)行采樣之后)。當(dāng)從屬設(shè)備鎖定至總線時,主控設(shè)備與從屬設(shè)備進(jìn)行通信,以獲取從屬設(shè)備的地址。初始地,所有從屬設(shè)備以地址O開始,因此如果存在3個從屬設(shè)備試圖鎖定至總線,則初始給每一個均賦予O值。然而,將理解,這些設(shè)備中的每一個都將具有與從屬設(shè)備相關(guān)聯(lián)的內(nèi)部標(biāo)識或唯一名稱。典型地,從屬設(shè)備的唯一名稱是32比特或更多。在由主控設(shè)備發(fā)出PING命令之后,如果從屬設(shè)備想要鎖定到總線,則用條目 01 (指示希望鎖定至總線的至少一個從屬設(shè)備的存在)來填充X字的末尾。一旦這被主控設(shè)備識別出,則主控設(shè)備執(zhí)行對試圖連接到總線的設(shè)備的名稱的讀取,以便給已連接的從屬設(shè)備賦予地址。將理解,如果當(dāng)前沒有從屬設(shè)備連接到總線,則主控設(shè)備繼續(xù)完成該幀, 然后在下一個幀周期發(fā)出另外的ping。如果存在至少一個從屬設(shè)備,則主控設(shè)備讀取期望被賦予唯一地址的所有從屬設(shè)備的唯一名稱的第一比特。然后,取回每一個從屬設(shè)備的唯一名稱的第一比特。如果它們是相同的,即全部為“ 1”,或者全部為“0”,則主控設(shè)備繼續(xù)或輪詢從屬設(shè)備名稱的下一比特。 如果存在“O”和“I”的組合,則由于總線的動態(tài)特性,主控設(shè)備在確定總線值時僅繼續(xù)具有 “I”的唯一名稱。因此,主控設(shè)備將“按字母順序”查看唯一名稱,其中給數(shù)字名稱值較高的從屬設(shè)備賦予的地址在給數(shù)字名稱值較低的從屬設(shè)備賦予的地址之前?;诙M(jìn)制搜索, 按照排序確定從屬設(shè)備名稱的數(shù)值,將值讀取為二進(jìn)制數(shù)。如果僅存在單個“I”值,則主控設(shè)備將與該唯一名稱相關(guān)聯(lián)的從屬設(shè)備指派為第一設(shè)備,并給其賦予唯一從屬值1-13,然后返回至總線通信,其中該主控設(shè)備將在后續(xù)幀期間遇到X字中的另一 01,因此以類似的方式給下一個從屬設(shè)備賦予與第一從屬設(shè)備不同的從屬設(shè)備地址。繼續(xù)確定給哪些從屬設(shè)備賦予從屬地址1-13,直至沒有未指派的從屬設(shè)備附著于總線。由于每一個從屬設(shè)備都具有唯一名稱,因而可能不存在主控設(shè)備不知道哪一個從屬設(shè)備與當(dāng)前設(shè)備地址相關(guān)聯(lián)的情形。在針對從屬設(shè)備的后續(xù)讀取和寫入中,將所賦予的從屬地址1-13用于標(biāo)識這些設(shè)備。 如果從屬設(shè)備發(fā)生硬件差錯,并且重置,則將從屬地址設(shè)置為缺省值O。在備選實(shí)施例中,可以逐比特發(fā)送控制字,以減小所經(jīng)歷的等待時間。圖9示出了如何傳送同步字的示意圖。在本示例中,僅示出了同步字的頭4個字母。為了使從屬設(shè)備鎖定至總線,在這種模式下檢查同步字的每第N個比特。在圖中,使用每第4個比特。其他控制字、X和Y可以利用類似的方式來傳送。通過使同步字、X字和Y字與音頻數(shù)據(jù)內(nèi)容交織,可以減小數(shù)據(jù)字所經(jīng)歷的等待時間,這是因?yàn)榭刂谱志窒抻趩蝹€比特的延遲。在這種模式下,從屬設(shè)備需要以同步符號之間的一定間隔來搜索同步符號。為了降低從屬設(shè)備的搜索引擎的復(fù)雜度,典型地使用有限數(shù)目的可變間隔,例如每個同步符號之間的4或8個比特的間隔。為了減小搜索時間,典型地重復(fù)控制符號,而其間沒有額外的間隔。在使用控制比特之間的兩個選定的間隔時,允許利用控制比特同時傳送3個比特流和7個比特流??梢钥闯?,可以在同步字傳輸之間在音頻或數(shù)據(jù)信道(顯示為1、2和3)上傳送數(shù)據(jù)。將理解,可以使用任意數(shù)目的音頻數(shù)據(jù)信道,可達(dá)控制字之間的4*255或1020個信道之多。在下面附圖中,示出了用于從屬設(shè)備或主控設(shè)備內(nèi)的總線通信的各個寄存器的示意圖。參考圖8,其示出了狀態(tài)寄存器的示意圖。在操作中,該狀態(tài)寄存器提供來自總線和控制IRQ的狀態(tài)信息,并由主控設(shè)備或從屬設(shè)備通過讀取和寫入操作來控制。該狀態(tài)寄存器包括8個比特,表示為BO至B7。將理解,狀態(tài)寄存器在被重置之后的缺省值為 “00000000”。這有助于控制主控設(shè)備與從屬設(shè)備之間的數(shù)據(jù)通信。該狀態(tài)寄存器內(nèi)的每一個比特可以由主控設(shè)備的控制器來讀取并使用。比特BO 代表幀完成(FRAME DONE)比特,比特BI代表RD比特,比特B2代表WR比特,比特B3代表附著(ATTACHMENT)比特,比特B4代表狀態(tài)O比特,比特B5代表狀態(tài)I比特,比特B6代表 IO差錯比特,以及比特B7代表總線差錯比特。更具體地,總線差錯比特(B7)表示已經(jīng)出現(xiàn)非法總線操作,并且是高有效的。當(dāng)總線上的值不同于主總線寫入操作期間的值時(例如,從屬設(shè)備與同步模型沖突),可以檢測到該條件。一旦檢測到非法總線操作,則在讀取寄存器之前保持設(shè)置。如果觀測到非法總線操作,則產(chǎn)生中斷,并啟用相應(yīng)的IRQ掩碼比特(即,設(shè)置為高)。IO差錯比特(B6)表示讀取/寫入操作期間的差錯。如果從屬設(shè)備沒有確認(rèn)讀取 /寫入操作(即,讀取/寫入命令中的確認(rèn)比特YO沒有被激活/為“I”),則將置位該比特。 該比特在讀取狀態(tài)字時重置。將該比特作為WR和RD比特的組合來計(jì)算,參見其描述。狀態(tài)I和狀態(tài)O比特給出了從附著于總線的任意設(shè)備讀取的最高狀態(tài)等級。如果任意從屬設(shè)備的狀態(tài)等級高于這兩個比特所指示的,則將在下一個Ping操作期間將其更新為該新值。這兩個比特將繼續(xù)更新為所讀取的任意更高的狀態(tài)等級,直至該寄存器被讀取。對狀態(tài)寄存器的讀取不會清除該字段,但是它將在下一Ping操作期間被更新為最高狀態(tài)等級。寄存器在每一Ping操作期間更新并在上電時重置,因此始終有效。作為示例,寄存器值在重置后為“00”,而在設(shè)備已經(jīng)附著于總線之后為“01”。然后,假設(shè)某一設(shè)備在ping 幀期間需要緊急關(guān)注為信號“11”。隨后將狀態(tài)寄存器更新為該值。在讀取了狀態(tài)寄存器之后,該值仍為“11”。假設(shè)在下一幀期間最高的設(shè)備等級為“10”。在ping操作結(jié)束時,將狀態(tài)寄存器更新為該新值(“10”)。這使得在從屬設(shè)備確認(rèn)時首先清除差錯。如果已經(jīng)啟用了中斷掩碼,并且作為從屬設(shè)備請求關(guān)注的結(jié)果已經(jīng)產(chǎn)生了中斷,則在讀取狀態(tài)寄存器時將清除IRQ線。如果從屬設(shè)備仍然請求關(guān)注,并且設(shè)置了中斷掩碼比特,則在下一 Ping 操作期間將產(chǎn)生新的中斷。在正常操作期間,對該字段的讀取將返回“01”。也就是說,一個或多個設(shè)備附著于總線,并且不需要特別服務(wù)。該字段可以用于確定是否有設(shè)備附著于總線,或利用低優(yōu)先級(狀態(tài)等級“10”)或高優(yōu)先級(狀態(tài)等級“11”)在設(shè)備之間進(jìn)行區(qū)分。如果沒有設(shè)備附著于總線,則將返回“00”。附著比特(B3)是高有效的,并且將指示從上一次ping操作開始是否有設(shè)備斷開或連接至總線。該值可以通過在Ping操作期間將來自X和Y字的設(shè)備狀態(tài)與先前值進(jìn)行比較來發(fā)現(xiàn)。如果任意設(shè)備的狀態(tài)已經(jīng)從{ “01”,“10”,“11”}變到“00”(S卩,設(shè)備已經(jīng)從總線斷開),則該信號將變?yōu)楦摺H绻麪顟B(tài)已經(jīng)從“00”變到{ “01”,“10”,“11”(即,設(shè)備已經(jīng)附著于總線),則該信號將為高。該附著比特將在設(shè)置之后保持為高(“I”),直至在被清除的那一刻讀取了狀態(tài)寄存器。在任意其他情況下,信號將保持為低。這將指示任意設(shè)備從上一次ping操作起的附著狀態(tài)的改變。在每一個ping操作期間進(jìn)行比較。通過啟用相應(yīng)的IRQ掩碼比特,可以導(dǎo)致作為設(shè)備被附著至總線或從總線分離的結(jié)果而產(chǎn)生IRQ(將外部SPARK IRQ線拉低)。該比特在重置之后的缺省值為“O”。WR比特(B2)表示未決的寫入操作,并且為高有效。寄存器寫入操作將通過I2C總線先寫入到數(shù)據(jù)寄存器然后寫入到地址寄存器開始。在更新了地址寄存器的最高位字之后,ACT_WR比特將變?yōu)楦?,并且將在下一幀開始執(zhí)行寫入寄存器操作的嘗試。如果沒有被設(shè)備中斷所延遲,寫入操作將繼續(xù),否則它將被延遲到下一幀并且再次嘗試。在寫入操作完成之后,在Y字的最后一個比特之后立即再次重置該比特。如果從屬設(shè)備沒有確認(rèn)寫入操作,則將設(shè)置ERR_WR比特,但是ACT_WR比特仍然為低。當(dāng)ACT_WR比特為高時,在其返回至低之前不應(yīng)發(fā)起新的讀取/寫入操作。RD比特(BI)表示未決的讀取操作,并且為高有效。寄存器讀取操作將通過I2C總線寫入到地址寄存器開始。在更新了地址寄存器的最高位字之后,ACT_RD比特將變?yōu)楦撸?并且將在下一幀嘗試執(zhí)行讀取寄存器操作。如果沒有被設(shè)備中斷所延遲,讀取將繼續(xù),否則它將被延遲到下一幀并且再次嘗試。在讀取操作完成之后,在Y字的最后一個比特之后立即再次重置該比特。如果從屬設(shè)備沒有確認(rèn)讀取操作,則將設(shè)置ERR_RD比特,但是ACT_RD 比特仍然為低。當(dāng)ACT_RD比特為高時,在其返回至低之前不應(yīng)發(fā)起新的讀取/寫入操作。幀完成比特(BO)表示幀已經(jīng)完成,并且為高有效。該比特被設(shè)置在幀的最后一個比特。這可以用于將操作與總線的基本定時同步。當(dāng)設(shè)備正在充電并且沒有通信是有效的時,該比特仍然有效,即幀計(jì)數(shù)器始終在內(nèi)部運(yùn)行。該比特將繼續(xù)設(shè)置,直至狀態(tài)寄存器被讀取。該比特可以用于表明Ping操作是否已完成或者用于基本定時,例如,在開始通信之前對特定數(shù)目的幀進(jìn)行計(jì)數(shù),以確保所有設(shè)備都被充電。在啟用了相應(yīng)的IRQ掩碼比特時, 將在每一幀結(jié)束時產(chǎn)生中斷。參考圖7,其示出了 IRQ掩碼寄存器的示意圖。在操作中,掩碼寄存器提供與在總線系統(tǒng)操作期間出現(xiàn)的任意差錯或事件相關(guān)的信息。該掩碼寄存器包括8個比特,表示為 BO 至 B7。狀態(tài)寄存器內(nèi)的每一個比特由主控設(shè)備或從屬設(shè)備讀取或?qū)懭搿1忍谺O代表幀完成(FRAME DONE)比特,比特BI代表RD比特,比特B2代表WR比特,比特B3代表附著比特,比特B4代表關(guān)注(ATTENTION)比特,比特B5代表X15延遲比特,比特B6代表IO差錯比特,以及比特B7代表總線差錯比特。更具體地,總線差錯比特(B7)用于啟用或禁用I2C中斷。當(dāng)被設(shè)置為高時,該比特將基于狀態(tài)寄存器中的活動總線差錯比特來啟用中斷。該中斷自身通過分離的有效低電平輸出線發(fā)信號通知,并在讀取狀態(tài)寄存器時被清除。IO差錯比特(B6)用于啟用或禁用I2C中斷。當(dāng)被設(shè)置為高時,該比特基于狀態(tài)寄存器中的有效IO差錯比特來啟用中斷(即,讀取/寫入命令中的確認(rèn)比特YO未被置位)。通過有效低電平輸出線發(fā)信號通知該中斷,并在讀取狀態(tài)寄存器時清除該中斷。X15延遲比特(B5)用于在從屬設(shè)備請求關(guān)注時啟用或禁用讀取和寫入操作的延遲。當(dāng)被設(shè)置為高時,該比特將基于在X15時隙期間從總線讀取的值來啟用X15延遲操作。 在從屬設(shè)備的狀態(tài)為“10”或“11”時,該從屬設(shè)備將激活X15以發(fā)信號通知對于關(guān)注的需求,即從屬設(shè)備應(yīng)在X15時隙期間復(fù)制其狀態(tài)寄存器的MSB。如果當(dāng)前操作是讀取或?qū)懭氩僮鳎瑒t該操作將被延遲直至下一幀,并將被Ping操作所代替。在下一個幀的起始處,將重新嘗試讀取或?qū)懭氩僮鳌o論X15比特的值如何,Ping操作將不變地繼續(xù)。如果任意設(shè)備要求關(guān)注,則通過啟用X15延遲比特,將保證至多一個幀的等待時間。在讀取設(shè)備狀態(tài)的同時,命令字之外的數(shù)據(jù)業(yè)務(wù)仍然可以繼續(xù)。如果IRQ掩碼X15比特為無效(低),則任意讀取或?qū)懭胩幚韺⒗^續(xù),而不管X15比特的值。在IRQ出現(xiàn)時,主控設(shè)備應(yīng)當(dāng)用軟件清除該比特,以免阻礙對寄存器的讀取或?qū)懭?。關(guān)注比特(B4)用于在ping操作期間基于從屬設(shè)備關(guān)注請求來啟用或禁用I2C中斷。當(dāng)被設(shè)置為高時,該比特將基于“10”或“11”的從屬狀態(tài)等級來啟用中斷。換言之,在啟用IRQ掩碼比特時,只要從屬設(shè)備請求關(guān)注,主控設(shè)備就將產(chǎn)生中斷。通過有效低電平輸出線發(fā)信號通知該中斷,并在讀取狀態(tài)寄存器時清除該中斷。如果在下一Ping操作期間從屬設(shè)備仍然請求關(guān)注,并且關(guān)注比特仍然被啟用,則將產(chǎn)生新的中斷。在出現(xiàn)IRQ時,主控設(shè)備應(yīng)當(dāng)用軟件清除該比特,以免產(chǎn)生多個中斷。附著比特(B3)用于啟用或禁用I2C中斷。當(dāng)被設(shè)置為高時,該比特將基于狀態(tài)寄存器的改變來啟用中斷。通過有效低電平輸出線發(fā)信號通知該中斷。只要STA1:STA0字段由于從屬設(shè)備附著至總線或從總線分離而改變,則產(chǎn)生中斷。這可以發(fā)生在從屬設(shè)備改變值并且已經(jīng)通過PING操作讀取該值的情況下。如果設(shè)備狀態(tài)改變并且啟用了 IRQ掩碼設(shè)備狀態(tài)比特,則產(chǎn)生中斷。在讀取狀態(tài)寄存器時清除該中斷。如果所讀取的狀態(tài)值指示需要主控設(shè)備干涉,則主控設(shè)備的控制器的正常操作是從從屬狀態(tài)寄存器讀取回設(shè)備狀態(tài)值,以發(fā)現(xiàn)中斷源。在完成之后,可以通過將寄存器控制命令寫入所涉及的從屬設(shè)備來執(zhí)行任何必要的動作。WR比特(B2)用于在完成寫入之后啟用或禁用I2C中斷。當(dāng)被設(shè)置為高時,該比特將基于有效寫入狀態(tài)的完成來啟用中斷。通過有效低電平輸出線來發(fā)信號通知該中斷。在讀取狀態(tài)寄存器時清除該中斷??梢酝ㄟ^激活另外的比特或者通過同時將ACT_RD和ACT_ WR寄存器比特均設(shè)置為有效以指示IO操作的完成,來檢測中斷源。RD比特(BI)用于在完成讀取之后啟用或禁用I2C中斷。當(dāng)被設(shè)置為高時,該比特將基于有效讀取操作的完成來啟用中斷。通過有效低電平輸出線來發(fā)信號通知該中斷。在讀取狀態(tài)寄存器時清除該中斷。最后,基于幀的完成,使用幀完成比特(BO)來啟用或禁用I2C中斷。當(dāng)被設(shè)置為高時,該比特基于內(nèi)部幀計(jì)數(shù)器的完成來啟用中斷。通過有效低電平輸出線來發(fā)信號通知該中斷,并在讀取狀態(tài)寄存器時清除該中斷。主控設(shè)備中的內(nèi)部幀計(jì)數(shù)器在充電模式期間仍運(yùn)行。本公開的一個優(yōu)點(diǎn)在于,總線相對于同時發(fā)信號通知的多個源具有魯棒性,并且對于時間約束實(shí)現(xiàn)問題確有改進(jìn),在使用開放式集電極和開放式漏極類型時,發(fā)信號通知的速率是功耗與抗擾度之間的折衷。
      本公開的上述實(shí)施例僅作為示例。在不背離所附權(quán)利要求所限定的本公開的范圍的前提下,可以實(shí)現(xiàn)具體實(shí)施例的改變、修改和變型。
      權(quán)利要求
      1.一種單線總線架構(gòu),包括單線總線;主控設(shè)備,與單線總線相連;至少一個從屬設(shè)備,與單線總線相連;通信協(xié)議,在單線總線上實(shí)現(xiàn),以實(shí)現(xiàn)所述主控設(shè)備與所述至少一個從屬設(shè)備之間的通信;其中所述單線總線在主控設(shè)備和與主控設(shè)備通信的所述至少一個從屬設(shè)備中的一個從屬設(shè)備之間、在一個時鐘周期內(nèi)傳送連續(xù)時鐘信號和雙向數(shù)據(jù)。
      2.根據(jù)權(quán)利要求I所述的單線總線架構(gòu),其中所述連續(xù)時鐘信號與所述雙向數(shù)據(jù)之間的定時是由所述時鐘周期的前沿和后沿定義的。
      3.根據(jù)權(quán)利要求2所述的單線總線架構(gòu),其中使用特有的時隙來傳送所述連續(xù)時鐘信號和所述雙向數(shù)據(jù)。
      4.根據(jù)權(quán)利要求I或3所述的單線總線架構(gòu),其中將總線信號拉高表示所述連續(xù)時鐘信號的前沿。
      5.根據(jù)權(quán)利要求4所述的單線總線架構(gòu),其中在指派給雙向數(shù)據(jù)的時隙中,將總線信號拉低表示邏輯數(shù)據(jù)值“ 1”,而使總線信號保持不變表示邏輯數(shù)據(jù)值“0” ;或者在指派給雙向數(shù)據(jù)的時隙中,將總線信號拉低表示邏輯數(shù)據(jù)值“0”,而使總線信號保持不變表示邏輯數(shù)據(jù)值“I”。
      6.根據(jù)權(quán)利要求I或3所述的單線總線架構(gòu),其中將總線信號拉低表示所述連續(xù)時鐘信號的前沿。
      7.根據(jù)權(quán)利要求6所述的單線總線架構(gòu),其中在指派給雙向數(shù)據(jù)的時隙中,將總線信號拉高表示邏輯數(shù)據(jù)值“ I ”,而使總線信號保持不變表示邏輯數(shù)據(jù)值“0” ;或者在指派給雙向數(shù)據(jù)的時隙中,將總線信號拉高表示邏輯數(shù)據(jù)值“0”,而使總線信號保持不變表示邏輯數(shù)據(jù)值“I”。
      8.根據(jù)前述任一權(quán)利要求所述的單線總線架構(gòu),其中所述至少一個從屬設(shè)備之一是頭戴式耳機(jī)。
      9.根據(jù)權(quán)利要求I所述的單線系統(tǒng),其中,所述主控設(shè)備驅(qū)動所述連續(xù)時鐘信號,并針對雙向數(shù)據(jù)時隙,使總線處于浮動或弱驅(qū)動狀態(tài)。
      10.根據(jù)前述任一權(quán)利要求所述的單線總線架構(gòu),其中數(shù)據(jù)幀包括控制字的集合。
      11.根據(jù)權(quán)利要求10所述的單線總線架構(gòu),其中所述控制字的集合包括至少一個同步字、和用于控制附著于總線的設(shè)備的字;以及優(yōu)選地,用于同步的同步字包括常數(shù)值和偽隨機(jī)部分。
      12.根據(jù)權(quán)利要求10所述的單線總線架構(gòu),其中以預(yù)定順序分別傳送控制字的比特;以及優(yōu)選地,連續(xù)傳送控制字的比特,并在控制字之間傳送音頻數(shù)據(jù)。
      13.一種單線總線架構(gòu),包括單線總線;主控設(shè)備,與單線總線相連;至少一個從屬設(shè)備,與單線總線相連;其中所述主控設(shè)備和所述至少一個從屬設(shè)備通過時間復(fù)用總線周期的集合來進(jìn)行通信,每一個總線周期包括時鐘信號部分、以及所述主控設(shè)備與所述至少一個從屬設(shè)備之間的雙向數(shù)據(jù)傳輸部分。
      14.根據(jù)權(quán)利要求13所述的單線總線架構(gòu),其中部分總線周期用于傳送連續(xù)時鐘信號,而所述總線周期的剩余部分用于雙向數(shù)據(jù)傳輸;以及優(yōu)選地,其中在特定時間段之后,所述主控設(shè)備或所述至少一個從屬設(shè)備對時鐘信號進(jìn)行放電;以及優(yōu)選地,其中在總線周期內(nèi)的特定時間段之后,所述主控設(shè)備或所述至少一個從屬設(shè)備讀取總線狀態(tài)——放電狀態(tài)或充電狀態(tài)。
      15.根據(jù)前述任一權(quán)利要求所述的單線總線,其中所述單線總線用于給從屬設(shè)備供電。
      全文摘要
      本公開提供了一種單線總線架構(gòu),包括單線總線;主控設(shè)備,與單線總線相連;至少一個從屬設(shè)備,與單線總線相連;通信協(xié)議,在單線總線上實(shí)現(xiàn),并由所述主控設(shè)備和所述至少一個從屬設(shè)備采用;其中當(dāng)所述至少一個從屬設(shè)備中的一個從屬設(shè)備希望與所述主控設(shè)備通信時,所述至少一個從屬設(shè)備中的所述一個從屬設(shè)備在時鐘信號的三態(tài)階段期間對該時鐘信號進(jìn)行放電;以及所述單線總線在所述主控設(shè)備和與所述主控設(shè)備通信的所述至少一個從屬設(shè)備中的所述一個從屬設(shè)備之間傳送時鐘信號、電能和數(shù)據(jù)。
      文檔編號G06F13/40GK102591834SQ20111040488
      公開日2012年7月18日 申請日期2011年12月1日 優(yōu)先權(quán)日2010年12月2日
      發(fā)明者杰恩斯·克里斯蒂安·波爾森 申請人:捷訊研究有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1