TWI437420B - Usb裝置異常之檢測與回復電路及其方法 - Google Patents
Usb裝置異常之檢測與回復電路及其方法 Download PDFInfo
- Publication number
- TWI437420B TWI437420B TW100106757A TW100106757A TWI437420B TW I437420 B TWI437420 B TW I437420B TW 100106757 A TW100106757 A TW 100106757A TW 100106757 A TW100106757 A TW 100106757A TW I437420 B TWI437420 B TW I437420B
- Authority
- TW
- Taiwan
- Prior art keywords
- unit
- data
- tag
- signal
- detecting
- Prior art date
Links
Landscapes
- Information Transfer Systems (AREA)
- Debugging And Monitoring (AREA)
Description
本發明係關於為一種USB裝置,特別是一種USB裝置異常之檢測與回復電路。
USB(Universal Serial Bus,萬用串列介面匯流排)介面目前已成為電腦裝置的基本介面,其利用D+ D-兩條信號線的差動信號,來達成高速傳輸的目的。不過,在微型電腦系統中,USB電路工作時常常會受到外界的干擾,例如:電磁場或者是人體身上的靜電等。而這種干擾有可能會打斷USB電路的正常運行,從而使整個USB裝置陷入停滯或當機的情況。為了使USB裝置能從異常狀態中快速地恢復正常,先前技術的做法是設計一個計時器電路,俗稱看門狗單元(Watch dog unit,簡稱Watch dog)來監控USB裝置是否異常,並於USB裝置異常時進行重置以協助USB裝置恢復正常。
請參考第1圖,其為先前技術之USB系統重置功能方塊圖。USB裝置200包含:資料收發單元(transceiver) 120、鎖相迴路單元(Phase lock loop,簡稱PLL)130、微控制單元140與看門狗單元150。當資料收發單元120發生問題時,例如因靜電效應或電路干擾而導致資料收發單元發生問題,此時,雖然微控制單元140是處於正常的情形下,但因為資料收發單元120發生問題,所以微控制單元140會一直無法接收到由USB主機110所傳來的USB協定資料,而導致微控制單元140根本無法得知現在資料收發單元120發生問題。此時,微控制單元140還是會產生控制信號給看門狗單元150,使得看門狗單元150無法發出重置信號將整資料收發單元120重置,使資料收發單元120從錯誤狀態中恢復。
所以先前技術有幾個問題點:
1. 請參考第1圖,由於外界或電路的干擾,使得資料收發單元120接收信號發生異常時,微控制單元140只單純進行解碼USB協定,無法得知資料收發單元120是否異常的現象,而導致只要資料收發單元120發生錯誤的情形,系統就會發生當機的現象。
2. 請參考第1圖,由於外界或電路的干擾,而使得鎖相迴路單元130的時脈信號(CLK)發生偏移或失鎖的現象,因資料收發單元必須參考CLK進行接收或傳輸USB信號,所以CLK發生異常時會導致資料收發單元也會而異常的現象,此時,微控制單元140也無法得知資料收發單元發生問題,而導致USB裝置200發生錯誤,進而引發系統當機的現象。
為了改善先前技術無法偵測到資料收發單元或是鎖相迴路單元的時脈信號發生問題時,引發USB裝置的當機現象。故,實在有必要提出一種新的架構,可以偵測到資料收發單元或是鎖相迴路單元之時脈信號發生問題,能夠適當的產生重置信號去重置USB裝置,以便讓USB裝置能夠快速的恢復正常。
本發明的目的是提供一種USB裝置異常之檢測與回復電路,USB裝置異常之檢測與回復電路包含:資料收發單元、標記資料檢測單元與標記看門狗單元。資料收發單元接收通道信號,依據時脈信號取樣通道信號而產生匯流排資料。標記資料檢測單元耦接資料收發單元,用以檢測匯流排資料之標記資料而產生控制信號。標記看門狗單元耦接標記資料檢測單元,未接收控制信號經過一預設時間後而產生重置信號至資料收發單元。
本發明另一目的是提供一種USB裝置異常之檢測與回復方法,包含以下之步驟:接收通道信號,依據時脈信號取樣該通道信號而產生匯流排資料。檢測匯流排資料之標記資料。依據標記資料之檢測而產生控制信號。當未接收到控制信號於預設時間後產生重置信號。
為讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉數個較佳實施例,並配合所附圖式,作詳細說明如下:
本發明的目的,在於提出一種可以偵測到資料收發單元或是鎖相迴路單元的時脈信號發生問題,並產生適當之重置信號的架構,且能夠達到低功耗且低成本。
接著,請參考第2圖,USB傳輸封包圖,其包括:封包10、交易20與標記封包30。在USB傳輸協定中,每次完整的傳輸(Transfer)10是由複數個交易(Transaction)20所組成,而每個交易20是由複數個封包(Packet)所組成。每個交易20通常由三個封包所組成,但依傳輸型態而言,每個交易20可能包含一個、兩個、三個封包。封包是執行所有處理USB傳輸動作最基本的機制,封包的種類(Type)定義了四種,例如:標記封包(Token)、資料封包(Data)、交握封包(handshake)與特殊封包(special)等。當封包的種類為Token時,則分別定義四種封包識別碼名稱(PID name),例如:開始訊框(Start of frame,SOF)、輸入(Input,IN)、輸出(Output,OUT)與設置(SETUP)等。例如:第2圖中的交易20是由標記封包(Token)30、資料封包(data)40與交握封包(Handshake)50等所組成。
其中,有些封包係由USB主機所發出之週期性封包,例如,開始訊框(SOF)。本發明即利用此類週期性封包的特性來做為偵測系統是否異常的判斷,週期性封包為USB主機週期地發出,因此,若USB裝置未接收到週期性封包,代表USB裝置當中的收發器(Transciever)或者鎖相迴路單元(PLL)或微控制單元(MCU)發生異常。在此狀況下,將系統進行重置即可解除此一異常狀況。
下面,將分別列舉本發明之USB裝置異常之檢測與回復電路二個實施例。
請先參考第3圖,本發明USB裝置異常之檢測與回復電路之第一實施例,其中,USB裝置異常之檢測與回復電路210包含:資料收發單元120、標記資料檢測單元160與標記看門狗單元170。資料收發單元120接收通道信號,依據時脈信號取樣通道信號而產生匯流排資料。標記資料檢測單元160耦接資料收發單元120,用以檢測匯流排資料之標記資料而產生控制信號。標記看門狗單元170耦接標記資料檢測單元160,於未接收控制信號經過一預設時間即產生一重置信號至資料收發單元120。
請注意,控制信號係為資料收發單元120是否發出標記資料的判斷結果。亦即,未接收到控制信號即代表標記資料檢測單元160未檢測到標記資料(Token)時所發出的控制信號。控制信號可以是至少一個bit的二進位序列數,例如:以1bit而言,當標記看門狗單元170接收到控制信號為0時,代表標記資料檢測單元160停止產生控制信號;反之,當標記看門狗單元170接收到控制信號為1時,代表標記資料檢測單元160產生控制信號。以3bit而言,當標記看門狗單元170接收到控制信號為001、010、011、100、101以及110等其中之一時,代表標記資料檢測單元160停止產生控制信號,當標記看門狗單元170接收到控制信號為111時,代表標記資料檢測單元160產生控制信號。
利用USB主機會在系統中週期性地發出標記資料這點特性,本發明設計了一個基於檢測標記的標記資料檢測單元160與標記看門狗單元170來檢測USB設備中資料收發單元120是否正常工作。其工作原理為:標記資料檢測單元160持續檢測USB資料收發單元120所接收到的資料封包。當資料收發單元120工作正常,那麼標記資料檢測單元160將會正確地接收到週期性的標記資料(Token),並在接收到標記資料之後產生控制信號予標記看門狗單元170。反之,假如資料收發單元120發生異常的情形,那麼標記資料檢測單元160將不能接收到標記資料(Token),當然也不能產生控制信號給標記看門狗單元170,而導致標記看門狗單元170因未收到控制信號,使得內部的計時器發生超時的現象,進而發出一重置信號重置整個USB裝置。
其中,在USB1.1或是USB2.0的標記資料可以是啟始訊框(Start Of Frame,簡稱SOF),SOF會廣播(broadcast)給所有的全速(full-speed)或高速(high-speed)裝置知道。SOF也是唯一一個不指定目標的訊框資料,是一個廣播的同步信號。一般USB系統在處於連接狀態時,USB主機(HOST)每隔一段固定時間就會發送一個特殊標記SOF封包給USB裝置,這個資料包有固定的格式和資料校驗位元,請參考第4圖所示。
所以本發明可以利用SOF來做為標記資料檢測單元160的檢測資料。以USB2.0中的full speed的SOF是1毫秒傳送一次,而high speed的SOF是125微秒傳送一次。本發明提出了一種基於檢測SOF的標記資料檢測單元160的實施例,適用於所有USB設備,並具有低功耗且低成本。
接著,請參考第5圖,其說明標記資料檢測單元160的細部功能方塊。其中,標記資料檢測單元160包含:暫存器162、識別碼檢測器164、錯誤累加器166與算術計算器168。其中,暫存器162耦接資料收發單元120,具有一記憶體空間,暫存器162的記憶體空間用以暫存匯流排資料。識別碼檢測器164耦接暫存器162,用以檢測匯流排資料之標記資料為而產生一錯誤資料。錯誤累加器166耦接識別碼檢測器164,用以累計錯誤資料為一計數值。算術計算器168,標記資料檢測單元比對計數值與一預設值,當標記資料檢測單元計數值大於或等於預設值時則無法發出控制信號至標記看門狗單元170,反之,當標記資料檢測單元計數值小於預設值時則發出訊控制信號至標記看門狗單元170。
請先參考第6圖,本發明USB裝置異常之檢測與回復電路之第二實施例,本發明第二實施例跟第3圖之第一實施例的差別再於多加入檢測鎖相迴路(Phase Lock Loop,PLL)的時脈信號的偏差或失鎖。其中,USB裝置異常之檢測與回復電路220:包含:資料收發單元120、鎖相迴路單元(PLL)130、標記資料檢測單元160與標記看門狗單元170。鎖相迴路單元130,用以產生一時脈信號。資料收發單元120接收一通道信號,依據時脈信號取樣通道信號而產生匯流排資料。標記資料檢測單元160耦接資料收發單元120,用以檢測一匯流排資料之標記資料而產生控制信號。標記看門狗單元170耦接標記資料檢測單元160,未接收控制信號經過一預設時間後而產生一重置信號至標記資料檢測單元資料收發單元120與PLL130。
由於資料收發單元120是USB的實體層(PHY)資料傳輸,以USB2.0而言,其資料傳輸速度最高達480Mbps/s,而USB3.0甚至高達5GMbps/s,所以資料收發單元120對通道信號的取樣非常地依賴PLL130產生準確且無偏差的時脈信號(Clock),連些微的偏差都不行。因此當PLL130只要出現偏移或失鎖的情形,將會導致資料收發單元120不能正常地接收資料封包,此時,就需要本發明提供一標記資料檢測單元來輔助PLL130發生問題時,能夠快速地從錯誤中恢復。
第3圖與第6圖的實施例說明,資料收發單元120無法正確接收資料封包的狀況,可能是資料收發單元120本身發生異常,也可能是PLL130發生異常導致資料收發單元120異常。無論是哪個部分發生異常,其結果均為資料收發單元120無法正確接收資料,此點,透過本發明的標記資料檢測單元160與標記看門狗單元170的技術手段皆可解決。
此外,若微控制器亦發生異常,亦可同步透過本發明的裝置一併解決。請參考第7圖,本發明USB裝置異常之檢測與回復電路230之第三實施例,其中,第7圖與第6圖和第5圖的差異為將本發明的標記看門狗單元170之重置信號與看門狗單元150產生之原重置信號透過或閘而產生系統重置信號至資料收發單元120、鎖相迴路單元130與微控制單元140。其中,只要標記看門狗單元170產生重置信號或看門狗單元150產生原重置信號,將可一起重置資料收發單元120、鎖相迴路單元130與微控制單元140。在另一實施例中,亦可單獨考慮標記看門狗單元170直接產生重置信號給資料收發單元120、鎖相迴路單元130與微控制單元140。
接著,請參考第8圖,其為本發明USB裝置異常之檢測與回復方法流程圖,包含以下步驟:
S110:接收一通道信號,依據時脈信號取樣通道信號而產生匯流排資料。
S120:檢測匯流排資料之標記資料。
S130:依據標記資料之檢測而產生控制信號。
S140:當未接收到控制信號於而預設時間後產生重置信號。
其中,當標記資料檢測單元之匯流排資料之標記資料為啟始訊框而時產生控制信號。其中,標記資料檢測單元標記資料係為主機所發出一週期性封包,該週期性封包在USB1.1與USB2.0中為SOF。其中,重置信號重置資料收發單元或資料收發單元與鎖相迴路單元或資料收發單元、鎖相迴路單元與微控制單元。
本發明為提出一種在USB系統中,使用標記資料檢測單元檢測標記資料,而標記資料可以是USB1.1或者是USB2.0的啟始訊框(SOF)。使用本發明將使得先前技術無法檢測資料收發單元和鎖相迴路PLL的異常狀態,利用本發明的標記資料檢測單元與標記看門狗單元將可達到檢測資料收發器單元和鎖相迴路PLL的異常狀態,從而大大提高設備的穩定性和容錯能力,減少先前USB裝置發生當機。
請注意,本發明並不只限定於USB1.1、USB2.0等系統,未來新的USB3.0或者更高的版本都可根據標記資料檢測單元檢測週期性的標記資料,例如,SOF,進而判斷USB裝置是否屬於正常動作。且上述標記資料的選擇並非特別限定,亦可,選擇自定義協定的標記資料,由當時USB裝置的實際應用來加以選擇與改變。
雖然本發明之較佳實施例揭露如上所述,然其並非用以限定本發明,任何熟習相關技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。
10...封包
20...交易
30...標記封包
40...資料封包
50...交握封包
100...USB通訊系統
110‧‧‧USB主機
120‧‧‧資料收發單元(transceiver)
130‧‧‧鎖相迴路單元
140‧‧‧微控制單元
150‧‧‧看門狗單元
160‧‧‧標記資料檢測單元
162‧‧‧暫存器
164‧‧‧識別碼檢測器
166‧‧‧錯誤累加器
168‧‧‧算術計算器
170‧‧‧標記看門狗單元
200‧‧‧USB裝置
210‧‧‧USB裝置異常之檢測與回復電路
220‧‧‧USB裝置異常之檢測與回復電路
230‧‧‧USB裝置異常之檢測與回復電路
第1圖係為USB通訊格式圖;(先前技術)
第2圖係為傳輸封包圖;(先前技術)
第3圖係為USB裝置異常之檢測與回復電路之第一實施例;
第4圖係為啟始訊框圖;
第5圖係為USB裝置架構圖之標記資料檢測單元之詳細實施例;
第6圖係為USB裝置異常之檢測與回復電路之第二實施例;
第7圖係為USB裝置異常之檢測與回復電路之第三實施例;及
第8圖係為USB裝置異常之檢測方法流程圖。
100...USB通訊系統
110...USB主機
120...資料收發單元(transceiver)
140...微控制單元
160...標記資料檢測單元
170...標記看門狗單元
210...USB裝置異常之檢測與回復電路
Claims (8)
- 一種USB裝置異常之檢測與回復電路,包含:一資料收發單元,耦接一通道,用以接收該通道所傳輸之一通道信號,並依據一時脈信號取樣該通道信號而產生一匯流排資料;一標記資料檢測單元,耦接該資料收發單元,用以檢測該匯流排資料之一標記資料而產生一控制信號,該標記資料檢測單元包含:一暫存器,耦接該資料收發單元,用以暫存該匯流排資料;一識別碼檢測器,耦接該暫存器,用以檢測該匯流排資料之該標記資料,當該標記資料不為一啟始訊框時產生一錯誤資料;一錯誤累加器,耦接該識別碼檢測器,用以累計該錯誤資料為一計數值;及一算術計算器,比對該計數值與一預設值,當該計數值大於或等於該預設值時停止產生該控制信號;當該計數值小於該預設值時產生該控制信號;及一標記看門狗單元,耦接該標記資料檢測單元,用以於當該控制信號表示該標記資料檢測單元未檢測到該標記資料且經過一預設時間後,產生一重置信號至該資料收發單元。
- 如請求項1所述之裝置,其中該標記資料係為一USB主機經由該通道所發出之一週期性封包。
- 如請求項1所述之裝置,更包含:一鎖相迴路單元,耦接該資料收發單元與該標記看門狗單元,用以產生該時脈信號至該資料收發單元,當該標記看門狗單元於未接收 該控制信號經過該預設時間後產生該重置信號至該鎖相迴路單元。
- 如請求項3所述之裝置,更包含:一微控制單元,耦接該資料收發單元、該鎖相迴路單元與該標記看門狗單元,當該標記看門狗單元於未接收該控制信號經過該預設時間後產生該重置信號至該微控制單元。
- 如請求項1所述之裝置,更包含:一微控制單元,耦接該資料收發單元與該標記看門狗單元,當該標記看門狗單元於未接收該控制信號經過該預設時間後產生該重置信號至該微控制單元。
- 如請求項3所述之裝置,更包含:一或閘,耦接該標記看門狗單元與一看門狗單元,用以接收該重置信號與一原重置信號而產生一系統重置信號予該鎖相迴路單元、該資料收發單元與一微控制單元。
- 一種USB裝置異常之檢測與回復方法,包含以下之步驟:接收一通道信號,依據一時脈信號取樣該通道信號而產生一匯流排資料;檢測該匯流排資料之一標記資料,當該標記資料不為一啟始訊框時產生一錯誤資料;累計該錯誤資料為一計數值;比對該計數值與一預設值,當該計數值小於該預設值時產生一控制信號,當該計數值大於或等於該預設值時停止產生該控制信號;以及 當該控制信號表示該標記資料檢測單元未檢測到該標記資料且經過一預設時間後,產生一重置信號至該資料收發單元。
- 如請求項7所述之方法,其中該標記資料係為一主機所發出一週期性封包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100106757A TWI437420B (zh) | 2011-03-01 | 2011-03-01 | Usb裝置異常之檢測與回復電路及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100106757A TWI437420B (zh) | 2011-03-01 | 2011-03-01 | Usb裝置異常之檢測與回復電路及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201237617A TW201237617A (en) | 2012-09-16 |
TWI437420B true TWI437420B (zh) | 2014-05-11 |
Family
ID=47223176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100106757A TWI437420B (zh) | 2011-03-01 | 2011-03-01 | Usb裝置異常之檢測與回復電路及其方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI437420B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI803307B (zh) * | 2022-05-03 | 2023-05-21 | 新唐科技股份有限公司 | 中斷處置裝置、方法與計算機系統 |
-
2011
- 2011-03-01 TW TW100106757A patent/TWI437420B/zh active
Also Published As
Publication number | Publication date |
---|---|
TW201237617A (en) | 2012-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101842568B1 (ko) | 트랜잭션 버퍼링된 메모리에서의 초기 식별 | |
EP3238079B1 (en) | Packed write completions | |
EP3234778B1 (en) | Error handling in transactional buffered memory | |
EP3370156B1 (en) | Speculative reads in buffered memory | |
EP3035563B1 (en) | High performance optical repeater | |
US9652388B2 (en) | Method, apparatus and system for performing management component transport protocol (MCTP) communications with a universal serial bus (USB) device | |
CN1902596B (zh) | 串行点到点链路的可编程测量的方法、设备及系统 | |
US8151145B2 (en) | Flow control timeout mechanism to detect PCI-express forward progress blockage | |
CN105117299B (zh) | 用于进行超时监测的方法和系统 | |
CN101276318B (zh) | 基于pci-e总线的直接存取数据传输控制装置 | |
TWI476596B (zh) | 節流整合鏈路的方法與系統及其積體電路裝置 | |
EP3274852A1 (en) | Implied directory state updates | |
US11874724B2 (en) | Mechanism of enabling fault handling with PCIE re-timer | |
CN104049909A (zh) | 双异步和同步存储器系统 | |
KR20160145771A (ko) | 하이브리드 가상 gpio | |
US20170185502A1 (en) | Automated detection of high performance interconnect coupling | |
WO2017014875A1 (en) | High performance repeater | |
CN102455946B (zh) | Usb装置异常的检测与恢复电路及其方法 | |
CN100543713C (zh) | 防止lpc总线死锁的方法和装置 | |
TWI437420B (zh) | Usb裝置異常之檢測與回復電路及其方法 | |
WO2017172225A1 (en) | Time offset validation of components with independent silicon clocks | |
US10318466B2 (en) | Method and apparatus for handling outstanding interconnect transactions | |
JP2015138503A (ja) | Ssハブ及びusb3.0ハブ並びに情報処理機器 | |
CN115437983A (zh) | 高速外围组件互连(PCIe)接口装置及其操作方法 | |
CN115982087A (zh) | 信号传输方法、计算机设备和存储介质 |