TW201401763A - 時脈域間之資料轉移 - Google Patents

時脈域間之資料轉移 Download PDF

Info

Publication number
TW201401763A
TW201401763A TW102121535A TW102121535A TW201401763A TW 201401763 A TW201401763 A TW 201401763A TW 102121535 A TW102121535 A TW 102121535A TW 102121535 A TW102121535 A TW 102121535A TW 201401763 A TW201401763 A TW 201401763A
Authority
TW
Taiwan
Prior art keywords
clock
frequency
configuration
clock domain
data signal
Prior art date
Application number
TW102121535A
Other languages
English (en)
Other versions
TWI604689B (zh
Inventor
Markus Bakka Hjertoe
Frank Berntsen
Original Assignee
Nordic Semiconductor Asa
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 Nordic Semiconductor Asa filed Critical Nordic Semiconductor Asa
Publication of TW201401763A publication Critical patent/TW201401763A/zh
Application granted granted Critical
Publication of TWI604689B publication Critical patent/TWI604689B/zh

Links

Classifications

    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • H04L27/2655Synchronisation arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/713Spread spectrum techniques using frequency hopping
    • H04B1/7156Arrangements for sequence synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

一種數位系統中用於將資料信號由第一時脈域(bus_slow)轉移至第二時脈域(bus_fast)的配置,其中第一時脈域(bus_slow)包括具有一頻率的一第一時脈(ck_slow),第二時脈域(bus_fast)包括具有一頻率的一第二時脈(ck_fast),且第一時脈(ck_slow)的頻率低於第二時脈(ck_fast)的頻率,該配置被設定用以:從第一時脈域(bus_slow)轉移該資料信號至第二時脈域(bus_fast);偵測是否有一預設變遷發生在一預設時間之期間內的第一時脈,其係使用藉由第二時脈(ck_fast)而被計時的一偵測手段(2);以及假如偵測手段(2)偵測到預設時間之期間內的第一時脈(ck_slow)裡的預設變遷,再次從第一時脈域(bus_slow)轉移該資料信號至第二時脈域(bus_fast)。

Description

時脈域間之資料轉移
本發明係有關於數位系統中在複數個時脈域之間轉移資料信號的系統與方法,特別是當該等時脈域不同步時。
在許多不同的電子系統中,例如一個無線(如藍芽)系統,其至少零星地存在二或二個以上不同步的時脈域被需求用以相互通訊。舉例來說,一個中央處理器可執行在一高頻率上,而一或多個週邊裝置則執行在一低頻率上。此外,其中一個時脈域在不被使用時可進入數個不活動期間,用以保存電力,例如一個睡眠或待命模式。經過這些期間時,該較快的時脈域與較慢的時脈域典型地被作為計時器使用。在這些期間裡,二時脈域之間通常沒有通訊,然而當該一時脈域離開該睡眠或待命模式時,其通常將需要和較低時脈域進行通訊。此外,該快與慢時脈域不需要相互同步。
目前已知包括不同時脈域頻率的系統會執行一種“交握(handshaking)”處理,藉此該等時脈域協議數個參數用於確立使該較慢的時脈域在轉移該資料信號至該較 快的時脈域的過程中不改變該資料信號,例如藉由複數個旗標的使用。其為必要的用以使得一個信號可以經由該較慢時脈域的一安全期間而從該較慢的時脈域被轉移,即避開該較慢時脈域裡的一個變遷(該時脈從零變為一)與一個期間使該較慢時脈域不改變該被轉移的輸入信號,用於避免該信號的失誤或該系統的不穩。其係因為該較慢時脈域裡的值在該較慢時脈裡的數個變遷裡通常將被改變。然而已知的交握處理相當緩慢,此係由於它們需要該時脈域的多個週期來達到彼此間的同步。不僅變慢,當該較快時脈域必須在該處理過程中保持執行時也會消耗大量的電量。另外,在許多應用上,凍結該較慢時脈域裡的信號也不受到喜愛,例如在一個必須連續地計算的計時器上。目前已知解決此問題的方法是在該較慢的時脈域裡導入額外的掩蔽暫存器,並與一旗標結合來告訴該較快時脈域哪組掩蔽暫存器可確認為穩定。然而,此方法增加了大量所需的邏輯單元。
本發明的目的係提供用於兩個不同頻率的時脈域之間通訊的改良系統與方法。
本發明的第一個發明概念係提供一個配置以用於一數位系統中將一資料信號從一第一時脈域轉移至一第二時脈域,其中該第一時脈域包括一第一時脈具有一頻率,一第二時脈具有一頻率,該第一時脈的頻率低於該第二時脈,該配置被設定用以: 從該第一時脈域轉移該資料信號至該第二時脈域;使用藉由該第二時脈而被計時的偵測手段,偵測是否一預設的變遷發生在一預設時間之期間內的該第一時脈裡;假如該偵測手段偵測該預設時間之期間內的該第一時脈裡的該預設變遷,再次從該第一時脈域轉移該資料信號至該第二時脈域。
本發明也提供一種在一數位系統中用於將一數位資料由一第一時脈域轉移至一第二時脈域的方法,其中該第一時脈域包括一第一時脈具有一頻率,該第二時脈域包括一第二時脈具有一頻率,該第一時脈的頻率低於該第二時脈,該方法包括:從該第一時脈域轉移該資料信號至該第二時脈域;使用藉由該第二時脈而被計時的偵測手段,偵測是否一預設的變遷發生在一時間的預設週期內的該第一時脈裡;以及假如該偵測手段偵測一時間的預設週期內的該第一時脈裡的該預設變遷,再次從該第一時脈域轉移該資料信號至該第二時脈域。
因此根據本發明可知,在不使用交握處理或忙碌旗標之情況下,該資料信號被簡單地從該第一時脈域轉移至該第二時脈域,但一個檢查被執行用於是否有一個時脈變遷發生在該預設期間內的該第一時脈裡。假如一個變遷被偵測到,該來自於該第一時脈域的資料信號被再次轉 移至該第二時脈域,否則該信號的初始轉移被視為已“安全”,即沒有不穩定的風險。本案申請人也已領會此導致該資料信號的一個較快速的轉移從該第一時脈域至該第二時脈域,因為進行一個檢查於由該第二時脈所計時的第一時脈上。舉例來說,在已知包含交握處理的配置裡,該同步和轉移時間典型地至少是兩個第一時脈週期,即兩個緩慢的時間週期,與習知相比本發明實施例裡該同步與轉移時間可較短,其係為少數秒數的時脈週期,亦即少數的快速時脈週期。該資料信號接續在該第一時脈裡的一個變遷的轉移可以是在該預設期間的尾端,例如在該第二時脈的一個對應變遷,但較佳地發生在該第二時脈裡的後續變遷裡。
該偵測手段可以被配置用以偵測一正緣或一負緣變遷,即藉由該被使用的系統以及技術的實現,該第一時脈域裡的資料值可以改變在該第一時脈裡一或全部的正緣或負緣變遷。然而,在一組實施例裡該被偵測的變遷係一個正緣變遷。
該第一時脈的檢查係用於確保該週期遠離一個變遷,即不論一個由零至一的正緣變遷或一個由一至零的負緣變遷,使得從該第一時脈域被轉移至該第二時脈域的該資料信號的起始轉移不與該第一時脈週期裡的一個變遷重疊。此係因為該第一時脈域裡的資料值被改變在該第一時脈的一或全部的變遷,其再次藉由該系統的實現而定,因此在此時從該第一時脈域轉移一個值,亦即當其正 在改變,將可能造成資料錯誤或不穩。
本案申請人已理解,由於該第一時脈的檢查確保該資料信號係安全而可以被轉移,使得該資料信號不管起始或後續的轉移皆發生在該第一、慢時脈週期的一個安全部分。在一些實施例裡,該資料信號不經由該配置裡的任何該等同步元件,例如該等偵測手段,而從該第一時脈域轉移至該第二時脈域。此外其不需要將該資料信號和該第二時脈域同步。在一組特別的實施例裡,沒有元件引發一時脈週期延遲介於該第一時脈域轉移該資料信號至該第二時脈域之間。
儘管對於該等單一位元的信號而言其具有一些優點,由於所有匯流排在該第一時脈的檢查的基礎上可以被確實地轉移,對於多位元的匯流排組而言其具有更大的優點。因此在一組實施例裡,該第一時脈域包括一第一匯流排,該第二時脈域包括一第二匯流排,以及不論是起始或假如被視為需要的後續轉移,資料皆從該第一匯流排被轉移至該第二匯流排。其也表示本發明的實施例不需要採用和串聯正反器有關的延遲時間或先前技術裡典型地被使用以配合該等時脈域的其他配置。
在本發明的一些實施例裡,資料匯流排包括至少8、16或32位元,因此將可得知該匯流排可包括任何數量的多個位元。
一較快的轉移可達成的更進一步好處為用於減少電量消耗,此係由於其允許一或全部時脈在合適時更 快地進入一睡眠狀態。舉例來說,該等已知的交握處理需要多個較慢的時脈週期來完成,而在此期間該較快的時脈被保持執行。其會消耗大量不需要的電量,特別係假如該較慢時脈域包括一低電量低頻率時脈以及該較率時脈域是高電量時,其為一低電量裝置裡的一個常見的配置。
該用於該第一時脈裡預設變遷的檢查可以被執行於全部預設時間之週期裡。然而,在一組實施例裡,該偵測包括該第一時脈基於其他時脈,較佳地是該第二時脈,的離散取樣。在一些實施例裡,假如需要,其可使得該資料信號盡可能快速地重新被轉移,亦即,該離散取樣允許該第一時脈裡的預設變遷在發生後被短暫地偵測,使得該資料信號在此偵測後可以被轉移。在一組實施例裡,該偵測手段包括一邊緣偵測器,例如一個正緣偵測器。舉例來說,其可在該離散取樣的任何時點上將該第一時脈的值與其先前的值做比較,假如該第一時脈裡的一個變遷發生在該取樣期間裡,其可使得該變遷被偵測到。如先前所述,該邊緣偵測器方便地藉由該第二時脈而被計時。
該第一時脈裡的一個變遷之偵測需要一段有限的時間:該第一時脈變遷必須進入該偵測手段以及該等作為結果的邏輯信號必須經由該偵測手段以及任何其它的元件而被轉移,藉由此來影響該資料信號在該第一時脈域和該第二時脈域之間的轉移。一般而言,該偵測手段尋找該第一時脈裡的一個變遷所涵蓋的該預設期間係大於將在該第一時脈域裡的一信號的改變穩定在一有效值所使用的 時間,以及將一個時脈變遷經由該偵測手段而傳播所使用的時間。舉例來說,該等離散取樣裡的取樣點數量一般將相關於將邏輯信號通過該等必要元件而傳播所使用的時間。在一個實施例裡,該預設期間係在該第二時脈的1和16週期之間,如在該第二時脈的2和8週期之間,如該第二時脈的4週期。然而,其不需要該預設期間對應一整數倍的第二時脈週期數量,例如其藉由一不同的時脈而被計時。假如一個變遷沒有在該預設期間內被偵測到,其可以安全地假設該資料信號從該第一時脈域至該第二時脈域的初始轉移並沒有和該第一時脈裡的一變遷重疊。
該預設期間的進行可以藉由任何合適的計時機制而被計時,例如一個計時器或計數器。然而,如先前所述,在一些實施例裡,該第一時脈裡的一變遷之偵測包括數個階段及/或其被執行於該第二時脈的數個週期。因此較佳地該偵測手段包括一手段用以計數該離散取樣的多個階段及/或該預設期間之週期的數量。其可以係一個元件,如一向下計數器,一個格雷碼計數器,或一或多個串聯的正反器。較佳地該計數手段藉由該第二時脈而被計時,即與該偵測手段同步。
在一組實施例裡,該第一時脈週期裡的該預設變遷之偵測可以執行在該第二時脈的任何變遷(不論正緣或負緣)。在一組實施例裡,該偵測被執行在該第二時脈的一個上升邊緣,即正緣變遷,例如其標記了該預設期間的起點。如先前所述,該偵測可包括多個步驟,以及數個後續 步驟被執行於該第二時脈之接續,例如為下一個,上升邊緣。較佳地,該離散取樣的頻率相同於該第二時脈的頻率,亦即在該偵測期間,一個取樣被執行在該第二時脈的每個周期上,用以儘快偵測一個變遷,因而允許該資料信號之最快可能再變遷,假如有需要的話(儘管此非必要,其可以總是等到該預設期間結束才再次轉移該資料)。當該資料信號在該第一時脈裡的一變遷之後被再次轉移時,該第二時脈對第一時脈的頻率之比應該夠大,以足夠使其可以被保證該第一時脈裡的一個其它變遷將不發生在該段用於影響該資料信號從第一時脈域至第二時脈域之轉移的時間裡。
儘管該第二時脈的頻率可為該第一時脈的頻率的整數倍數及/或具有一固定的相位,根據本發明可知在一般情況下沒有需要同步或特定的關係。此外,本發明的實施例可以忍受該第一及/或第二時脈域進入一睡眠或待命模式,以及相對於其他時脈域而非同步地重新啟動。
在一組實施例裡,該第二時脈的頻率至少是該第一時脈的頻率的四倍,如至少是該第一時脈的頻率的十倍,如至少是該第一時脈的頻率的一百倍,如至少是該第一時脈頻率的一千倍。同時滿足先前提供用於該時脈頻率比例的數個優點和理由,其確保此處具有足夠的時間用以偵測和處理該預設的變遷以及再次轉移該資料而無其他變遷的風險以及資料錯誤或不穩相關的風險。當該偵測手段藉由該第二時脈而被計時,其一般地係指(一些第二時脈週期的)該預設期間係遠小於該第一時脈的期間,因此隨著該 第一時脈裡的一個變遷,所有必要的邏輯信號可以通過該配置,以及再次從該第一時脈域轉移該資料至該第二時脈域,係在使該第一時脈域裡的資料值可能被改變之該第一時脈的下一個變遷之前。其也影響該不同時脈域呈現在商業產品裡。在一個實施例的範例裡,該第一時脈的頻率是32kHz而該第二時脈的頻率是16MHz。
如先前所述,該偵測手段可包括一邊緣偵測器被配置用以比較在連續時脈週期裡一個輸入端的數個值。然而,藉由該偵測的本質,任何合適的配置可以被提供,亦即任何可用於偵測該第一時脈裡的一個變遷的任何元件或配置可以被提供。因此一般地該偵測手段將具有該第一時脈為一輸入。在其他實施例裡該偵測手段包括一正反器,例如一D型正反器,或一比較器。多於一個正反器可以被串聯用以提供增強藉由該正反器而執行的檢查之可靠性。然而,如果該輸出繼續饋入至其他正反器的輸入端,一個不穩定狀態通過至兩個正反器的機會非常小,亦即由於該機率是倍增的。
在一組實施例裡,該用於該第一時脈裡一個變遷的檢查可以被執行在所有時間,例如該第二時脈的每個週期。然而,在其他實施例裡,該系統包括一手段用於起始該預設期間。其可以是一特別的信號被傳遞用以啟動該預設期間,或其可以被連結至該系統的其他信號或週期。舉例來說,該預設期間可以藉由該輸入信號裡的一個改變、或藉由該系統或第二時脈域進入或離開一個待命或睡 眠狀態、或藉由一中央處理單元(CPU)而要求資料從該第一時脈域裡被讀取而被啟動。於該等實施例裡,該偵測被起動而不被連續地執行是有好處的,在只有該等檢查的執行是必要時它們幫助該系統用以減少該電量消耗,並且在該信號已經被轉移之後至一資料信號的下一個轉移被需要之前的期間裡,允許該第二時脈域進入一睡眠模式,因此保存了電量。本發明的實施例可特別地適合於一操作模式,其中該第二時脈域要求來自於該第一時脈域的該資料信號的一個轉移,例如當該第二時脈域離開一睡眠或待命模式並且要求某一資料信號,例如時間,其提供該信號來啟動該預設期間。
如先前所述,該預設期間隨著其的啟動,一般將被固定以及持續用於一串第二時脈週期。然而,實施例設想為一旦該第一時脈裡的一變遷已被偵測到時,即終止該轉移偵測,並且用以指示的必要的邏輯信號已通過該配置,亦即,在該預設期間終結之前。此係因為一旦其指示再次從該第一時脈域轉移該資料信號至該第二時脈域是安全的,該第一時脈較慢於該第二時脈的事實保證當該資料信號再次被轉移時不會有該第一時脈域裡的其他變遷,故此處沒有任何更長的偵測需要持續進行。
根據本發明的實施例,轉移的資料信號在同步時可以被改變在任何時間上,亦即在該預設期間,而不會影響該同步處理或該資料信號從該第一時脈域被轉移至該第二時脈域的再次轉移結果(假如有需要的話),例如藉由造 成該輸出信號裡的不穩定(meta-stability)。此不同於習知手握處理程序,其中放置一凍結在從該第一時脈域被轉移的資料信號上,例如經由該等忙碌旗標的使用,俾以執行該第一與第二時脈域間的同步的手握處理。其明確地增加了完成該轉移及因此造成該系統消耗電量之時間。值得領會的是,本發明移除這些限制而造成一個更快速且消耗較少電量的資料信號的轉移。
如先前所述一組實施例所述,靠著具有由該第二時脈而被計時的該偵測手段以及使用該第一時脈作為其輸出,該配置簡易地產生一“安全”同步信號以決定是否其需要從該第一時脈域再次轉移該資料至該第二時脈域。因此其在意該資料信號之狀態,其可以在該預設期間內改變,亦即其為位於該預設期間的末端時或在該預設期間內的其他時間時之該第一時脈域裡的該資料信號的值,假如該第一時脈週期裡已有一個轉移則該值被轉移至該第二時脈域,其通常係指該資料信號的值將被改變。假如在該預設期間裡該第一時脈週期裡沒有變遷,該資料信號維持初始被轉移通常意指該資料信號沒有被改變的值。然而,當該第一時脈裡的一個變遷被偵測到的情形下,該第一時脈域裡最接近的資料信號將隨著此變遷被轉移至該第二時脈域。
在該預設期間內自由改變該第一時脈域裡的該資料信號係不同於傳統的方法其中該被轉移的資料在該兩個時脈域的同步期間裡不允許被改變。其係因為該等同 步處理,例如手握及/或包含數個忙碌旗標,係包含該被轉移的資料信號的檢查,也包含該等時脈週期。其設定數個限制在整個系統以及其使用上。舉例來說,需要一個CPU以探詢一個告訴該系統何時同步完成的旗標。本發明的系統不受這些限制,因此允許更高的自由度在其使用與架構上。
在一組實施例裡,該系統包括一手段用於儲存該資料信號,例如一儲存裝置或元件,以及該方法包括儲存該資料信號的步驟。在該資料信號被輸出至該第二時脈域之前,其允許該資料信號暫時地被儲存,用於任一或全部該初始轉移以及該後續轉移,假如需要的的話。該資料信號也可以被儲存在該預設期間裡,亦即當進行該第一時脈的檢查以及將該等邏輯信號通過該偵測手段。
用於儲存來自於該第一時脈域的手段可包括任何合適的資料儲存元件、配置或裝置,其可在該第一時脈週期的不安全部分裡及/或在該預設期間裡用於儲存該資料信號,以當該檢查被啟動時及/或在該第一時脈的檢查已經被執行後使得該信號準備好被輸出至該第二時脈域。其可包括一暫存器,例如一個正反器或一個閂鎖器。對於一個被配置用以轉移一多位元匯流排的系統,多數個元件可根據該匯流排的大小而被提供,例如多個並聯的正反器。此一元件可以儲存該輸入信號直到其接收到表示轉移其至該第二時脈域是安全的一個信號,例如從該偵測手段接收。此外,一個保持可以被設定在該該儲存手段裡的該資 料信號上以避免該轉移發生在該預設期間終結之前。該儲存手段可以接收該來自於該第一時脈域的資料信號,即該儲存手段和該第一時脈域可以包括數個分開的元件:一個用以接收該輸入信號以及一個用以儲存該輸入信號。然而此功能也可由該第一時脈域來執行以接收或儲存先前被傳送的資料信號。
當該資料信號被初始地轉移,其尚不知道是否此資料信號是安全而可以被系統所使用,即該初始轉移被冒險地產生並希望該第一時脈是位於其時間週期的安全部分,其歸因於該第一和第二時脈域的對應頻率一般而言相似。然而,假如該轉移被使用在該第一時脈裡的一個變遷上,該資料信號可能錯誤或不穩。在這些情況下其並非是一個好的構想來傳播該信號通過該系統,例如藉由讀取該信號被轉移之該第二匯流排。因此在一組實施例裡,該配置包括一手段用以避免該起始的轉移資料信號藉由該第二時脈域而被讀取。該藉由該第二時脈域而被讀取的資料信號上的區塊可包括一“預備(ready)”信號,例如當該區塊於適當位置時設定為零,以及當該資料信號已經被決定是安全並且準備好藉由該第二時脈域而被讀取時設定為一。該預備信號可以被連結至該偵測手段及/或該預設期間。舉例來說,假如該配置包括一計時器或計數器,該預備信號可以在一特別而和該預設期間相關的時間點上被發出,例如在該預設期間的終點時。
一旦該第一時脈的檢查已進行且該預設期間 已結束,任一該資料信號的初始轉移可知道是安全的,或是該後續轉移已進行,其如先前討論可知道是安全的,在讀取該資料信號的該第二時脈域上的區塊則可以被提出。
2‧‧‧正緣偵測器
4‧‧‧向下計數器
6‧‧‧決策節點
8‧‧‧第一輸出
10‧‧‧第二輸出
12‧‧‧第三輸出
14‧‧‧AND邏輯閘
16‧‧‧OR邏輯閘
18‧‧‧多工器
20‧‧‧正反器
22‧‧‧時間刻度
在此參考示意圖來描述本發明的一個詳細的實施例,但僅是舉例:圖1係本發明一較佳實施例之一邏輯電路圖。
圖2係圖1的邏輯電路相關的時序圖。
圖1顯示一個對應於本發明實施例一配置的邏輯電路示意圖。該配置被安排用以從一個第一時脈域裡的一個第一匯流排bus_slow轉移資料至一個第二時脈域裡的一個第二匯流排bus_fast。該第一時脈ck_slow的頻率小於該第二時脈ck_fast的頻率,該第一時脈ck_slow的通常頻率是32kHz,而該第二時脈ck_fast的通常頻率是16MHz。
該配置包括一個正緣偵測器2用於該第一時脈ck_slow,該正緣偵測器2將該時脈作為輸入。假如該第一時脈ck_slow裡的一個正緣已被偵測到,來自該正緣偵測器2的輸出posedge_detected為一,反之為零。該第二時脈ck_fast被使用於計時該正緣偵測器2,使得在該第二時脈的每一上升邊緣上,該輸入ck_slow之值被取樣並且和其在該第二時脈的先前上升邊緣上的值做比較。
該配置也包括一個向下計數器4,其使其輸入是一初始信號start_sync,該信號指示同步處理要被啟動來 轉移該資料。來自該向下計數器4的輸出sync_cnt是計數的值,其為整數且在每次計數時被減一。如圖1所示之實施例,該計數總是開始於三。該第二時脈ck_fast也被使用於計數該向下計數器4,亦即,在該第二時脈的每一上升邊緣,該向下計數器4將其輸出sync_cnt之值減去一。
來自於該向下計數器4的該輸出sync_cnt被饋入至一決策節點6。依據來自該向下計數器4的輸出sync_cnt之值,具有三個輸出8、10、12來自於該決策節點6。假如來自於該向下計數器4的輸出sync_cnt等於零,該第一輸出8具有一個為一的值。假如來自於該向下計數器4的輸出sync_cnt等於三,該第二輸出10具有一個為一的值。假如來自於該向下計數器4的輸出sync_cnt不等於零,該第三輸出12具有一個為一的值。藉此將可領會,該來自該決策節點6的第二和第三輸出10、12可同時具有一個為一的值,亦即當來自於該向下計數器4的該輸出sync_cnt具有一個為三的值時。當來自於該向下計數器4的輸出sync_cnt等於零時,一個信號ready被輸出至該系統並指示來自該第一匯流排bus_slow的資料已經被轉移以及該配置已準備好用以接收另一初始信號start_sync
來自於該正緣偵測器2的輸出信號posedge_detected與來自於該決策節點6的第三輸出12結合於一AND邏輯閘14,來自於該AND閘14的輸出與來自於該決策節點6的第二輸出10結合在一個OR邏輯閘16上。來自於該OR閘16的輸出load_bus_fast被饋入至一個多工 器18的選擇器輸入端。該多工器18的輸入為來自該第一匯流排bus_slow的資料信號以及輸出至該第二匯流排bus_fast的輸出資料信號。來自於該多工器18的輸出被饋入至一個由該第二時脈ck_fast計時的D型正反器20。該正反器20的Q輸出被輸出至該第二匯流排bus_fast
圖2顯示數個邏輯信號依序通過該系統,該系統之操作現在將參考圖1與圖2而被描述。一個代表性的時間刻度22被提供在50ns的分割刻度裡。如圖2所示和用於說明之目的,來自第二、較高頻率之時脈域4的第二時脈ck_fast的頻率係採取為16MHz,以及來自第一、較低頻率之時脈域8的第一時脈ck_slow的頻率係採取為1.5.MHz。在實際上,如在先前以詳細描述,這些頻率可能為更加地不同,但此處選擇這些更有比較性的值使得說明更方便。
起初該系統係處於一狀態,其中該多位元資料h9(一個十六進制的值)位於該第一匯流排bus_slow,以及該第二匯流排bus_fast為未知,亦即該匯流排裡的值來自於先前的轉移。該系統處於一個穩定狀態直到在565ns時,該初始信號start_sync由零轉變為一,藉此觸發該同步處理的啟動。典型上該初始化信號將藉由該第二時脈域(一般而言控制一較高電量的周邊系統)而產生,係在其離開一個睡眠模式以要求從該第一時脈域(一般而言一較低電量的時序電路)轉移該資料之時。在625ns時,該向下計數器4由該第二時脈ck_fast的下一個上升邊緣而被計時,使其從三開始向下計數,亦即在625ns時,來自於該向下計數器4的該輸出 sync_cnt改變為三。該向下計數器4從三開始倒數係必需的,此係因為該正緣偵測器2使用該第二時脈ck_fast的兩個周期以使一個正緣變遷被偵測到,亦即用於使必需的邏輯信號通過其正反器。
來自該向下計數器4之為三的該輸出值sync_cnt造成該決策節點6的該第一輸出8具有一個為零的值以及該決策節點6的該第二與第三輸出10、12具有一個為一的值。不論來自該正緣偵測器2的輸出posedge_detected為何,該等輸入至該OR閘16皆造成該OR閘16的輸出值為一。該為一的值被饋入至該多工器18的選擇器輸入端使得該第一匯流排bus_slow裡的該資料信號h9被饋入至該正反器20的D輸入端,而使得在該第二時脈ck_fast的下一個上升邊緣時,該資料信號h9被轉移至該第二匯流排bus_fast
同時,在該第二時脈ck_fast的每一上升邊緣,該正緣偵測器2檢查該第一時脈ck_slow週期裡的一個正緣變遷。在670ns時,該第一時脈ck_slow具有一正緣變遷。在此範例裡,該變遷和該第一匯流排bus_slow裡的該資料信號從h9轉變為hC有關,但是在其他的情況裡,該資料信號可以維持該相同值。在750ns時,在計時該正緣偵測器2之該第二時脈ck_fast的兩個週期後之上升邊緣上,來自於該正緣偵測器2的輸出posedge_detected改變為一,表示該第一時脈ck_slow裡的該正緣變遷已被偵測到。該為一的值結合來自該決策節點6的該第三輸出12之為一的值(亦即 在此時點該來自該向下計數器4的輸出sync_cnt為一,而不等於零),造成該AND閘14具有一個值為一的輸出,並且該OR閘16也具有一個值為一的輸出load_bus_fast。此意指由於該第一時脈ck_slow裡的該正緣變遷發生在該第二時脈ck_fast裡的一個變遷,其中該資料信號從該第一匯流排bus_slow被初始轉移至該第二匯流排bus_fast,該第一匯流排裡的該資料被再次轉移。
如同先前,一個為一的值load_bus_fast被饋入至該多工器18的該選擇器輸入端造成該第一匯流排bus_slow裡目前為hC的資料信號被饋入至該正反器20的D輸入端,使得在該第二時脈ck_fast的下一個上升邊緣時,該資料信號hC被轉移至該第二匯流排bus_fast。該第一時脈ck_slow的頻率非常低以確保該資料信號的轉移在該第一時脈的另外一個正緣變遷將發生之前被完成。
在812.5ns時,來自於該向下計數器4的該輸出sync_cnt已到達零,其造成來自於該決策節點6的該第一輸出8的值為一,表示該系統準備好接收一個新的初始信號,亦即該信號ready等於一。在此時點,當該預設期間已結束,該儲存在該正反器20的資料信號是一個有效且穩定的值,其接著被使用在該系統裡作為資料而被同步至該第二時脈ck_fast,例如,如先前所述地,在該第二時脈ck_fast的上升邊緣輸出至該第二匯流排bus_fast。當來自該向下計數器4的輸出sync_cnt為零時,來自該決策節點6的第二和第三輸出10、12為零,所以此時沒有新的資料信 號可以從該第一匯流排bus_slow被轉移至該正反器20。因此,在一個實施例(未顯示)中,一個正緣變遷沒有發生在該預設期間內,亦即在該向下計數器4的輸出sync_cnt倒數期間裡,但當該向下計數器4的輸出sync_cnt為零時被偵測到,足夠的時間將經過在該資料信號被初始轉移在該預設期間的起點之後,此起點為使得在此情況下沒有資料毀損或不穩定的風險,此係因為該第一時脈ck_slow裡的正緣變遷沒有發生在該資料信號的該初始轉移的同一時間裡,且該第一匯流排bus_slow裡的資料值僅被改變(造成不穩定之原因)在該第一時脈ck_slow裡的一個變遷上。
該技術領域具通常知識者由此將可以領會上述實施例僅係為了方便說明而舉例而已,本發明尚可有諸多變化。舉例來說,其並不一定需要提供一個最後的正反器用以輸出該被轉移的資料信號至該第二匯流排,其可以藉由任何其他資料儲存元件來執行,或甚至正好藉由開啟該電路使該輸入信號可以從該第一匯流排直接被轉移。該預設期間的長度可以是不同的值,特別地假如其依靠的元件型態被使用於偵測該第一時脈裡的一個變遷,即該時間被用於出自該元件的決策,或假如一或多個該等元件被計時在該第二時脈的全部變遷上。
上述實施例僅係為了方便說明而舉例而已,本發明所主張之權利範圍自應以申請專利範圍所述為準,而非僅限於上述實施例。
2‧‧‧正緣偵測器
4‧‧‧向下計數器
6‧‧‧決策節點
8‧‧‧第一輸出
10‧‧‧第二輸出
12‧‧‧第三輸出
14‧‧‧AND邏輯閘
16‧‧‧OR邏輯閘
18‧‧‧多工器
20‧‧‧正反器
22‧‧‧時間刻度

Claims (38)

  1. 一種數位系統中用於將資料信號由第一時脈域轉移至第二時脈域的配置,其中該第一時脈域包括具有一頻率的一第一時脈,該第二時脈域包括具有一頻率的一第二時脈,且該第一時脈的頻率低於第二時脈的頻率,該配置被設定用以:從該第一時脈域轉移該資料信號至該第二時脈域;偵測是否有一預設變遷發生在一預設時間之期間內的第一時脈裡,係使用一藉由該第二時脈而被計時的偵測手段;以及假如該偵測手段偵測到該預設時間之期間內的第一時脈裡的該預設變遷,再次從該第一時脈域轉移該資料信號至該第二時脈域。
  2. 如申請專利範圍第1項所述之配置,其中該被偵測的預設變遷係一正緣變遷。
  3. 如申請專利範圍第1或2項所述之配置,其中該資料信號經由該偵測手段而不從該第一時脈域轉移至該第二時脈域。
  4. 如申請專利範圍第1、2或3項所述之配置,其中該第一時脈域包括一第一匯流排,該第二時脈域包括一第二匯流排,以及不論是起初或一後續的轉移被視為必要時,資料被從該第一匯流排轉移至該第二匯流排。
  5. 如申請專利範圍第4項所述之配置,其中該資料匯流排包括至少8、16或32位元。
  6. 如前述任一項申請專利範圍所述之配置,其中該偵測手段包括一邊緣偵測器。
  7. 如前述任一項申請專利範圍所述之配置,其中該偵測包括基於該第二時脈之第一時脈的離散取樣。
  8. 如申請專利範第7項所述之配置,其中該偵測手段包括一手段用以計數該離散取樣的多數個步驟。
  9. 如申請專利範圍第7或8項所述之配置,其中該離散取樣的頻率等同於該第二時脈的頻率。
  10. 如前述任一項申請專利範圍所述之配置,其中該預設期間係在該第二時脈的1和16週期之間,如第二時脈的2和8週期之間,如該第二時脈的4週期。
  11. 如申請專利範圍第10項所述之配置,其中該偵測手段包括一手段用以計數該預設期間裡該等周期的數量。
  12. 如申請專利範圍第8或11項所述之配置,其中該計數手段係藉由該第二時脈而被計時。
  13. 如前述任一項申請專利範圍所述之配置,其中該偵測被執行於該第二時脈的上升邊緣。
  14. 如前述任一項申請專利範圍所述之配置,其中該第二時脈的頻率至少係為該第一時脈的頻率的四倍,如至少為該第一時脈的頻率的十倍,如至少為該第一時脈的頻率的一百倍,如至少為該第一時脈的頻率的一千倍。
  15. 如先前任一項申請專利範圍所述之配置,其中該偵測手段以該第一時脈為一輸出。
  16. 如前述任一項申請專利範圍所述之配置,其中該偵測手段包括一正反器。
  17. 如前述任一項申請專利範圍所述之配置,包括一手段用於起始該預設期間。
  18. 如前述任一項申請專利範圍所述之配置,包括一手段用於儲存該資料信號。
  19. 如述前任一項申請專利範圍所述之配置,包括一手段用以避免該初始轉移的資料信號被該第二時脈域所讀取。
  20. 一種數位系統中用於將資料信號由第一時脈域轉移至第二時脈域的方法,其中該第一時脈域包括具有一頻率的一第一時脈,該第二時脈域包括具有一頻率的一第二時脈,且該第一時脈的頻率低於第二時脈的頻率,該方法包括:從該第一時脈域轉移該資料信號至該第二時脈域;於一預設時間之期間,偵測是否有一預設變遷發生該第一時脈裡,係使用一藉由該第二時脈而被計時的偵測手段;以及假如該偵測手段偵測到該預設時間之週期內的第一時脈裡的該預設變遷,再次從該第一時脈域轉移該資料信號至該第二時脈域。
  21. 如申請專利範圍第20項所述之方法,其中該被偵測的預設變遷是一正緣變遷。
  22. 如申請專利範圍第20或21項所述之方法,包括經由該偵測手段而不將該資料信號從該第一時脈域轉移至該第二時脈域。
  23. 如申請專利範圍第20、21或22項所述之方法,其中該第一時脈域包括一第一匯流排,該第二時脈域包括一第二匯流排,以及不論是起初或一後續的轉移被視為必要時,資料被從該第一匯流排轉移至該第二匯流排。
  24. 如申請專利範圍第23項所述之方法,其中該資料匯流排包括至少8、16或32位元。
  25. 如申請專利範圍第20至24項任一項所述之方法,其中該偵測手段包括一邊緣偵測器。
  26. 如申請專利範圍第20至25項任一項所述之方法,其中該偵測包括基於該第二時脈之該第一時脈的離散取樣。
  27. 如申請專利範圍第26項所述之方法,其中該偵測包括計數該離散取樣的多數個步驟。
  28. 如申請專利範圍第26或27項所述之方法,其中該離散取樣的頻率等同於該第二時脈的頻率。
  29. 如申請專利範圍第20至第28項任一項所述之方法,其中該預設期間係在該第二時脈的1至16週期之間,如在該第二時脈的2至8週期之間,如該第二時脈的4週期。
  30. 如申請專利範圍第29項所述之方法,其中該偵測包括計數該預設期間裡的該等周期的數量。
  31. 如申請專利範圍第27至30項任一項所述之方法,其中該計數藉由該第二時脈而被計時。
  32. 如申請專利範圍第20至31項任一項所述之方法,其中該偵測被執行於該第二時脈的一上升邊緣。
  33. 如申請專利範圍第20至32項任一項所述之方法,其中該第二時脈的頻率係至少為該第一時脈的頻率的四倍,如至少為該第一時脈的頻率的十倍,如至少為該第一時脈的頻率的一百倍,如至少為該第一時脈的頻率的一千倍。
  34. 如申請專利範圍第20至33項任一項所述之方法,其中該偵測手段以該第一時脈為一輸出。
  35. 如申請專利範圍第20至34項任一項所述之方法,其中該偵測手段包括一正反器。
  36. 如申請專利範圍第20至35項任一項所述之方法,包括起始該預設期間。
  37. 如申請專利範圍第20至36項任一項所述之方法,包括,儲存該資料信號。
  38. 如申請專利範圍第20至37項任一項所述之方法,包括避免該初始轉移的資料信號被該第二時脈域所讀取。
TW102121535A 2012-06-27 2013-06-18 時脈域間之資料轉移 TWI604689B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1211425.2A GB2503473A (en) 2012-06-27 2012-06-27 Data transfer from lower frequency clock domain to higher frequency clock domain

Publications (2)

Publication Number Publication Date
TW201401763A true TW201401763A (zh) 2014-01-01
TWI604689B TWI604689B (zh) 2017-11-01

Family

ID=46704315

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102121535A TWI604689B (zh) 2012-06-27 2013-06-18 時脈域間之資料轉移

Country Status (8)

Country Link
US (1) US9515812B2 (zh)
EP (1) EP2847664B1 (zh)
JP (1) JP6192065B2 (zh)
KR (1) KR20150037900A (zh)
CN (1) CN104412222B (zh)
GB (1) GB2503473A (zh)
TW (1) TWI604689B (zh)
WO (1) WO2014001765A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2528481B (en) 2014-07-23 2016-08-17 Ibm Updating of shadow registers in N:1 clock domain
GB201907717D0 (en) * 2019-05-31 2019-07-17 Nordic Semiconductor Asa Apparatus and methods for dc-offset estimation
TWI740564B (zh) * 2020-07-03 2021-09-21 鴻海精密工業股份有限公司 跨時鐘域信號傳輸方法、電路以及電子裝置
CN114461009B (zh) * 2022-01-07 2024-04-26 山东云海国创云计算装备产业创新中心有限公司 一种应用于fpga单比特信号自动识别时钟域转换的方法
JP7429316B1 (ja) 2022-10-28 2024-02-07 太陽化学株式会社 ポリグリセリン脂肪酸エステル

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150313A (en) 1990-04-12 1992-09-22 Regents Of The University Of California Parallel pulse processing and data acquisition for high speed, low error flow cytometry
US6112307A (en) * 1993-12-30 2000-08-29 Intel Corporation Method and apparatus for translating signals between clock domains of different frequencies
US6260152B1 (en) 1998-07-30 2001-07-10 Siemens Information And Communication Networks, Inc. Method and apparatus for synchronizing data transfers in a logic circuit having plural clock domains
US6359479B1 (en) * 1998-08-04 2002-03-19 Juniper Networks, Inc. Synchronizing data transfers between two distinct clock domains
DE10128396B4 (de) * 2001-06-12 2005-02-24 Infineon Technologies Ag Verfahren und Schaltungsanordnung zum Übertragen von Daten von ein mit einem ersten Takt betriebenes System an ein mit einem zweiten Takt betriebenes System
US6928574B1 (en) * 2001-08-23 2005-08-09 Hewlett-Packard Development Company, L.P. System and method for transferring data from a lower frequency clock domain to a higher frequency clock domain
US7085952B2 (en) * 2001-09-14 2006-08-01 Medtronic, Inc. Method and apparatus for writing data between fast and slow clock domains
JP4122204B2 (ja) * 2002-09-27 2008-07-23 松下電器産業株式会社 同期回路
US20040193931A1 (en) * 2003-03-26 2004-09-30 Akkerman Ryan L. System and method for transferring data from a first clock domain to a second clock domain
WO2006134537A1 (en) * 2005-06-13 2006-12-21 Koninklijke Philips Electronics N.V. Methods and receives of data transmission using clock domains
KR101086426B1 (ko) 2007-01-23 2011-11-23 삼성전자주식회사 I2c 컨트롤러에서 직렬 데이터 라인의 상태 변화의타이밍 제어 장치 및 그 제어 방법
US7809972B2 (en) * 2007-03-30 2010-10-05 Arm Limited Data processing apparatus and method for translating a signal between a first clock domain and a second clock domain
US8024597B2 (en) * 2008-02-21 2011-09-20 International Business Machines Corporation Signal phase verification for systems incorporating two synchronous clock domains
US7733130B2 (en) * 2008-03-06 2010-06-08 Oracle America, Inc. Skew tolerant communication between ratioed synchronous clocks
US8089378B1 (en) * 2009-02-18 2012-01-03 Marvell Israel (M.I.S.L) Ltd. Synchronous multi-clock protocol converter
JP5483172B2 (ja) * 2009-10-19 2014-05-07 横河電機株式会社 データ転送装置およびデータ転送方法

Also Published As

Publication number Publication date
US9515812B2 (en) 2016-12-06
EP2847664A1 (en) 2015-03-18
US20150139373A1 (en) 2015-05-21
KR20150037900A (ko) 2015-04-08
JP6192065B2 (ja) 2017-09-06
GB2503473A (en) 2014-01-01
EP2847664B1 (en) 2018-04-18
TWI604689B (zh) 2017-11-01
CN104412222B (zh) 2018-06-05
JP2015522188A (ja) 2015-08-03
WO2014001765A1 (en) 2014-01-03
GB201211425D0 (en) 2012-08-08
CN104412222A (zh) 2015-03-11

Similar Documents

Publication Publication Date Title
TWI604689B (zh) 時脈域間之資料轉移
TW200816197A (en) Latency counter
CN104597790B (zh) 一种串口控制器及基于其的微控制器系统的唤醒方法
WO2007022368A2 (en) Method and apparatus for synchronizing data between different clock domains in a memory controller
TWI585570B (zh) 時脈域間之資料轉移
US11372461B2 (en) Circuitry for transferring data across reset domains
TWI585569B (zh) 時脈域間之資料轉移
JP3604637B2 (ja) 非同期転送装置および非同期転送方法
JPS626177A (ja) トリガ制御装置
WO2023274928A1 (en) Sampling signals
KR100418572B1 (ko) 비동기 카운터 회로
JP2003016026A (ja) シリアル通信回路
JP2000347950A (ja) シリアルインターフェイス
JPH04169957A (ja) マイクロプロセッサ
JP2010103824A (ja) インタフェース回路およびクロック/データ供給方法
JP2000201140A (ja) シリアル通信装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees