TW201329670A - 時脈速度控制器及其方法與其電子裝置 - Google Patents

時脈速度控制器及其方法與其電子裝置 Download PDF

Info

Publication number
TW201329670A
TW201329670A TW101100353A TW101100353A TW201329670A TW 201329670 A TW201329670 A TW 201329670A TW 101100353 A TW101100353 A TW 101100353A TW 101100353 A TW101100353 A TW 101100353A TW 201329670 A TW201329670 A TW 201329670A
Authority
TW
Taiwan
Prior art keywords
clock speed
difference
limit value
specific interval
usage amount
Prior art date
Application number
TW101100353A
Other languages
English (en)
Inventor
Jung-Fu Liao
Hung-Chi Huang
Original Assignee
C Media Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by C Media Electronics Inc filed Critical C Media Electronics Inc
Priority to TW101100353A priority Critical patent/TW201329670A/zh
Priority to US13/713,017 priority patent/US8908719B2/en
Publication of TW201329670A publication Critical patent/TW201329670A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising
    • H04N5/06Generation of synchronising signals
    • H04N5/067Arrangements or circuits at the transmitter end
    • H04N5/073Arrangements or circuits at the transmitter end for mutually locking plural sources of synchronising signals, e.g. studios or relay stations
    • H04N5/0736Arrangements or circuits at the transmitter end for mutually locking plural sources of synchronising signals, e.g. studios or relay stations using digital storage buffer techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/061Adapt frequency, i.e. clock frequency at one side is adapted to clock frequency, or average clock frequency, at the other side; Not pulse stuffing only

Abstract

本發明實施例提供一種時脈速度控制方法。首先,偵測電子裝置中的先進先出緩衝器的使用量。然後,判斷使用量是否落於第一特定區間,其中第一特定區間具有第一上限值與第一下限值。當使用量大於第一上限值,增加電子裝置的內部裝置之一時脈速度;當使用量小於第一下限值,降低時脈速度。

Description

