TW201807591A - 通用串列匯流排時脈頻率調整裝置及調整方法 - Google Patents
通用串列匯流排時脈頻率調整裝置及調整方法 Download PDFInfo
- Publication number
- TW201807591A TW201807591A TW105127632A TW105127632A TW201807591A TW 201807591 A TW201807591 A TW 201807591A TW 105127632 A TW105127632 A TW 105127632A TW 105127632 A TW105127632 A TW 105127632A TW 201807591 A TW201807591 A TW 201807591A
- Authority
- TW
- Taiwan
- Prior art keywords
- clock
- value
- clock signal
- serial bus
- universal serial
- Prior art date
Links
Landscapes
- Information Transfer Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
一種通用串列匯流排時脈頻率調整裝置,包含一時脈產生器及一校正單元。時脈產生器用以輸出一時脈信號,校正單元接收USB差動信號的複數個訊框起始封包,且根據選定數目的訊框起始封包的總長度對該時脈信號進行計數,並根據計數結果產生一控制信號以調整該時脈信號的頻率。
Description
本發明關於一種可動態調整通用串列匯流排(USB)系統的時脈頻率的裝置及方法。
一個通用串列匯流排(USB)系統係由一USB主機(host)以及一USB裝置(device)透過一USB介面(interface)連結所組成,其中USB主機與USB裝置間之資料傳輸率須滿足一資料傳輸規範。舉例而言,於一全速(full speed)裝置中,資料傳輸率必須介於12MHz的±0.25%之間,故USB裝置必須具有良好的時脈頻率準確度以符合上述規範。然而,不同的時脈產生器會因例如溫度、製程不同或其他各種因素,造成USB主機與USB裝置兩者的時脈頻率未對應而需精確校正。因此,極需設計一種結構簡單、高精確度且能動態調整的時脈頻率調整裝置以符合目前的需求。
本發明提供一種通用串列匯流排時脈頻率調整裝置,其係用於一全速USB傳輸介面且包含一時脈產生器及一校正單元。時脈產生器用以輸出一時脈信號,校正單元接收USB差動信號的複數個訊框起始封包,且根據選定數目的訊框起始封包的總長度對該時脈信號進行計數,並根據計數結果產生一控制信號以調整該時脈信號的頻率。
依本發明另一實施例的設計,一種通用串列匯流排時脈頻率調整裝置包含一時脈產生器及一校正單元。時脈產生器用以輸出一時脈信號,校正單元接收複數個訊框起始封包,且依據選定數目的訊框起始封包的總長度取得一對應的預設計數值,及依據選定數目的訊框起始封包的總長度對該時脈信號進行計數以產生一實際計數值。校正單元比較實際計數值與預設計數值後產生一控制信號以調整時脈信號的頻率。
依本發明另一實施例的設計,一種通用串列匯流排時脈頻率調整方法包含如下步驟:依據選定數目的訊框起始封包的總長度取得一對應的預設計數值;根據該總長度對輸入至一USB裝置的一時脈信號進行計數以產生一實際計數值;以及比較實際計數值與預設計數值後產生一控制信號以調整時脈信號的頻率。
藉由上述各個實施例之的設計,基於USB主機輸出的訊框起始封包信號進行時脈頻率之調整,不需另外於USB裝置中設置一石英振盪器而可有效降低成本,且因訊框起始封包信號的誤差極小,當作為USB裝置內置之時脈產生器的時脈頻率調整依據可提供良好的準確度,且採用訊框起始封包的長度做為校正參考頻率的方式,計數時間較短且所需的總計數值也較低故可提高校正速度且簡化相應的電路配置。
本發明的其他目的和優點可以從本發明所揭露的技術特徵中得到進一步的了解。為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉實施例並配合所附圖式,作詳細說明如下。
10‧‧‧時脈頻率調整裝置
100‧‧‧USB主機
20‧‧‧校正單元
22‧‧‧資料接收器
24‧‧‧計數器
26‧‧‧調整碼產生器
30‧‧‧時脈產生器
C1-C8、SOF‧‧‧訊框起始封包
CC1-CC8‧‧‧計數值
D+、D-‧‧‧差動信號
CLK‧‧‧時脈信號
CNT‧‧‧實際計數值
S‧‧‧控制信號
TC‧‧‧調整碼
S10-S60‧‧‧步驟
圖1為本發明一實施例的USB裝置連接USB主機的
差動信號時序圖。
圖2為依本發明一實施例,顯示一訊框起始封包的位元結構圖。
圖3顯示本發明第一實施例之通用串列匯流排時脈頻率調整裝置之方塊圖。
圖4顯示本發明一實施例的校正單元的方塊示意圖。
圖5顯示本發明一實施例之USB時脈頻率調整方法之流程圖。
有關本發明之前述及其他技術內容、特點與功效,在以下配合參考圖式之實施例的詳細說明中,將可清楚的呈現。以下實施例中所提到的方向用語,例如:上、下、左、右、前或後等,僅是參考附加圖式的方向。因此,使用的方向用語是用來說明並非用來限制本發明。
如圖1所示,其顯示本發明實施例之USB裝置連接USB主機的差動信號時序圖,包括一USB正差動信號D+以及一USB負差動信號D-。於一全速(full speed)裝置中,USB主機(host)藉由D+及D-兩個差動信號與USB裝置(device)間傳遞資料,但不同的時脈產生器會因例如溫度、製程不同或其他各種因素,造成USB主機與USB裝置兩者之間的時脈頻率未對應而需精確校正。如圖1所示,當USB裝置收到來自USB主機的重置(reset)信號進行重置後,需等待至少10ms的恢復時間才開始傳送設定封包(setup packet),且於此期間內,無論是否進行資料傳輸,USB裝置均會持續收到來自USB主機之訊框起始(start of frame)信號,因此如圖1所示,至少會收到10個訊框起始封包SOF,因此可利用訊框起始封包SOF的長度作為調整USB
裝置的時脈產生器的輸出頻率的參考值。
圖2為依本發明一實施例,顯示一訊框起始封包的位元結構圖。如圖2所示,舉例而言,一全速(full speed)裝置接收的一訊框起始封包可例如包含一同步位元(SYNC)、一產品識別位元(PID)、一訊框號碼位元(Frame Number)以及一循環冗餘校驗位元(CRC5),且一訊框起始封包的長度可為32位元。於本實施例中,全速USB傳輸介面的時脈為12MHz,而用來取樣的系統時脈是4倍頻即48MHz,因此在一個訊框起始封包SOF的長度中,可以計數到的值為32*4=128。
圖3顯示本發明第一實施例之通用串列匯流排(USB)時脈頻率調整裝置10之方塊圖。如圖3所示,USB時脈頻率調整裝置10包含一校正單元20及一時脈產生器30。USB主機100藉由D+及D-兩個差動信號與USB裝置間傳遞資料,該時脈產生器30係用以產生一頻率可調之時脈信號CLK。於本實施例中,時脈產生器30例如可為一內置高速RC振盪器(IHRC),但並不限於此。校正單元20係用以輸出一控制信號S以調整時脈產生器30所產生之時脈信號CLK的頻率。校正單元20接收時脈產生器30所產生之時脈信號CLK之回饋信號,且接收來自USB主機100之USB差動信號D+及D-。校正單元20根據USB差動信號之訊框起始封包SOF的長度,對時脈信號CLK進行計數,並根據計數結果產生一控制信號S以相對調整時脈產生器30所產生之時脈信號CLK的頻率。控制信號S例如可為調整碼(Trim code)的一數位信號,當時脈產生器30為一RC振盪器時,該控制信號S可改變該時脈產生器30中之R值、C值或同時改變RC值。
於一實施例中,若全速裝置資料傳輸率為12MHz,用
來取樣的系統時脈可為4倍頻即48MHz,在一個訊框起始封包SOF的長度中,可以計數到的計數值為128(=32*4)。因較高的總計數值較易於微調頻率,因此於一實施例中,可計數連續的8個訊框起始封包SOF(如圖1所示C1、C2、C3、C4、C5、C6、C7、C8),如此總計數值可達1024(=128*8)個,亦即依據USB差動信號的8個訊框起始封包SOF的總長度,可獲得預設的總計數值應為1024。因此,當校正單元20對時脈信號CLK進行計數所得之計數值低於1024時,表示該時脈信號CLK頻率太低(小於USB主機的4倍頻)而需提高時脈信號CLK頻率,此時校正單元20產生控制信號S以提高時脈產生器30所產生之時脈信號CLK的頻率;反之當計數值高於1024時表示該時脈信號CLK頻率太高(大於USB主機的4倍頻)而需降低時脈信號CLK頻率,此時校正單元20產生控制信號S以降低時脈產生器30所產生之時脈信號CLK的頻率,如此可獲得動態調整時脈頻率的效果。可以了解的是,時脈信號CLK頻率並不限定為48MHz,且總計數值可根據不同之時脈信號頻率設定。
再者,一次計數八個訊框起始封包SOF以取得預設總計數值的方式並不限定。舉例而言,可搭配微控制器(MCU)的控制,視需求一次選擇計算1、2、4或8個訊框起始封包均可,每次計數完1,2,4或8個訊框起始封包SOF後即可更新一次頻率。假設對應8個訊框起始封包SOF的計數值分別為CC1、CC2、CC3、CC4、CC5、CC6、CC7、CC8,若一次計數八個訊框起始封包,則總計數值Ctotal=(CC1+CC2+CC3+CC4+CC5+CC6+CC7+CC8),若一次計數四個訊框起始封包,可利用總計數值Ctotal=2 * (CC1+CC2+CC3+CC4)的方式獲得數量較高的總計數值,若一次計數二個訊框起始封包,可利用總計數值Ctotal=4 * (CC1+CC2)的方式獲
得數量較高的總計數值,若一次計數一個訊框起始封包,可利用總計數值Ctotal=8 * CC1的方式獲得數量較高的總計數值。一次選定計算的訊框起始封包數目及總計數值並不限定,可視需求任意變化。
圖4顯示本發明一實施例的校正單元的方塊示意圖。如圖4所示,校正單元20包含資料接收器22、一計數器24及一調整碼產生器26。資料接收器22接收例如來自USB主機之一資料流,並輸出包含訊框起始封包SOF的一主機信號,亦即,資料接收器22用以從資料流中擷取出訊框起始封包SOF。計數器24依據選定數目的USB差動信號的訊框起始封包SOF,以每一個訊框起始封包SOF的長度作為參考值以取得一預設計數值,且計數器24對來自時脈產生器30的時脈信號CLK進行計數,以求得一實際計數值CNT,調整碼產生器26依據實際計數值CNT與預設計數值的差值增減調整碼的位元值,經過校正後的調整碼TC除了輸入到時脈產生器30,並依據時脈頻率與調整碼位元值的對應關係式換算出時脈產生器30輸出的更新頻率值外,另可如圖4所示回授到調整碼產生器26,作為下次校整調整碼時的基礎值。如此每次計數完預定數目的訊框起始封包的長度後即可更新一次頻率,獲得動態調整USB裝置時脈頻率的效果。於一實施例中,USB裝置的要求時脈頻率為48MHz,調整碼TC可為10位元(對應0-1023的1024階),且頻率調整範圍可為24-72MHz,因此對應調整碼TC的每階調整區間為0.046875MHz(=48MHz/1024),且時脈頻率與調整碼位元值的對應關係式例如可為:系統時脈頻率Fsys=24(MHz)+0.046875 x Trim_code,其中參數Trim_code之值為0-1023。
圖5顯示本發明一實施例之USB時脈頻率調整方法之流程圖。首先依據USB差動信號之選定數目的訊框起始封包的總
長度取得一預設計數值,並對時脈信號進行計數產生之一實際計數值,並比較該實際計數值與一對應的預設計數值(步驟S10)。校正單元20判斷該實際計數值是否大於一預設計數值或小於一預設計數值:當實際計數值大於預設計數值時(步驟S20),該校正單元20則產生一控制信號S至該時脈產生器30以降低其所產生之時脈信號CLK頻率(步驟S30);當實際計數值小於預設計數值時(步驟S40),該校正單元20則產生一控制信號S至時脈產生器30以提高其所產生之時脈信號CLK頻率(步驟S50),否則維持該時脈產生器30所產生之時脈信號CLK頻率(步驟S60)。接著回到步驟S10以反覆進行該時脈信號CLK之計數,且當該時脈信號CLK頻率發生漂移時立即進行調整,以維持該時脈產生器30所產生之時脈信號CLK頻率之精準度。
藉由上述各個實施例之的設計,基於USB主機輸出的訊框起始封包信號進行時脈頻率之調整,不需另外於USB裝置中設置一石英振盪器而可有效降低成本,且因訊框起始封包信號的誤差極小,當作為USB裝置內置之時脈產生器之時脈頻率調整依據可提供良好的準確度,且採用訊框起始封包的長度做為校正參考頻率的方式,計數時間較短且所需的總計數值也較低故可提高校正速度且簡化相應的電路配置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,本說明書或申請專利範圍中提及的「第一」、「第二」等用語僅用以命名元件的名稱或區別不同實施例或範圍,而並非用來限制元件數量上的上限或下限。
Claims (10)
- 一種通用串列匯流排時脈頻率調整裝置,其係用於一全速USB傳輸介面且包含:一時脈產生器,用以輸出一時脈信號;一校正單元,接收USB差動信號的複數個訊框起始封包,且根據選定數目的訊框起始封包的總長度對該時脈信號進行計數,並根據計數結果產生一控制信號以調整該時脈信號的頻率。
- 如申請專利範圍第1項所述之通用串列匯流排時脈頻率調整裝置,其中該校正單元包含:一資料接收器,接收來自一USB主機之一資料流,並輸出包含該些訊框起始封包的一主機信號;一計數器,依據該選定數目的訊框起始封包的總長度作為參考值,對該時脈信號進行計數以產生一實際計數值;以及一調整碼產生器,依據該實際計數值與一預設計數值的差值增減一調整碼的位元值,且將調整後的該調整碼輸入該時脈產生器以調整該時脈信號的頻率並回授到該調整碼產生器以作為後續校正該調整碼時的基礎值。
- 如申請專利範圍第1項所述之通用串列匯流排時脈頻率調整裝置,其中該調整碼為10位元之數位信號。
- 一種通用串列匯流排時脈頻率調整裝置,包含:一時脈產生器,用以輸出一時脈信號;以及一校正單元,接收複數個訊框起始封包,該校正單元依據選定數目的訊框起始封包的總長度取得一對應的預設計數值,且依據該選定數目的訊框起始封包的總長度對該時脈信號進行計數以產生一實際計數值,且比較該實際計數值與該預設計數值後產生一控制信號以調 整該時脈信號的頻率。
- 如申請專利範圍第1或4項所述之通用串列匯流排時脈頻率調整裝置,其中每一該訊框起始封包包含一同步位元(SYNC)、一產品識別位元(PID)、一訊框號碼位元(Frame Number)以及一循環冗餘校驗位元位元(CRC5)。
- 如申請專利範圍第1或4項所述之通用串列匯流排時脈頻率調整裝置,其中每一該訊框起始封包的長度為32位元。
- 如申請專利範圍第1或4項所述之通用串列匯流排時脈頻率調整裝置,其中該選定數目為1、2、4或8,且該預設計數值為1024。
- 如申請專利範圍第1或4項所述之通用串列匯流排時脈頻率調整裝置,其中該時脈產生器為一內置高速RC振盪器。
- 一種通用串列匯流排時脈頻率調整方法,包含如下步驟:依據選定數目的訊框起始封包的總長度取得一對應的預設計數值;根據該總長度對輸入至一USB裝置的一時脈信號進行計數以產生一實際計數值;以及比較該實際計數值與該預設計數值後產生一控制信號以調整該時脈信號的頻率。
- 如申請專利範圍第9項所述之通用串列匯流排時脈頻率調整方法,其中該訊框起始封包的選定數目係為1、2、4或8且係由一微控制器(MCU)決定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105127632A TW201807591A (zh) | 2016-08-29 | 2016-08-29 | 通用串列匯流排時脈頻率調整裝置及調整方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105127632A TW201807591A (zh) | 2016-08-29 | 2016-08-29 | 通用串列匯流排時脈頻率調整裝置及調整方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201807591A true TW201807591A (zh) | 2018-03-01 |
Family
ID=62189871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105127632A TW201807591A (zh) | 2016-08-29 | 2016-08-29 | 通用串列匯流排時脈頻率調整裝置及調整方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW201807591A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112533046A (zh) * | 2019-09-18 | 2021-03-19 | 新唐科技股份有限公司 | 音频数据同步装置及其方法 |
-
2016
- 2016-08-29 TW TW105127632A patent/TW201807591A/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112533046A (zh) * | 2019-09-18 | 2021-03-19 | 新唐科技股份有限公司 | 音频数据同步装置及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102063402B (zh) | 校正usb装置频率的方法及电路 | |
EP3211822B1 (en) | Multi-wire open-drain link with data symbol transition based clocking | |
TWI410806B (zh) | A method and a circuit for correcting the frequency of the USB device, and a method of identifying whether or not the input packet is a tag packet | |
TWI508457B (zh) | Methods and circuits for correcting the frequency of USB devices | |
CN104679708B (zh) | 通用串行总线装置及所应用的频率校正方法 | |
TWI522772B (zh) | Automatic transmission interface device and method for correcting transmission frequency | |
US20130103969A1 (en) | Clock generation device for usb device | |
EP2978133A1 (en) | Calibration unit for calibrating an oscillator, oscillator arrangement and method for calibrating an oscillator | |
TW202036315A (zh) | 用於提供快速穩定正交偵測與校正的設備及方法 | |
US20120051479A1 (en) | Clock frequency adjusting circuit and clock frequency adjusting method thereof | |
CN103092256A (zh) | 时钟频率调整电路及其时钟频率调整方法 | |
US20090284298A1 (en) | Method for automatically adjusting clock frequency and clock frequency adjusting circuit | |
TW201807591A (zh) | 通用串列匯流排時脈頻率調整裝置及調整方法 | |
CN102854916B (zh) | 一种实现usb设备的时钟精确同步的方法 | |
TWI477129B (zh) | 可調式振盪器之頻率調整方法 | |
TWI692208B (zh) | 時脈校正方法、參考時脈產生方法、時脈校正電路以及參考時脈產生電路 | |
JP2013034087A (ja) | シリアル通信用インターフェース回路及びパラレルシリアル変換回路 | |
CN104503935A (zh) | 一种可精确控制时序的iic控制装置和控制方法 | |
US8139697B2 (en) | Sampling method and data recovery circuit using the same | |
US10116435B2 (en) | Control circuit and control method of communication device | |
JP5742456B2 (ja) | シリアル・データ通信装置のdpll回路 | |
TWI615700B (zh) | 時脈校正方法、參考時脈產生方法、時脈校正電路以及參考時脈產生電路 | |
US9319216B2 (en) | Operating method of human interface device | |
CN104699645B (zh) | 通用串行总线装置的频率校正方法及其通用串行总线装置 | |
CN107436620A (zh) | 通信装置的控制电路及控制方法 |