多節點連結網絡上的GPIO到GPIO通信的製作方法
2023-07-12 14:49:16 1
相關申請的交叉引用
本申請要求於2016年1月29日提交的標題為「gpio-to-gpiocommunicationonamulti-nodedaisy-chainednetwork」的美國臨時專利申請no.62/289,066的優先權。該優先權申請通過引用整體併入本文。
背景技術:
隨著電子部件尺寸減小,並且隨著性能期望的增加,更多組件被包括在先前未儀器化或儀器更少的設備中。在一些設置中,用於在這些組件之間(例如,在車輛中)交換信號的通信基礎設施需要厚而重的電纜束。
附圖說明
通過以下結合附圖的詳細描述將容易理解實施例。為了便於描述,相同的附圖標記表示相同的結構元件。在附圖中,通過示例而非限制的方式示出了實施例。
圖1是根據各種實施例的示例性雙線通信系統的框圖。
圖2是根據各種實施例,可以包括在圖1的系統的節點中的節點收發器的框圖。
圖3是根據各種實施例,用於圖1的系統中的通信的同步控制幀的一部分的圖。
圖4是根據各種實施例,在圖1的系統中用於通信的超幀的圖。
圖5示出了根據各種實施例,用於圖1的系統的不同操作模式中的同步控制幀的示例格式。
圖6示出了根據各種實施例,在圖1的系統的不同操作模式下的同步響應幀的示例格式。
圖7是根據各種實施例,圖2的總線協議電路的各種組件的框圖。
圖8-11示出了根據本文描述的總線協議的各種實施例的沿著雙線總線的信息交換的示例。
圖12示出根據各種實施例的雙線總線的環形拓撲及其上的單向通信方案。
圖13示意性地示出了根據各種實施例,可以用作圖1的系統中的節點或主機的設備。
圖14示出了根據本文描述的總線協議的各種實施例的沿著雙線總線的信息交換的示例。
圖15是根據各種實施例的其中從節點耦合到能量存儲設備和外圍設備的布置的框圖。
圖16描繪了圖1的系統的實施例。以及可由主機執行以選擇性地路由系統周圍的音頻的方法的流程圖。
圖17是根據各種實施例,可以在圖16所示的系統周圍的音頻的選擇性路由期間由從節點執行的方法的流程圖。
圖18描繪了圖1的系統的實施例,其中從節點具有作為外圍設備的無線收發器。
圖19描繪了圖1的系統的實施例,其中主機耦合到無線收發器。
圖20-23描繪了根據各種實施例,可以包括在圖20的系統中的麥克風、麥克風電纜和音頻接收設備的示例布置。
圖24示出根據各種實施例,其中從節點接近耦合到車輛的車頂的天線的布置。
圖25示出了根據各種實施例,在圖1的系統中多種類型的視聽設備作為從節點的布置。
圖26示出了根據各種實施例,圖1的機器人肢體和系統的布置,以使得能夠在機器人肢體的傳感器和致動器之間進行通信。
圖27是根據各種實施例,包括發送和接收郵箱的系統100的組件的布置的框圖。
圖28示出根據各種實施例,車輛中的從節點和相關聯的外圍設備的布置。
圖29是圖1的系統的元件和總線監視器的布置的框圖。
圖30是根據各種實施例,用於開始總線監視器的操作的方法的流程圖。
圖31-34示出根據各種實施例,可用於支持gpio到gpio通信的各種寄存器。
圖35描繪根據各種實施例,用於管理gpio數據更新的主節點中的示例狀態機。
圖36和圖37示出了根據各種實施例的將多個從節點映射為虛擬埠的輸入並且將主節點映射為來自虛擬埠的輸出的系統行為的示例。
圖38提供了根據各種實施例的對距離邏輯的gpio的系統級可視化。
圖39和40示出根據各種實施例,用於通過距離輸入和輸出引腳的gpio的示例gpiodnmsk交叉開關。
圖41示出了根據各種實施例,在主節點和從節點的示例布置中的距離功能性示例gpio。
圖42和圖43示出根據各種實施例,不同的gpiodnmsk和gpiodinv設置以及它們對於來自從節點的不同貢獻的對gpiooen的值的影響。
具體實施方式
隨著電子部件尺寸減小,並且隨著性能期望的增加,更多組件被包括在先前未儀器化或儀器較少的設備中。這種朝向增加的儀器的驅動通常被用於在組件之間交換信號的通信基礎設施限制。例如,在汽車(以及其他封閉和/或移動系統,例如機器人系統)中的傳感器(例如麥克風,攝像機等)的增加已經導致部件之間的過度的布線。這種過度的布線伴隨著系統複雜性和重量的增加,以及性能和可靠性的降低。
這裡描述的是在雙線總線(例如,雙絞線對)上提供低等待時間,時分復用(tdm)通信的通信系統。在這些系統中,雙向同步數據(例如,數字音頻),時鐘和同步信號可以由雙線總線提供,支持總線上的節點之間的直接點對點連接,並且允許多個菊花鏈節點在不同位置處貢獻或消耗tdm信道內容。這些通信系統實現下遊業務(例如,從主節點到最後一個從節點),上遊業務(例如,到來自從節點的主節點)和在相同的雙線總線上的功率傳輸。
在下面的詳細描述中,參考形成其一部分的附圖,其中相同的附圖標記始終表示相同的部件,並且其中通過可以實施的示例性實施例的方式示出。應當理解,在不脫離本公開的範圍的情況下,可以利用其他實施例,並且可以進行結構或邏輯改變。因此,以下詳細描述不應被視為具有限制意義。
各種操作可以以最有助於理解所要求保護的主題的方式依次被描述為多個離散動作或操作。然而,描述的順序不應被解釋為暗示這些操作必須是順序相關的。具體地,這些操作可以不按照呈現的順序執行。所描述的操作可以以與所描述的實施例不同的順序來執行。在附加實施例中可以執行各種附加操作和/或可以省略所描述的操作。
出於本公開的目的,短語「a和/或b」是指(a),(b)或(a和b)。為了本公開的目的,短語「a,b和/或c」是指(a),(b),(c),(a和b),(a和c),(b和c)或(a,b和c)。
各種組件在本文中可以以單數形式提及或示出(例如,「處理器」,「外圍設備」等),但這僅僅是為了便於討論,並且以單數形式提及的任何元件可以包括根據本文教導的多個這樣的元件。
該描述使用短語「在實施例中」或「在一些實施例中」,其可以各自指代相同或不同實施例中的一個或多個。此外,關於本公開的實施例使用的術語「包括」,「包括」,「具有」等是同義的。如本文所使用的,術語「電路」可以指代專用集成電路(asic),電子電路和光學電路,處理器(共享的,專用的或成組的)和/或其組合的一部分,或執行一個或多個軟體或固件程序的存儲器(共享,專用或組),組合邏輯電路和/或提供所描述的功能的其他合適的硬體。主節點在本文中也可以被稱為主「設備」;類似地,從節點在本文中可以被稱為從「設備」。
可以根據本申請要求優先權的任何現有專利申請中公開的任何適當的相關實施例來執行本文所述的任何實施例。具體地,在任何優先權文件中公開的汽車音頻總線(a2b)系統的任何實施例可以與這裡描述的實施例的任何組合來實現。例如,如在2013年7月12日提交的美國臨時申請no.61/845,542中所討論的,功率切換和診斷可以包括在本文所描述的雙線通信系統中。在另一示例中,如在2013年7月8日提交的美國臨時申請no.61/843,902中所討論的。在另一示例中,數字相位檢測器可以包括在本文所述的雙線通信系統中,如美國臨時申請在另一示例中,本文描述的雙線通信系統可以包括在2013年7月8日提交的美國臨時申請no.61/843,891中討論的狀態機功能。
圖1是根據各種實施例的示例性半雙工雙線通信系統100的框圖。系統100包括主機110、主節點102和至少一個從節點104。在圖1中,示出了三個從節點(0、1和2)。圖1中的三個從節點104的描述僅是示例性的,並且系統100可以根據需要包括一個、兩個或更多個從節點104。
主節點102可以通過雙線總線106與從節點104通信。總線106可以包括沿著總線106的相鄰節點之間的不同的雙線總線鏈路,以菊花鏈方式連接沿著總線106的節點。例如,如圖1所示,總線106可以包括將主節點102耦合到從節點0的鏈路,將從節點0耦合到從節點1的鏈路以及將從節點1耦合到從節點2的鏈路。總線106的鏈路可以各自由單個雙絞線對(例如,非屏蔽雙絞線)形成。
主機110可以包括對主節點102進行編程的處理器,並且用作沿著總線106傳輸的各種有效載荷的發起者和接收者。具體地,主機110可以是集成電路間聲音(i2s)通信的主機。主機110可以經由i2s/時分復用(tdm)總線和/或內部集成電路(i2c)總線與主節點102通信。在一些實施例中,主節點102可以是位於主機110的外殼內的收發器(例如,以下參照圖2討論的節點收發器120)。主節點102可以由主機110在i2c總線進行編程用於配置和回讀,並且可以被配置為為所有從節點104生成時鐘,同步和成幀。在一些實施例中,在主節點102中的主機110之間的i2c控制總線的擴展可以嵌入在通過總線106傳輸的數據流中,允許主機110直接訪問用於一個或多個從節點104的寄存器和狀態信息,以及啟用遠距離的i2c到i2c通信,以允許主機110控制外圍設備108。
主節點102可以生成「下遊」信號(例如,沿著總線106遠離主節點102發送的數據信號,功率信號等),並接收「上遊」信號(例如,102沿著總線106朝向主節點傳送)。主節點102可以提供用於通過總線106進行同步數據傳輸的時鐘信號。如本文所使用的,「同步數據」可以包括在兩個連續傳輸往返於從節點之間具有固定時間間隔的連續流傳輸的數據(例如,音頻信號)。在一些實施例中,由主節點102提供的時鐘信號可以從由主機110提供給主節點102的i2s輸入導出。從節點104可以是可尋址的網絡連接點,表示在總線106上向下遊傳輸或在總線106上傳輸的數據幀的可能目的地。從節點104還可以表示下遊或上遊數據幀的可能源。系統100可以允許控制信息和其它數據在總線106上從兩個方向從一個節點傳輸到下一個節點。一個或多個從節點104也可以由通過總線106傳輸的信號供電。
具體地,主節點102和從節點104中的每一個可以包括正上遊終端(表示為「ap」),負上遊終端(表示為「an」),正下遊終端(表示為「bp」)和負下遊終端(表示為「bn」)。節點的正和負下遊端子可以分別耦合到相鄰下遊節點的正和負上遊端子。如圖1所示,主節點102可以包括正和負上遊終端,但是這些終端可以不使用;在其他實施例中,主節點102可以不包括正和負上遊終端。沿著總線106的最後一個從節點104可(圖1中的從節點2)以包括正和負下遊終端,但是這些終端可以不使用;在其他實施例中,沿著總線的最後的從節點104可以不包括正和負下遊終端。
如下面詳細討論的,主節點102可以周期性地向下遊發送同步控制幀,可選地與用於一個或多個從節點104的數據一起發送。例如,主節點102可以48khz的頻率發送同步控制幀每1024比特(表示超幀),導致總線106上的有效比特率為49.152mbps。可以支持其他速率,包括例如44.1khz。同步控制幀可以允許從節點104識別每個超幀的開始,並且結合物理層編碼/信令,可以允許每個從節點104從總線106導出其內部操作時鐘。同步控制幀可以包括用於用信號通知同步開始的前導碼,以及允許各種尋址模式(例如,正常,廣播,發現),配置信息(例如,寫入從節點104的寄存器)的控制欄位,i2c信息,在從節點104處的某些通用輸入/輸出(gpio)引腳的遠程控制以及其他服務。跟隨在前導碼和有效載荷數據之後的同步控制幀的一部分可以被加擾,以便減少同步控制幀中的信息被誤認為是新的前導碼的可能性,並且使相關電磁發射的頻譜變平。
同步控制幀可以在從節點104(可選地連同其他數據,其可以來自主節點102,但另外地或可選地可以來自一個或多個上遊從節點104或者來自從節點104本身)之間傳遞,直到它到達已經由主節點102配置為最後一個從節點104或已經自識別為最後一個從節點104的最後一個從節點104(即,圖1中的從節點2)。一旦接收到同步控制幀,最後的從節點104可以發送同步響應幀,隨後是被允許發送的任何數據(例如,指定時隙中的24位音頻樣本)。同步響應幀可以在從節點104之間(可選地與來自下遊從節點104的數據一起)向上遊傳遞,並且基於同步響應幀,每個從節點104能夠識別時隙(如果有的話),其中允許從節點104進行發送。
在一些實施例中,系統100中的從節點104中的一個或多個可以耦合到外圍設備108並與其通信。例如,使用i2s,脈衝密度調製(pdm),tdm和/或i2c協議,從節點104可以被配置為從相關外圍設備108讀取數據和/或寫入數據到相關外圍設備108,如下所述。雖然在本文中可以以單數形式提及「外圍設備108」,但這僅僅是為了便於討論,並且單個從節點104可以與零個、一個或多個外圍設備耦合。可以包括在外圍設備108中的外圍設備的示例可以包括數位訊號處理器(dsp)、現場可編程門陣列(fpga)、專用集成電路(asic)、模數轉換器(adc)、數模轉換器(dac)、編解碼器、麥克風、麥克風陣列、揚聲器、音頻放大器、協議分析器、加速度計或其它運動傳感器、環境條件傳感器(例如溫度,溼度,和/或氣體傳感器)、有線或無線通信收發器、顯示設備(例如,觸控螢幕顯示器)、用戶接口組件(例如,按鈕,撥號盤或其它控制)、相機(例如,視頻相機)、存儲器設備或發送和/或接收數據的任何其它合適的設備。本文詳細討論了不同外圍設備配置的多個示例。
在一些實施例中,外圍設備108可以包括被配置為用於集成電路聲音(i2s)通信的任何設備;外圍設備108可以經由i2s協議與相關聯的從節點104通信。在一些實施例中,外圍設備108可以包括被配置為用於集成電路(i2c)通信的任何設備;外圍設備108可以經由i2c協議與相關聯的從節點104通信。在一些實施例中,從節點104可以不耦合到任何外圍設備108。
從節點104及其相關聯的外圍設備108可以包含在單獨的外殼中並且通過有線或無線通信連接耦合,或者可以包含在公共外殼中。例如,連接為外圍設備108的揚聲器可以與用於相關聯的從節點104(例如,下面參照圖2所討論的節點收發器120)的硬體封裝,使得相關聯的從節點104的硬體包含在包括其它揚聲器部件的殼體內。對於任何類型的外圍設備108也是如此。
如上所述,主機110可以使用多通道i2s和i2c通信協議與主節點102通信並控制主節點102。具體地,主機110可以經由i2s將數據發送到主節點102中的幀緩衝器(未示出),並且主節點102可以從幀緩衝器讀取數據並沿著總線106發送數據。類似地,主機節點102可以將經由總線106接收的數據存儲在幀緩衝器中,然後可以經由i2s將數據發送到主機110。
每個從節點104可以具有可以由來自主節點102的通信來配置的內部控制寄存器。下面詳細討論多個這樣的寄存器。每個從節點104可以接收下遊數據並且可以在下遊進一步重傳數據。每個從節點104可以接收和/或生成上遊數據和/或向上遊轉發數據和/或向上遊事務添加數據。
沿著總線106的通信可以在周期性超幀中發生。每個超幀可以從下遊同步控制幀開始;劃分為下遊傳輸(也稱為「下遊部分」),上遊傳輸(也稱為「上遊部分」)和無傳輸(其中總線106未被驅動)的周期;並且恰好在傳送另一下遊同步控制幀之前結束。主節點102可以被編程(由主機110)具有多個下遊部分以傳輸到一個或多個從節點104以及多個上遊部分以從一個或多個從節點104接收。每個從節點節點104可以被(由主節點102)編程以沿著總線106重傳的多個下遊部分,要消耗的多個下遊部分,要向上重傳總線106的多個上遊部分,以及多個上遊部分,其中從節點104可以從相關聯的外圍設備108發送從從節點104接收的數據的部分。下面參考圖2-12進一步詳細討論沿著總線106的通信。
主節點102和從節點104中的每一個可以包括收發器以管理系統100的組件之間的通信。圖2是根據各種實施例,可以包括在圖1的系統100的節點(例如,主節點102或從節點104)中的節點收發器120的框圖。在一些實施例中,節點收發器120可以包括在系統100的每個節點中,並且控制信號可以經由主(mstr)引腳提供給節點收發器120,以指示節點收發器120是否要採取行動作為主節點(例如,當mstr引腳為高電平時)或從節點(例如,當mstr引腳為低電平時)。
節點收發器120可以包括上遊收發器122和下遊收發器124。上遊收發器122可以耦合到上面參照圖1討論的正上遊端子和負上遊端子,並且下遊收發器124可以耦合到上面參照圖1討論的正和負下遊端子。在一些實施例中,上遊收發器122和下遊收發器124可以各自是差分信令(ds)收發器。在一些實施例中,上遊收發器122可以是低壓ds(lvds)收發器,下遊收發器124可以是lvds收發器。系統100中的每個節點可以被ac耦合到總線106,並且可以使用預定形式的ds(lvds或多點lvds(mlvds)或類似信令)沿著總線106(例如,經由上遊收發器122和/或下遊收發器124)傳送數據信號,具有合適編碼以通過總線106提供定時信息(例如,差分曼徹斯特編碼,雙相標記編碼,曼徹斯特編碼,非歸零,反相(nrzi)編碼具有遊程長度限制或任何其它合適的編碼)。在一些實施例中,總線106可以由同軸電纜提供,並且上遊和下遊信號可以是驅動同軸電纜的單端信號。
上遊收發器122和下遊收發器124可與總線協議電路126通信,並且總線協議電路126可與鎖相環(pll)128和電壓調節器電路130以及其它組件通信。當節點收發器120上電時,電壓調節器電路130可以提高由pll128用作上電復位的「電源良好」信號。
如上所述,系統100中的一個或多個從節點104可以與數據同時地接收在總線106上傳輸的功率。對於功率分配(其是可選的,因為一些從節點104可以被配置為僅具有提供給它們的本地功率),主節點102可以在主節點102和從節點0之間的總線鏈路上放置dc偏置(例如,通過將下遊端子中的一個連接到由電壓調節器提供的電壓源,並且將另一個下遊端子連接到地)。dc偏壓可以是預定電壓,諸如5v,8v,汽車電池的電壓或更高的電壓。每個連續的從節點104可以選擇性地分接其上遊總線鏈路以恢復功率(例如,使用電壓調節器電路130)。該功率可以用於為從節點104自身(以及可選地耦合到從節點104的一個或多個外圍設備108)供電。從節點104還可以選擇性地利用來自上遊總線鏈路或來自本地電源的恢復的功率來偏置下一個在線從節點104的下遊總線鏈路。例如,從節點0可以使用上遊總線鏈路106上的dc偏置來恢復從節點0本身和/或一個或多個相關聯的外圍設備108的功率,和/或從節點0可以從其上遊總線鏈路106恢復功率,以偏置其下遊總線鏈路106。
因此,在一些實施例中,系統100中的每個節點可以通過下遊總線鏈路向隨後的下遊節點提供功率。節點的供電可以以有序的方式執行。例如,在經由總線106發現和配置從節點0之後,主節點102可以指示從節點0向其下遊總線鏈路106提供功率,以便向從節點1提供功率;在發現和配置從節點1之後,主節點102可以指示從節點1向其下遊總線鏈路106提供功率,以便向從節點2提供功率(以及對於耦合到總線106的附加的從節點104)。在一些實施例中,一個或多個從節點104可被本地供電,而不是或除了從其上遊總線鏈路供電。在一些這樣的實施例中,用於給定從節點104的本地電源可用於向一個或多個下遊從節點提供功率。
在一些實施例中,上遊濾波電路132可以設置在上遊收發器122和電壓調節器電路130之間,下遊濾波電路131可以設置在下遊收發器124和電壓調節器電路130之間。由於每個鏈路總線106可以攜帶ac(信號)和dc(功率)分量,上遊濾波電路132和下遊濾波電路131可以分離ac和dc分量,將ac分量提供給上遊收發器122和下遊收發器124,並且將dc分量提供給電壓調節器130。上遊收發器122和下遊收發器124的線路側上的ac耦合基本上將收發器122和124與線路上的dc分量隔離,以允許高速雙向通信。如上所述,dc分量可以被抽頭用於功率,並且上遊濾波電路132和下遊濾波電路131可以包括鐵氧體,共模扼流圈或電感器,以例如減小提供給電壓調節器電路130的ac分量。在一些實施例中,上遊濾波電路132可以包括在上遊收發器122中,和/或下遊濾波電路131可以包括在下遊收發器124中;在其他實施例中,濾波電路可以在收發器122和124的外部。可以從上遊濾波電路132和下遊濾波電路131通過vssn端子提供返回電流,vssn端子可以通過節點收發器120連接到vss(例如,地)。上遊濾波電路132和下遊濾波電路131可以包括用於電流連接和回流連接的dc電壓端子。
節點收發器120可以包括用於節點收發器120和外部設備155之間的收發器127i2s,用於tdm和pdm通信。儘管在此可以以單數形式提及「外部設備155」,但這僅僅為了便於示例,並且多個外部設備可以經由i2s/tdm/pdm收發器127與節點收發器120通信。如本領域中已知的,i2s協議用於攜帶脈衝編碼調製(pcm)信息(例如,在印刷電路板上的音頻晶片之間)。如本文所使用的,「i2s/tdm」可以指使用tdm的i2s立體聲(2信道)內容到多個信道的擴展。如本領域中已知的,pdm可以用於σ-δ轉換器中,並且特別地,pdm格式可以表示抽取之前的過採樣的1位σ-δadc信號。pdm格式通常用作數字麥克風的輸出格式。i2s/tdm/pdm收發器127可以與總線協議電路126和引腳通信,用於與外部設備155通信。六個引腳bclk,sync,dtx[1:0]和drx[1:0]示於圖2;bclk引腳可用於i2s位時鐘,sync引腳可用於i2s幀同步信號,dtx[1:0]和drx[1:0]引腳分別用於發送和接收數據通道。儘管在圖2中示出了兩個發送管腳(dtx[1:0])和兩個接收管腳(drx[1:0]),但可以使用任何期望數量的接收和/或發送引腳。
當節點收發器120包括在主節點102中時,外部設備155可以包括主機110,並且i2s/tdm/pdm收發器127可以提供i2s從設備(關於bclk和sync),其可以從主機110接收數據,並且與主機110的i2s接口時鐘同步地向主機110發送數據。特別地,可以在sync引腳處接收i2s幀同步信號作為來自主機110的輸入,並且pll128可以使用該信號來生成時鐘。當節點收發器120包括在從節點104中時,外部設備155可以包括一個或多個外圍設備108,並且i2s/tdm/pdm收發器127可以提供i2s時鐘主機(用於bclk和sync),其可以控制i2s通信。具體地,i2s/tdm/pdm收發器127可以在sync引腳處提供i2s幀同步信號作為輸出。節點收發器120中的寄存器可以確定哪些和多少i2s/tdm信道作為數據時隙通過總線106發送。節點收發器120中的tdm模式(tdmmode)寄存器可以存儲多少個tdm信道tdm發送或接收引腳上的連續sync脈衝。與信道大小的知識一起,節點收發器120可以自動地設置bclk速率,以與採樣時間(例如,48khz)內的比特量匹配。
節點收發器120可以包括用於節點收發器120和外部設備157之間的i2c通信的收發器129。儘管在此可以以單數形式提及「外部設備157」,但是這僅僅是為了便於說明,並且多個外部設備可以經由i2c收發器129與節點收發器120通信。如本領域中已知的,i2c協議使用時鐘(scl)線和數據(sda)線來提供數據傳輸。i2c收發器129可以與總線協議電路126和用於與外部設備157通信的引腳通信。在圖2中示出了四個管腳adr1,adr2,sda和scl;當節點收發器120用作i2c從設備(例如,當其包括在主節點102中)時,adr1和adr2可以用於修改節點收發器120使用的i2c地址,並且sda和scl分別用於i2c串行數據和串行時鐘信號。當節點收發器120包括在主節點102中時,外部設備157可以包括主機110,並且i2c收發器129可以提供可以從主機110接收編程指令的i2c從設備。特別地,i2c串行時鐘信號可以在scl引腳處作為來自主機110的用於寄存器訪問的輸入來接收。當節點收發器120包括在從節點104中時,外部設備157可以包括外圍設備108,並且i2c收發器129可以提供i2c主機以允許i2c收發器根據由主機110所提供的指令對一個或多個外圍設備進行編程並且經由總線106發送到節點收發器120。具體地,i2c收發器129可以在scl引腳處提供i2c串行時鐘信號作為輸出。
節點收發器120可以包括與總線協議電路126通信的中斷請求(irq)引腳。當節點收發器120經由i2c收發器129包括在主節點102中時,總線協議電路126可以提供通過irq引腳向主機110的事件驅動中斷請求。當節點收發器120包括在從節點104中時(例如,當mstr引腳為低時),irq引腳可以用作具有中斷請求能力的gpio引腳。
系統100可以以多種不同操作模式中的任一種操作。總線106上的節點可以各自具有指示當前啟用哪個操作模式的寄存器。下面描述可以實現的各種操作模式的示例。在待機操作模式下,總線活動減少以實現全局功率節省;所需的唯一業務是保持每個節點(例如,pll128)的pll同步的最小下遊前同步碼。在待機操作模式中,不支持跨越總線106的讀取和寫入。在發現操作模式中,主節點102可以沿著總線106發送預定信號並且等待合適的響應以映射沿著總線106分布的從節點104的拓撲。在正常操作模式下,完全寄存器訪問可以是可用於來往於從節點104以及通過總線106訪問外圍設備108和從外圍設備108訪問。正常模式可以由主機110全局配置,具有或不具有同步上遊數據和具有或沒有同步下遊數據。
圖3是根據各種實施例的用於系統100中的通信的同步控制幀180的一部分的圖。具體地,同步控制幀180可以用於數據時鐘恢復和pll同步,如下所述。如上所述,因為通過總線106的通信可以在兩個方向上發生,所以通信可以被時間復用到下遊部分和上遊部分。在下遊部分中,可以從主節點102發送同步控制幀和下遊數據,而在上遊部分中,同步響應幀和上遊數據可以從每個從節點104發送到主節點102。同步控制幀180可以包括前導碼182和控制數據184。每個從節點104可以被配置為使用接收到的同步控制幀180的前導碼182作為用於饋送pll128的時基。為了促進這一點,前導碼182不遵循有效控制數據184的「規則」,因此可以容易地與控制數據184區分開。
例如,在一些實施例中,可以使用時鐘優先,零差分曼徹斯特編碼方案上的轉換來對沿著總線106的通信進行編碼。根據這種編碼方案,每個位時間從時鐘轉變開始。如果數據值為零,則編碼信號在位時間的中間再次轉變。如果數據值為1,則編碼信號不再次轉變。圖5中所示的前導碼182可能違反編碼協議(例如,通過具有在比特時間5,7和8的開始處不發生的時鐘轉變),這意味著前導碼182可能不匹配任何合法(例如,正確編碼)的模式此外,前導碼182不能通過獲取控制數據184的合法模式並且對於單個位時間或多個位時間周期強制總線106為高或低而被再現。圖5中所示的前導碼182僅是示例性的,並且同步控制幀180可以包括可以以任何合適的方式違反控制數據184所使用的編碼的不同的前導碼182。
總線協議電路126可以包括差分曼徹斯特解碼器電路,其在從總線106恢復的時鐘上運行,並且檢測同步控制幀180以向pll128發送幀同步指示符。以這種方式,同步控制幀180可以在不使用系統時鐘或更高速度的過採樣時鐘的情況下檢測。因此,從節點104可以從總線106接收pll同步信號,而不需要在從節點104處的晶體時鐘源。
如上所述,沿著總線106的通信可以在周期性超幀中發生。圖4是根據各種實施例的超幀190的圖。如圖6所示,超幀可以以同步控制幀180開始。當同步控制幀180用作pll128的定時源時,傳送超幀的頻率(「超幀頻率」)可以與同步信號頻率。在其中沿著總線106傳輸音頻數據的一些實施例中,超幀頻率可以與系統100中使用的音頻採樣頻率相同(例如,48khz或44.1khz),但是可以使用任何合適的超幀頻率。每個超幀190可以被劃分為下遊傳輸192的周期,上遊傳輸的周期194和不傳輸的周期196(例如,當總線106未被驅動時)。
在圖4中,超幀190被示為具有下遊傳輸192的初始周期和上遊傳輸194的稍後周期。下遊傳輸192的周期可以包括同步控制幀180和x個下遊數據時隙198,其中x可以為零。總線106上的基本上所有信號可以被線路編碼,並且同步信號以同步控制幀中的同步前導碼182的形式從主節點102向下遊轉發到最後的從節點104(例如,從節點104c)180,如上所述。下遊tdm同步數據可以包括在同步控制幀180之後的x個下遊數據時隙198中。下遊數據時隙198可以具有相等的寬度。如上所述,pll128可以提供節點用於對通過總線106的通信進行定時的時鐘。在其中總線106用於傳輸音頻數據的一些實施例中,pll128可以在多個音頻採樣頻率(例如,1024個音頻採樣頻率,導致每個超幀中的1024位時鐘)。
上遊傳輸的周期194可以包括同步響應幀197和y個上遊數據時隙199,其中y可以為零。在一些實施例中,每個從節點104可以消耗下遊數據時隙198的一部分。最後的從節點(例如,圖1中的從節點2)可以響應同步響應幀197(在最後從節點的寄存器中存儲的預定響應時間之後)。同步響應幀197之後的上遊數據時隙199中的每個從節點104可以添加上遊tdm同步數據。上遊數據時隙199可以具有相等的寬度。如果在超幀190的同步控制幀180中請求其寄存器的一個的讀取,或者如果超幀190的同步控制幀180中請求遠程i2c讀取,不是最後一個從節點的從節點104(例如,圖1中的從節點0和1)可以用其自己的上遊響應替換所接收的同步響應幀197。
如上所述,同步控制幀180可以開始每個下遊流傳輸。在一些實施例中,同步控制幀180的長度可以是64位,但是可以使用任何其他合適的長度。如上所述,同步控制幀180可以從前導碼182開始。在一些實施例中,當同步控制幀180被從節點104重傳到下遊從節點104時,前導碼182可以通過發送從節點104生成,而不是被重傳。
同步控制幀180的控制數據184可以包括包含用於控制總線106上的事務的數據的欄位。下面討論這些欄位的示例,並且在圖5中示出了一些實施例。具體地,圖5示出了根據各種實施例的用於正常模式,i2c模式和發現模式中的同步控制幀180的示例格式。在一些實施例中,可以在待機模式中完全地使用不同的前導碼182或同步控制幀180,使得從節點104不需要接收所有同步控制幀180,直到發送到正常模式的轉換。
在一些實施例中,同步控制幀180可以包括計數(cnt)欄位。cnt欄位可以具有任何合適的長度(例如,2比特),並且可以從先前超幀中使用的值遞增(對欄位的長度進行模數)。接收到意外的cnt值的從節點104可以被編程為返回中斷。
在一些實施例中,同步控制幀180可以包括節點尋址模式(nam)欄位。nam欄位可以具有任何合適的長度(例如,2比特),並且可以用於控制通過總線106對從節點104的寄存器的訪問。在正常模式中,從節點104的寄存器可以從/基於從節點104的id和寄存器的地址被寫入。廣播事務是應當由每個從節點104進行的寫入。在一些實施例中,nam欄位可以提供四個節點尋址模式,包括「無」(例如,不尋址到任何特定從節點104的數據),「正常」(例如,數據單播到在下面討論的地址欄位中指定的特定從節點104),「廣播」(例如,尋址到所有從節點104)和「發現」。
在一些實施例中,同步控制幀180可以包括i2c欄位。i2c欄位可以具有任何合適的長度(例如,1位),並且可用於指示下遊傳輸192的周期包括i2c事務。i2c欄位可以指示主機110已經提供指令以遠程訪問作為關於相關聯的從節點104的i2c從設備的外圍設備108。
在一些實施例中,同步控制幀180可以包括節點欄位。節點欄位可以具有任何合適的長度(例如,4比特),並且可用於指示針對正常和i2c訪問尋址哪個從節點。在發現模式中,該欄位可以用於對從節點104的節點id寄存器中的新發現的從節點104的標識符進行編程。當從節點104由主節點102發現,如下所述。在一些實施例中,主節點102不具有節點id,而在其他實施例中,主節點102可以具有節點id。在一些實施例中,附接到總線106上的主節點102(例如,圖1中的從節點0)的從節點104將是從節點0,並且每個連續的從節點104將具有高於1的數字比先前的從節點。然而,這僅僅是示例性的,並且可以使用任何合適的從節點標識系統。
在一些實施例中,同步控制幀180可以包括讀/寫(rw)欄位。rw欄位可以具有任何合適的長度(例如,1位),並且可以用於控制正常訪問是讀取(例如,rw==1)還是寫入(例如,rw==0)。
在一些實施例中,同步控制幀180可以包括地址欄位。地址欄位可以具有任何合適的長度(例如,8位),並且可用於通過總線106尋址從節點104的特定寄存器。對於i2c事務,地址欄位可以用i2c控制值替換,諸如start/stop,wait,rw和datavld。對於發現事務,地址欄位可以具有預定值(例如,如圖5所示)。
在一些實施例中,同步控制幀180可以包括數據欄位。數據欄位可以具有任何合適的長度(例如,8位),並且可用於正常、i2c和廣播寫入。乘以4的respcycs值可用於確定新發現的節點應該允許在正在接收的同步控制幀180的開始和正在發送的同步響應幀197的開始之間經過多少個周期。當nam欄位指示發現模式時,下面討論的節點地址和數據欄位可以被編碼為respcycs值,當乘以合適的可選乘數(例如,4)時,指示從比特結束的時間同步控制幀180到同步響應幀197的開始。這允許新發現的從節點104確定用於上遊傳輸的適當時隙。
在一些實施例中,同步控制幀180可以包括循環冗餘校驗(crc)欄位。crc欄位可以具有任何合適的長度(例如,16比特),並且可用於發送跟隨前導碼182的同步控制幀180的控制數據184的crc值。在一些實施例中,可以根據ccitt-crc錯誤檢測方案計算crc。
在一些實施例中,前導碼182和crc欄位之間的同步控制幀180的至少一部分可以被加擾,以便減少該間隔中的比特序列將周期性地匹配前導碼182(以及從而可能被從節點104誤解為新超幀190的開始),以及如上所述減少電磁發射。在一些這樣的實施例中,同步控制幀180的cnt欄位可以由加擾邏輯使用以確保加擾的欄位從一個超幀到下一個超幀被不同地加擾。這裡描述的系統100的各種實施例可以省略加擾。
可以使用其他技術來確保前導碼182可以由從節點104唯一地標識或者減少前導碼182在同步控制幀180中的其他地方出現的可能性,以及除了或代替技術例如如上所述的加擾和/或錯誤編碼。例如,可以使用更長的同步序列,以便減少同步控制幀180的其餘部分的特定編碼將與其匹配的可能性。另外或替代地,同步控制幀的其餘部分可以被構造為使得不能發生同步序列,例如通過將固定的「0」或「1」值置於適當的位。
主節點102可以向從節點104發送讀和寫請求,包括特定於總線106上的通信和i2c請求的請求。例如,主節點102可以(使用rw欄位)向一個或多個指定的從節點104(使用nam和節點欄位)發送讀和寫請求,並且可以指示該請求是否是對從節點104的請求專用於總線106的i/o請求,對從節點104的i2c請求或者將被傳遞到在從節點104的一個或多個i2c埠處耦合到從節點104的i2c兼容外圍設備108的i2c請求。
轉到上遊通信,同步響應幀197可以開始每個上遊傳輸。在一些實施例中,同步響應幀197可以是64位長度,但是可以使用任何其他合適的長度。同步響應幀197還可以包括前同步碼,如上面參照同步控制幀180的前同步碼182所討論的,其後是數據部分。在下遊傳輸結束時,總線106上的最後一個從節點104可以等待,直到respcycs計數器到期,然後開始向上遊傳輸同步響應幀197。如果上遊從節點104已經被正常讀或寫事務作為目標,則從節點104可以生成其自己的同步響應幀197並替換從下遊接收的同步響應幀。如果任何從節點104在預期時間沒有看到來自下遊從節點104的同步響應幀197,則從節點104將生成其自己的同步響應幀197並開始向上遊發送它。
同步響應幀197的數據部分可以包括包含用於將響應信息傳送回主節點102的數據的欄位。下面討論這些欄位的示例,並且在圖6中示出了一些實施例。具體地,圖6示出了根據各種實施例的用於正常模式,i2c模式和發現模式中的同步響應幀197的示例格式。
在一些實施例中,同步響應幀197可以包括計數(cnt)欄位。cnt欄位可以具有任何合適的長度(例如,2比特),並且可用於發送先前接收到的同步控制幀180中的cnt欄位的值。
在一些實施例中,同步響應幀197可以包括確認(ack)欄位。ack欄位可以具有任何合適的長度(例如,2比特),並且可以由從節點104插入以在從節點104生成同步響應幀197時確認在先前同步控制幀180中接收的命令。示例指示符可以在ack欄位中傳送的信息包括等待,確認,非確認(nack)和重試。在一些實施例中,ack欄位可以被定大小以便由從節點104發送其已經接收並處理廣播消息(例如,通過向主節點102發送廣播確認)的確認。在一些這樣的實施例中,從節點104還可以指示從節點104是否具有要發送的數據(其可以用於例如基於需求的上遊傳輸,例如來自鍵盤或觸控螢幕的非tdm輸入,或者例如當從節點104希望報告錯誤或緊急情況時)。
在一些實施例中,同步響應幀197可以包括i2c欄位。i2c欄位可以具有任何合適的長度(例如,1比特),並且可用於發送先前接收的同步控制幀180中的i2c欄位的值。
在一些實施例中,同步響應幀197可以包括節點欄位。節點欄位可以具有任何合適的長度(例如,4比特),並且可以用於發送生成同步響應幀197的從節點104的id。
在一些實施例中,同步響應幀197可以包括數據欄位。數據欄位可以具有任何合適的長度(例如,8比特),並且其值可以取決於事務的類型和生成同步響應幀197的從節點104的ack響應。對於發現事務,數據欄位可以包括在先前接收的同步控制幀180中的respcycs欄位的值。當ack欄位指示nack時,或當同步響應幀197響應於廣播事務時,數據欄位可以包括廣播確認(ba)指示符(其中最後的從節點104可以指示是否沒有錯誤地接收到廣播寫),發現錯誤(der)指示符(指示發現事務中的新發現的從節點104是否與現有的從節點104匹配)以及crc錯誤(cer)指示符(指示nack是否由crc錯誤引起)。
在一些實施例中,同步響應幀197可以包括crc欄位。crc欄位可以具有任何合適的長度(例如,16比特),並且可用於在前導碼和crc欄位之間傳輸同步響應幀197的部分的crc值。
在一些實施例中,同步響應幀197可以包括中斷請求(irq)欄位。irq欄位可以具有任何合適的長度(例如,1位),並且可以用於指示已經從從節點104發信號通知中斷。
在一些實施例中,同步響應幀197可以包括irq節點(irqnode)欄位。irqnode欄位可以具有任何合適的長度(例如,4比特),並且可以用於傳送已經用信號通知由irq欄位呈現的中斷的從節點104的id。在一些實施例中,用於生成irq欄位的從節點104將將其自己的id插入到irqnode欄位中。
在一些實施例中,同步響應幀197可以包括第二crc(crc-4)欄位。crc-4欄位可以具有任何合適的長度(例如,4比特),並且可用於傳送用於irq和irqnode欄位的crc值。
在一些實施例中,同步響應幀197可以包括作為同步響應幀197的最後位(例如,最後10位)的irq欄位、irqnode欄位和crc-4欄位。如上所述,這些中斷相關欄位可以具有crc-4形式的自己的crc保護(並且因此不被前面的crc欄位保護)。需要向主節點102發信號通知中斷的任何從節點104將其中斷信息插入到這些欄位中。在一些實施例中,具有中斷待決的從節點104可以具有比還具有中斷待決的進一步下遊的任何從節點104更高的優先級。沿著總線106的最後一個從節點104(例如,圖1中的從節點2)可以總是填充這些中斷欄位。如果最後一個從節點104沒有中斷待決,則最後的從節點104可以將irq位設置為0,將irqnode欄位設置為其節點id,並提供正確的crc-4值。為了方便起見,傳送中斷的同步響應幀197在這裡可以被稱為「中斷幀」。
在一些實施例中,前導碼182和crc欄位之間的同步響應幀197的至少一部分可以被加擾,以便減少發射。在一些這樣的實施例中,同步響應幀197的cnt欄位可以由加擾邏輯用來確保加擾欄位從一個超幀到下一個超幀被不同地加擾。這裡描述的系統100的各種實施例可以省略加擾。
可以使用其他技術來確保前導碼182可以由從節點104唯一地標識或者減少前導碼182在同步響應幀197中的其他地方出現的可能性,除了或代替技術例如如上所述的加擾和/或錯誤編碼。例如,可以使用更長的同步序列,以便減少同步響應幀180的剩餘部分的特定編碼將與其匹配的可能性。另外或替代地,同步響應幀的其餘部分可以被構造為使得同步序列不能發生,例如通過將固定的「0」或「1」值放置在適當的位。
圖7是根據各種實施例的圖2的總線協議電路126的框圖。總線協議電路126可以包括控制電路154,以根據這裡描述的總線106的協議來控制節點收發器120的操作。特別地,控制電路154可以控制用於傳輸的同步幀的生成(例如,如上所述的同步控制幀或同步響應幀),接收到的同步幀的處理以及在接收到的同步控制中指定的控制操作的執行幀。控制電路154可以包括可編程寄存器,如下所述。控制電路154可以創建和接收同步控制幀,適當地對接收的消息做出反應(例如,當總線協議電路126包括在從節點104中時與同步控制幀相關聯,或者當總線協議電路126包括在主節點102中),並且將成幀調整到不同的操作模式(例如,正常、發現、待機等)。
當節點收發器120正在準備用於沿著總線106傳輸的數據時,前導碼電路156可以被配置為生成用於傳輸的同步幀的前導碼,並且從所接收的同步幀接收前導碼。在一些實施例中,下遊同步控制幀前同步碼可以由主節點102每1024比特發送。如上所述,一個或多個從節點104可以同步到下遊同步控制幀前導,並且從前導生成局部的相位對準主時鐘。
循環冗餘校驗(crc)插入電路158可以被配置為生成用於同步幀的一個或多個crc以用於傳輸。幀/壓縮電路160可以被配置為從i2s/tdm/pdm收發器127(例如,從與收發器127相關聯的幀緩衝器)和/或i2c收發器129獲取輸入數據,可選地壓縮數據,奇偶校驗位或糾錯碼(ecc)。復用器(mux)162可以將來自前導碼電路156的前導碼,同步幀和數據復用到用於傳輸的流中。在一些實施例中,發射流可以在發射之前由加擾電路164加擾。
例如,在一些實施例中,幀/壓縮電路160可以應用浮點壓縮方案。在這樣的實施例中,控制電路154可以發送3位以指示該數量中有多少個重複的符號位,隨後是符號位和n-4位數據,其中n是要發送的數據的大小,當需要時,主節點102可以配置數據壓縮的使用。
在一些實施例中,進入節點收發器120的接收流可以由解擾電路166解擾。解復用器(demux)168可以從接收流中解復用前導碼,同步幀和數據。接收側的crc檢查電路159可以檢查所接收的同步幀以獲得正確的crc。當crc檢查電路159識別輸入同步控制幀180中的crc故障時,可以向控制電路154通知該故障,並且不會在同步控制幀180的控制數據184中執行任何控制命令。當crc檢查電路159識別輸入同步響應幀197中的crc故障,則可以通知控制電路154故障,並且可以在中斷幀中產生用於傳輸到主機110的中斷。解壓縮/解壓縮電路170可以接受接收數據,可選地檢查其奇偶校驗,可選地執行錯誤檢測和校正(例如,單個錯誤校正-雙錯誤檢測(secded)),可選地解壓縮數據,並且可以將接收數據寫入i2s/tdm/pdm收發器127(例如,與收發器127相關聯的幀緩衝器)和/或i2c收發器129。
如上所述,可以在超幀190內的tdm數據時隙中沿著總線106傳輸上遊和下遊數據。控制電路154可以包括專用於管理總線106上的這些數據時隙的寄存器,多個這將在下面討論。當控制電路154包括在主節點102中時,這些寄存器中的值可以由主機110編程到控制電路154中。當控制電路154包括在從節點104中時,這些寄存器中的值可以由主節點102編程到控制電路154中。
在一些實施例中,控制電路154可以包括下遊時隙(dnslots)寄存器。當節點收發器120包括在主節點102中時,該寄存器可以保存下遊數據時隙的總數的值。該寄存器還可以定義將被用於由主節點102中的i2s/tdm/pdm收發器127接收的組合i2s/tdm/pdm數據時隙的數量。在從節點104中,該寄存器可以定義數據時隙,其在添加本地產生的下遊時隙之前或之後被傳遞到下一個從節點104,如下面參照ldnslots進一步詳細討論的。
在一些實施例中,控制電路154可以包括本地下遊時隙(ldnslots)寄存器。該寄存器可在主節點102中未被使用。在從節點104中,該寄存器可以定義從節點104將使用並且不重傳的數據時隙的數量。可替換地,該寄存器可以定義從節點104可對下遊數據鏈路106作出貢獻的時隙的數量。
在一些實施例中,控制電路154可以包括上遊插槽(upslots)寄存器。在主節點102中,該寄存器可以保存上遊數據時隙的總數的值。該寄存器還可以定義將由主節點102中的i2s/tdm/pdm收發器127用於i2s/tdm發送的時隙的數量。在從節點104中,該寄存器可以定義數據時隙的數量,在從節點104開始添加其自己的數據之前向上遊傳遞。
在一些實施例中,控制電路154可以包括本地上遊時隙(lupslots)寄存器。該寄存器可在主節點102中未使用。在從節點104中,該寄存器可以定義從節點104在向上遊發送之前從下遊添加到從下遊接收的數據的數據槽的數量。該寄存器還可以定義將被用於由從節點104中的i2s/tdm/pdm收發器127接收的組合i2s/tdm/pdm數據時隙的數量。
在一些實施例中,控制電路154可以包括廣播下遊時隙(bcdnslots)寄存器。該寄存器可在主節點102中未被使用。在從節點104中,該寄存器可以定義廣播數據時隙的數量。在一些實施例中,廣播數據時隙可以總是在數據欄位的開始處。廣播數據時隙中的數據可以由多個從節點104使用,並且可以由所有從節點104向下遊傳遞,無論它們是否被使用。
在一些實施例中,控制電路154可以包括時隙格式(slotfmt)寄存器。該寄存器可以定義上遊和下遊傳輸的數據格式。i2s/tdm/pdm收發器127的數據大小也可以由該寄存器確定。在一些實施例中,有效數據大小包括8、12、16、20、24、28和32位。該寄存器還可以包括用於對下遊和上遊業務實現浮點壓縮的比特。當啟用浮點壓縮時,i2s/tdm數據大小可以比總線106上的數據大小大4位。當數據時隙被使能時,系統100中的所有節點可以具有用於slotfmt的相同值,並且節點可以通過廣播寫入來編程,使得所有節點將以相同的值更新。
圖8-11示出了根據本文描述的總線協議的各種實施例的沿著總線106的信息交換的示例。特別地,圖8-11示出了其中每個從節點104耦合到一個或多個揚聲器和/或一個或多個麥克風作為外圍設備108的實施例。這僅僅是示例性的,因為根據本文所描述的技術,外圍設備108的任何期望的布置可以耦合到任何特定從節點104。
開始,圖8示出根據各種實施例的用於在總線106上的雙向通信的信令和定時考慮。圖8中描繪的從節點104具有各種數量的傳感器/致動器元件,因此可以向各個從節點104發送或從各個從節點104接收不同量的數據。具體來說,從節點1具有兩個元件,從節點4具有四個元件,圖5中所示的系統具有三個元件,因此由主節點102發送的數據包括用於從節點1的兩個時隙,用於從節點4的四個時隙和用於從節點5的三個時隙。類似地,從節點0具有三個元件:從節點2具有三個元件,從節點3具有三個元件,從節點6具有一個元件,並且從節點7具有四個元件,因此由那些從節點104向上遊發送的數據包括相應數量的時隙。應當注意,不必在元素和時隙之間具有一對一的相關性。例如,包括在具有三個麥克風的外圍設備108中的麥克風陣列可以包括數位訊號處理器,該數位訊號處理器組合來自三個麥克風的信號(以及可能還有從主節點102或從其他從節點104接收的信息)以產生單個數據樣本,其取決於處理的類型,可以對應於單個時隙或多個時隙。
在圖8中,主節點102發送同步控制幀(scf),隨後是耦合到特定從節點104(sd)的揚聲器的數據。每個連續的從節點104轉發同步控制幀,並且還轉發至少任何目的地為下遊從節點104的數據。特定的從節點104可以轉發所有數據或者可以移除去往該從節點104的數據。當最後的從節點104接收同步控制幀,從節點104發送同步響應幀(srf),可選地跟隨從節點104被允許發送的任何數據。每個連續的從節點104將同步響應幀連同來自下遊從節點104的任何數據一起轉發,並且可選地插入來自耦合到特定從節點104(md)的一個或多個麥克風的數據。在圖1的示例中,如圖8所示,主節點102向從節點1,4和5(在圖8中被描繪為有源揚聲器)發送數據,並且從從節點7,6,3,2和0(在圖8中被描繪為麥克風陣列)。
圖9-11示出在系統100中各種示例數據傳輸操作。在圖9-11中,scfs被示出為相鄰節點之間時間對準,所述srf用於示出作為相鄰節點之間時間延遲;這僅僅是為了便於示例,而scf和srf可能從節點到節點具有相似的時間延遲。時隙「y」也是下遊數據的一部分。
圖9示意性地示出根據各種實施例的從下遊收發器124的角度來看,從下遊傳輸動態移除數據和將數據插入到上遊傳輸中。在圖9中,如圖8,主節點102以相反的順序(例如,用於從節點5的數據後面是用於從節點4的數據)發送同步控制幀(scf),其後是用於從節點1、4和5之後是從節點1的數據等)(參見標記為master的行)。當從節點1接收到該傳輸時,從節點1去除其自己的數據,並且僅向從節點2轉發同步控制幀,隨後是從節點5和4的數據。從節點2和3不改變地轉發數據(參見行標記為slave2),使得由從節點1轉發的數據被從節點4接收(參見標記為從節點3的行)。從節點4去除其自己的數據,並且僅向從節點5轉發同步控制幀,其後跟隨有用於從節點5的數據,並且類似地,從節點5去除其自己的數據,並且僅向同步控制幀轉發到從節點6。從節點6將同步控制幀轉發到從節點7(參見標記為slave6的行)。
在這一點上,從節點7向從節點6發送同步響應幀(srf),其後是其數據(參見標記為從屬節6的行)。從節點6將同步響應幀連同來自從節點7的數據及其自己的數據一起轉發到從節點5,從節點5繼而將同步響應幀連同來自從節點7和6的數據一起轉發到從節點4從節點4沒有要添加的數據,因此它簡單地將數據轉發到從節點3(參見標記為slave3的行),其將數據連同其自己的數據一起轉發到從節點2(參見標記為slave2的行),其繼而將數據連同其自己的數據一起轉發到從節點1.從節點1沒有要添加的數據,因此它將數據轉發到從節點0,從節點0將數據與其自己的數據一起轉發。結果,主節點102接收同步響應幀,其後跟隨來自從節點7,6,3,2和0的數據(參見標記為master的行)。
圖10示出了從下遊收發器124的角度動態移除來自下遊傳輸的數據和將數據插入上遊傳輸的另一示例,如圖9所示,但在圖10中,從節點104與作為外圍設備108的傳感器和致動器耦合,使得主節點102向下遊向所有從節點104發送數據,並從所有從節點104接收回數據。同樣在圖10中,數據基於它所指向的或從其發起的節點地址來排序。標記為「y」的數據時隙可以用於數據完整性校驗或數據校正;在一些實施例中,標記為「y」的數據時隙可以額外地或替代地包括在下行數據中。
圖11示出了從下遊收發器124的角度來看,從下遊傳輸動態移除數據和將數據插入上遊傳輸的另一示例,如圖9所示,但在圖11中,以順序次序而不是相反次序向下遊和上遊傳送數據。在每個從節點104處的緩衝允許選擇性地添加,移除和/或轉發數據。
如上所述,每個從節點104可以從下遊或上遊傳輸中移除數據和/或可以向下遊或上遊傳輸添加數據。因此,例如,主節點102可以向多個從節點104中的每一個傳送單獨的數據樣本,並且每個這樣的從節點104可以移除其數據樣本,並僅轉發用於下遊從節點的數據。另一方面,從節點104可以從下遊從節點104接收數據,並且將數據與附加數據一起轉發。發送所需的少量信息的一個優點是減少系統100集體消耗的功率量。
系統100還可以支持從主節點102到從節點104的廣播傳輸(和多播傳輸),具體地通過配置從節點104的下遊時隙使用。每個從節點104可以處理廣播傳輸並將其傳遞給下一個從節點104,雖然特定的從節點104可以「消耗」廣播消息(即,不向下一個從節點104傳遞廣播傳輸)。
系統100還可支持上遊傳輸(例如,從特定從節點104到一個或多個其他從節點104)。這樣的上遊傳輸可以包括單播,多播和/或廣播上遊傳輸。通過上遊尋址,如上文參照下遊傳輸所討論的,從節點104可以基於以下來確定是否從上遊傳輸中移除數據和/或是否將上遊傳輸傳遞給下一個上遊從節點104:因此,例如,除了或代替將數據傳遞到主節點104,數據可以由特定從節點104傳遞到一個或多個其他從節點104。這樣的從-從關係可以例如經由主節點102來配置。
因此,在各種實施例中,從節點104可以作為有源/智能中繼器節點操作,具有選擇性地轉發、丟棄和添加信息的能力。從節點104通常可以執行這樣的功能,而不必解碼/檢查所有數據,因為每個從節點104知道它將在其中接收/發送數據的相關時隙,並且因此可以從其中移除數據或添加數據進入時隙。儘管從節點104可能不需要解碼/檢查所有數據,但是從節點104通常可以重新計時其發送/轉發的數據。這可以提高系統100的魯棒性。
在一些實施例中,總線106可以被配置為用於環形拓撲中的單向通信。例如,圖12示出了環形拓撲中的主節點102和四個從節點104的布置1200,並且示出了根據各種實施例的用於布置1200中的單向通信的信令和定時考慮。在這樣的實施例中,節點中的收發器120可以包括僅接收收發器(masterin)和僅發送收發器(masterout),而不是用於上遊和下遊通信的兩個雙向收發器。在圖12所示的鏈路層同步方案中,主節點102發送同步控制幀(scf)180,可選地跟隨耦合到各個從節點104的三個揚聲器的「下遊」數據1202(用於不同揚聲器的數據可以以任何合適的順序排列,如如上文參考圖8-11所討論的),並且每個連續的從節點104將同步控制幀180連同來自先前從節點104的任何「上遊」數據和其自身的「上遊」數據一起轉發,以提供「上遊」數據1204(例如,來自八個不同麥克風的數據可以以任何合適的順序排列,如上文參考圖8-11所討論的)。
如本文所述,數據可以以多種方式中的任一種在系統100的元件之間傳送。在一些實施例中,數據可作為一組同步數據時隙的一部分由從節點104上遊發送(例如,使用數據時隙199)或由從節點104或主節點102下遊發送(例如,使用數據時隙198)。可以通過改變數據時隙中的比特數或者包括額外的數據時隙來調整這種數據的量。數據還可以通過包括在同步控制幀180或同步響應幀197中而在系統100中傳送。以這種方式傳送的數據可以包括來自主機110的i2c控制數據(具有來自與從機相關聯的外圍設備108的響應節點104);訪問從節點104的寄存器(例如,用於發現和配置插槽和接口),其可以包括從主機110/主節點102到從節點104的寫訪問以及從從節點104到主機110的讀訪問/主節點102;以及經由從外圍設備108到主機110的中斷的事件信令。在一些實施例中,gpio引腳可以用於將信息從從節點104傳送到主節點102(例如,通過使主節點102輪詢gpio引腳通過i2c,或通過使從節點104的節點收發器120在中斷請求引腳產生中斷)。例如,在一些這樣的實施例中,主機110可以經由i2c向主節點102發送信息,然後主節點102可以經由gpio引腳將該信息發送到從機。可以使用這些通信路徑中的任何一個或多個來傳輸本文討論的通過總線106傳輸的任何類型的數據。本文可以公開系統100內的其他類型的數據和數據通信技術。
本公開的實施例可以使用任何合適的硬體和/或軟體實現到系統中以根據需要配置。圖13示意性地示出根據各種實施例的可用作系統100中的主機或節點(例如,主機110、主節點102或從節點104)的設備1300。在圖13中示出了多個部件,但是可以省略或複製這些組件中的任何一個或多個,以適合於應用。
另外,在各種實施例中,設備1300可以不包括圖13中所示的一個或多個組件,但是設備1300可以包括用於耦合到一個或多個組件的接口電路。例如,設備1300可以不包括顯示設備1306,但是可以包括顯示設備1306可以耦合到的顯示設備接口電路(例如,連接器和驅動器電路)。在另一組示例中,設備1300可以不包括音頻輸入設備1324或音頻輸出設備1308,但是可以包括音頻輸入或輸出設備接口電路(例如,連接器和支持電路)、音頻輸入設備1324或音頻輸出設備1308可以耦合。
根據本文公開的任何實施例,設備1300可以包括節點收發器120,用於當設備1300耦合到總線106時管理沿著總線106的通信。設備1300可以包括處理設備1302(例如,一個或多個處理設備),其可以被包括在節點收發器120中或者與節點收發器120分離。如本文所使用的,術語「處理設備」可以指處理電子的設備的任何設備或部分來自寄存器和/或存儲器的數據,以將該電子數據轉換成可以存儲在寄存器和/或存儲器中的其它電子數據。處理設備1302可以包括一個或多個數位訊號處理器(dsp),專用集成電路(asic),中央處理單元(cpu),圖形處理單元(gpu),密碼處理器或任何其它合適的處理設備。設備1300可以包括存儲器1304,存儲器1304本身可以包括一個或多個存儲器設備,諸如易失性存儲器(例如,動態隨機存取存儲器(dram))、非易失性存儲器(例如,只讀存儲器(rom))、快閃記憶體、固態存儲器和/或硬碟驅動器。
在一些實施例中,存儲器1304可以用於存儲編程指令的工作副本和永久副本,以使得設備1300執行本文公開的技術中的任何合適的技術。在一些實施例中,用於執行上述技術的機器可訪問介質(包括非暫時性計算機可讀存儲介質)、方法、系統和設備是本文公開的用於通過雙線總線進行通信的實施例的示例性示例。例如,計算機可讀介質(例如,存儲器1304)可以具有存儲在其上的指令,當由包括在處理設備1302中的處理設備中的一個或多個執行時,使得設備1300執行所公開的技術。
在一些實施例中,設備1300可以包括另一通信晶片1312(例如,一個或多個其他通信晶片)。例如,通信晶片1312可以被配置為管理用於向和從設備1300傳送數據的無線通信。術語「無線」及其派生詞可以用於描述電路、設備、系統、方法、技術、通信通道等,其可以通過使用調製的電磁輻射通過非固體介質來傳送數據。該術語並不意味著相關聯的設備不包含任何導線,儘管在一些實施例中它們可能不包括。
通信晶片1312可以實現多種無線標準或協議中的任何一種,包括但不限於包括wi-fi(ieee802.11家族),ieee802.16標準(例如,ieee802.11標準)的電氣和電子工程師協會ieee802.16-2005修正),長期演進(lte)項目以及任何修改,更新和/或修訂(例如,高級lte項目,超移動寬帶(umb)項目(也稱為「3gpp2」)等等。)。ieee802.16兼容的寬帶無線接入(bwa)網絡通常被稱為wimax網絡,wimax網絡是代表微波接入的全球互通性的縮寫,wimax是通過針對ieee802.16標準的一致性和互操作性測試的產品的認證標記。一個或多個通信晶片1312可以根據全球移動通信系統(gsm)、通用分組無線業務(gprs)、通用移動電信系統(umts)、高速分組接入(hspa)、演進的hspa(e)-hspa)或lte網絡操作。一個或多個通信晶片1312可以根據增強型數據gsm演進(edge)、gsmedge無線電接入網絡(geran)、通用陸地無線電接入網絡(utran)或演進utran(e-utran)來操作。一個或多個通信晶片1312可以根據碼分多址(cdma),時分多址(tdma),數字增強無繩電信(dect),演進數據優化(ev-do)及其派生來操作,以及被指定為3g、4g、5g及以上的任何其它無線協議。在其他實施例中,通信晶片1312可以根據其他無線協議進行操作。設備1300可以包括用於促進無線通信和/或接收其他無線通信(諸如am或fm無線電傳輸)的天線1322。
在一些實施例中,通信晶片1312可以使用除了這裡描述的總線106的協議之外的協議來管理有線通信。有線通信可以包括電、光或任何其它合適的通信協議。可由通信晶片1312啟用的有線通信協議的示例包括乙太網、控制器區域網(can)、i2c、面向媒體的系統傳輸(most)或任何其它合適的有線通信協議。
如上所述,通信晶片1312可以包括多個通信晶片。例如,第一通信晶片1312可以專用於諸如wi-fi或藍牙的較短距離無線通信,並且第二通信晶片1312可以專用於較長距離無線通信,諸如gps、edge、gprs、cdma、wimax、lte、ev-do或其他。在一些實施例中,第一通信晶片1312可以專用於無線通信,並且第二通信晶片1312可以專用於有線通信。
設備1300可以包括電池/功率電路1314。電池/功率電路1314可以包括用於將設備1300的組件耦合到能量源的一個或多個能量存儲設備(例如,電池或電容器)和/或電路與設備1300分離(例如,ac線路功率,由汽車電池提供的電壓等)。例如,電池/電源電路1314可以包括上面參照圖2討論的上遊濾波電路132和下遊濾波電路131,並且可以通過總線106上的偏置來充電。
設備1300可以包括顯示設備1306(或如上所述的相應的接口電路)。顯示設備1306可以例如包括諸如平視顯示器、計算機監視器、投影儀、觸控螢幕顯示器、液晶顯示器(lcd)、發光二極體顯示器或平板顯示器的任何視覺指示器。
設備1300可以包括音頻輸出設備1308(或如上所述的相應的接口電路)。音頻輸出設備1308可以包括生成可聽指示器的任何設備,例如揚聲器、耳機或耳塞。
設備1300可以包括音頻輸入設備1324(或如上所述的相應的接口電路)。音頻輸入設備1324可以包括生成表示聲音的信號的任何設備,諸如麥克風,麥克風陣列或數字樂器(例如,具有樂器數字接口(midi)輸出的樂器)。
設備1300可以包括全球定位系統(gps)設備1318(或如上所述的相應的接口電路)。如本領域中已知的,gps設備1318可以與基於衛星的系統通信,並且可以接收設備1300的位置。
設備1300可以包括另一輸出設備1310(或如上所述的相應的接口電路)。其他輸出設備1310的示例可以包括音頻編解碼器,視頻編解碼器,印表機,用於向其他設備提供信息的有線或無線發射機或附加存儲設備。另外,本文討論的外圍設備108中的任何合適的外圍設備可以包括在其他輸出設備1310中。
設備1300可以包括另一輸入設備1320(或如上所述的相應的接口電路)。其他輸入設備1320的示例可以包括加速度計、陀螺儀、圖像捕獲設備、鍵盤、諸如滑鼠的光標控制設備、觸筆、觸摸板、條形碼讀取器,快速響應(qr)碼讀取器或射頻識別(rfid)讀取器。另外,本文討論的傳感器或外圍設備108中的任何合適的傳感器或外圍設備可以包括在其他輸入設備1320中。
上面參考設備1300描述的顯示,輸入,輸出,通信或存儲器設備中的任何合適的設備可以用作系統100中的外圍設備108。可選地或另外地,顯示器,輸入,上文參考設備1300描述的輸出,通信或存儲器設備可以包括在主機(例如,主機110)或節點(例如,主節點102或從節點104)中。
抽取支持更低的採樣率,並使用多個插槽來支持更高的採樣率
在一些實施例中,總線106的節點可以支持單個高帶寬音頻採樣率(例如,44.1khz-48khz)。然而,許多數字音頻信號可能不總是需要由總線106支持的完整音頻頻譜。例如,一些音頻噪聲消除應用可能不需要通過總線106發送的一些音頻信號的全帶寬。通過抽取信號不需要全帶寬,多個信道可以在單個音頻流內被「打包」,並且沿著總線106獨立地分布到不同的從節點104。例如,抽取的音頻流可以包括多信道噪聲消除流,多信道活動聲音音頻,或其他較低帶寬流。低於40khz的採樣率可能足夠用於例如人類語音,較低質量的音頻和fm無線電的傳輸。
在同步數字音頻網絡(例如,總線106)內,提供多個音頻流的常規方法通常需要以由最高音頻帶寬信道的需要選擇的採樣率提供所有流。所有其它信道可能被迫保持相同的高採樣音頻速率,因此如果不需要高採樣音頻速率,則可能浪費數字吞吐量。假定總數字總線吞吐量有限,該常規冗餘可以降低要發送的可能信道的數量。
如果音頻被替代地抽取,則總線106可以通過在主節點102處復用流並且選擇性地收聽或接收在從屬節點處的一個或多個信道來允許在單個音頻時隙內傳輸多個音頻信道節點104。
如果數字音頻信號需要比總線106的超幀速率更高的採樣速率,則還可以使用總線106通過在多個信道上傳輸音頻信號來支持更高的採樣速率(例如,在多個在單個超幀190內的數據時隙)。例如,從節點104可以使用多個數據時隙以比超幀速率更高的採樣速率(例如,使兩個數據時隙加倍超幀速率,四個數據時隙使超幀速率加倍等)來進行發射。對於更高質量的音頻(例如,專業音頻)和dvd音頻,大於48khz的採樣率可是期望的。
為了在從節點104中支持兩倍和四倍的採樣速率,主節點102可以在其到主機110的採樣頻率接口處使用兩倍和四倍的tdm數據信道的量。為了增加採樣速率,多個整個通道和/或通道的分數。
在一些實施例中,單個外圍設備108(與從節點104相關聯)的數據可以佔據多個下遊數據時隙198。該數據可以是例如音頻數據。在一些實施例中,來自單個外圍設備108(與從節點104相關聯)的數據可以佔據多個上遊數據時隙199。圖14示出了根據本文描述的總線協議的各種實施例的沿著雙線總線106的信息交換的示例。如圖14的「主發送」行所示,一個下遊數據時隙可以被發往與從節點1相關聯的揚聲器的發言者數據佔據,並且兩個下遊數據時隙(sd2(1)和sd2(2))可以被發往與發言者相關聯因此,與從節點2相關聯的揚聲器可以以與從節點1相關聯的揚聲器的速率的兩倍速率接收數據。多個數據時隙的類似使用可以發生在上遊數據時隙199中。
在一些實施例中,第一超幀190的上遊數據時隙199中的特定數據時隙可以包括來自第一外圍設備的數據,而第二超幀190的上遊數據時隙199中的特定數據時隙可以包括數據從不同的第二外圍設備。例如,如圖4的「主接收」行中的第一同步響應幀之後所示,如圖14所示,第一上遊數據時隙可以被來自與從節點1相關聯的麥克風的麥克風數據佔用,並且第二上遊數據時隙可以被來自與從節點0相關聯的麥克風a(md0a)的麥克風數據佔用。如圖14的「主接收」行中的第二同步響應幀之後所示,第一上遊數據時隙可以再次被來自與從節點1相關聯的麥克風的麥克風數據佔用,但第二上遊數據時隙可以被來自與從節點0(md0b)相關聯的麥克風b的麥克風數據佔用。因此,與從節點1相關聯的麥克風可以以與從節點104相關聯的麥克風的速率的兩倍的速率在總線106上提供數據。多個數據時隙的類似使用可發生在下遊數據時隙198中。圖14示出了其中與同一從節點相關聯的多個外圍設備共享特定上遊數據時隙的示例,在一些實施例中,與不同從節點相關聯的多個外圍設備可以共享特定上遊數據時隙。
如上所述,經由i2s/tdm總線(例如,使用節點收發器120的i2s/tdm/pdm收發器127)與外圍設備108耦合的從節點104可以與外圍設備108通信以小於超幀速率的速率。從節點104中的設置可以通過什麼因子確定從外圍設備通信相對於超幀速率(例如,2倍,4倍等)以及多個外圍設備108(或多個信道到耦合到從節點104的單個外圍設備108)可以通過時分復用共享從節點104和主節點102之間的通信時隙(例如,兩個外圍設備108可以交替地將數據放置在從節點104和主節點102之間的給定通信時隙主節點102和從節點104)。在一些實施例中,當數據速率降低時,當「縮減數據速率」外圍設備108花費很長時間將數據發送回從節點104時,從節點104可以在外部設備108的在數據應被發送到主節點102(具有存儲在從節點104處的整數)的時間之前的整數個超幀。
在一些實施例中,節點收發器120的i2s/tdm/pdm收發器127可以相對於超幀速率以降低的速率運行。例如,在48khz超幀速率下允許的降低速率可以包括24khz、12khz、6khz、4khz、3khz、2.4khz、2khz、1.71khz和1.5khz。節點收發器127可以發送由i2s/tdm/pdm收發器127在上遊或下遊接收的數據。不同的從節點104的i2s/tdm/pdm收發器127可以以不同的速率運行。在一些實施例中,主節點102的i2s/tdm/pdm收發器127可以在系統100中以最高數據速率運行。
在一些實施例中,總線106上的數據時隙可以被配置為以完全連續的音頻速率(例如,48khz)運行,或者通過跳過用於超幀190的數據時隙以減小的速率運行,包含數據(例如,當在系統100中僅存在「降低的採樣率」麥克風節點作為外圍設備108時)。該方法可以通過減少總線106上的活動水平而不增加總線106上的信道帶寬來節省功率。
在一些實施例中,總線106上的數據時隙可以被配置為以完全連續的音頻速率運行,或者通過將用於特定從節點104的總線數據時隙分時為多個i2s/tdm信道,而不跳過超幀190的數據時隙。當不同類型的外圍設備108沿著總線106耦合到從節點104(例如,耦合到一個從節點104的多軸加速度計,耦合到另一個從節點104的麥克風或放大器節點等)。這種方法可以增加總線106上的信道帶寬並節省一些功率。
總線106上的節點可以包括用於存儲與降低速率操作相關的配置信息的一個或多個寄存器(例如,在存儲器1304中)。例如,i2srrate寄存器可以定義欄位rrdiv,其可以用於將超幀速率降低到降低的i2s速率。例如,如上所述,對於48khz的超幀速率,rrdiv可以設置為24khz、12khz、6khz、4khz、3khz、2.4khz、2khz、1.71khz或1.5khz的降低速率。在一些實施例中。i2srrate寄存器還可以包括控制位rbus,其可以用於使能總線106上的減少速率的數據時隙。在一些實施例中,i2srrate寄存器可以被定義為僅主控,自動廣播,以確保該值為在總線的所有節點內是相同的,而在其他實施例中,不需要是這種情況。
i2srate寄存器可以包括用於選擇從節點i2s/tdm速率作為超幀速率的整數倍的欄位(例如,3比特欄位),或者是超幀速率的一部分。i2srate寄存器還可以包括reduce位,用於通過釘扎減少或複製i2s/tdm數據以滿足超幀速率來控制增加速率的從節點104中的rx數據的處理。share欄位可以允許在總線106上實現數據時隙的共享。
i2srrctl寄存器可以提供用於允許節點的處理設備1302跟蹤包含新的降低速率樣本的全速率幀的比特。設置i2srrctl寄存器中的envlsb位可能導致每個數據通道的最低有效位(lsb)在發送新採樣時置1,否則清零。將i2srrctl寄存器中的enxbit位置1可能會導致在每個數據通道的數據字lsb後使用一個額外的位。該額外比特可以在發送新採樣時被設置,否則被清除。在一些實施例中,數據字長度可以小於信道寬度(例如,32位i2s信道中的24位數據字),並且該額外位可以指示新的採樣(而通道中的剩餘位可以仍然指示錯誤數據)。將i2srrctl寄存器中的enstrb位置1可將adr1引腳配置為指示更新速率數據更新幀的選通。對於「全速率」節點,在i2srrctl寄存器中設置enchan位可以將節點配置為產生額外的i2s/tdm數據通道,以指示更新速率數據更新的幀。
i2srrsoffs寄存器可以提供用於在速率降低的從節點104中以超幀增量移動sync邊沿的欄位。i2srrsoffs寄存器的rrsoffset欄位可以存儲用於將速率較低的從節點104的sync邊沿在時間上較早地移動多個超幀的值。當i2s/tdm接收數據需要多於一個超幀190的存取時間時,該寄存器可用於最小化在總線106上傳送的降低速率數據的等待時間。在一些實施例中,在降低速率的從節點104中,在數據應當被發送到主機110或其他處理器之前,活動sync邊緣可以發生在兩個超幀190。將rrsoffset設置為n可能導致sync邊緣先於n個超幀發生。仍然可以在相同超幀190中的總線106上發送接收數據,而不管rrsoffset值如何。
傳輸輔助電源和電池電源
如上所述,從節點104可以由它們自己的電源本地供電和/或可以從總線106提取功率。在一些實施例中,從節點104可以提取輔助輸出功率,用於為與從節點104作為外圍設備108,以通過放大器(並且可能與連接到相同或不同的從節點104的其他放大器組合)創建足夠的音頻來為揚聲器供電。放大器可以是「智能的」(例如,具有其自己的數位訊號處理能力)或不是(例如,沒有數位訊號處理)。
在其中用於從節點104的主本地電源故障的緊急情況下,經由總線106發送輔助功率可能是特別有利的;在車輛中,例如,警告消息和其他警報仍然可以通過音頻系統傳輸。從總線106提取輔助電源還可以消除與本地電源到從節點104(與例如有源揚聲器相關聯)的連接和布線相關聯的成本。
另外,在總線106將功率傳遞到從節點104的實施例中,總線106可提供支持局部功率存儲(例如,對一個或多個電池,電容器,超級電容器充電)的電流,從而減小或消除了對與從節點104(例如,音頻放大器)相關聯的外圍設備108供電的額外的本地或幻影電源的需要。在一些實施例中,來自總線106的有限功率可用於饋送具有本地能量存儲裝置的從節點106,其中能量存儲裝置在峰值功率需求的時間期間提供必要的能量,同時在低的時間功率需求。當應用於具有高波峰因數的音頻信號時,這可能是特別有利的。在一些實施例中,本地電池也可用於本地供電的從節點104(例如,以減少局部電源的線徑)。
圖15是布置1500的框圖,其中從節點104耦合到能量存儲設備1502和外圍設備108(例如揚聲器)。在一些實施例中,從節點104可以從總線106提取功率(例如,如上文參考圖1和圖2所討論的),並且可以使用該功率來至少部分地將能量存儲在能量存儲裝置能量存儲裝置1502可包括任何合適的能量存儲裝置,例如電容器或電池。特別地,從節點104的節點收發器120(未示出)可以包括電源電路1314,用於在總線106上接收電壓偏置,並且將來自電壓偏置的能量提供給能量存儲裝置1502。從節點104可以選擇性地使用能量存儲裝置1502來驅動揚聲器108。在一些實施例中,從節點104可以選擇性地使用能量存儲裝置1502來驅動功率到總線106上,以向另一個從節點104提供功率。能量存儲裝置1502可以連接到放大器,收發器和/或其他組件或外圍設備108(例如,數位訊號處理器,adc,dac,電池管理電路等)。
具有揚聲器和麥克風作為外圍設備的節點
在一些實施例中,從節點104可以與揚聲器相關聯,作為外圍設備108(主要使用下遊通信),麥克風作為外圍設備108(使用大多數上遊通信),或揚聲器和麥克風(使用由總線106支持的上遊和下遊通信)。用於從節點104的揚聲器和麥克風的數量可以根據應用而變化,並且可以是任何合適的組合。這裡討論與作為外圍設備的揚聲器和麥克風相關聯的從節點104的多個示例。在這些實施例的一些中,從節點104的節點收發器120的外圍設備通信電路(例如,i2s/tdm/pdm收發器127,i2c收發器129或具有中斷請求能力的一個或多個gpio引腳)具有至少一個揚聲器和至少一個麥克風。主機110可以(經由主節點102)將數據推送到總線106上以與這些設備通信和/或從這些設備接收來自總線106(經由主節點102)的數據。
感應碰撞
在其中系統100包括在車輛中的一些實施例中,總線106可以提供數字網絡,以幫助在碰撞期間理解車輛的完整性和事故水平。麥克風和/或其他傳感器(包括在外圍設備108中)可以用於感測相關聯的從節點104附近的環境的狀態,並且感測的信息可以在希望收集信息的應用上遊或下遊傳輸對車輛的安全和完整性。其他感測的示例可以包括超聲傳感器,視覺傳感器或機電傳感器(例如,加速度計和陀螺儀)等。
會議系統
在一些實施例中,系統100可以將與一個從節點104(或多個從節點106)相關聯的麥克風採樣的音頻分發給與另一個從節點104(或多個其他從節點104)相關聯的揚聲器。例如,總線106可以在車輛(例如,汽車、豪華轎車、客車、小型貨車、飛機等)周圍分配獲取的本地麥克風信息,使得可以在乘客和駕駛員、駕駛員到後座椅、或任何一對位置之間提供音頻信息。系統100的一些實施例可以將由與從節點104中的任一個相關聯的麥克風採樣的音頻廣播到由總線106提供的音頻網絡中的許多其他從節點104。總線106還可以在任何合適的兩個點(例如,消息、數據文件、內容流等)。
在一些實施例中,從節點104可以包括外圍設備通信電路(例如i2s/tdm/pdm收發器127,節點收發器120的i2c收發器129或具有中斷請求能力的一個或多個gpio引腳)以與麥克風和會議用戶接口元件(例如,作為外圍設備108)通信。當用戶希望將來自麥克風的音頻提供給耦合到總線106的另一設備時,用戶可以致動會議用戶接口元件。會議用戶接口元件可以是例如按鈕,姿勢識別設備,麥克風(例如耦合到可以執行語音識別任務以識別開始和結束會議的命令的處理設備)或觸控螢幕顯示器的指定部分。在由用戶激活會議用戶接口元件時,從節點104可以在總線104上的上遊和/或下遊提供來自麥克風的數據,以便由一個或多個其他設備(例如,節點或主機)接收和/110)。在一些實施例中,主機110可以接收麥克風數據並且可以將其路由到總線106上的另一個從節點104用於回放。從節點104還可以響應於會議用戶接口元件的致動而提供路由數據,以指示麥克風數據的源和/或麥克風數據的期望目的地(a)。
例如,圖16描繪了主機110,主節點102和兩個從節點104及其相關聯的外圍設備108的布置1600以及方法1602的流程圖,方法1602可以由布置1600的主機110執行以選擇性地路由音頻。在布置1600中,從節點0可以與單個揚聲器相關聯,而從節點1可以與揚聲器,麥克風和充當會議用戶接口元件的按鈕相關聯。方法1602可以表示對布置1600內的數據的路由的「主機為中心」的方法。
在1604,主機110可以向從節點0提供音樂0。音樂0表示在「標稱」操作期間被路由到從節點0的任何期望的數據流。在一些實施例中,音樂0可以是視頻數據,語音數據或任何其它合適的數據。主機110可以使用本文公開的任何總線協議經由主節點102通過總線106在1604向從節點0提供音樂0。
在1606,主機110可以向從節點1提供音樂1。音樂1表示在「標稱」操作期間被路由到從節點1的任何期望的數據流。在一些實施例中,音樂1可以是視頻數據,語音數據或任何其它合適的數據。主機110可以使用本文公開的任何總線協議經由主節點102在總線106上在1606向從節點1提供音樂1。
在1608,主機110可以從從節點1接收按鈕數據。按鈕數據可以指示按鈕的狀態(例如,按鈕是否已被用戶按下)。主機110可以在1608經由主節點102使用本文所公開的總線協議中的任一個在總線106上從從節點1接收按鈕數據。
在1610,主機110可以從從節點1接收麥克風數據。麥克風數據可以是與從節點1相關聯的麥克風作為外圍設備108捕獲的音頻數據。主機110可以從從節點接收麥克風數據1在1610處經由主節點102使用本文公開的任何總線協議經由總線106。
在1612,主機110可以確定在1608處接收的按鈕數據是否指示該按鈕已被用戶按下。如果主機110在1612確定按鈕沒有被按下,則主機110可以返回到1604並繼續向從節點0提供音樂0。
如果主機110在1612處確定按鈕已被按下,則主機110可進行到1614並將麥克風數據從從節點1提供到從節點0。主機110可將麥克風數據提供到從節點1而不是音樂1,中斷用於麥克風數據的音樂1。從節點1可以向其相關聯的揚聲器提供麥克風數據,從而將與從節點1相關聯的麥克風收集的音頻提供給與從節點0相關聯的揚聲器。主機110可以在1614向從節點1提供麥克風數據經由主節點102使用本文公開的任何總線協議經由總線106。
在1616,主機110可停止向從節點1提供音樂1(以使與從節點1相關聯的揚聲器安靜,而與從節點1相關聯的麥克風正將其數據發射到總線上的其它裝置),且接著可以返回到1612以確定按鈕是否仍然被按壓。在一些實施例中,主機110可以在1616處減少音樂1的音量,而不是停止其提供。在一些實施例中,主機110可以在1616使音樂1的音量靜音,而不是停止其提供。
圖17是根據各種實施例,在布置1500周圍的音頻的選擇性路由期間可以由圖16的布置1600的從節點0執行的方法1700的流程圖。方法1700可以表示在布置1600內的數據路由的「以從節點為中心」的方法。
在1702,從節點0可以從主機110接收音樂0。如上面參考1604所討論的,音樂0表示在「標稱」操作期間被路由到從節點0的任何期望的數據流。在一些實施例中,音樂0可以是視頻數據,語音數據或任何其它合適的數據。主機110可以使用本文公開的任何總線協議經由主節點102在總線106上在1702向從節點0提供音樂0。
在1704,從節點0可以向與從節點0相關聯的揚聲器提供音樂0作為外圍設備108。作為響應,揚聲器可以輸出音樂0作為可聽信號。
在1706處,從節點0可以從從節點1接收按鈕數據。按鈕數據可以指示與從節點1相關聯的按鈕的狀態(例如,按鈕是否已被用戶按下)。在一些實施例中,從節點0可以通過總線106直接從從節點1接收按鈕數據(例如,數據不必首先去往主節點102)。在一些實施例中,從節點0可以經由主節點102和/或經由主機110從從節點1接收按鈕數據。通常,從節點0可以在1706使用總線協議。
在1708處,從節點0可以從從節點1接收麥克風數據。麥克風數據可以是由與從節點1相關聯的麥克風作為外圍設備108捕獲的音頻數據。在一些實施例中,從節點0可以通過總線106直接從從節點1接收麥克風數據(例如,沒有數據首先必須去往主節點102)。在一些實施例中,從節點0可以經由主節點102和/或經由主機110從從節點1接收麥克風數據。通常,從節點0可以在1708使用以下任一項從從節點1接收麥克風數據:本文公開的總線協議。
在1710,從節點0可以確定在1706處接收的按鈕數據是否指示該按鈕已被用戶按下。如果從節點0在1710確定按鈕沒有被按下,則從節點0可以返回到1702並繼續從主機110接收音樂0。
如果從節點0在1710確定按鈕已經被按下,則從節點0可以進行到1712並且向與從節點0相關聯的揚聲器提供麥克風數據。從節點0可以提供麥克風數據到揚聲器而不是音樂0,中斷用於麥克風數據的音樂0。從節點0然後可以返回到1710以確定按鈕是否仍然被按壓。
路由語音呼叫
在一些實施例中,系統100可以提供用於路由來自單個接收器的進入和離開語音呼叫(例如,在車輛內不同位置周圍路由呼叫)的數字音頻網絡。利用低等待時間的下遊和上遊信道,可以在整個車輛中以許多有趣的方式路由高質量語音呼叫。
在一些實施例中,從節點104可以包括外圍設備通信電路(諸如i2s/tdm/pdm收發器127,節點收發器120的i2c收發器129或具有中斷請求能力的一個或多個gpio引腳)無線收發器可以接收語音呼叫,並且從節點104可以將表示語音呼叫的數據放置在總線106上(例如,上遊或下遊)。
例如,圖18描繪了系統100的實施例,其中無線收發器包括在與從節點1相關聯的外圍設備108中。從節點1可以從無線收發器接收語音呼叫數據,並且可以將其提供給系統中的其他設備100(上遊和/或下遊),根據本文公開的任何總線協議。根據本文所公開的總線協議中的任一個,從節點1還可以從系統100中的任何其他設備接收數據,並將其提供給無線收發器用於包括在輸出語音傳輸中。
在另一示例中,圖19描繪了系統100的實施例,其中無線收發器1902耦合到主機110(例如,使用任何合適的通信協議)。主機110可以根據本文公開的任何總線協議從無線收發器1902接收數據並將其提供給系統100中的其他設備。根據本文所公開的總線協議中的任一個,主機110還可以從系統100中的任何其他設備接收數據,並將其提供給無線收發器1902,以包括在輸出語音傳輸中。
通信接收器和發射器
如上面參照來自語音呼叫的無線收發器所討論的,代替或除了向連接到總線106的從節點104提供揚聲器和麥克風作為外圍設備108之外,從節點104還可以與外圍設備108,一個或多個通信收發器。這樣的收發器的示例可以包括藍牙模塊,近場收發器,無線網際網路收發器,乙太網收發器,乙太網音頻視頻橋接(eavb)收發器,用於在物聯網(iot)應用中傳輸數據的收發器等。系統100可以有效提供擴展總線106的物理層通信鏈路,以不僅提供下遊和上遊音頻通信,而且提供流通信。可以使用總線同步地傳輸音頻,視頻和任何合適的信息(其中數據與音頻i2s/tdm,i2c,irq等同時傳輸,如上面參照i2s/tdm/pdm收發器127和i2c收發器129)。該功能對於遞送和接收時間編碼媒體或在不同數據流之間的定時很重要的應用中可能是特別有利的。上面參考圖1和2討論的實施例。圖18和19也可應用於任何合適的通信接收器和發射器。
例如,在一些實施例中,與從節點104相關聯的藍牙模塊可以與行動裝置通信以經由藍牙向總線106(例如,向從節點104或主節點102)發送信號,使得該信號可以被傳遞到系統100中的其他設備(例如,音頻信號可以由與連接到總線106的從節點104相關聯的揚聲器播放)。更一般地,本文公開的總線協議可以用作到其他通信系統的橋和/或橋接多個通信系統。
內容路由
在一些實施例中,系統100可以提供允許音頻內容本地傳輸到任意一個或多個從節點104的數字音頻網絡。例如,系統100可以被配置為選擇性地將音頻路由到不同的數字音頻網絡的部分(例如,後聲道,前聲道,在車輛的特定座位處的揚聲器等)。以上參照圖1和2討論了該功能的示例。除了音頻之外,這種選擇性路由可以應用於任何其它合適類型的流傳輸內容。
自動混合
在一些實施例中,由系統100啟用的節點間通信可以用於從包括在外圍設備108中的許多麥克風收集音頻信號,以避免在由數字分布式音頻網絡實現的雙重通話和/或回聲。具體地,總線106上的不同從節點104可以知道在總線106上傳輸的音頻信號,並且可以通過響應地調整它們的音頻輸出來進行補償。如上面參照圖16和17所示,可以以分布式方式(例如,通過包括在一個或多個從節點104中的處理設備1302)或以集中式方式(例如,通過包括在主節點102或主機110中的處理設備1302)。
束形成
在一些實施例中,系統100向總線106上的多個從節點104遞送和收集同步音頻內容的能力可以支持波束形成應用。這樣的應用可以包括檢測揚聲器位於何處和/或形成波束,以確保輸出音頻聚焦在特定區域(但是在該區域之外具有減小的或沒有可聽見性)。任何合適的聚焦傳輸或接收音頻應用也可以利用系統100。
麥克風連接
在一些實施例中,系統100可以用於提供與現有的模擬麥克風,連接器和前置放大器兼容並且使用標準屏蔽三導體麥克風布線來操作的麥克風數字互連。
已經進行了以前的嘗試來引入用於專業音頻和聲音增強的數字麥克風。在這些嘗試中,音頻信號在膠囊處直接從模擬轉換為數字,然後數字地傳輸。這種方法需要定製麥克風,特殊數字電纜和數字接收器,因此不能與專業音頻生態系統的其餘部分兼容。
系統100可以用於通過使用節點收發器120將包含在標準麥克風公頭xlr連接器(或連接到麥克風的其他殼體)中的adc連接到總線106來提供數字互連繫統。adc可以是直接耦合到任何現有的模擬動態,駐極體或電容器型麥克風的輸出,並且可以通過標準麥克風偏置48v「幻象電源」供電。adc可以將模擬麥克風信號轉換為數位訊號,並且可以使用標準麥克風電纜通過總線106(經由節點收發器120)傳輸該數位訊號。在大多數實施例中,通過總線106的通信的高頻信號特性可以與公共導體組上的較低頻率模擬麥克風信號組合,而不彼此幹擾,使得兩者可以在相同電纜上傳輸,以及根據需要容易地分離。由於總線106由雙線鏈路形成,所以可以通過標準麥克風布線來提供鏈路,並且因為通過總線106的通信通常以比標準音頻高得多的頻率進行傳輸,所以通過總線106的通信可以被組合麥克風布線與現有的模擬麥克風信號為向後/向前兼容性。
在麥克風的接收端,可以使用多個不同的互連布置。在一些實施例中,互連可以包括節點收發器120和數字輸出,數字輸出可以轉換為標準s/pdif、aes/ebu、aes42或用於連接到音頻接收設備的另一數字格式(例如,混合器或音頻輸入設備)。在一些實施例中,互連可以包括節點收發器和dac,並且可以將模擬信號發送到標準麥克風輸入。這種方法的優點可以包括使用較低噪聲的數字互連而不是模擬互連。在一些實施例中,互連可以連接到模擬麥克風輸入,其中經由節點收發器120發送的信號在音頻帶之外,並且因此與模擬設備向後兼容。在一些實施例中,互連可以包括用於數字輸出和模擬信號的雙接收器連接,為用戶提供用於在數位訊號和用於不同應用的模擬信號之間進行選擇的選項(例如,用於次級前置放大器的模擬信號和轉換)。
在一些實施例中,節點收發器120和dac可以直接構建到xlr連接器或使用48v「幻象電源」供電的互連盒中。整個布置可以包括具有節點收發器120的標準麥克風電纜和麥克風連接器內的轉換器。
這些實施例可以應用於多個麥克風設置並且用於創建「數字蛇」。在這樣的實施例中,可以通過一個標準麥克風電纜經由總線106組合和發送多個麥克風信號(模擬或數字),而不需要任何大的多導體或專用數字電纜。在接收端,節點收發器120可以將每個音頻輸入通道分離以互連到標準音頻硬體,如上所述。
圖20-23描繪根據各種實施例,可包括在系統100中的麥克風2002、麥克風電纜2010和音頻接收裝置2020的示例布置。在這些布置中的每一個中,麥克風2002具有電纜連接器2004。麥克風電纜2010具有耦合到電纜連接器2004的第一連接器2006和耦合到音頻接收設備2020的第二連接器2012。一個或多個導體耦合第一連接器2006和第二連接器2012之間傳輸數據。一個或多個導體可以是例如標準麥克風電纜。音頻接收設備2020可以具有電纜連接器2018以耦合到麥克風電纜2010的第二連接器2012。在一些實施例中,電纜連接器2004,第一連接器2006,第二連接器2012和電纜連接器2018可以是xlr連接器,或者可以具有任何其它合適的幾何形狀。
圖20描繪了布置2000,其中adc2008設置在第一連接器2006中或附近,並且從模擬麥克風信號生成數字輸出,該數字輸出被提供給設置在第二連接器2012中或附近的節點收發器120。節點收發器120可以包括四條導線,其提供用於在四條導線的上遊對上傳輸的上遊信號和/或用於在四條導線的下遊對上傳輸的下遊信號。adc2008的數字輸出可以與節點收發器120的輸出並行地(例如,在其自身的導線或導線上)提供。音頻接收裝置2020的電纜連接器2018可以接收傳送節點收發器120的輸出的四條導線,並且將這四條導線上的信號路由到總線106,並且可以接收傳送adc2008的數字輸出的導線,將數字輸出路由到任何合適的數字音頻輸入。
圖21示出了布置2100,其中adc2008設置在第一連接器2006中或附近,並且從模擬麥克風信號生成數字輸出。該數字輸出被提供給設置在第二連接器2012中或接近第二連接器2012的節點收發器120。如圖20所示,節點收發器120的輸出可以包括提供用於在四條線路的上遊對上傳輸的上遊信號和/或用於在四條線路的下遊對上傳輸的下遊信號的四條線。adc2008的數字輸出可以與設置在第二連接器2012中或其附近的dac2016並行地提供。dac2016的模擬輸出可以與節點收發器120的輸出並行地提供(例如,在其自身的電線或電線上)。音頻接收裝置2020的電纜連接器2018可以接收傳送節點收發器120的輸出的四條導線,並將這四條導線上的信號路由到總線106,並且可以接收傳送dac2016的模擬輸出的導線,將模擬輸出路由到任何合適的模擬音頻輸入。
圖22示出了布置2200,其中adc2008設置在第一連接器2006中或附近,並且從模擬麥克風信號生成數字輸出,該數字輸出被提供給也布置在第一連接器2006中或附近的節點收發器120。節點收發器120的輸出可以包括提供用於在四條導線的上遊對上傳輸的上遊信號和/或用於在四條導線的下遊對上傳輸的下遊信號的四根導線。麥克風2002的模擬輸出可以與節點收發器120的輸出(例如,在至少四條導線的公共集合上)組合。音頻接收設備2020的電纜連接器2018可以接收與麥克風2002的模擬輸出結合的節點收發器120的輸出的四條導線,並且將這四條導線路由到總線106和任何合適的模擬音頻輸入。如上所述,因為通過總線106傳送的信號通常在頻率上不與模擬音頻信號重疊,所以可以在相同的導體集合上傳送信號,並且提取期望的信號(例如,通過濾波或由於最終接收設備來識別另一頻帶中的信號)。
圖23示出了布置2300,其中adc2008設置在第一連接器2006中或附近,並且從模擬麥克風信號生成數字輸出。該數字輸出被提供給設置在第二連接器2012中或接近第二連接器2012的節點收發器120。如圖20所示,節點收發器120的輸出可以包括提供用於在四條線路的上遊對上傳輸的上遊信號和/或用於在四條線路的下遊對上傳輸的下遊信號的四條線。adc2008的數字輸出可以與第二連接器2012中的節點收發器120的輸出(例如,在其自身的導線或導線上)並行地提供,並且可以並行地提供來自麥克風2002的模擬麥克風信號到音頻接收設備2020的電纜連接器2018可以接收傳送節點收發器120的輸出的四條導線,並將這四條導線上的信號路由到總線106接收傳送模擬麥克風信號的導線並將該模擬信號路由到任何合適的模擬音頻輸入,並接收傳送adc2008的數字輸出的導線,並將該數位訊號路由到任何合適的數字音頻輸入。
儘管圖20-23示出了麥克風電纜2010內的各種位置中的各種部件,但是這些布置僅僅是示例性的,並且可以適當地重新定位部件。例如,在一些實施例中,組件(例如,adc2008,節點收發器120和/或dac2016)中的一些或全部可以位於電纜連接器2004或電纜連接器2018中。如上所述,在一些實施例中,模擬麥克風信號可以與由節點收發器120產生的總線106上的業務和/或由adc2008產生的模擬麥克風信號的數字表示共享導體。
射頻接收器作為總線上的一個節點
如上面參照來自語音呼叫的無線收發器所討論的,代替或除了向連接到總線106的從節點104提供揚聲器和麥克風作為外圍設備108之外,從節點104還可以與外圍設備108,諸如fm(頻率調製)接收器,am(振幅調製)接收器,衛星無線電接收器,電視/媒體接收器或其它空中信號接收器的一個或多個無線電接收器。在常規的車輛設置中,接收器具有安裝到車頂,後窗,後擾流板或車輛的其它部分的天線,其具有將天線連接回車輛前部的頭部無線電單元的長導線。這種常規方法可能遭受由於長導線的電磁幹擾,這可能需要其他車載電子設備必須被仔細地設計和控制,以便不幹擾在長導線上攜帶的信號的頻率。
為了減輕這些問題並改進設計靈活性和性能,在系統100的一些實施例中,節點收發器120(例如,包括在從節點104中)可以包括與天線通信的外圍設備通信電路,天線耦合到車頂或車輛的其他部分,並且外圍設備通信電路可以經由有線連接與天線通信。節點收發器120可以位於靠近天線處,並且由天線接收的數據可以通過總線106傳送到頭單元(例如,主節點102或包括在頭單元中的主機110),而不是通過將天線耦合到頭單元的單個長導體。這可以通過在不易受來自其它車載電子設備的幹擾的頻帶中數字地發送接收的數據來減少或消除電磁幹擾問題。
圖24示出根據各種實施例的其中從節點104接近耦合到車輛的車頂的天線2404的布置2400。天線2404(以及任何相關聯的無線電接收器電路)可以是從節點104的外圍設備108,並且可以經由任何合適的外圍設備通信電路將接收到的無線電數據提供給從節點104。從節點104可以經由總線106將接收到的無線電數據(例如,以原始或處理形式)提供給車輛的頭單元2402中的主節點102。
與天線(例如,i2s/tdm/pdm收發器127,i2c收發器129和/或具有節點收發器120的中斷請求能力的一個或多個gpio管腳)通信的外圍設備通信電路可以接口具有用於與天線相關聯的無線電接收機的現有i2s和/或i2c接口,因此節點收發器120可以容易地與無線電接收機接口。在一些實施例中,節點收發器120還可以在通過總線106發送所接收的無線電信號之前(例如,內部)提供採樣率轉換器(例如,內置)以處理接收的無線電信號(通常固定在合適的載波頻率)以對應於超幀速率的音頻採樣頻率)。從無線電接收器接收的數據然後可以在總線106上的從節點104(例如,到揚聲器或用於向用戶的其它遞送)上傳或下遊傳輸。
傳輸壓縮視頻
如上所述,除了或替代通過總線106傳輸音頻,視頻可以通過總線106傳輸。在一些實施例中,壓縮視頻(或低質量視頻,諸如後視攝像機或具有適當數據速率的後座視頻監視器)也可以通過總線106發送。例如,可以發送來自攝像機的壓縮視頻,或者可以發送用於視頻顯示的壓縮視頻。
用戶接口控制項
麥克風和任何合適的傳感器可以被包括在系統106中作為外圍設備108,以提供用戶接口或改善音頻應用。麥克風和/或傳感器在車輛設置中的應用可以包括免提用戶界面(例如,語音控制/命令),遠程信息處理,駕駛員監控,緊急/路邊援助和姿勢識別應用。例如,麥克風可以嵌入在座椅安全帶或車輛內的任何合適的位置。總線106可以提供用於發送由麥克風和任何合適的傳感器收集的音頻數據的有效通信信道。在一些實施例中,系統100中還可以包括任何合適的i2c設備,例如手勢識別傳感器,按鈕,存儲器設備,顯示器等(例如,由於外圍設備108可以與包括在節點收發器120)。
背板連接
在一些實施例中,系統100可以用於以低等待時間互連不同子系統(例如,包括在不同控制板中或在同一板上)。特別地,系統100可以用於菊花鏈連接多個板以創建更大的系統。系統100還可以通過相同的總線106將板與較小的設備互連。會議室,娛樂系統,對講系統,智能家庭,監視系統和緊急系統等可以利用總線106來互連子系統。
在一些實施例中,系統100可以用於將音頻視頻設備互連在一起用於演出舞臺,錄音室或任何其他合適的娛樂設置。通過使用雙線總線106,相對於傳統的粗線纜技術,可以有利地減少互連視聽設備所需的布線。視聽設備可以包括揚聲器,混音控制臺,樂器,時間編碼設備,照明設備,放大器,視頻顯示器,煙火和任何其他合適的設備。例如,圖25示出了布置2500,其中多種類型的視聽設備包括節點收發器120,並且因此用作從節點104並且可以沿著總線106通信。具體地,主諮詢臺2502可以包括主機110和主節點102,並且節點收發器120可以包括在或耦合到混合控制臺2504、樂器2506、照明設備2508、放大器2510、揚聲器2512和煙火控制臺2514中。這些設備中的每一個可以用作外圍設備108,並且可以使用任何合適的外圍設備通信電路(例如,i2s/tdm/pdm收發器127、i2c收發器129和/或具有中斷請求能力的一個或多個gpio引腳)與其相關聯的節點收發器120通信。根據本文公開的任何總線協議,來自這些設備的數據可以由節點收發器120沿著總線106提供給其他設備。
系統100可以用於在任何合適的設置中互連設備。例如,系統100可以用於以上面參照圖25討論的方式互連具有許多傳感器和子系統(例如,用於患者監測應用)的醫療設備。相對於常規方法,使用雙線總線106可以減少連接這些傳感器和系統的布線。
振動測量
在一些實施例中,系統100可用於互連麥克風和其它傳感器,其被布置成在材料經受壓力測試時或在使用期間監測材料(例如碳纖維材料)的許多部分。材料可以包括例如材料板,物體,鐵軌,橋梁,車輛或建築物。根據本文公開的任何總線協議,這些麥克風和其他傳感器,和/或產生用於材料或物體的結構測試的刺激的裝置也可以使用系統100內的總線106有效地連接。
控制系統
在一些實施例中,如上所述,系統100可以提供低延遲菊花鏈通信架構。由於系統100的數據傳輸中的低等待時間和同步性,系統100可以為控制系統,特別是可以受益於減少的布線和/或控制系統的控制系統提供有效的通信信道,其可以通過控制系統可以有利地使用系統100在總線106上的節點之間傳送命令或者與總線106上的節點的狀態相關聯的數據,以實現控制功能。
當系統100在具有容錯要求的系統中實現時,從節點104可以以環形配置連接在總線上,其中從節點104中的任何一個可以被配置為最後的從節點104。以上參照圖12討論了環配置的示例。如果環中的總線鏈路發生故障,則環配置可以提供用於維持節點間連接的容錯配置。總線106還可以利用本文所討論的節點發現機制來發現環路中從故障恢復的正確的最後的從節點104。
通過低延遲通信鏈路的分布式處理
系統100可以用於在不同的從節點104之間分布處理操作。如上所述,這對於期望在節點處執行本地處理同時仍然具有低等待時間通信的控制系統是有利的鏈路互連節點。例如,安全/安全功能可以分布在多個從節點104之間。從節點104可以實現用於防止與該從節點104相關聯的一個或多個外圍設備108(例如,監視和控制機器人肢體的設備)的機制過度使用力或過早地對局部檢測到的問題作出反應。系統100可以實現分布式本地處理,這可以減輕或避免立即需要從從節點104向中央處理器(其具有潛在危及系統)傳送信息。
在一些實施例中,系統100的廣播功能可以由從節點104採用以監聽作為用於其他從節點104的外圍設備108的其他傳感器/伺服/致動器,並且相應地進行反應,而不依賴於中央處理器(例如,在主機110處)。
利用由系統100實現的分布式處理,假肢和其他機器人應用可以被賦予等同於肌肉記憶的處理,其中從節點104可以獨立地處理並對其環境和他們自己的狀態做出反應,而不需要主節點102和/或主機110的幹擾。
人工四肢
系統100的各種實施例可以有利地應用於通常存在於人造/機器人肢體中以及通常在機器人中的控制系統。傳感器和致動器以及使用機器人系統的這樣的傳感器和致動器可以用作外圍設備108以便在總線106上從節點104。在一些實施例中,如上所述,這些傳感器和致動器也可以由總線106供電。有利地,布線可以減少為菊花鏈雙線系統,而不是大束線,從而在機器人的形狀因數方面提供優點。
一個示例是機器人腿,其中膝關節需要來自一個或多個腳傳感器的信息,並且腳關節需要來自一個或多個膝傳感器的信息。通常,集中式處理器將使用大量的電線連接到傳感器和致動器。利用系統100,可以從該常規方法減少導線的數量,從而根據本文公開的任何總線協議技術經由總線106全局分布信息,從而實現更快的本地化處理。
例如,圖26示出了具有膝關節2602,踝關節2604和腳關節2606的機器人肢體2600。圖26還示出了系統100的布置2608,其可以用於使得用於機器人肢體2600的傳感器和致動器能夠沿著機器人肢體2600傳送數據。特別地,布置2608可以包括具有外圍設備108其包括膝部傳感器,具有包括膝蓋執行器的外圍設備108的從節點1,具有包括腳踝傳感器的外圍設備108的從節點2,具有外圍設備108的從設備節點3,外圍設備108包括腳踝執行器,具有包括腳傳感器的外圍設備108的從節點4,以及具有包括腳致動器的外圍設備108的從節點5。由外圍設備108中包括的任何傳感器生成的數據可以被傳送到相關聯的從節點104,然後可以在上遊和/或下遊傳送,以便最終到達一個或多個其他從節點104(例如,用於驅動包括在外圍設備108中的任何致動器)。
以上關於機器人肢體所討論的相同優點還可以適用於涉及許多較小的電子子系統(每個執行子系統的一些局部處理)的任何機器人系統。在機器人中連接傳感器和伺服系統的系統100的使用不限於連接傳感器和致動器,而是系統100可以用於連接任何合適的電子設備,諸如存儲器,處理器,揚聲器,麥克風,燈,無線電接收器等。例如,系統100可應用於遊戲應用中的身體傳感器的網絡,對身體運動的研究或通過身體運動控制其他機械。
傳感器或設備網絡
系統100可以用於實現任何合適的控制系統以減少布線,同時提供低等待時間的通信鏈路。這些控制系統可以包括機械(重型,大型工業機械),裝配線設備(具有許多控制器和傳感器),無人機(自動飛行機器人),自主控制系統,動力控制系統等。諸如傳感器(或傳感器塊),控制器和/或致動器(例如,小致動器)的設備可以同步工作以提供它們各自的功能,並且系統100可以在這些設備之間提供有效的低延遲通信鏈路在向這些裝置提供功率的同時不需要過多的布線(和重量)。傳感器網絡通常還可以利用系統100的特徵以減少布線,並且還使用總線106作為用於傳感器的功率輸送網絡。
分布式智能支持
在一些實施例中,從節點104和主機110可以各自包括,接收和發送用於在它們之間通信的郵箱。一些實施例可以使用i2c用於郵箱通信;從節點104(例如,由i2c收發器129管理)的i2c接口可以被配置為i2c從設備,使得處理設備可以通過i2c對從節點104進行編程並且啟動對郵箱的讀取和/或寫入。
在一些實施例中,用於從節點104的節點收發器120可以包括,接收和發送可以用作用於主機110的處理設備1302和處理設備1302之間的通信的輸入和輸出「郵箱」的寄存器。(例如,與節點收發器120分離的處理設備)。通過在完成向郵箱的數據寫入時觸發的中斷,可以向主機110和從節點104通知它們各自的郵箱中的數據。節點收發器120可以被配置為在完成向相關郵箱的數據寫入時生成到包括在從節點104中的處理設備1302的中斷。
圖27是布置2700的框圖,其中從節點0包括具有接收郵箱2710和發送郵箱2712的節點收發器120,節點收發器120可用於與主機110的接收郵箱2704和發送郵箱2708通信(經由主節點102)。具體地,提供給接收郵箱2710的數據可以經由節點收發器120產生的中斷傳送到從節點0的處理設備1302,並且從節點0的處理設備1302可以通知節點收發器120:數據在發送郵箱2712中以用於發送到主機110。
節點收發器120可以包括用於控制這些郵箱的多個寄存器。在一些實施例中,mbox0ctl和mbox1ctl寄存器可以提供欄位以啟用這些郵箱並且控制郵箱的方向,消息長度和中斷啟用。
在默認情況下,郵箱0可以被配置為接收郵箱(例如,接收郵箱2710,由主機110寫入並由從節點104的處理設備1302讀取)。郵箱1可以默認配置為發送郵箱(例如,發送郵箱2712,由從節點104的處理設備1302寫入並由主機110讀取)。
mboxxctl寄存器的mbxlen欄位可以定義相關聯的郵箱的長度。如果此欄位為0,mboxxb0可能是郵箱的最後一個字節。如果此欄位為1,mboxxb1可能是郵箱的最後一個字節。如果此欄位為2,mboxxb2可能是郵箱的最後一個字節。如果此欄位為3,mboxxb3可能是郵箱的最後一個字節。
對於啟用的接收郵箱,如果mboxxctl寄存器的mbxfien位被置位,則在從節點104的處理設備1302的中斷可以在主機110寫入相關郵箱的最後字節之後發生,並且節點收發器120確定不需要總線重試。如果設置mboxxctl寄存器的mbxeien欄位,則在從節點104的處理設備1302讀取相關郵箱的最後字節之後,可以發生到主機110的中斷。
對於啟用的發送郵箱,如果設置了mbxfien欄位,則在從節點104的處理設備1302寫入相關郵箱的最後字節之後,可以發生到主機110的中斷。如果mbxeien失敗,則在從節點104的處理設備1302的中斷可以在相關郵箱的最後字節被主機110讀取並且節點收發器120確定不需要總線重試之後發生。
在一些實施例中,mbox0stat和mbox1stat寄存器可以提供郵箱的狀態信息。當郵箱已填滿時,mboxxstat寄存器的相關mbxfull位可能變為高電平,mbxempty位可能變為低電平。當郵箱被清空時,mboxxstat寄存器的相關mbxempty位可能變為高電平,mbxfull位可能變為低電平。當相關聯的郵箱向主機110或本地處理器(例如,從節點104的處理設備1302)發送中斷時,包括在mboxxstat寄存器中的mbxeirq和mbxfirq位可以變高,並且當中斷被處理時可以變為低主機110或本地處理器。
在一些實施例中,mbox0bn和mbox1bn寄存器可以包含郵箱數據。在一些示例中,每個郵箱可以保存高達32位的數據。mboxxbn寄存器中的mbxlen欄位可以定義郵箱中的活動字節數。在一些實施例中,每個郵箱可以支持8,16,24,或32位消息。
傳感器支持
在一些車輛應用中,系統100可以包括在總線106上的從節點104的布置,以互連分別位於機艙的左側和右側的兩個麥克風,以及耦合到從節點的環境傳感器104位於總線106上並位於麥克風之間並靠近擋風玻璃。環境傳感器可測量用於空氣重新布線的溫度和溼度(例如,用於除霧和氣候控制功能)和/或環境氣體(例如氨,一氧化碳,二氧化氮)以改善乘客舒適性。麥克風可以是例如微機電系統(mems)麥克風陣列。
在一些實施例中,從節點104的節點收發器120包括外圍設備通信電路(例如,i2s/tdm/pdm收發器127,i2c收發器129和/或具有中斷請求能力的一個或多個gpio引腳)與車輛中的環境傳感器(諸如溼度傳感器,溫度傳感器和/或氣體傳感器)通信。在一些實施例中,主機110可以基於來自經由從節點104,總線106和主節點102傳輸到主機110的環境傳感器的數據來生成用於車輛中的氣候控制系統的控制指令。例如,圖。圖28示出了系統100的布置2800,其中從節點0(在機艙的左側)具有包括麥克風和揚聲器的外圍設備108,從節點1(靠近擋風玻璃2802)具有外圍設備設備108包括溼度和/或溫度傳感器,從節點2具有包括氣體傳感器的外圍設備108,並且從節點3(在機艙的右側)具有包括麥克風和揚聲器的外圍設備108。
當麥克風包括在機艙的左側和右側上的車輛中(例如,為了降噪和/或波束成形)時,用於耦合這些麥克風的電纜可以由耦合到外圍設備的中間從節點104執行靠近擋風玻璃區域的氣候控制功能(加熱通風和空調(hvac)和/或空氣監測功能)的設備。在一些情況下,用於從節點104的外圍設備可以包括溼度和/或溫度傳感器,其可以提供允許測量擋風玻璃表面處的露點的溼度和/或溫度信息,並且能夠預測擋風玻璃霧化,使得車輛中的hvac系統可以「準時」操作以防止霧化。這樣的系統可以通過「始終開啟」或手動控制的hvac系統來節省能量,並且可以通過避免擋風玻璃霧化來提高車輛操作期間的安全性。可以在一些實施例中使用的溼度和/或溫度傳感器的示例是由measurementspecialtiesofhampton,virginia製造的htu21d傳感器。類似地,由檢測車廂的空氣中的不想要的化學品的存在的氣體傳感器產生的數據可以用於觸發車輛中的hvac系統的操作,以改善通風並減少化學濃度。可以在一些實施例中使用的氣體傳感器的示例是由瑞士的sgxsensortech製造的mics-6814傳感器。
集成加速度計
在一些實施例中,從節點104可以與外圍設備108相關聯,外圍設備108包括集成到與節點收發器120(例如,上遊收發器122和/或下遊收發器124)相同的板中的加速度計(例如,多軸加速度計)。音頻輸入和輸出,例如麥克風和揚聲器,也可以耦合到同一個板。這種實施例的一個應用可以是道路噪聲消除,其中測量底盤的振動以及音頻分量消除。
測試設備支持
在一些實施例中,節點的收發器120可以在「總線監視模式」或「bmm」配置,其中節點收發器120監視總線106的區段上的上遊和/或下遊的活動,用於主從節點行為(例如,什麼信號來往於主和/或從節點)。在一些實施例中,節點收發器120的上遊收發器122監視下遊數據,並且將它提供給協議分析器(例如,經由使用i2s/tdm/pdm收發127的i2s總線)。在總線監視模式下操作的節點收發器120在本文中可以稱為「總線監視器」或「bm」。在該模式中,節點收發器120的下遊收發器124可以被禁用。總線監視器可以不與其它從節點104以菊花鏈形式連接,而是可以接入正好在待監視的從節點104的上遊的一對導線中,並且可以由主節點102發現,即使它不具有全部典型的從節點104中的節點收發器120的功能。總線監視器可以最初由與總線監視器通信的處理器(例如,經由i2c協議)配置。
因此,在一些實施例中,充當總線監視器的節點收發器120可以包括外圍設備通信電路(例如,i2s/tdm/pdm收發器127,i2c收發器129和/或一個或多個gpio引腳,中斷請求能力),以將通過總線106從上遊設備接收的信號提供給協議分析器。在一些實施例中,工作在總線監視模式下的節點收發器120可以禁用其下遊收發器124。上遊收發器122可以被配置為僅接收數據而不發送。
圖29是根據各種實施例的系統100的元件和總線監視器的布置2900的框圖。在布置2900中,總線監視器設備2902可以包括總線監視器2906和處理設備2908,處理設備2908經由i2c和/或i2s與總線監視器2906通信(例如,使用i2s/tdm/pdm收發器127和/或總線監視器的i2c收發器129)。處理設備2908可以採用上面參考圖1討論的任何處理設備1302的形式。bmm2906可以接入剛好在從節點1的上遊的總線106的兩條導線中,並且隔離電路2904可以設置在bmm2906和總線106之間。隔離電路2904可以包括模擬電路以隔離總線106從bmm2906的負載。
在一些實施例中,總線監視模式可以使節點收發器120用作被動bm,也稱為嗅探器。bm可以使用其i2s埠將來自總線106的業務傳送到協議分析器。bm在系統100中可以是無源的,因為它偵聽總線同步控制幀180控制寫入以配置其總線特性以匹配bm正在監視的從節點104的那些,但不響應同步控制幀180。
上遊收發器122可以看到上遊和下遊數據,因為bm不是菊花鏈的。在一些實施例中,在經由上遊收發器122接收到下遊數據時,bm可以將接收到的同步控制幀180及其對應的下遊數據時隙198加載到下遊幀緩衝器中。在一些實施例中,在經由上遊收發器122接收到上遊數據時,bm可以將接收到的同步響應幀及其相應的上遊數據時隙加載到上遊幀緩衝器中。bm可以向i2s/tdm/pdm收發器127提供下遊和上遊數據,以提供給協議分析器(例如,處理設備2908)。
節點收發器120可以包括一個或多個寄存器以支持bmm。在一些實施例中,節點收發器120可以包括bmmcfg寄存器。bmmcfg寄存器可以包括bmmen位(以指示節點收發器120是否要在bmm中操作),bmmrxen位(當節點收發器在bmm中時啟用或禁用上遊收發器122)和bmmndsc節點(以指示系統100的啟動和發現過程是否在bm被附接和啟用之前或之後發生)。
圖30是根據各種實施例的用於開始bm的操作的方法3000的流程圖。方法3000可以由總線監視器設備2902中的處理設備2908執行,並且可以被描述為參考bm2906執行。
在3002處,處理設備2908可以啟用bm2906中的bmm。在啟用bmm之前,bm2906可以默認為節點收發器120的標準配置。在3002啟用bmm可以包括設置上面討論的bmmen位。
在3004,處理設備2908可以在將bm附接到要監視的從節點104(例如,圖29的從節點1)上遊的總線106的鏈路之後,使能上遊收發器122。在3004處啟用上遊收發器122可以包括設置上面討論的bmmrxen位。
在3006,處理設備2908可以使用經由i2c收發器129發送的命令來配置bm2906的i2s/tdm/pdm收發器127以用於傳輸。
在3008,在bm2906被主機110發現並且bm2906的pll128鎖定之後,處理設備2908可以經由bm的i2s/tdm/pdm收發器127從總線106接收數據。如上所述,bm2906可以窺探總線同步控制幀180控制寫入,以配置其總線特性(例如,dnslots和upslots的值),以匹配正在被監視的從節點104的那些(例如,從圖29的節點1)。
bm可以嗅出其所連接的總線106的段,並且還可以當bm104允許在發現期間監視總線106時學習下遊從節點104的配置。有些監測的參數可應用到整個總線106(例如,所有的從節點104),一些用於緊鄰下遊的從節點104,一些用於進一步下遊的從節點104。bm可以監視發現,存儲來自最近發現的參數,使用已知參數設定或嘗試不同的參數變化,直到已經實現成功解碼(例如,音樂數據已經被解碼)。
在一些實施例中,如果主機110使用通過主節點102中繼到作為bm的從節點104的控制指令來啟用該功能,則只能在總線106上向下遊發送的有效載荷。在一些這樣的實施例中,如果bm沒有通過主節點102相應地配置,則bm只能輸出(「嗅探」)同步控制和響應幀數據,但不輸出數據時隙中的有效載荷。這可以提供某種級別的內容保護,因為數據被加擾,並且當主機110允許時,bm只能訪問有效載荷數據。
gpio到gpio通信
在一些實施例中,節點收發器120可支持多個節點收發器120之間的通用輸入或輸出(gpio),而在初始編程之後無需主機110的介入。在一些這樣的實施例中,主機110可能僅需要用於節點收發器120的虛擬埠的初始設置。
在一些實施例中,可以使用多個虛擬埠(例如,8個虛擬埠)。主節點102可以管理虛擬埠(也可以稱為「gpio總線埠」,「虛擬埠映像」或「虛擬埠鏡像」),並且可以通過讀取gpioddat寄存器下面)。多個寄存器(例如,10或11個寄存器)可以用於允許每個節點收發器120(例如,從節點104的)將gpio引腳映射到虛擬埠。在一些實施例中,gpio引腳可以是輸入(其可以改變虛擬埠)或輸出(其可以反映虛擬埠)。在一些實施例中,多個虛擬埠可以被映射到一個gpio輸出引腳(例如,將值併入在一起)。在一些實施例中,多個gpio輸入引腳可以被映射到一個虛擬埠。例如,多個gpio輸入引腳值可以被「或」在一起,即使它們來自多個節點收發器120。
圖31-43示出了gpio到gpio通信系統和技術的各種示例。以下參照這些附圖示出或討論的任何實施例可以與本文公開的任何其它實施例組合。這些圖中的特定數量的元件(例如,如圖31所示的gpioden寄存器中的8位)的使用或說明僅僅是示例,並且系統和技術可以應用於或可以併入任何期望的和適當數量的任何元素。另外,為了清楚說明,這裡可以使用寄存器,變量,數據槽等的特定名稱,但是如本文所述使用的任何數據結構可以具有任何合適的名稱或其他標識符。
在一些實施例中,寄存器或其它數據結構可用於存儲與gpio至gpio功能相關的數據。下面參照圖1和2討論各種示例寄存器及其操作。31-34。例如,圖31描繪了可以為節點收發器120的每個gpio引腳提供使能位的gpio超距離使能(gpioden)寄存器的示例。設置這些位中的一個可以使得本地節點收發器120將gpio引腳映射到一個或更多的虛擬埠。在一些實施例中,根據下面的表1,引腳必須可用於gpio。在一些實施例中,如果設置了gpiooen寄存器(具有對應於每個通用io引腳x的一個位ioxoen)中的ioxoen,則引腳將是距離上的gpio的輸出。否則,該引腳將作為距離上的gpio輸入。在一些實施例中,可能不需要設置ioxien(在gpioien寄存器中,類似於gpiooen寄存器配置)。
表格1.確定gpio的引腳可用
圖32描繪了可以控制節點收發器120中的gpio引腳和虛擬埠之間的映射功能的gpio過距離掩模(gpiodnmsk)寄存器的示例。在一些實施例中,如果gpio引腳是輸入,則本地節點收發器120將更新對應於高的iodnmsk位的虛擬埠。如果gpio引腳是輸出,則對應於高的iodnmsk位的虛擬埠可以被or運算在一起以產生gpio輸出值。
圖33描繪了gpio隨距離數據(gpioddat)寄存器的示例,其可以提供節點收發器120的虛擬埠的值。在一些實施例中,該寄存器可以是只讀的。在一些實施例中,主機110可以總是從主節點102讀取該寄存器。
圖34描繪了gpio過距離反轉(gpiodinv)寄存器的示例,其可以使得能夠將gpio引腳反轉為輸入或輸出。如果gpio引腳是到虛擬埠的輸入,則可以從引腳施加反轉。如果引腳是來自虛擬埠的輸出,則可以在輸出到gpio引腳的路徑上應用反轉。如果多個節點收發器120正在更新相同的虛擬埠,則gpiodinv寄存器設置可以用於將行為從有線or改變為有線and。例如,要創建多個高電平有效的gpio位的有線and,應將gpio輸入和gpio輸出反相。
在一些實施例中,當多於一個節點收發器120具有映射到相同虛擬埠的gpio輸入時,輸入引腳可以被視為到虛擬埠中的有線or。當虛擬埠為低(非活動)時,設置虛擬埠的任何請求可導致從主節點102的廣播寫入,其將更新系統中從節點104的節點收發器120上的所有gpioddat寄存器。當虛擬埠為高(活動)時,清除虛擬埠的任何請求導致來自主節點102的特殊命令,其允許所有從節點104對該請求投票。如果任一從節點104拒絕該請求,則主節點102看到該請求的拒絕,並且gpioddat寄存器保持它們的值。如果從節點104沒有拒絕該請求,則主節點102看到該請求的接受,並且跟隨更新的gpioddat值。
圖35描繪了用於管理gpioddat更新的示例狀態機。在一些實施例中,狀態機可以由主節點102或由系統100中的任何其它合適的設備執行。為了便於示例,圖35的狀態機如下討論為由主節點102執行。從空閒狀態3502開始,當主節點102確定清除總線gpio埠或主節點102接收到srf時,主節點102可以轉換到檢查狀態3504與請求清除總線gpio埠。主節點102可以保持在檢查狀態3504,直到接收到確認(ack)或非確認(nack)為止;如果接收到nack(意味著至少一個從節點104沒有「同意」清除總線gpio埠),則主節點102可以返回到空閒狀態3502,而不改變總線gpio埠。如果在主節點102處於檢查狀態時沒有接收到nack,則主節點102可以轉換到更新狀態3506並廣播寫新值。主節點102可以保持在更新狀態3506,直到更新被確認為止;一旦更新被確認,主節點102可以返回到空閒狀態3502。當主節點102確定設置總線gpio埠時,主節點102可以從空閒狀態3502直接轉換到更新狀態3506,主節點102接收srf以及設置總線gpio埠(不經過檢查狀態3504)的請求。
以下示例示出了本文描述的用於gpio遠距離功能的一個特定使用場景。從主節點的drx1引腳到從節點的adr1/io1引腳2:
·將0x04寫入主節點gpiod6msk,以將drx1映射到虛擬埠2
·將0x40寫入主節點gpioden,以在drx1上啟用gpio遠程訪問
·將0x02寫入從屬節點2gpiooen以使能adr1/io1的gpio輸出
·將0x04寫入從屬節點2gpiod2msk,以將虛擬埠2映射到adr1/io1
·將0x02寫入從節點2gpioden,以在adr1/io1上通過遠程訪問啟用gpio
·每當主節點102上的drx1轉換時,主節點102可以經過圖35的狀態機。
·每當從節點2看到對gpioddat的廣播寫入時,gpioddat的位2的值將在adr1/io1引腳上驅動
從從節點1的dtx1管腳到主節點102的adr1/io1引腳:
·將0x10寫入從屬節點1gpiod4msk以將dtx1映射到虛擬埠4
·將0x10寫入從節點1gpioden,以在dtx1上使能gpio過距離訪問
·將0x02寫入主節點102gpiooen以使能adr1/io1的gpio輸出
·將0x10寫入主節點102gpiod2msk,以將虛擬埠4映射到adr1/io1
·將0x02寫入主節點102gpioden以在adr1/io1上啟用gpio過距訪問
·每當從節點1上的dtx1轉換時,從節點1可以發送指示虛擬埠4上的改變和改變的方向(設置或清除)的特殊srf,
·每當主節點接收到該特殊srf時,它可以通過圖35的狀態機。
·當從節點1接收到對gpioddat的更新值的檢查時,其可以將對虛擬埠4的改變標記為已採用
從從節點0到2上的adr1/io1引腳到主節點102的adr1/io1引腳:
·將0x01寫入從屬節點2gpiod2msk以將adr1/io1映射到虛擬埠0
·將0x02寫入從節點2gpioden,以在adr1/io1上使能gpio過距訪問
·將0x01寫入從屬節點1gpiod2msk以將adr1/io1映射到虛擬埠0
·將0x02寫入從節點1gpioden,以在adr1/io1上通過遠程訪問啟用gpio
·將0x01寫入從屬節點0gpiod2msk,以將adr1/io1映射到虛擬埠0
·將0x02寫入從節點0gpioden,以在adr1/io1上通過遠程訪問啟用gpio
·將0x02寫入主節點102gpiooen以使能adr1/io1的gpio輸出
·將0x01寫入主節點102gpiod2msk以將虛擬埠0映射到adr1/io1
·將0x02寫入主節點102gpioden,以在adr1/io1上通過遠程訪問啟用gpio
·每當主節點102看到指示對虛擬埠的改變的srf時,它可以經過圖35的狀態機。
·當對gpioddat的廣播寫入以ack完成時,主節點102中的gpioddat的值可能會更新,並且位0的值可能會反映在adr1/io1引腳上
圖36和圖37示出了將多個從節點104映射為虛擬埠0的輸入並且將主節點102映射為來自虛擬埠0的輸出的系統行為的示例。在圖36中,從節點0請求清除被拒絕的虛擬埠0。具體地,gpio引腳在從節點0上從高到低,具有清除請求的srf由從節點0生成。主節點102移動到檢查狀態(根據圖35所示的狀態機),並且發送scf以檢查埠0是否可以被清除。此請求被從節點2拒絕,因為gpio輸入引腳為高電平。
在圖37中,從節點2請求清除虛擬埠0,其被接受。在從節點2上的gpio引腳從高到低之後,由從節點2生成具有清除請求的srf。主節點102移動到檢查狀態(根據圖35所示的狀態機),並且發送scf檢查埠0是否可以清除。該請求被接受,並且主節點102移動到更新狀態。一旦gpioddat的廣播寫入完成,主節點102上的輸出gpio引腳將從高變為低。
在距離功能上支持gpio的各種實施例的邏輯可以採取多種形式中的任何一種。例如,圖38提供了如本文所討論的,距離邏輯上的gpio的系統級可視化。圖39和40分別示出了用於通過距離輸入和輸出引腳的gpio的示例gpiodnmsk交叉開關,如本文所討論的。
如上所述,通過距離功能的gpio可以包括將來自不同從節點104的輸入引腳組合成虛擬埠(例如,虛擬8位埠)的or邏輯。可以為每個從節點104中的每個輸出引腳選擇來自虛擬埠的一個比特。如上所述,可以通過反相輸入和輸出來實現邏輯。圖41示出了主節點102和從節點104的示例布置中的距離功能性示例gpio。如圖41所示,每個從節點0,1和2具有作為其相關聯的外圍設備108的一部分的揚聲器。從節點0,1和2可以從其揚聲器向主機110單獨發送過驅動信號(例如,dsp),並且主機110可以同時向從節點0,1和2的所有揚聲器發送靜音信號。在一些實施例中,gpio到gpio等待時間可以是3個音頻時鐘周期或者(例如,62.5微秒或更短)。
圖42和圖43示出了不同的gpiodnmsk和gpiodinv設置及其對來自從節點104的不同貢獻的gpiooen的值的影響。在圖42中,虛擬埠位0處的「0」是gpio引腳2上的「低」輸入,gpiodinv中位置2上的非反相位「0」,位置2中的輸入使能「0」的gpiooen,在gpiod2msk中的位置0處為「1」。在虛擬埠位1處的「1」是gpio輸入引腳4處的「高」輸入,gpiodinv中位置4處的反相位「1」,gpiooen位置4處的輸入使能「0」和gpiod4msk中位置1處的「1」。在虛擬埠位2處的「1」是gpio輸入引腳7處的「低」輸入,gpiodinv中的位置7處的反相位「1」,gpiooen的位置7中的輸入使能「0」和gpiod7msk中位置2處的「1」。
圖43將輸出引腳添加到圖42的輸入引腳設置。特別地,gpio引腳0處的「低」輸出是虛擬埠位3處的「0」,gpiod0msk的位置3處的「1」,位置0處的輸出使能「1」的結果gpiooen,以及gpiodinv的位置0處的非反相「0」。gpio引腳3上的「高」輸出是虛擬埠位4處的「1」,gpiod3msk的位置4處的「1」,gpiooen的位置3處的輸出使能「1」-在gpiodinv的位置3反轉「0」。gpio引腳5上的「低」輸出是虛擬埠位4處的「1」,gpiod5msk的位置4處的「1」,gpiooen的位置5處的輸出使能「1」以及反相「1」在gpiodinv的位置5。在gpiodnmsk的一些實施例中,引腳必須可用於gpio(例如,不用於i2s/tdm或pdm)。
根據本文公開的任何實施例,本文描述的任何實施例可以以任何期望的組合與gpio至gpio通信功能組合。
以下段落提供本文公開的各種實施方案的示例。
示例a1是用於低等待時間通信的從節點收發器,包括:上遊收發器電路,用於接收通過雙線總線從上遊設備發送的第一信號,並且通過雙線總線將第二信號提供給上遊設備;下遊收發器電路,以向所述雙線總線向下遊設備提供下遊的第三信號,並且通過所述雙線總線從所述下遊設備接收第四信號;以及時鐘電路,用於基於所述第一信號中的同步控制幀的前導碼在所述從節點收發器處生成時鐘信號,其中,由所述從節點收發器通過所述雙線總線接收和提供信號的定時是基於時鐘信號。
示例a2可以包括示例a1的主題,並且還可以指定同步控制幀與第一信號的超幀中的下遊數據相關聯,下遊數據包括多個數據時隙,以及用於單個外圍設備的數據與所述從節點收發器通信的設備佔用所述多個數據時隙中的兩個或更多個。
示例a3可以包括示例a2的主題,並且還可以指定用於單個外圍設備的數據是音頻數據。
示例a4可以包括示例a1-a3中任一個的主題,並且還可以指定:第一信號包括第一同步控制幀和相關聯的第一下遊數據以及第二同步控制幀和相關聯的第二下遊數據;所述第一下遊數據包括具有特定索引並且包括用於與所述從節點收發器通信的第一外圍設備的數據的數據時隙;並且所述第二下遊數據包括具有所述特定索引並且包括與所述第一外圍設備不同的第二外圍設備的數據,所述第二外圍設備與所述從節點收發器通信。
示例a5可以包括示例a4的主題,並且還可以指定第一和第二外圍設備是不同的麥克風。
示例a6可以包括示例a1-a5中任一項的主題,並且還可以指定第二信號包括同步響應幀,同步響應幀與第二信號的超幀中的上遊數據相關聯,上遊數據包括多個數據時隙,並且源自與從節點收發器通信的單個外圍設備的數據佔用多個數據時隙中的兩個或更多個。
示例a7可以包括示例a6的主題,並且可以進一步指定源自單個外圍設備的數據是音頻數據。
示例a8可以包括示例a1-a7中任一個的主題,並且還可以指定:第二信號包括第一同步響應幀和相關聯的第一上遊數據以及第二同步響應幀和相關聯的第二上遊數據;
第一上遊數據包括具有特定索引並包括源自與所述從節點收發器通信的第一外圍設備的數據的數據時隙;並且所述第二上遊數據包括具有所述特定索引並且包括源自與所述從節點收發器通信的不同於所述第一外圍設備的第二外圍設備的數據的數據時隙。
示例a9可以包括示例a8的主題,並且可以進一步指定第一和第二外圍設備是不同的麥克風。
示例a10可以包括示例a1-a9中任一個的主題,並且還可以包括功率電路,用於從雙向總線從上遊設備接收電壓偏置,並且將來自電壓偏置的能量提供給能量存儲裝置,其耦合到所述從節點收發器。
示例a11可以包括示例a1-a10中任一個的主題,並且還可以包括用於與至少一個揚聲器和至少一個麥克風通信的外圍設備通信電路。
示例a12可以包括示例a11的主題,並且還可以指定外圍設備通信電路包括內部集成電路聲音(i2s)收發器、時分復用(tdm)收發器、脈衝密度調製(pdm)收發器、內部集成電路(i2c)收發器或通用輸入/輸出(gpio)引腳。
示例a13可以包括示例a1-a12中任一個的主題,並且還可以包括用於與麥克風和會議用戶界面元件通信的外圍設備通信電路,其中,當用戶激活會議用戶界面元件時,希望將來自麥克風的音頻提供給耦合到雙線總線的另一設備,並且其中第二信號包括當會議用戶接口元件被致動時源自麥克風的數據。
示例a14可以包括示例a1-a13中任一個的主題,並且還可以包括用於與無線收發器通信的外圍設備通信電路,其中,所述無線收發器用於接收語音呼叫,並且其中所述上遊收發器電路是以包括表示第二信號中的語音呼叫的數據。
示例a15可以包括示例a1-a14中任一個的主題,並且還可以指定上遊設備耦合到無線收發器,無線收發器要接收語音呼叫,上遊收發器電路是接收表示第一信號中的語音呼叫的數據。
示例a16可包括示例a1-a15中的任一者的主題,且可進一步指定主機裝置耦合到雙線總線的主裝置,主機裝置耦合到無線收發器,無線收發器接收語音呼叫,並且上遊收發器電路用於接收表示第一信號中的語音呼叫的數據。
示例a17可以包括示例a1-a16中任一個的主題,並且還可以包括與耦合到車輛的車頂或其他部分的天線通信的外圍設備通信電路,其中外圍設備通信電路與天線通過有線連接。
示例a18可以包括示例a17的主題,並且還可以指定上遊設備是位於車輛的頭單元處的主設備。
示例a19可以包括示例a1-a18中任一個的主題,並且還可以指定從節點收發器被包括在揚聲器,混合控制臺,樂器,時間編碼設備,放大器,視頻顯示器或煙火技術安慰。
示例a20可以包括示例a1-a19中任一個的主題,並且還可以包括與機器人肢體的關節處的傳感器或致動器通信的外圍設備通信電路。
示例a21可以包括示例a1-a20中任一個的主題,並且還可以包括接收郵箱和發送郵箱,其中主機設備將在向數據提供給下遊設備時生成用於傳輸到下遊設備的中斷所述發送郵箱和所述下遊設備在向所述接收郵箱提供數據時生成用於傳輸到所述主機設備的中斷。
示例a22可以包括示例a1-a21中任一個的主題,並且還可以包括與車輛中的溼度或溫度傳感器通信的外圍設備通信電路。
示例a23可以包括示例a1-a22中任一個的主題,並且還可以包括與車輛中的氣體傳感器通信的外圍設備通信電路。
示例a24可以包括示例a1-a23中任一個的主題,並且還可以包括外圍設備通信電路,以向協議分析器提供第一信號或第二信號,並且其中下遊收發器電路被禁用。
示例a25可以包括示例a1-a24中的任一個的主題,並且可以進一步指定在同步控制幀中向下遊發送數據。
示例a26可以包括示例a1-a25中任一個的主題,並且還可以指定在同步響應幀中向上遊傳輸數據。
示例b1是用於低等待時間通信的主節點收發器,包括:用於從主機設備接收i2s信號的集成電路間聲音(i2s)接收器,其中i2s信號提供時鐘信息;時鐘電路,用於基於所述時鐘信息生成時鐘信號;以及下遊收發器電路,用於通過雙線總線向下遊設備提供第一信號,並且通過所述雙線總線接收來自所述下遊設備的第二信號,其中所述第一信號的同步控制幀的前導碼是基於所述時鐘信號,並且所述下遊設備基於所述前導碼生成其自己的時鐘信號。
示例b2可以包括示例b1的主題,並且還可以指定同步控制幀與第一信號的超幀中的下遊數據相關聯,下遊數據包括多個數據時隙,以及用於單個外圍設備的數據耦合到所述下遊設備的設備佔用所述多個數據時隙中的兩個或更多個。
示例b3可以包括示例b2的主題,並且可以進一步指定用於單個外圍設備的數據是音頻數據。
示例b4可以包括示例b1-b3中任一個的主題,並且還可以指定:第一信號包括第一同步控制幀和相關聯的第一下遊數據以及第二同步控制幀和相關聯的第二下遊數據;所述第一下遊數據包括具有特定索引並且包括耦合到所述下遊設備的第一外圍設備的數據的數據時隙;並且所述第二下遊數據包括具有所述特定索引並且包括耦合到所述下遊設備的與所述第一外圍設備不同的第二外圍設備的數據的數據時隙。
示例b5可以包括示例b4的主題,並且可以進一步指定第一和第二外圍設備是不同的麥克風。
示例b6可以包括示例b1-b5中任一項的主題,並且還可以指定第二信號包括同步響應幀,同步響應幀與第二信號的超幀中的上遊數據相關聯,上遊數據包括多個數據時隙,並且在耦合到下遊設備的單個外圍設備處發起的數據佔用多個數據時隙中的兩個或更多個。
示例b7可以包括示例b6的主題,並且可以進一步指定源自單個外圍設備的數據是音頻數據。
示例b8可以包括示例b1-b7中的任一個的主題,並且還可以指定:第二信號包括第一同步響應幀和相關聯的第一上遊數據以及第二同步響應幀和相關聯的第二上遊數據;所述第一上遊數據包括具有特定索引並且包括源自耦合到所述下遊設備的第一外圍設備的數據的數據時隙;並且所述第二上遊數據包括具有所述特定索引並且包括起源於耦合到所述下遊設備的不同於所述第一外圍設備的第二外圍設備的數據的數據時隙。
示例b9可以包括示例b8的主題,並且可以進一步指定第一和第二外圍設備是不同的麥克風。
示例b10可以包括示例b1-b9中任一個的主題,並且還可以指定第一信號包括耦合到下遊設備的至少一個揚聲器的數據,並且第二信號包括源自至少一個麥克風的數據耦合到下遊設備。
示例b11可以包括示例b1-b10中任一項的主題,並且還可以包括用於與無線收發器通信的外圍設備通信電路,其中,所述無線收發器要接收語音呼叫,並且其中所述下遊收發器電路是以包括表示第一信號中的語音呼叫的數據。
示例b12可以包括示例b1-b11中任一項的主題,並且還可以指定下遊設備耦合到無線收發器,無線收發器要接收語音呼叫,下遊收發器電路要接收表示第二信號中的語音呼叫的數據。
示例c1是主機設備,包括:向主節點收發器提供i2s信號的集成電路間(i2s)收發器電路,其中主節點收發器是雙線總線的主設備,i2s信號提供時鐘信息,所述主節點收發器基於所述時鐘信息生成時鐘信號,所述主節點收發器將通過所述雙線總線向下遊設備提供第一信號,同步控制幀的前導碼所述第一信號基於所述時鐘信號,所述下遊設備基於所述前導碼生成自己的時鐘信號;內部集成電路(i2c)收發器電路,用於從所述主節點收發器接收第一i2c信號,並向所述主節點收發器提供第二i2c信號;以及處理電路,用於基於所述第一i2c信號生成用於所述下遊設備的數據,其中所述下遊設備的數據將被包括在所述第二i2c信號中並且將由所述主節點收發器通過所述兩個i2c信號傳輸到所述下遊設備線總線。
示例c2可以包括示例c1的主題,並且還可以指定第一信號包括耦合到下遊設備的至少一個揚聲器的數據。
示例c3可以包括示例c1-c2中任一個的主題,並且還可以指定:i2s收發器電路系統將經由雙線總線和主節點收發器接收來自耦合到下遊設備;所述i2c收發器電路經由所述雙線總線和所述主節點收發器接收用戶已經激活耦合到所述下遊設備的會議用戶接口元件的指示;並且i2s收發器電路用於響應於所述指示並且經由雙線總線和主節點收發器將音頻提供給雙線總線上的另一下遊設備。
示例c4可以包括示例c1-c3中任一項的主題,並且還可以指定下遊設備耦合到無線收發器,無線收發器要接收語音呼叫,並且i2c收發器電路將接收表示經由主節點收發器和雙線總線的語音呼叫的數據。
示例c5可以包括示例c1-c4中的任一個的主題,並且還可以指定下遊設備有線連接到耦合到車輛的車頂或其他部分的天線,並且主節點收發器位於頭部單元。
示例c6可以包括示例c1-c5中任一項的主題,並且還可以指定主機設備包括接收郵箱和發送郵箱,並且其中主機設備生成用於傳輸到下遊設備,當數據提供給發送郵箱時。
示例c7可以包括示例c1-c6中任一項的主題,並且還可以指定下遊設備耦合到車輛中的環境傳感器,並且處理電路用於生成用於氣候控制的控制指令系統基於來自傳感器的數據通過主節點收發器和雙線總線傳送到主機設備。
示例d1是麥克風電纜,包括:耦合到麥克風的第一連接器;第二連接器,其耦合到音頻接收裝置;導體,用於在所述第一連接器和所述第二連接器之間傳輸數據;以及從節點收發器,包括上遊收發器電路,用於接收通過雙線總線從上遊設備發送的第一信號並且通過雙線總線向上遊設備提供第二信號;時鐘電路,用於生成時鐘信號在所述從節點收發器處,基於所述第一信號中的同步控制幀的前導碼,其中由所述節點收發器通過所述雙線總線接收和提供信號的定時是基於所述時鐘信號,以及外圍設備通信電路耦合到所述導體以接收在所述第一連接器和所述第二連接器之間傳輸的數據,其中所述數據包括在所述第二信號中。
示例d2可以包括示例d1的主題,並且還可以指定從節點收發器被包括在第一連接器中。
示例d3可以包括示例d1-d2中任一項的主題,並且還可以指定包括在第二連接器中的從節點收發器。
示例d4可以包括示例d1-d3中任一個的主題,並且還可以指定從節點收發器設置在第一連接器和第二連接器之間。
示例d5可以包括示例d1-d4中任一個的主題,並且還可以包括模數轉換器(adc),以將在第一連接器處接收的模擬麥克風輸入轉換為數位訊號,其中數據傳輸在第二連接器的第一連接器之間包括數位訊號。
示例d6可以包括示例d5的主題,並且還可以指定第二連接器將向音頻接收設備提供第二信號和數位訊號。
示例d7可以包括示例d5-d6中任一項的主題,並且還可以指定第二連接器用於向音頻接收設備提供第二信號和模擬麥克風輸入。
示例d8可以包括示例d7的主題,並且還可以指定提供第二信號,並且模擬麥克風輸入包括提供第二信號和模擬麥克風輸入的和。
示例d9可以包括示例d7-d8中任一項的主題,並且還可以指定第二連接器用於進一步將數位訊號提供給音頻接收設備。
示例d10可以包括示例d5-d9中任一項的主題,並且還可以包括數模轉換器以將數位訊號轉換為模擬信號。
示例d11可以包括示例d10的主題,並且還可以指定第二連接器將向音頻接收設備提供第二信號和模擬信號。
示例e1是包括任何示例a的任一個示例a的從節點收發器中的一個或多個的系統,其通過兩線總線鏈路與示例b中的任一個的主節點收發器耦合。
示例e2可以包括示例e1的主題,並且還可以包括耦合到主節點收發器的示例c中的任一個的主機設備。
實施例e3是根據本文公開的任何技術的方法。
示例e4是包括用於執行本文公開的任何技術的裝置的設備。
示例e5是其上具有指令的一個或多個非暫時性計算機可讀介質,其響應於系統的一個或多個處理設備的執行,使系統執行本文公開的任何技術。
示例f1可以包括本文公開的gpio至gpio通信功能的任何實施例。
示例f2可以包括上述示例a-e中任一個的主題,並且還可以包括本文公開的gpio到gpio通信功能的任何實施例。
示例g1是低等待時間通信系統中的主節點收發器,包括下遊收發器電路,用於通過總線向下遊設備分配虛擬埠標識符到下遊的通用輸入/輸出(gpio)引腳設備,其中所述虛擬埠標識符標識虛擬埠,以及通過所述總線向所述下遊設備分配所述gpio引腳作為輸入引腳或輸出引腳。
示例g2可以包括示例g1的主題,並且還可以指定虛擬埠標識符包括與gpio引腳相關聯的虛擬埠號的指示。
示例g3可以包括示例g2的主題,並且還可以指定下遊設備是第一下遊設備,第一下遊設備的gpio引腳是第一gpio引腳,並且下遊收發器電路進一步通過所述總線將不同於所述第一下遊設備的第二下遊設備的所述虛擬埠標識符分配給所述第二下遊設備的第二gpio管腳。
示例g4可以包括示例g3的主題,並且還可以包括gpio數據電路,以在第一gpio引腳是輸入引腳並且第二gpio引腳是輸入引腳時對該值執行or邏輯運算以及第二gpio引腳的值來確定虛擬埠的值。
示例g5可以包括示例g2-4中的任一個的主題,並且還可以指定虛擬埠是第一虛擬埠,虛擬埠號是第一虛擬埠號,並且下遊收發器電路進一步通過總線向所述下遊設備分配第二虛擬埠標識符給所述下遊設備的gpio引腳,其中所述第二虛擬埠標識符包括與所述第一虛擬埠號不同的第二虛擬埠號,標識與所述第一虛擬埠不同的第二虛擬埠。
示例g6可以包括示例g5的主題,並且可以進一步指定,當gpio引腳是輸出引腳時,下遊設備將對第一虛擬埠和第二虛擬埠的值執行或邏輯操作,虛擬埠來確定gpio引腳的值。
示例g7可以包括示例g1-6中任一個的主題,並且可以進一步指定下遊收發器電路進一步通過總線向下遊設備發送設置或清除虛擬埠的指令。
示例g8可以包括示例g7的主題,並且可以進一步指定下遊設備是第一下遊設備,並且下遊收發器電路還用於通過總線從第二下遊設備接收請求設置或清除所述虛擬埠,其中所述下遊收發器電路用於響應於接收到設置或清除所述虛擬埠的請求而發送用於設置或清除所述虛擬埠的指令。
示例g9可以包括示例g7的主題,並且還可以指定該指令是清除虛擬埠,並且主節點收發器還包括gpio數據電路,以確定主節點下遊的至少一個設備收發器拒絕該指令,並且響應於該確定,維持在主節點收發器的存儲器中設置的虛擬埠。
示例g10可以包括示例g9的主題,並且可以進一步指定該確定包括識別從下遊的至少一個設備接收的非確認。
示例g11可以包括示例g7的主題,並且還可以指定該指令是設置虛擬埠,並且主節點收發器還包括gpio數據電路,以將虛擬埠設置在主節點的存儲器中收發器。
示例g12可以包括示例g1-11中任一項的主題,並且還可以包括主機接口電路,以將主節點收發器通信地耦合到主機設備。
示例g13可以包括示例g12的主題,並且還可以指定主機接口電路包括內部集成電路(i2c)電路。
示例g14可以包括示例g1-13中任一項的主題,並且還可以指定總線是雙線總線。
示例h1是低等待時間通信系統中的從節點收發器,包括上遊收發器電路,以便:通過總線從主節點收發器接收虛擬埠標識符到通用輸入/輸出(gpio)引腳的分配,其中所述虛擬埠標識符標識虛擬埠,以及通過所述總線從所述主節點收發器接收所述gpio引腳作為輸入引腳或輸出引腳的分配。
示例h2可以包括示例h1的主題,並且還可以指定虛擬埠標識符包括與gpio引腳相關聯的虛擬埠號的指示,gpio引腳是第一gpio引腳,並且上遊收發器電路還通過總線從主節點收發器接收虛擬埠標識符到下遊設備的第二gpio引腳的分配,其中下遊設備在來自從節點收發器的總線上的下遊。
示例h3可以包括示例h2的主題,並且還可以包括下遊收發器電路,以在總線下遊傳輸虛擬埠標識符到下遊設備的第二gpio管腳的分配。
示例h4可包括示例h1-3中任一者的主題,且可進一步包含gpio數據電路以反轉gpio引腳的值。
示例h5可包括示例h1-4中的任一者的主題,且可進一步指定上遊收發器電路進一步經由總線從主節點收發器接收用以改變gpio的值的指令銷。
示例h6可包括示例h1-5中任一者的主題,且可進一步指定gpio引腳是從節點收發器的多個gpio引腳中的一者。