時脈速度控制器及其方法與其電子裝置
本發明有關於一種時脈速度控制器,且特別是一種透過調整電子裝置中之內部裝置的時脈速度(亦即調整內部裝置消化封包的速度)來調節先進先出緩衝器(First Input First Output,FIFO)之使用量(usage,亦即其儲存空間中已被用來儲存封包的封包暫存器數量)的時脈速度控制器、其方法與其電子裝置。
隨著科技的日漸發達,電子產品不斷的推陳出新,而且各種高速的傳輸界面也不斷地被制定與提出。然而,目前電子裝置的內部裝置並無法迅速地跟上主機端(host,依情況可以例如為電腦或集線器(hub)等)的資料傳輸速度,因此,通常會在目前電子裝置中設置先進先出緩衝器與時脈速度控制器。
目前的時脈速度控制器會去追蹤主機端傳送封包的速度,同時因為有先進先出緩衝器的緩衝,因此內部裝置有段調整時間可以依據時脈速度控制器的控制信號來控制內部裝置中的鎖相迴路(Phase Lock Loop,PLL),以調整內部裝置處理先進先出緩衝器儲存之封包的時脈速度。一般來說,電腦傳送資料的速度較為穩定,因此一旦內部裝置的時脈速度可以追上電腦傳送封包的速度後,先進先出緩衝器的使用量會維持在一個特定的準位。
然而,麻煩的是,電腦與電子裝置連接的連接埠之數目有限,因此通常會在主機端與電子裝置之間連接一個集線器。以通用序列匯流排(Universal Serial Bus,USB)集線器為例,若集線器的設計不良,將會導致集線器送至電子裝置的開始訊框(Start of Frame,SOF)沒有依照每一毫秒(msec)傳送一次的特定規範與可以容許500奈秒(nsec)的正常標準來傳送。
當開始訊框傳送的速度較快時(亦即,集線器傳送封包的速度較快時),若先進先出緩衝器沒有足夠的儲存空間或者良好的處理機制,將可能會造成先進先出緩衝器爆滿,而使得部份的封包被丟棄。例如電子裝置為通用序列匯流排喇叭,則可能會有部份的音訊封包被丟棄,而造成爆音或音訊品質不佳的問題。
另外,雖然傳統電子裝置透過控制鎖相迴路使得內部裝置的時脈速度可以追上主機端傳送封包的速度來調整先進先出緩衝器的使用量,但傳統電子裝置在內部裝置的時脈速度追上主機端傳送封包的速度後,並沒有將先進先出緩衝器的使用量之準位拉回特定區間。因此,傳統電子裝置中的先進先出緩衝器的使用量之準位可能會停留在將近爆滿的邊緣。此時,若主機端傳送封包的速度又更快,將會導致內部裝置來不及消化先進先出緩衝器內的封包。此時,將造成先進先出緩衝器爆滿,且部份的封包將會被丟棄。
本發明實施例提供一種時脈速度控制方法。首先,偵測電子裝置中的先進先出緩衝器的使用量。然後,判斷使用量是否落於第一特定區間,其中第一特定區間具有第一上限值與第一下限值。當使用量大於第一上限值,增加電子裝置中的內部裝置之時脈速度;當使用量小於第一下限值,降低時脈速度。
於本發明實施例中,若使用量是否落於第一特定區間,則不調整時脈速度。
於本發明另一實施例中,當使用量落於第一特定區間,計算先進先出緩衝器的寫入指標與讀取指標的目前差值與前一次差值之間的差值,並判斷寫入指標與讀取指標的目前差值與前一次差值之間的差值是否落於第二特定區間,其中第二特定區間具有第二上限值與第二下限值。當寫入指標與讀取指標的目前差值與前一次差值之間的差值大於第二上限值,增加時脈速度;當寫入指標與讀取指標的目前差值與前一次差值之間的差值小於第二下限值,降低時脈速度。當寫入指標與讀取指標的目前差值與前一次差值之間的差值落於第二特定區間,不調整時脈速度。
本發明實施例另外還提供一種執行上述方法的時脈速度控制器以及具備此時脈速度控制器的電子裝置。
綜上所述,本發明實施例所提供的時脈速度控制器及其方法可以透過調整內部裝置的時脈速度來調整先進先出緩衝器的使用量,以使先進先出緩衝器的使用量可以維持在第一特定區間。除此之外,本發明實施例所提供的電子裝置不易遇到先進先出緩衝器爆滿而丟棄封包的問題。
為使能更進一步瞭解本發明之特徵及技術內容,請參閱以下有關本發明之詳細說明與附圖,但是此等說明與所附圖式僅係用來說明本發明,而非對本發明的權利範圍作任何的限制。
本發明實施例提供一種時脈速度控制器,其用於控制電子裝置之內部裝置的鎖相迴路,以調整內部裝置的時脈速度,並進一步地達到控制先進先出緩衝器之使用量的目的,以解決先進先出緩衝器的使用量可能爆滿或過度震盪的情形。另外,本發明實施例還提供對應執行於時脈速度控制器中的一種時脈時速度控制方法,其中時脈速度控制方法可以使用韌體、軟體或硬體電路的方式實現於時脈速度控制器中。
[電子裝置之實施例]
圖1是本發明實施例提供之電子裝置的方塊圖。電子裝置1具有先進先出緩衝器10、時脈速度控制器11和內部裝置12。電子裝置1會與主機端2中的先進先出緩衝器10電性連接,例如,透過傳輸界面(未繪示於圖1)而彼此電性連接。時脈速度控制器11電性連接於先進先出緩衝器10與內部裝置12,內部裝置12又電性連接於先進先出緩衝器10。
先進先出緩衝器10用以暫存來自於主機端2所傳送的封包,其中主機端2依情況可能為集線器、電腦或其他資料傳輸裝置。更精確地說,先進先出緩衝器10會每隔一段時間接收來自於主機端2的一個訊框,並且儲存訊框的多個封包。因為,主機端2每隔一段時間會送出一個訊框,因此在這一段時間內,內部裝置12必須讀取與處理這些儲存的封包,以避免先進先出緩衝器10爆滿,而造成封包的丟棄。
一般來說,先進先出緩衝器10使用寫入指標W_PT以及讀取指標R_PT來分別代表封包寫入位置與封包讀取位置。簡單地說,寫入指標W_PT表示目前可用以寫入封包的封包暫存器之索引值,而讀取指標則是表示目前內部裝置12所讀取之封包的封包暫存器之索引值。
另外,內部裝置12的時脈速度可以被時脈速度控制器11所調整,例如內部裝置12具有鎖相迴路,且時脈速度控制器11可以控制內部裝置12的鎖相迴路來調整內部裝置12的時脈速度。除此之外,內部裝置12的類型與電子裝置1的類型相關。例如,電子裝置1為通用序列匯流排喇叭,則內部裝置12為具有音效處理晶片的喇叭模組。又例如,電子裝置1為個人電腦記憶體卡國際協會(Personal Computer Memory Card International Association,PCMIA)界面的無線網路卡,且內部裝置12為無線收發晶片模組。
於其中一種實施方式中,時脈速度控制器11用以偵測先進先出緩衝器10的使用量是否落於第一特定區間,以決定是否調整內部裝置12的時脈速度,其中第一特定區間具有第一上限值與第一下限值。若先進先出緩衝器10的使用量落於第一特定區(亦即使用量小於等於第一上限值且大於等於第一下限值),則時脈速度控制器11將不會調整內部裝置12的時脈速度。若先進先出緩衝器10的使用量大於第一上限值,則時脈速度控制器11將會透過控制內部裝置12的鎖相迴路來增加內部裝置12的時脈速度。相反地,若先進先出緩衝器10的使用量小於第一下限值,則時脈速度控制器11將會透過控制內部裝置12的鎖相迴路來降低內部裝置12的時脈速度。
另外,於上述實施方式中,第一上限值與第一下限值例如分別為先進先出緩衝器10之使用量的中間準位(亦即封包暫存器總數量的一半)分別加上第一特定值與減去第二特定值。第一與第二特定值可以為正整數,且彼此相等,例如皆可以為5,但在其他實施例中,第一與第二特定值亦可以彼此不相等,例如分別為5與4。總而言之,上述第一特定區間的範圍並非用限制本發明。另外,在特別情況下,第一特定值例如可以為0,此時第一特定區間可以為任意的特定準位。
於其中另一種實施方式中,時脈速度控制器11用以偵測先進先出緩衝器10的使用量是否落於第一特定區間,以及偵測先進先出緩衝器10之寫入指標與讀取指標的差值是否增加或減少,以藉此決定是否調整內部裝置12的時脈速度。若先進先出緩衝器10的使用量落於第一特定區間,則時脈速度控制器11判斷先進先出緩衝器10的寫入指標W_PT與讀取指標R_PT的目前差值D1與前一次差值D2之間的差值D3是否落於第二特定區間,其中第二特定區間具有第二上限值與第二下限值。舉例來說,寫入指標W_PT與讀取指標R_PT的目前差值D1可以是目前訊框進來後的使用量,而寫入指標W_PT與讀取指標R_PT的前一次差值D2可以是前一個訊框進來後的使用量。
若寫入指標W_PT與讀取指標R_PT的目前差值D1與前一次差值D2之間的差值D3落於第二特定區間(亦即寫入指標W_PT與讀取指標R_PT的目前差值D1與前一次差值D2之間的差值D3小於等於第二上限值且大於等於第二下限值),則時脈速度控制器11將不會調整內部裝置12的時脈速度。若寫入指標W_PT與讀取指標R_PT的目前差值D1與前一次差值D2之間的差值D3大於第二上限值,則時脈速度控制器11將會透過控制內部裝置12的鎖相迴路來增加內部裝置12的時脈速度。相反地,若寫入指標W_PT與讀取指標R_PT的目前差值D1與前一次差值D2之間的差值D3小於第二下限值,則時脈速度控制器11將會透過控制內部裝置12的鎖相迴路來降低內部裝置12的時脈速度。另外,若先進先出緩衝器10的使用量大於第一上限值,則時脈速度控制器11將會透過控制內部裝置12的鎖相迴路來增加內部裝置12的時脈速度。相反地,若先進先出緩衝器10的使用量小於第一下限值,則時脈速度控制器11將會透過控制內部裝置12的鎖相迴路來降低內部裝置12的時脈速度。
另外,於上述實施方式中,第一上限值與第一下限值例如分別為先進先出緩衝器10之使用量的中間準位(亦即封包暫存器總數量的一半)分別加上第一特定值與減去第二特定值。第一與第二特定值可以為正整數,且彼此相等,例如皆可以為5,但在其他實施例中,第一與第二特定值亦可以彼此不相等,例如分別為5與4。除此之外,第二上限值為正整數,而第二下限值為對應於第二上限值的負整數,例如分別為+2與-2,又或者,第二上限與下限值可以彼此不對應的正負整數,例如分別為+3與-2。然而,要注意的是,上述第一特定區間與第二特定區間的範圍並非用限制本發明,且在特別情況下,第一特定值例如可以為0,此時第一特定區間可以為任意的特定準位。
接著,再進一步地描述時脈速度控制器11的實現方式。時脈速度控制器11包括使用量偵測單元112、差值計算單元114和加速/減速判斷單元116。使用量偵測單元112與差值計算單元114電性連接先進先出緩衝器10,且加速/減速判斷單元116電性連接使用量偵測單元112與差值計算單元114與內部裝置116。
使用量偵測單元112接收寫入指標W_PT與讀取指標R_PT,以偵測先進先出緩衝器10的使用量,並且將偵測到的使用量輸出給加速/減速判斷單元116。值得說明的是,使用量偵測單元112可以不斷透過獲得寫入指標W_PT與讀取指標R_PT的差值來更新先進先出緩衝器10的使用量。簡單地說,寫入指標W_PT與讀取指標R_PT的差值即代表使用量的大小。
差值計算單元114用以計算寫入指標W_PT與讀取指標R_PT之間的目前差值D1(亦即,D1=W_PT-R_PT),並且暫存寫入指標W_PT與讀取指標R_PT之間的前一次差值D2。接著,差值計算單元114計算寫入指標W_PT與讀取指標R_PT之間的目前差值D1與前一次差值D2之間的差值D3(亦即,D3=D1-),並將差值D3送至加速/減速判斷單元116。簡單地說,差值D3代表目前使用量與前一次使用量的差值。
為了避免先進先出緩衝器10的使用量的準位可能位於將近爆滿的邊緣,加速/減速判斷單元116會判斷偵測到的使用量是否位於第一特定區間,來決定是否調整內部裝置12的時脈速度,以使超出第一特定區間的使用量可以回到第一特定區間之內。若偵測到的使用量大於第一特定區間的第一上限值,則加速/減速判斷單元116將會透過控制內部裝置12的鎖相迴路來增加內部裝置12的時脈速度。相反地,若先進先出緩衝器10的使用量小於第一特定區間的第一下限值,則加速/減速判斷單元116將會透過控制內部裝置12的鎖相迴路來降低內部裝置12的時脈速度。
若使用量位於第一特定區間(亦即使用量小於等於第一上限值且大於等於第一下限值),則加速/減速判斷單元116會進一步地判斷差值D3是否落於第二特定區間,來決定是否調整內部裝置12的時脈速度,以使得使用量的震盪情況不至於過大。當內部裝置12的時脈速度太慢或過快時,而使得先進先出緩衝器10的使用量持續地增加或減少時,則差值D3也會對應地增加或減少,故可以透過限制差值D3落於第二特定區間來抑制先進先出緩衝器10的使用量持續地增加或減少。
當差值D3落於第二特定區間時,則表示先進先出緩衝器10的使用量可能不是持續地增加或減少,因此加速/減速判斷單元116將不會調整內部裝置12的時脈速度。然而,若差值D3大於第二上限值,則表示內部裝置12的時脈速度過慢,而使得先進先出緩衝器10的使用量持續地增加,故加速/減速判斷單元116將會透過控制內部裝置12的鎖相迴路來增加內部裝置12的時脈速度。相反地,若差值D3小於第二下限值,則表示內部裝置12的時脈速度過快,而先進先出緩衝器10的使用量可能是持續地減少,故加速/減速判斷單元116將會透過控制內部裝置12的鎖相迴路來減少內部裝置12的時脈速度。值得說明的是,若不考慮使用量的震盪情況,則圖1中的差值計算單元114可以移除。此時,若使用量位於第一特定區間,則加速/減速判斷單元116就不會進一步地判斷差值D3是否落於第二特定區間,相反地,加速/減速判斷單元116將不會調整內部裝置12的時脈速度。
除此之外,值得說明的是,在圖1的實施例中,雖然時脈速度控制器11是獨立於內部裝置12之外,但在一般的內部裝置12之設計上,通常會將時脈速度控制器11整合於內部裝置12之中,而形成一個獨立的晶片或模組。甚至,在其他種設計方式中,先進先出緩衝器10更可能會與時脈速度控制器11一同被整合至內部裝置12之中,而形成一個獨立的晶片或模組。總而言之,圖1的實施例並非用以限制本發明。
[時脈速度控制方法之實施例]
請參照圖1與2,圖2是本發明實施例提供之時脈速度控制方法的流程圖。圖2的時脈速度控制方法之步驟S203~S212可被圖1的時脈速度控制器11所執行。然而,對應於圖2的時脈速度控制方法的實施例,圖1的時脈速度控制器11並不具備差值計算單元114,且當使用量位於第一特定區間時,時脈速度控制器11中的加速/減速判斷單元116並不會進一步地判斷寫入指標W_PT與讀取指標R_PT的目前差值D1與前一次差值D2之間的差值D3是否落於第二特定區間。
首先,在步驟S200中,先進先出緩衝器10接收來自於主機端2所傳送的訊框。然後,在步驟S202中,先進先出緩衝器10儲存訊框的多個封包。接著,在步驟S203中,使用量偵測單元112會偵測判斷先進先出緩衝器10的使用量。在步驟S204中,加速/減速判斷單元116會判斷使用量否落於第一特定區間。若先進先出緩衝器10的使用量落於第一特定區間,則執行步驟S208;相反地,若先進先出緩衝器10的使用量未落於第一特定區間,則執行步驟S206。
在步驟S208中,加速/減速判斷單元116並不會調整內部裝置12的時脈速度。在步驟S206中,加速/減速判斷單元116判斷使用量是否大於第一上限值。若使用量大於第一上限,則執行步驟S210;相反地,若使用量未大於第一上限值且又未落於第一特定區間,則表示使用量小於第一下限值,此時,將執行步驟S212。在步驟S210中,加速/減速判斷單元116透過控制內部裝置12的鎖相迴路來增加內部裝置12的時脈速度。在步驟S212中,加速/減速判斷單元116透過控制內部裝置12的鎖相迴路來降低內部裝置12的時脈速度。
[時脈速度控制方法之另一實施例]
請同時參照圖1與圖3,圖3是本發明另一實施例提供的時脈速度控制方法的流程圖。圖3的時脈速度控制方法之步驟S303~S324執行於圖1的時脈速度控制器11,且時脈速度控制器11的任一元件皆不須移除。
首先,在步驟S300中,先進先出緩衝器10接收來自於主機端2所傳送的訊框。然後,在步驟S302中,先進先出緩衝器10儲存訊框的多個封包。接著,在步驟S303中,使用量偵測單元112會偵測先進先出緩衝器10的使用量。在步驟S304中,加速/減速判斷單元116會判斷使用量是否落於第一特定區間。若先進先出緩衝器10的使用量落於第一特定區間,則執行步驟S309;相反地,若先進先出緩衝器10的使用量未落於第一特定區間,則執行步驟S320。
在步驟S309中,差值計算單元114用以獲得寫入指標W_PT與讀取指標R_PT的目前差值D1與前一次差值D2之間的差值D3。在步驟S310中,加速/減速判斷單元116判斷寫入指標W_PT與讀取指標R_PT的目前差值D1與前一次差值D2之間的差值D3是否落於第二特定區間。若差值D3落於第二特定區間,則執行步驟S312;相反地,若差值D3未落於第二特定區間,則執行步驟S314。在步驟S312中,加速/減速判斷單元116並不會調整內部裝置12的時脈速度。在步驟S314中,加速/減速判斷單元116判斷差值D3是否大於第二上限值。若差值D3大於第二上限值,則執行步驟S316;相反地,若差值D3未大於第二上限值且又未落於第二特定區間,則表示差值D3小於第二下限值,此時,將執行步驟S318。
在步驟S320中,加速/減速判斷單元116判斷使用量是否大於第一上限值。若使用量大於第一上限值,則執行步驟S322;相反地,若使用量未大於第一上限值且又未落於第一特定區間,則表示使用量小於第一下限值,此時,將執行步驟S324。在步驟S316與S322中,加速/減速判斷單元116透過控制內部裝置12的鎖相迴路來增加內部裝置12的時脈速度。在步驟S318與S324中,加速/減速判斷單元116透過控制內部裝置12的鎖相迴路來降低內部裝置12的時脈速度。
[實施例的可能功效]
請參照圖4,圖4是時脈速度控制器僅採用追蹤主機端傳送封包之速度的時脈速度控制方法時,使用量與時間的曲線圖。觀察曲線C40,可以看出對內部裝置的時脈速度進行調整需要一段調整時間(例如T1~T4)。舉例來說,當經過一段調整時間T1後,內部裝置的時脈速度追上主機端傳送封包的速度時,先進先出緩衝器的使用量將不會再增加或減少,而是穩定地維持在一個特定的準位(例如L1)。
然而,在此調整時間T1內,封包會依然不斷地被先進先出緩衝器所儲存,但此時因為內部裝置的時脈速度太慢,故會導致先進先出緩衝器的使用量增加,而使得先進先出緩衝器的使用量是穩定地維持在較前一個特定準位L0更高的特定準位L1上。若使用量前一次已經穩定地維持在先進先出緩衝器之使用量將近爆滿的特定準位L3時,且在下一段調整時間T4內,先進先出緩衝器之儲存空間不足夠儲存調整時間T4內接收到的封包時,就會發生先進先出緩衝器爆滿的情況(亦即,在時脈速度未調整至追上主機端傳送封包的速度時,先進先出緩衝器就已經爆滿),而造成部分封包被丟棄。
請接著參照圖5,圖5是時脈速度控制器採用圖2之時脈速度控制方法時,使用量與時間的曲線圖。由曲線50可以看出,當先進先出緩衝器的使用量大於第一特定區間的第一上限值時,時脈速度控制器會增加內部裝置的時脈速度,以使先進先出緩衝器的使用量回到第一特定區間。然而,先進先出緩衝器的使用量在回到第一特定區間後,有可能變成內部裝置的時脈速度過快。此時,若沒有機制降低內部裝置的時脈速度,則須等到進先出緩衝器的使用量小於第一特定區間的第一下限值時,時脈速度控制器才會降低內部裝置的時脈速度,以使先進先出緩衝器的使用量回到第一特定區間。接著,先進先出緩衝器的使用量在回到第一特定區間後,卻又可能變成內部裝置的時脈速度過慢。此時,若沒有機制增加內部裝置的時脈速度,則須等到進先出緩衝器的使用量大於第一特定區間的第一上限值時,時脈速度控制器才會增加內部裝置的時脈速度,以使先進先出緩衝器的使用量回到第一特定區間。據此,先進先出緩衝器的使用量會過度地震盪,而不易穩定地維持在特定準位。
請接著參照圖6,圖6是時脈速度控制器採用圖3之時脈速度控制方法時,使用量與時間的曲線圖。相對於曲線50,由曲線60可以看出,當先進先出緩衝器的使用量在回到第一特定區間後,時脈速度控制器會透過偵測差值D3是否落於第二特定區間來判斷先進先出緩衝器使用量是否持續地增加或減少,以決定增加、降低或不調整時脈速度。如此,先進先出緩衝器的使用量將可以穩定地維持在第一特定區間,且不會有過度震盪的情況發生。
綜上所述,本發明實施例所提供的時脈速度控制器及其方法可以透過調整內部裝置的時脈速度來調整先進先出緩衝器的使用量,以使先進先出緩衝器的使用量可以維持在第一特定區間。在另外一個實施例中所提供的時脈速度控制器及方法除了可以讓先進先出緩衝器的使用量可以維持在第一特定區間內之外,更可以避免先進先出緩衝器的使用量過度震盪。除此之外,本發明實施例所提供的電子裝置因採用上述時脈速度控制器及其方法,因此相較於傳統電子裝置,本發明實施例所提供的電子裝置更適合於連接於傳送封包之速度不穩定的主機端,且也不易遇到先進先出緩衝器爆滿而丟棄封包的問題。
以上所述僅為本發明之實施例,其並非用以侷限本發明之專利範圍。
1...電子裝置
10...先進先出緩衝器
11...時脈速度控制器
112...使用量偵測單元
114...差值計算單元
116...加速/減速判斷單元
12...內部裝置
2...主機端
S200~S212...步驟流程
S300~S324...步驟流程
C40、C50、C60...曲線
圖1是本發明實施例提供之電子裝置的方塊圖。
圖2是本發明實施例提供之時脈速度控制方法的流程圖。
圖3是本發明另一實施例提供的時脈速度控制方法的流程圖。
圖4是時脈速度控制器僅採用追蹤主機端傳送封包之速度的時脈速度控制方法時,使用量與時間的曲線圖。
圖5是時脈速度控制器採用圖2之時脈速度控制方法時,使用量與時間的曲線圖。
圖6是時脈速度控制器採用圖3之時脈速度控制方法時,使用量與時間的曲線圖。
S200~S212...步驟流程

