雙線通信協議引擎的制作方法
【專利摘要】在示例實施例中,雙線通信協議引擎在雙向多節點總線系統中管理控制和數據傳輸,其中,每個節點經過雙絞線總線連接到下個節點。一些實施例包括狀態機,允許同步更新在系統中的配置數據、分布式中斷系統、根據系統中使用的數據編碼的同步模式,和應用于經過雙絞線總線傳輸的一部分數據的數據加擾。多節點的總線系統包括一個主節點和多個從節點。從節點可以通過雙絞線總線供電。
【專利說明】雙線通信協議引擎
[0001]相關申請的交叉引用
[0002]本申請在35U.S.C.§ 119(e)下請求如下申請的優先權的權益:于2013年7月8日提交的標題為“A2B Protocol Engine”、序列號為61/843,891的美國臨時申請;于2013年7月8日提交的標題為“Digital Phase Detector”、序列號為61/843,896的美國臨時申請;于2013年7月8日提交的標題為“Differential Decoder”、序列號為61/843,902的美國臨時申請;于2013年7月12日提交的標題為“System and Method for Implementing A2BProtocol”、序列號為61/845,542的美國臨時申請,其公開內容在此通過引用合并在此。本申請在35U.S.C.§ 120下是于2012年10月5日提交的標題為“Two-Wire Communicat1nSystem for High Speed Data and Power Distribut1n”、序列號為 13/646,397 的美國申請和于 2012 年 10 月 5 日提交的標題為 “Methods for Discovery, Configurat1n, andCoordinating Data Communicat1ns Between Masters and Slave Devices in aCommunicat1n System”、序列號為13/646,382的美國申請的延續部分并聲稱優先權的權益,在先申請的公開內容被認為是本申請的公開內容的一部分并通過引用并入本文。
【技術領域】
[0003]本發明總體上涉及通信總線技術,以及更具體地說,涉及一種雙線通信協議引擎。
【背景技術】
[0004]雙線導體系統在電氣和電子領域作為數據和電力傳輸的手段是已知的。這些系統通常采用控制器,用于驅動功率到雙線導體中、控制數據傳輸的時序以及傳輸和接收數據。主設備(也稱為主節點是由控制器控制,并且反過來主節點控制一個或多個從設備(也稱為從節點)。通常,雙線導體系統上的通信涉及在一根導線上發送時鐘信號以及在另一根導線上發送數據信號,時鐘信號的上升和/或下降指示所連接的設備之間的數據傳送。雙線導體系統可以用于無數應用中,諸如汽車、音頻信號處理、電話等中的控制系統。
【發明內容】
[0005]本發明總體上涉及一種雙線通信協議引擎。具體地,在汽車(以及利用傳感器和其他外圍設備的其它這種封閉和/或移動系統)中增殖傳感器(諸如,麥克風、照相機等)可導致過多的布線量,隨之增加系統的復雜性和重量,以及可降低的性能和可靠性。特殊類型的雙線通信(被稱為汽車音頻總線(A2B)通信)可以用于汽車和其他類似的系統,以減少在各種傳感器和傳感器控制設備之間數據和功率傳輸的復雜性。該A2B總線提供了鏈接節點之間的多通道、內部集成電路聲音(I2S)/時分復用(TDM)鏈接。它在單一的差分線對上嵌入雙向同步數據(例如,數字音頻)、時鐘和同步信號到。A2B支持直接的點至點連接,并允許在不同位置的多個菊花鏈節點貢獻或消耗TDM通道內容。該A2B總線允許下行流量(例如,從主節點到最后一個從節點)和上行流量(例如,到主節點)的時間并允許在同一雙絞線上的功率傳輸。
[0006]在示例性實施例中,雙線通信(A2B)協議引擎管理雙向、多節點的總線系統中的控制和數據傳輸,其中每個節點通過雙絞線總線被連接到另一個節點。一些實施例包括狀態機,允許同步更新在系統中的配置數據、分布式中斷系統、根據系統中使用的數據編碼的同步模式,和應用于經過雙絞線總線傳輸的一部分數據的數據加擾。多節點的總線系統包括一個主節點和多個從節點。從節點可以通過雙絞線總線供電。
【專利附圖】
【附圖說明】
[0007]圖1是示出包括雙線通信協議引擎的示例性系統的示意的簡化框圖;
[0008]圖2是示出系統的實施例的示例細節的簡化框圖;
[0009]圖3是示出系統的實施例的另一示例細節的簡化框圖;
[0010]圖4是示出系統的實施例的又一示例細節的簡化框圖;
[0011]圖5是示出系統的實施例的又一示例細節的簡化框圖;
[0012]圖6是示出系統的實施例的又一示例細節的簡化框圖;
[0013]圖7是示出系統的實施例的又一示例細節的簡化框圖;
[0014]圖8是示出系統的實施例的又一示例細節的簡化框圖;
[0015]圖9是示出系統的實施例的又一示例細節的簡化框圖;
[0016]圖10是示出系統的實施例的又一示例細節的簡化框圖;
[0017]圖11是示出系統的實施例的又一示例細節的簡化框圖;
[0018]圖12是示出可與本發明實施例關聯的示例操作的簡化流程圖;
[0019]圖13是示出可與本發明實施例關聯的其他示例操作的簡化流程圖;和
[0020]圖14是示出可與本發明實施例關聯的另外其他示例操作的簡化流程圖。
【具體實施方式】
[0021]圖1是示出包括雙線通信協議引擎的系統10的簡化框圖。系統10包括多個節點12(1)-12(N)。12(1)表示主節點,其采用雙線通信協議(例如,A2B協議)通過雙絞線總線14與三個從節點12(2)-12(N)進行通信。每個從節點12(2)-12(N)可以讀和/或寫數據從/到一個或多個傳感器或其它外圍設備16。外圍設備的示例包括麥克風(話筒)、麥克風陣列、數字到模擬轉換器(DAC)等。主控制器18可以主節點12(1)通過多渠道I2S和內部集成電路(I2C)通信協議進行通信并控制它。該A2B協議引擎的實施例可以允許控制信息和音頻數據,該信息和音頻數據使用雙絞線總線14雙向傳輸以連接每個節點到下一個節點。從節點12⑵-12 (N)也可以通過雙絞線14供電。
[0022]如本文所用,術語“節點”指任何集成電路、設備或能夠通過電路中適當的通信信道發送和接收數據(例如,電信號)的其它這樣的對象。“主節點”包括時鐘信號(例如,它可以從I2S輸入導出)、下行數據,網絡控制和功率的始發者;主節點由主控制器518 (例如微處理器)編程,并接收/發送有效載荷向/從主機控制器518。“從節點”包括可以表示為下行數據幀(例如,具有內容的可能多個同步數據時隙的特定節點的單個負荷塊)的可能目標和上行數據幀的來源的可尋址網絡連接點。同步數據指連續流數據(例如,音頻信號),其中固定的時間間隔(例如,48千赫)和固定的相位間隔兩個對應的轉換。
[0023]在各種實施例中,每個節點12-1-12-N可包括例如在集成電路的一部分中實施的A2B協議引擎。在各種實施例中,A2B協議引擎管理在線性、雙向,多節點總線系統中的控制和數據傳輸。根據各種實施例,包括A2B協議引擎的集成電路可以例如通過最小化電磁輻射在嘈雜的環境中很好地工作。每個協議引擎可包括狀態機,它允許根據在兩線通信協議中使用的數據編碼和應用于遍歷雙絞線總線14的部分數據的數據加擾而同步更新整個系統10的變成數據、分布中斷系統、同步模式。另一個特點包括在跨雙絞線總線14傳輸之前簡化的浮點壓縮以壓縮數據。
[0024]在一般的意義上,A2B協議可以連接節點12-1-12-N之間的多通道I2S同步、脈沖編碼調制(PCM)數據。A2B協議還可以延長I2S的同步、時分復用(TDM)的性質到連接多個節點12-1-12-N的系統10,其中每個節點12-1-12-N可以消耗數據、提供數據,或兩者。
[0025]根據多種實施例,主節點12-1可以通過集成的I2C端口進行配置(例如,編程、設計等)。主節點12-1可產生下游A2B交易(例如,數據信號、電源信號等)并接收上游A2B交易。通過雙絞線14接收的數據可通過兩個I2S發射器被寫入到A2B幀緩沖器并傳輸出主節點12-1。通過A2B傳輸的數據可從A2B幀緩沖器讀取,它可以由兩個I2S接收器填充。在一些實施例中,主節點12(1)包括狀態機以管理A2B協議,包括:發現(例如,從節點12⑵-12 (N))、廣播寫入(例如,系統范圍的信息、配置變更等)、CRC生成同步控制幀、循環冗余校驗(CRC)錯誤檢測和處理同步響應幀、CRC錯誤檢測和處理中斷的幀、用于下行數據的奇偶校驗產生,以及上行數據的奇偶校驗和錯誤處理(以及其他特征)。
[0026]每個從節點12-2-12-N可通過上游A2B端口進行配置。每個從節點12-2-12-N可接收下行A2B交易并可選地重傳進一步下行的交易。每個從節點12-2-12-N可接收或產生上游A2B交易、選擇性重傳數據上行并可選地添加數據到上行交易。通過A2B接收的數據可以被寫入到A2B幀緩沖器并通過兩個I2S發射器發射出去。通過A2B要發送的數據可從A2B幀緩沖器讀取,它可以由兩個I2S接收器和/或通過PDM接口進行填充。每個從節點12-2-12-N可以包括相應的狀態機以管理A2B協議,類似于主節點12_2上的狀態機。每個從節點12-2-12-N的I2C接口可用來作為主節點以控制附連的節點。命令可以經過雙絞線總線514從主控制器18發送,并通過I2C接口傳遞到從節點。該A2B協議可以包括單主機、多從機系統,其中主節點512-1由主控制器18進行控制。主控制器18可以所有A2B節點12-1-12-N可同步的固定頻率(例如48千赫)在I2S TDM接口上產生周期性同步信號。
[0027]在操作期間,當系統10在各個節點12-2-12-N之間通信數據時,每個節點可被配置成處理雙絞線總線14上的數據。沿著A2B雙絞線總線14的通信發生在周期性的超幀。每個超幀被分成下行傳輸(也稱為下游部分)、上行傳輸(也稱為上游部分)以及沒有傳輸(其中總線沒有被驅動)的周期。例如,主節點12-1可與一些下游部分編程以發送到從節點12-2-12-N,以及與一些上游部分編程以從所述從節點12-2-12-N接收。從節點12-2-12-N可與一些下游部分編程以沿著A2B雙絞線總線14重發、一些下游部分編程以消耗,一些上游部分編程以沿著A2B雙絞線總線14向上重發,和一些上游部分編程以發送從相應的外部設備16接收的數據。
[0028]應當指出的是,雖然為簡單起見僅四個節點12-1-12-N在本文中示出,任何數目的節點可以在系統10的實施例的廣泛范圍內以類似的方式相互連接。而且,每個從節點12-2-12-N可以與實施例的廣泛范圍內的任何數量的外圍設備進行通信。
[0029]轉到圖2,圖2是示出根據系統10的實施例的示例節點12的簡化框圖。節點12可以包括兩個低電壓差分信號(LVDS)收發器(XCVRs),S卩,LVDS XCVR26和LVDS XCVR28,每個LVDS收發器26和28具有正墊(P)和負墊(N)。一個節點上的一個收發器的正墊(例如,AP)連接到在另一個節點上的另一個收發器的另一個正墊(例如,BP)。同樣,一個節點上一個收發器的負墊(例如,AN)連接到另一個節點上另一個收發器的另一個負墊(例如,BN)。A2B數字邏輯模塊30可與鎖相回路(PLL) 32、低壓差穩壓器(LDO) 34和主電源開關36 (以及其他組件)進行通信(例如,通過電子信號)。各種數字墊(例如,標簽)38可攜帶信號進出節點512。
[0030]轉到圖3,圖3是示出根據系統10的一個實施例的示例A2B數字邏輯模塊30的簡化框圖。A2B數字邏輯模塊30可以包括A2B協議引擎40、A2B幀緩沖器42和A2B數據編碼和恢復模塊44(以及自其它組件)。數碼墊38可提供引腳以獲得各種輸入/輸出功能。例如,當MSTR引腳46為高時,節點12可以作為A2B主節點,以及當MSTR引腳46為低時,作為A2B從節點。當節點12被引腳編程為主節點時,則它可是其I2S和I2C端口的從節點。如果節點12被引腳編程為A2B從節點,則它可作為其I2S和I2C端口的主節點。
[0031]D0UT/DIN引腳48可允許節點12對主控制器18創建事件驅動的中斷請求。DOUT/DIN引腳48可作為在從節點模式中的通用輸入/輸出(1)引腳(例如,當MSTR引腳設置為低時),具有中斷請求輸入能力。DIN/D0UT50引腳可作為在主模式中的服務器(例如,當MSTR引腳46設置為高時),以及作為從節點中的數字輸入(例如,當MSTR引腳46設置為低時)。
[0032]轉到圖4,圖4是示出根據系統10的一個實施例的A2B協議引擎40的示例細節的簡化框圖。A2B協議引擎40可以包括在主節點上提供I2C從的I2C接口 52,以使得編程訪問主控制器18。I2C接口 52也可以提供從節點上的I2C主以允許距離主控制器18編程。A2B協議引擎40可以包括控制模塊54,該控制模塊54可控制A2B協議、生成同步傳輸(TX)幀、產生上游TX的中斷請求(IRQ)幀、接收同步幀用于接收(RX)。控制模塊54可以包括可編程寄存器。
[0033]前導碼邏輯模塊56可以為TX的同步幀產生前導碼,并從RX接收同步幀的前導碼。在具體實施例中,下行控制幀前導碼是每1024位由主節點12(1)發送。從節點12 (2)-12 (N)可以同步到下行控制前導碼并從前導碼產生它們的局部、相位對準主時鐘。CRC插入模塊58可以為TX的同步幀生成CRC。幀/壓縮模塊60可以從A2B幀緩沖器42取數據、可選地壓縮數據,并且可選地產生數據的奇偶校驗。復用器(MUX)62可以復用來自前導碼邏輯56的前導碼、同步幀、IRQ幀和數據為TX流。該TX流可以由加擾模塊64進行加擾。
[0034]輸入節點12的RX流可以由解擾模塊66解擾。多路分解器(DEMUX) 68可以從RX流分解前導碼、同步幀、IRQ幀和數據。RX端上的另一 CRC校驗模塊58可以檢查接收到的同步幀用于校正CRC。解幀/解壓縮模塊70接受RX數據、可選地檢查校驗、可選地解壓縮數據、并寫入RX數據到A2B幀緩沖器42。LFSR模塊72可以生成系統評價中使用的偽隨機比特流。
[0035]轉向圖5,圖5是展示了根據系統10的一個實施例的示例同步模式80的簡化框圖。由于絞合線總線14提供在兩個方向上的傳輸,本A2B協議被分成下游部分,其中控制幀和下行數據從主節點(例如,12(1))發送;和上游部分,其中響應幀和上行數據從每個從節點(例如,12 (2)-12 (N))被發送到每個主節點(例如,12(1))。每個從節點(例如,12 (2)-12 (N))可以使用接收到的控制幀的開始部分作為供給PLL的時基。因此,控制幀可以開始于不是由數據模式復制的同步模式。
[0036]根據各種實施例,零差分曼徹斯特編碼上的第一時鐘轉變可以在A2B協議中使用。根據編碼方案,每個位時間開始于時鐘過渡。如果數據值為零,該編碼信號在該位時間的中間再次轉換。如果數據值是1,該編碼信號不再次轉換。同步模式80包括前導碼模式82和數據模式84。
[0037]前導碼模式82可違反編碼協議(例如,時鐘跳變不發生在位時間5、7和8的開始),表示前導碼模式82并不匹配任何合法(適當、正確的編碼)的數據模式84。另外,前導碼模式82可以不通過采取合法的數據模式84,并迫使雙絞線14在單個位時間或者多個位時間周期為高或低而進行復制。在各種實施例中,違反用于數據模式84的編碼的不同前導碼模式可在同步模式80來實現。本文中示出的示例前導碼具有不超過一個位時鐘的脈沖寬度,并且僅僅是作為示例提供的,并不用于限制系統10的實施例。
[0038]該A2B數字邏輯模塊可以包含差分曼徹斯特解碼器塊,該塊在從雙絞線總線14恢復的時鐘上運行并檢測同步模式80,以發送幀同步脈沖到PLL。因此,同步模式80可以在不使用系統時鐘或更高速度的過采樣時鐘的情況下進行檢測。因此,從節點(例如,12 (2)-12 (N))可以從雙絞線總線14接收PLL同步信號,而不需要在從節點(例如,12 (2)-12 (N))的晶體時鐘源。
[0039]轉到圖6,圖6是根據系統10的一個實施例,用于A2B協議的超幀90的簡化圖。沿A2B雙絞線總線14的通信可在周期性的超幀中發生。超幀頻率可以與同步信號頻率相同。數據可以在1024次較快的比特率(例如,49.152兆赫)傳輸。每個超幀90可以被分為周期:下游傳輸92,上流傳輸94,以及沒有傳輸96 (例如,其中沒有驅動A2B雙扭線總線14)。
[0040]示例超幀90如所示具有下游傳輸的初期92和上行傳輸94的后期。實質上A2B絞線總線14上的所有信號可被線路編碼并以同步前導碼模式82的形式從主節點(例如,12(1))到最后從節點(例如,12 (N))同步信號下游提交。前導碼模式82隨后是控制數據模式84,以建立同步控制幀。下游、TDM同步數據可在控制幀后直接加入。
[0041]每個從節點(例如,12 (2)-12 (N))可消耗下游數據的一部分。在響應幀的響應時間之后,最后的從節點(例如,12(N))可響應。上行同步數據可以由每個從節點在響應幀后直接加入。實質上所有的同步數據可以分組成等寬的數據槽。數據時隙是指單個外圍設備14(例如,麥克風或揚聲器)當映射到雙絞線總線14時的同步數據信號。如果寄存器的讀取在控制幀中請求或如果遠程I2C讀取在控制幀中請求,其它從節點(例如,12 (2)-12 (3)),其不是最后的從節點(例如,12(N))可取代響應幀。嵌入式控制幀和響應幀可以允許主控制器18單獨尋址每個從節點(例如,12 (2)-12 (N))。
[0042]轉到圖7,圖7是示出根據系統10的一個實施例在主節點12⑴的示例狀態機100的簡化圖。每個節點12(1)-12(N)可以同時接受更改其配置(例如,超幀的許多下游和上游部分以傳輸、接收和消耗)。因為系統10是分布式,控制和響應幀可由噪音損壞。A2B協議引擎可包括狀態機,例如,以同步接受更改配置的時間。
[0043]根據本A2B協議的狀態機100的示例版本開始于STATEO的初始狀態102。當主節點12(1)是在初始狀態102STATE0時,它可以接收NEW STRUCTURE命令(例如,包括一個或多個從節點12 (2)-12 (N))的配置更改)。主節點12(1)可以播放NEW STRUCTURE WRITE到實質上所有從節點12 (I)-12 (N),并轉換到第一狀態104STATE1。當主節點12(1)轉換到第一狀態104STATE1時,計數器寄存器可裝載預定的非零值(例如,3)。雖然在第一狀態104STATE1,一旦接收來自最后從節點12(N)的廣播確認(ACK)消息以及發送到控制幀的數據,目前計數可被遞減。如果控制幀沒有傳遞最后從節點12(N)的CRC校驗,廣播確認不由主節點12(1)接收。如果響應幀不傳遞在主節點12(1)的CRC校驗,廣播確認可不被主節點12(1)接收。當當前計數為O時,主節點12(1)可以轉換到第二狀態106STATE2。NEffSTRUCTURE可以應用在上游傳輸的結束,并處于第二狀態106STATE2。
[0044]在狀態機100的從節點版本,一旦接收廣播NEW STRUCTURE WRITE,每個從節點12 (2)-12 (η)可以從初始狀態102STATE0過渡到第一狀態104STATE1,預定的非零值(例如,3)可裝入計數器寄存器。沒有CRC錯誤的廣播NEW STRUCTURE WRITE可覆蓋處于第一狀態104STATE1的當前計數。在不存在有效的廣播NEW STRUCTURE WRITE時,當前計數可以在第一狀態104STATE1遞減。當當前計數達到零時,從節點12 (2)-12 (N)可以轉換到第二狀態106STATE2。該NEW STRUCTURE可在上游傳輸的末端應用,并處于第二狀態106STATE2。在各種實施例中,在不同的節點12(1)-12(N)超出相互同步之前,控制幀和/或響應幀可在超過預定的非零數字個連續總線幀(3例如)上被破壞。
[0045]轉到圖8,圖8是示出根據系統10的一個實施例的中斷系統110的示例細節的簡化邏輯圖。每個節點12 (I)-12 (N)可報告各種錯誤(例如CRC錯誤、數據奇偶校驗錯誤、數據解碼錯誤等)作為到主機控制器18的中斷。從節點12 (2)-12 (N)可以發送中斷請求到主節點12(1),其可通過專用中斷引腳通知主控制器18。在各種實施例中,A2B協議可包括分布式中斷狀態機,例如,以減少主控制器18上的中斷開銷。當來自一個從節點12(2)-12(N)的中斷由主節點12(1)接收時,主節點12(1)可向主控制器盡快發出中斷。
[0046]當新的從節點中斷被接收時,主節點12(1)可以執行相關從節點12 (2)-12 (N)的閱讀,以獲取有關中斷的詳細信息,并可以存儲主節點12(1)上的局部細節。主節點12(1)可以自動清除相關從節點12(2)-12(N)中的中斷(例如,沒有用戶或主控制器的干預)。因為中斷狀態機,主機控制器18可以從主節點12(1)讀取兩個寄存器,以獲得實質上所有的細節來處理該中斷。讀取之一也可以自動清除主節點12(1)的中斷,使得不需要寫入以清除任何中斷。
[0047]A2B協議引擎40可以包括一組寄存器,該組寄存器提供到主機控制器18中斷的支持。示例寄存器包括 INTSRC、INTTYPE, INTPNDO、INTPND1、INTPDN2、INTMSKO、INTMSK1 和INTMSK2。主節點12(1)上的IRQ引腳可用于向主機控制器18發送信號中斷,在示例實施例中,IRQ引腳可以通過寫入I被清除,以及也可以在主節點12⑴中主機讀取INTTYPE而清除。因此,寫入可不是必要的以清除中斷。
[0048]在一個示例實施例中,INTSRC和INTTYPE寄存器包含主控制器18可用于確定中斷的原因的細節。該INTSRC寄存器可以指示積極中斷是否由主節點12(1)或從節點12 (2)-12 (N)之一產生,包括從節點12 (2)-12 (N)的標識符(ID),如果有的話。當IRQ引腳為低或掛起中斷剛剛被清除以及中斷正在等待時,優先級邏輯可用來確定將要寫入到INTSRC寄存器的值。該INTTYPE寄存器可包括對中斷的原因的更多細節。當通過從節點12 (2)-12 (N)之一產生的中斷變得活躍時,主節點12(1)可從從節點12 (2)-12 (N)的相關一個讀取INTTYPE的值和將INTTYPE的值寫入主節點12(1)的INT類型寄存器。隨后,主節點12(1)可清除從節點12 (2)-12 (N)中的中斷源。
[0049]轉到圖9,圖9是根據系統10的指示具有或不具有加擾的電磁(EM)排放的比較的簡化曲線圖120。EM排放標繪在Y軸,頻率在X軸上。行122表明具有加擾的EM排放,線124表示不具有加擾的EM排放。為了減少EM排放,A2B協議引擎40可以使用擾頻器64,其可應用到由節點12⑴-12 (N)發送的數據的一部分。在示例實施例中,除了前導碼和跟隨前導碼的2位幀計數,實質傳送的所有數據可以加擾。在一個具體實施例中,總線幀中的1024位可以被劃分成下行數據前的64位控制幀和上行數據前的64位應答幀。控制幀和響應幀的前16位(例如,包括前導碼和幀計數)不可以被加擾。控制幀和響應幀的其余48位以及傳送的任何數據可以被加擾。
[0050]在一個實施例中,擾頻器64可以使用16位LFSR以產生偽隨機位流。該LFSR可基于多項式G(X) = X16+X14+X13+Xn+1 (其中,X16表示第16位,X14表示第14位,x13表示第13位以及X11表示第11位)。該LFSR也使用基于2位幀計數的不同的起始種子,以便靜態數據集可不引起具有音頻速率頻率的重復模式。對于給定的數據編碼方法,使用擾頻器64可盡可能擴散EM在頻域的排放。
[0051]轉到圖10,圖10是示出根據系統10的實施例的16位數據132到12位數據134的壓縮130的簡化圖。A2B協議引擎40可以提供可選的數據壓縮/解壓縮,以便較少的帶寬可在給定的數據大小用于A2B雙絞線總線14,比下一個較低的數據大小具有更好地質量。在一個實施例中,表示符號位跟著的符號中重復符號位的數量的3位和N-4位數據可以壓縮格式發送,其中,N為A2B數據大小。
[0052]在一個示例性實施例中,A2B協議引擎40中的可選浮點數據壓縮可以用于16位、20位或24位的音頻數據中。壓縮機構可以減少數據大小4個比特,用于通過雙絞線總線14傳輸,并且在從節點(例如,通過串行端口)發送該數據之前,該數據被轉換回來。壓縮通過如下實現:將多個前導符號位編碼為壓縮后的數據字段的前3位,放置符號位在接下來的位置,并使用該壓縮后的數據字段的其余部分保存盡可能多的剩余數據位。根據壓縮的數量尺寸,可丟棄輸入數據的達6個最低有效位(LSB)。
[0053]轉到圖11,圖11是示出從12位壓縮數據142到16位解壓數據144的解壓縮140的簡化圖。對于解壓縮,相應數量的符號位放在一位之前的最高有效位(MSB)中,該位是符號位的反轉。其余數據被放置在反轉的符號位之后,以及任何非接收的位使用壓縮數據的LSB的反轉填充。因此,解壓縮的數據可以被均勻地分布,以及與輸入相比沒有DC偏移。
[0054]轉到圖12,圖12是示出與系統10的實施例相關聯的示例操作150的簡化流程圖。在152,主節點12(1)可產生在雙線通信協議(A2B協議)中的時鐘、同步和幀信號。在154,A2B協議引擎40可使用雙絞線總線14便于數據的雙向傳輸以將每個節點連接到下一個節點。在156,A2B協議引擎40可以使用狀態機100同步更新配置數據。在158,主節點12(1)可通過雙絞線總線14供電從節點12(2)-12(N)。在160,主節點12(1)可以在雙線通信協議的下游部分中發送來自主節點12(1)的控制幀和下行數據。在162,主節點12(1)可在雙線通信協議的上游部分中從從節點12(2)-12(N)接收響應幀和上行數據。
[0055]轉到圖13,圖13是示出與系統10的實施例相關聯的示例操作170的簡化流程圖。在172,一旦主節點12(1)向多個從節點12 (2)-12 (N)廣播新結構寫命令,狀態機100轉換到第一狀態104。在174,計數器可以被設置到預定的非零值(例如,3)。在176,一旦從最后的從節點12 (N)接收確認,該計數器可以遞減。在178,當計數器達到零時,狀態機100可以轉換到第二狀態104。在180,新的結構可以應用,而狀態機100處于第二狀態104中。
[0056]轉到圖14,圖14是示出與系統10的實施例相關聯的示例操作190的簡化流程圖。在192,主節點12(1)從從節點12 (I)-12 (N)之一接收中斷。在194,主節點12(1)可發送信號中斷到主機控制器18,在196,主節點12(1)可以讀取從節點以獲取有關中斷的細節。在198,主節點12⑴在主節點12⑴本地存儲中斷的細節。在200,主節點12⑴可自動清除從節點中的中斷。返回194,在210,主機控制器18可讀取主節點12(1)上的兩個寄存器以獲取中斷的細節。在220,讀取操作可以自動清除主節點12(1)中的中斷。
[0057]注意,在本說明書中,在“ 一個實施例”、“示例實施例”、“實施例”、“另一實施例”、“某些實施例”、“各種實施例”、“另一實施例、“替代實施例”中包括的各種特征(例如,元素、結構、模塊、組件、步驟、操作、特性等)的引用意為表示任何這些特征都包含在本公開的一個或多個實施中,但可以或可以不必組合在相同實施例中。
[0058]在上述各實施例的討論中,電容器、時鐘、DFF、分頻器、電感器、電阻器、放大器、開關、數字核心、晶體管和/或其它組件可以很容易地被替換、取代或以其他方式修改以適應特定的電路需求。此外,應當指出的是,使用配套的電子設備,硬件,軟件等提供了用于實現本公開的教義的同樣可行的辦法。
[0059]在一個示例實施例中,附圖的任何數量的電路的可以在相關聯的電子設備的電路板上實現。該板可以是一般的電路板,可容納電子設備的內部電子系統的各種組件,并進一步提供其它外圍設備的連接器。更具體地,該板可以提供電氣連接,系統的其他部件可通過該電氣連接進行電通信。任何合適的處理器(包括數字信號處理器、微處理器、芯片組支持等)、存儲器元件等可以適當地根據具體配置需求、處理需求、電腦設計等耦合到該板。其它組件(諸如外部存儲器、額外的傳感器、用于音頻/視頻顯示的控制器,和外圍設備)可以通過電纜連接到電路板作為插卡,或集成在主板本身。
[0060]在另一示例實施例中,圖中的電路可以實現為單獨的模塊(例如,具有相關組件的設備和配置以執行特定應用或功能的電路)或實現為插件模塊到電子設備的應用特定硬件中。注意的是,特定的是,本公開的特定實施例可以容易地部分或全部地包括在芯片上系統(SOC)的封裝中。SOC表示集成計算機或其它電子系統的元件到單個芯片中的1C。它可以包含數字、模擬、混合信號以及經常的射頻功能:所有這些都可以設置在單個芯片襯底上。其他實施例可以包括多芯片模塊(MCM),具有位于單獨的電子封裝中并經配置以通過電子封裝互相密切交互的多個單個1C。在各種其它實施例中,本文所述的功能可以實施為專用集成電路(ASIC)、現場可編程門陣列(FPGA)以及其他半導體芯片中的一個或多個硅芯。
[0061]也必須要注意,本文列出的所有規格、尺寸,以及關系(例如,多個組件、邏輯運算等)只被提供用于示例和教導的目的。在不偏離本公開的精神或所附權利要求的范圍的情況下,這些信息可以被顯著地改變。規范僅適用于非限制性的例子,因此,它們應被如此理解。在前面的描述中,示例性實施例已參照特定組件的配置進行描述。在不偏離所附權利要求的范圍的情況下,可以對實施例進行各種修改和變化。因此,說明書和附圖被視為說明性的而不是限制性的。
[0062]需要注意的是,上面參照附圖所討論的業務適用于涉及信號處理的任何集成電路,特別是那些依賴同步信號以執行專門的軟件程序或算法,其中一些可關聯于處理數字化實時數據。某些實施例中可以涉及多DSP信號處理、浮點處理、信號/控制處理、固定功能處理、微控制器應用等。在某些情況下,本文所討論的這些特征可以適用于醫療系統、科學儀器、無線和有線通信、雷達、工業過程控制、音頻和視頻設備、電流傳感、儀器(可以是高度精確的)以及其他數字處理系統。
[0063]此外,以上所討論的某些實施例可以提供在數字置備信號處理技術中,用于醫療成像、病人監護、醫療儀器儀表和家庭醫療保健。這可能包括肺顯示器、加速度計、心臟速率監視器、心臟起搏器等。其他應用可以涉及汽車技術安全系統(例如,穩定控制系統、駕駛輔助系統、制動系統、信息娛樂系統和任何形式的內部應用)。此外,動力系統(例如,在混合動力汽車和電動汽車中)可以應用本文所述的功能在高精度數據轉換產品中,用于電池監控、控制系統、報告控制、維護活動等。
[0064]在另外的示例方案中,本公開的教導可以適用于工業市場,包括幫助驅動生產力、能源效率和可靠性的過程控制系統。在消費應用中,上面所討論的電路的教導可用于圖像處理、自動聚焦、以及圖像穩定(例如,數碼相機、便攜式攝像機等)。其他消費應用可以包括音頻和視頻處理器,用于家庭影院系統、DVD刻錄機以及高清電視。然而,其他消費應用可以涉及到先進的觸摸屏制器(例如,對于任何類型的便攜式媒體設備)。因此,這種技術可以容易地成為智能手機、平板、安全系統、個人電腦、游戲技術、虛擬現實、模擬訓練等的一部分。
[0065]注意,對于本文中提供許多實施例,交互可以通過兩個、三個、四個或更多個電子部件來描述。然而,這樣為了清楚起見,并僅作為示例進行。應當理解,該系統可以以任何合適的方式進行合并。沿著類似的設計方案,附圖的任何圖示組件、模塊和元件可以以各種可能的組合配置,所有這些都清楚在本說明書的范圍之內。在某些情況下,通過僅參考有限數量的電子元件描述給定流程集合的一個或多個功能更加容易。應當理解,附圖的電路及其教義都是現成可擴展的并可容納大量的部件,以及更復雜/精密的安排和配置。因此,提供的實施例不應該限制范圍或抑制電氣電路的廣泛教導為潛在應用到其他無數的架構。
[0066]許多其它的改變、替換、變化、更改和修改對于本領域技術人員是可確定的,以及當落入所附權利要求的范圍之內時,本發明包括所有這樣的改變、替換、變化、更改和修改。為了協助美國專利和商標局(USPTO)以及此外在本申請上提出的任何專利的任何讀者解釋所附權利要求, 申請人:謹指出: 申請人:(a)不打算任何所附的權利要求援引美國法典第35(6)第6段第112條,因為它存在于申請日,除非單詞“用于…的裝置”或“用于…的步驟”在特定權利要求中專門使用;以及(b)不打算通過本說明書的任何陳述以沒有體現所附權利要求的任何方式而限制本公開。
[0067]其他注意、示例和實施方式
[0068]需要注意,上面描述的裝置的所有可選特征也可相對于本文所述的方法或處理進行實施,以及示例中的細節可在一個或多個實施例的任何地方使用。在第一示例中,提供了一種系統(其可包括任何適當的電路、分頻器、電容器、電阻器、電感器、模數轉換器、DFF、邏輯門電路、軟件、硬件、鏈接等),可以是任何類型的計算機的一部分,它可以進一步包括耦合到多個電子部件的電路板。該系統可包括:用于在雙線通信協議中為多個從節點產生時鐘、同步和幀信號的裝置;用于使用雙絞線總線促進數據的雙向傳輸以連接每個節點到下一個節點的裝置;用于使用狀態機同步更新配置數據的裝置;用于經過雙絞線總線供電從節點的裝置;用于在雙線通信協議的下游部分中從主節點傳送控制幀和下行數據的裝置,其中在控制幀的開始的同步模式用作每個從節點的時間基準;以及在雙線通信協議的上游部分中從所述從節點接收響應幀和上行數據的裝置。
[0069]該系統還可以包括:一旦廣播新結構寫入到所述多個從節點,則轉換到第一狀態的裝置;用于設置計數器為預定的非零值的裝置;對于從多個從節點接收的確認,遞減計數器的裝置;當該計數器達到零時用于轉換到第二狀態的裝置;以及用于應用新的結構的裝置,并處于第二狀態中。該系統可以進一步包括:用于從從節點接收中斷的裝置;用于信令中斷到主控制器的裝置;用于讀取從節點以獲取有關中斷的細節的裝置;用于本地存儲所述信息在主節點的裝置;以及用于在從節點中自動清除中斷的裝置。
[0070]在這些情況下(上文)的“用于…的裝置”可包括(但不限于)使用本文所討論的任何合適的組件,以及任何合適的軟件、電路、集線器、計算機代碼、邏輯、算法、硬件、控制器、接口、鏈路總線、通信途徑等。在第二示例中,該系統包括存儲器還包括進一步包括機器可讀指令的存儲器,當執行時使得系統執行上面討論的任何操作。
【權利要求】
1.一種集成電路,包括: 雙線通信協議引擎,被配置為在雙向多節點總線系統中根據雙線通信協議管理控制和數據傳輸,其中,所述雙線通信協議引擎包括允許在總線系統中同步更新配置數據的狀態機,其中,所述所述多節點總線系統包括在總線系統上使用雙絞線總線互連的至少一個主節點和多個從節點,以連接每個節點到下一節點,其中,每個從節點可以寫入總線、從總線讀出,并執行總線上的讀取和寫入操作。
2.根據權利要求1所述的集成電路,其中從節點可以在所述雙絞線總線上供電。
3.根據權利要求1所述的集成電路,其中所述雙線通信協議包括下游部分和上游部分,其中在所述下游部分中,控制幀和下行數據從主節點發送,以及其中在所述上游部分中,響應幀和上行數據發送給主節點,其中在所述控制幀的開始的同步模式被每個從節點用作時間基準。
4.根據權利要求3所述的集成電路,其中所述雙線通信協議采用在零差分曼徹斯特編碼上的第一時鐘轉換,其中,使用曼徹斯特編碼的變形編碼所述同步模式。
5.根據權利要求4所述的集成電路,其中所述雙線通信協議引擎包括解碼器模塊,其中,所述解碼器塊使用從所述雙絞線總線恢復的時鐘檢測同步模式。
6.根據權利要求3所述的集成電路,其中,所述下游部分和上游部分每個包括1024位,其中該控制幀和響應幀的每個包括64位,其中每個控制幀和響應幀的前16位包括同步模式。
7.根據權利要求3所述的集成電路,其中所述雙線通信協議引擎包括加擾器,所述加擾器加擾在雙絞線上傳輸的數據的一部分,其中,控制幀和應答幀中的同步模式和幀計數不被加擾。
8.根據權利要求7所述的集成電路,其中,所述加擾器采用線性反饋移位寄存器(LSFR)來產生偽隨機位流以加擾部分數據。
9.根據權利要求1所述的集成電路,其中,一旦廣播新結構寫入到多個從節點,所述狀態機轉換到第一狀態,其中一旦轉換到第一站狀態,則狀態機中的計數器被設置為預定的非零值,其中一旦從最后一個從節點接收確認,計數器遞減,其中當計數器達到零時該狀態機轉換到第二狀態,其中新結構被應用,并同時處于第二狀態。
10.根據權利要求9所述的集成電路,其中,對于接收新結構寫入廣播,在對應從節點的狀態機轉換到第一狀態,其中相應的計數器被設置為預定的非零值,其中相應計數器在第一狀態中遞減,其中當計數器達到零時,對應從節點的狀態機轉換到第二狀態,其中新結構被應用,并同時處于第二狀態。
11.根據權利要求1所述的集成電路,其中,所述主節點被配置有第一數量的下游部分以發送到從節點和第一數量的從節點以從上游部分接收,其中,所述從節點被配置有第二數量的下游部分以沿著雙絞線向下再次發送,第三數量的下游部分以消耗第二數量的上游部分以沿著雙絞線對向上再次發送,以及第三數量的上游部分以發送數據,其中每個從節點實質上同時接收配置的改變。
12.根據權利要求1所述的集成電路,其中所述雙線通信協議引擎包括中斷狀態機,該中斷狀態機構成橫跨主節點和多個從節點的分布式中斷系統的一部分,其中在從所述從節點接收中斷之后,主節點信令中斷到主控制器。
13.根據權利要求12所述的集成電路,其中主節點執行從節點之一的讀取,以獲得關于中斷的細節,其中,所述細節本地存儲在主節點上,以及其中主節點自動清除從節點中的中斷。
14.根據權利要求13所述的集成電路,其中,所述主控制器讀取主節點上的兩個寄存器以獲得所述細節,其中讀取之一自動清除主節點中的中斷。
15.一種用于促進主節點和多個從節點之間通信的方法,包括: 在雙線通信協議中對于多個從節點產生時鐘、同步和幀信號; 使用雙絞線總線促進數據的雙向傳輸,以連接每個節點到下個節點; 使用狀態機同步更新配置數據;和 通過所述雙絞線總線供電從節點。
16.根據權利要求15所述的方法,進一步包括: 在所述雙線通信協議的下游部分中,從主節點發送控制幀和下行數據,其中在控制幀的開始的同步模式由每個從節點用作時基;以及 在所述雙線通信協議的上游部分中,從所述從節點接收響應幀和上行數據。
17.根據權利要求15所述的方法,進一步包括: 一旦廣播新結構寫入到多個從節點,則轉換到第一狀態; 設置計數器為預定的非零值; 對于從多個從節點接收的每個確認,遞減計數器; 當計數器達到零時,轉換到第二狀態;以及 應用新的結構,并同時處于第二狀態。
18.根據權利要求15所述的方法,進一步包括: 從從節點接收中斷; 信令中斷至主控制器; 讀取從節點,以獲取有關中斷的細節; 將細節本地存儲在主節點上;以及 自動清除從節點中的中斷。
19.根據權利要求18所述的方法,其中,所述主控制器上讀取主節點上的兩個寄存器來獲取所述細節,其中讀取之一自動清除在主節點中的中斷。
20.根據權利要求15所述的方法,進一步包括:加擾通過雙絞線傳輸的數據的一部分。
【文檔編號】H04L27/26GK104283627SQ201410322785
【公開日】2015年1月14日 申請日期:2014年7月8日 優先權日:2013年7月8日
【發明者】W·胡珀, M·凱斯勒, L·F·拉爾, 斯圖爾特·帕特爾森, W·J·托馬斯 申請人:美國亞德諾半導體公司