本發明涉及串行總線上的數據傳輸,更具體地涉及傳輸時的錯誤管理。
背景技術:
通用串行總線(或英語“Universal Serial Bus”的縮寫USB)是用于使外圍信息設備(英語也稱為“USB devices”)與電腦(也稱為主機,或英語為“USB host”)連接的串聯傳輸信息總線。
USB演變形成多個版本,每個版本能夠以多種模式通信。
USB總線的第一版本以兩種模式通信:慢速模式(或“Low Speed”,流量為1.5Mbit/s)或全速模式(或“Full Speed”,流量為12Mbit/s):
USB總線的第二版本還包括第三模式(稱為“High Speed(高速)”,流量為480Mbit/s)。
所述USB總線基于令牌環(或“Token Ring”)運行,每個網絡節點通過該令牌環依次布置在總線上。
在所有被連接外圍設備之間,帶寬在時間上共享。在多個傳輸能夠發生期間,時間被細分成多個幀或微幀。
主機和外圍設備之間的通信根據協議進行,所述協議基于主機對每個外圍設備的依次詢問。當主機希望與外圍設備通信時,所述主機發送表示外圍設備的令牌(數據包,所述數據包包含所述外圍設備的地址,所述地址被七位編碼)。如果所述外圍設備在所述令牌中識別出所述外圍設備的地址,所述外圍設備發出數據包作為回復。
USB限定了不同類型的傳輸:控制傳輸(用于外圍設備的列舉和配置)、中斷傳輸(用于提供具有較小反應時間的少量信息)、等時傳輸、以及批量傳輸(用于傳輸大量信息)。
能夠將主機與外圍設備之間的通信構造成多個邏輯通道(管道和端點)以簡化對USB端口的外圍設備的控制。
USB沒有限定能夠輕易管理傳輸錯誤的部件。例如,對于存在與播放器連接的音樂庫的U盤,如果在線束上發生短暫的物理故障(振動、沖擊、或其它),播放器不再能夠播放后續的音樂,該音樂暫停。
用戶因此被迫斷開該U盤并且將該U盤重新連接以使通信重新初始化,或者被迫重新啟動音樂播放器。
由文件US2006/0236003已知一種用于控制USB聯結的方法和系統。然而,這種解決方案不能夠克服傳輸錯誤。
技術實現要素:
因此,本發明的目的在于克服上述問題。為此,本發明更確切地提出一種電子裝備,所述電子裝備包括主機控制器,所述主機控制器能夠控制能夠與多個外圍設備連接的至少一個通用串行通信端口,其特征在于,與所述端口連接的外圍設備中的每個與外圍設備監控器相關聯,所述外圍設備監控器能夠確定并且指出所述端口和與所述外圍設備監控器相關聯的外圍設備之間的通訊故障,并且,所述主機控制器包括在所有外圍設備監控器指出通訊故障時使所述通信端口重新初始化的部件。
在與所有外圍設備通信失敗的情況下,本發明能夠禁用USB端口以獲得電消耗的節省。
有利地,使所述通信端口重新初始化的部件是有限狀態自動機。
有利地,所述有限狀態自動機包括至少三種狀態:
-初始化狀態,所述初始化狀態對應于主機與外圍設備之間的通信的初始化,
-標稱狀態,所述標稱狀態對應于具有主機與外圍設備之間的標稱流量的通信。
-外圍設備錯誤狀態,所述外圍設備錯誤狀態對應于主機與外圍設備之間的通信故障。
有利地,所述有限狀態自動機還包括降級狀態,所述降級狀態對應于具有主機與外圍設備之間的降級流量的通信,所述降級流量小于標稱流量。
通過設置降級狀態,本發明能夠在產生故障時建立降級模式的通信,而不是丟失通信。
有利地,所述有限狀態自動機還包括錯誤狀態,所述錯誤狀態對應于主機和與主機連接的所有外圍設備之間的通信故障。
該特征能夠在與所有外圍設備通信失敗的情況下輕易地實施USB端口的禁用。
有利地,在檢測到主機與外圍設備之間的通信故障之后,所述有限狀態自動機從標稱狀態切換到降級狀態。
有利地,在檢測到主機與外圍設備之間的通信故障之后,所述有限狀態自動機從降級狀態切換到外圍設備錯誤狀態。
有利地,在第一預定條件實現之后,所述有限狀態自動機從降級狀態切換到標稱狀態。
這能夠例如在降級模式下的預定時間之后將具有降級流量的通信重新建立成具有標稱流量。
有利地,在第二預定條件實現之后,所述有限狀態自動機從外圍設備錯誤狀態切換到降級狀態。
這能夠例如在通信中斷后的預定時間之后將中斷的通信重新建立成具有降級流量,而無需用戶的介入。
本發明還涉及一種車輛,所述車輛包括根據本發明的裝置。
附圖說明
通過閱讀以下詳細說明和附圖,本發明的其它特征和優點將更加清楚,在附圖中:
-圖1示出了網絡的示意圖;
-圖2示出了自動機的示意圖,該示意圖描述了根據本發明的監控器的運行。
具體實施方式
附圖不僅可用于補充本發明,必要時還有助于限定本發明。
圖1示出了網絡的示意圖。該網絡借助于USB聯結將主計算機11與第一外圍設備12以及與第二外圍設備13聯接。
在該示例中,外圍設備的數量限制為二。但網絡的外圍設備數量的改變不超出本發明的范圍。
在下文中,作為非限制性示例,認為主計算機11是機動車輛的計算機。但本發明并不限制于該實施方式。事實上,本發明涉及包括USB連接器和USB主機控制器的任何計算機。
在下文中,作為非限制性示例,認為第一外圍設備12也是機動車輛的計算機。但本發明并不限制于該實施方式。事實上,本發明涉及包括USB連接器和USB外圍設備控制器的任何計算機。
第二外圍設備13例如為(硬盤類型的)外圍存儲設備。
參考圖2,監控器20為自動機,所述自動機包括以下狀態:
-“睡眠”21,USB低層未被初始化;
-“初始化”22:USB低層被初始化并且等待外圍設備12的連接;
-“標稱”:主機11與外圍設備12之間的高速流量的功能性USB通信;
-“降級”:主機11與外圍設備12之間的全速流量的功能性USB通信;
-“錯誤_x”:與外圍設備12的通信被禁用;
-“錯誤”:和與主機11的USB端口連接的所有外圍設備12、13的通信被禁用。USB端口被禁用。
注意到,在通信模型中通常區分七層(“物理”層、“數據鏈路”層、“網絡”層、“傳輸”層、“會話”層、“表示”層和“應用”層)。前三層被稱為硬件層或低層,而后四層被稱為高層或上層。
“睡眠”狀態21對應于非功能性USB網絡。在將主機11接上電壓之后,USB網絡的監控器20處于“睡眠”狀態21。
當上部軟件層需要使用USB網絡時,監控器20轉換到“初始化”狀態22。該狀態對應于USB網絡的低層的初始化。
因此,監控器20被設為等待USB外圍設備12的連接。
當檢測到USB外圍設備12時,監控器20轉換到“標稱”狀態23。
在進入“標稱”狀態23時,監控器20將與USB外圍設備12的通信初始化成具有標稱流量。
在失敗的情況下,監控器20轉換到“降級”狀態。
相反,如果通信被正確建立成具有標稱流量,監控器20保持在“標稱”狀態23下。
如果當主機12處于“標稱”狀態23下時發生網絡故障(例如通信丟失),網絡監控器20轉換到“降級”狀態24。
在“降級”狀態24下,監控器20將與外圍設備12的通信初始化成具有降級流量。
在失敗情況下,所述監控器轉換到“錯誤_x”狀態25。
如果通信被正確建立成具有降級流量,外圍設備12保持在“降級”狀態25下。
如果當主機11處于“降級”狀態24下時發生網絡故障(例如通訊丟失),網絡監控器20轉換到“錯誤_x”狀態25。
在“錯誤_x”狀態25下,與外圍設備12的連接被禁用,并且主機11與外圍設備12之間不可能存在任何通信。
“初始化”、“標稱”、“降級”和“錯誤_x”狀態被組合在“子自動機”27中,所述子自動機被稱為僅涉及單一外圍設備的外圍設備監控器。
網絡監控器20需實施和與USB端口相連接的外圍設備同樣多的外圍設備監控器27的狀態。
當所有外圍設備被宣告處于“錯誤_x”狀態時(換言之,當所有外圍設備監控器27處于“錯誤_x”狀態25下時),監控器20轉換到“錯誤”狀態26。在該狀態下,主機11禁用USB端口。
在本發明的實施變型中,當監控器20轉換到“錯誤”狀態26時,該“錯誤”狀態使USB低層重新初始化然后轉換到“初始化”狀態22。
當上軟件層不再需要使用USB網絡時,無論主機與外圍設備12、13之間的連接狀態如何,監控器20轉換到“睡眠”狀態21。
根據本發明的實施變型,當主機11處于“降級”狀態24下時并且在條件實現之后(例如在預定時間過去之后),網絡監控器20轉換到“標稱”狀態23。
根據本發明的實施變型,當主機11處于“錯誤_x”狀態下時并且在條件實現之后(例如在預定時間過去之后),網絡監控器20轉換到“降級”狀態24。