Claims (11)

  1. 一種時脈速度控制方法,包括:偵測一電子裝置之一先進先出緩衝器的一使用量;判斷該使用量是否落於一第一特定區間,其中該第一特定區間具有一第一上限值與一第一下限值;當該使用量大於該第一上限值,增加該電子裝置之一內部裝置的一時脈速度;以及當該使用量小於該第一下限值,降低該時脈速度。
  2. 如申請專利範圍第1項所述之時脈速度控制方法,更包括:當該使用量落於該第一特定區間,不調整該時脈速度。
  3. 如申請專利範圍第1項所述之時脈速度控制方法,更包括:當該使用量落於該第一特定區間,計算該先進先出緩衝器的一寫入指標與一讀取指標的一目前差值與一前一次差值之間的一差值,並判斷該寫入指標與該讀取指標的該目前差值與該前一次差值之間的該差值是否落於一第二特定區間,其中該第二特定區間具有一第二上限值與一第二下限值;當該寫入指標與該讀取指標的該目前差值與該前一次差值之間的該差值大於該第二上限值,增加該時脈速度;當該寫入指標與該讀取指標的該目前差值與該前一次差值之間的該差值小於該第二下限值,降低該時脈速度;以及當該寫入指標與該讀取指標的該目前差值與該前一次差值之間的該差值落於該第二特定區間,不調整該時脈速度。
  4. 如申請專利範圍第1項所述之時脈速度控制方法,其中該第一上限值為該先進先出緩衝器之所有封包暫存器數目的一半加上一第一特定值,該第一下限值為該先進先出緩衝器之所有封包暫存器數目的一半減去一第二特定值,其中該第一與第二特定值為正整數。
  5. 如申請專利範圍第3項所述之時脈速度控制方法,其中該第二上限值為一正整數,且該第二下限值為一負整數。
  6. 一種時脈速度控制器,包括:一使用量偵測單元,電性連接一電子裝置的一先進先出緩衝器,用以偵測該先進先出緩衝器的一使用量;以及一加速/減速判斷單元,電性連接該使用量偵測單元與該內部裝置,其中判斷該使用量是否落於一第一特定區間,其中該第一特定區間具有一第一上限值與一第一下限值;其中,當該使用量大於該第一上限值,該加速/減速判斷單元增加該電子裝置之一內部裝置的一時脈速度;當該使用量小於該第一下限值,該加速/減速判斷單元降低該時脈速度。
  7. 如申請專利範圍第6項所述之時脈速度控制器,其中當該使用量落於該第一特定區間,該加速/減速判斷單元不調整該時脈速度。
  8. 如申請專利範圍第6項所述之時脈速度控制器,更包括:一差值計算單元,電性連接該先進先出緩衝器與該加速/減速判斷單元,用以計算該先進先出緩衝器的一寫入指標與一讀取指標的一目前差值與一前一次差值之間的一差值;其中當該使用量落於該第一特定區間,該加速/減速判斷單元判斷該先進先出緩衝器的該寫入指標與該讀取指標的該目前差值與該前一次差值之間的該差值是否落於一第二特定區間,其中該第二特定區間具有一第二上限值與一第二下限值;當該寫入指標與該讀取指標的該目前差值與該前一次差值之間的該差值大於該第二上限值,該加速/減速判斷單元增加該時脈速度;當該寫入指標與該讀取指標的該目前差值與該前一次差值之間的該差值小於該第二下限值,該加速/減速判斷單元降低該時脈速度;當該寫入指標與該讀取指標的該目前差值與該前一次差值之間的該差值落於該第二特定區間,該加速/減速判斷單元不調整該時脈速度。
  9. 一種電子裝置,適於連接一主機端,包括:一先進先出緩衝器,電性連接該主機端,用以儲存來自於該主機端的多個封包;一時脈速度控制器,電性連接該先進先出緩衝器,用以判斷該先進先出緩衝器之一使用量是否落於一第一特定區間,其中該第一特定區間具有一第一上限值與一第一下限值;以及一內部裝置,電性連接該時脈速度控制器與該先進先出緩衝器,依據一時脈速度處理來自於該先進先出緩衝器的該封包;其中當該使用量大於該第一上限值,該時脈速度控制器透過控制增加該時脈速度;當該使用量小於該第一下限值,該時脈速度控制器降低該時脈速度。
  10. 如申請專利範圍第9項所述之電子裝置,其中當該使用量落於該第一特定區間,該時脈速度控制器不調整該時脈速度。
  11. 如申請專利範圍第9項所述之電子裝置,其中當該使用量落於該第一特定區間,該時脈速度控制器判斷該先進先出緩衝器的該寫入指標與該讀取指標的該目前差值與該前一次差值之間的該差值是否落於一第二特定區間,其中該第二特定區間具有一第二上限值與一第二下限值;當該寫入指標與該讀取指標的該目前差值與該前一次差值之間的該差值大於該第二上限值,該時脈速度控制器增加該時脈速度;當該寫入指標與該讀取指標的該目前差值與該前一次差值之間的該差值小於該第二下限值,該時脈速度控制器降低該時脈速度;當該寫入指標與該讀取指標的該目前差值與該前一次差值之間的該差值落於該第二特定區間,該時脈速度控制器不調整該時脈速度。
TW101100353A 2012-01-04 2012-01-04 時脈速度控制器及其方法與其電子裝置 TW201329670A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW101100353A TW201329670A (zh) 2012-01-04 2012-01-04 時脈速度控制器及其方法與其電子裝置
US13/713,017 US8908719B2 (en) 2012-01-04 2012-12-13 Clock rate controller and method thereof and electronic device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101100353A TW201329670A (zh) 2012-01-04 2012-01-04 時脈速度控制器及其方法與其電子裝置

Publications (1)

Publication Number Publication Date
TW201329670A true TW201329670A (zh) 2013-07-16

Family

ID=48694715

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101100353A TW201329670A (zh) 2012-01-04 2012-01-04 時脈速度控制器及其方法與其電子裝置

Country Status (2)

Country Link
US (1) US8908719B2 (zh)
TW (1) TW201329670A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI519922B (zh) * 2013-06-07 2016-02-01 智邦科技股份有限公司 節能裝置及其節能方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0645914A1 (en) * 1993-09-20 1995-03-29 ALCATEL BELL Naamloze Vennootschap Telecommunication network node
US6731627B1 (en) * 1998-11-17 2004-05-04 Cisco Technology, Inc. Virtual loop carrier system
US7031306B2 (en) * 2000-04-07 2006-04-18 Artel Video Systems, Inc. Transmitting MPEG data packets received from a non-constant delay network
US8520519B2 (en) * 2002-09-20 2013-08-27 Broadcom Corporation External jitter buffer in a packet voice system
CN1859063A (zh) * 2005-08-29 2006-11-08 华为技术有限公司 业务数据传送方法及装置

Also Published As

Publication number Publication date
US20130170369A1 (en) 2013-07-04
US8908719B2 (en) 2014-12-09

Similar Documents

Publication Publication Date Title
US20170270947A1 (en) Method for playing data and apparatus and system thereof
US9264217B2 (en) Clock drift compensation applying paired clock compensation values to buffer
KR101889373B1 (ko) 데이터 스트림으로부터 재생성된 클록 신호들의 조정
TWI753063B (zh) 資料傳送裝置及資料傳送方法
US10025732B2 (en) Preserving deterministic early valid across a clock domain crossing
US20170046298A1 (en) Asynchronous first-in first-out buffer apparatus with active rate control and dynamic rate compensation and associated network device using the same
US20180004446A1 (en) Memory controller, memory buffer chip and memory system
JP6156578B2 (ja) 撮像装置の制御装置
US20120069686A1 (en) Latch timing adjustment device and memory access system using the same
JP6746791B2 (ja) クロックゲーティングイネーブルの生成
KR101847366B1 (ko) 시각 동기 장치 및 시각 동기 시스템
TW201329670A (zh) 時脈速度控制器及其方法與其電子裝置
CN110958540B (zh) 一种usb音频的转换方法及装置
TWI484333B (zh) 彈性緩衝器模組及傳輸介面之彈性緩衝方法
US8531909B2 (en) Delay-locked loop having loop bandwidth dependency on operating frequency
CN111723027A (zh) 一种基于电力边缘网关的动态存储缓冲区读取控制方法
WO2012131796A1 (ja) メモリインターフェース回路およびメモリシステム
WO2021142679A1 (zh) 一种数据流量控制方法、PCIe控制器及PCIe装置
TWI722574B (zh) 音訊資料同步裝置及其方法
US20220201381A1 (en) Bluetooth Earphone Adaptive Audio Playback Speed
US20240144897A1 (en) Clock recovery circuit
JP3001574B1 (ja) 先入れ先出しメモリ装置
JP2009282591A (ja) データ転送装置及びデータ転送方法
JP2009276914A (ja) 擬似ddrメモリインタフェース回路
JP2006311320A (ja) パケット転送方法および装置