專利名稱:時(shí)鐘同步方法及其所用的裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及時(shí)鐘同步的方法和在這種方法中使用的裝置,其將與第一時(shí)鐘同步輸入的數(shù)據(jù)與第二時(shí)鐘同步地輸出。該第二時(shí)鐘可適用于如計(jì)算機(jī)網(wǎng)絡(luò)。
在如
圖12所示的一些常規(guī)局域網(wǎng)(LAN)中,個(gè)人計(jì)算機(jī)311和312通過分組裝拆裝置321和322、接口331和332以及分組裝拆裝置341和342與LAN的網(wǎng)絡(luò)35連接。在局域網(wǎng)中,信息包用于發(fā)送或接收個(gè)人計(jì)算機(jī)和LAN的網(wǎng)絡(luò)35之間的數(shù)據(jù)。
在某些信息包傳輸?shù)那闆r下,雖然輸入信息包和輸出信息包的時(shí)鐘信號之間沒有頻率差別,但在輸入信息包和輸出信息包的時(shí)鐘信號頻率之間存在著變化。并且在某些情況下即使存在上述鐘信號頻率之間的差別,在信息包輸入和信息包輸出的時(shí)鐘信號頻率之間也存在著變化。在這種情況下,為使輸入信息包正確地通過而到達(dá)輸出一側(cè),重要的是和輸出時(shí)鐘信號同步地輸出與輸入時(shí)鐘信號同步輸入的數(shù)據(jù)(即把數(shù)據(jù)的時(shí)鐘從輸入時(shí)鐘轉(zhuǎn)換為輸出時(shí)鐘)。然而,在象信息包那樣的序列數(shù)據(jù)的情況下,由于數(shù)據(jù)的丟失或重復(fù),用檢測脈沖的上升和下降來進(jìn)行時(shí)鐘的轉(zhuǎn)換是不可能的。
如圖13所示,由于這個(gè)原因,LAN的分組裝拆裝置321和322具備用于轉(zhuǎn)換時(shí)鐘的時(shí)鐘同步電路。如圖13中所描繪的,該時(shí)鐘同步電路包括存儲器42、寫指針產(chǎn)生電路45、數(shù)據(jù)結(jié)束檢測電路46和讀指針產(chǎn)生電路47。在時(shí)鐘轉(zhuǎn)換開始時(shí)存儲器42被初始化,同時(shí)寫指針產(chǎn)生電路45響應(yīng)輸入時(shí)鐘初始化寫指針,并且產(chǎn)生一個(gè)初始化后的寫指針。而讀指針產(chǎn)生電路47則根據(jù)輸出時(shí)鐘初始化讀指針,并且產(chǎn)生一個(gè)初始化后的讀指針(圖14中的步驟SQ1和SQ2),直到將分組數(shù)據(jù)輸入到存儲器42的寫輸入端,都不更新所產(chǎn)生的寫指針(步驟SQ3)。當(dāng)輸入組數(shù)據(jù)時(shí)(步驟SQ3),存儲器42根據(jù)輸入時(shí)鐘信號將來自所輸入分組數(shù)據(jù)的寫數(shù)據(jù)單元寫入一個(gè)存儲位置,該存儲位置由寫指針產(chǎn)生電路45輸出的寫指針?biāo)付?SQ4)。然后更新寫指針(步驟SQ5)。
每更新一次寫指針,數(shù)據(jù)結(jié)束檢測電路46判斷所有分組數(shù)據(jù)的寫操作是否結(jié)束(步驟SQ6),如果寫操作沒有結(jié)束,則把分組數(shù)據(jù)的連續(xù)寫數(shù)據(jù)單元寫入由寫指針產(chǎn)生電路45更新的寫指針?biāo)付ǖ拇鎯ζ?2中的寫入位置。
如果分組數(shù)據(jù)寫入結(jié)束的判斷是肯定的(在步驟SQ6中“是”的情況下),產(chǎn)生分組寫入結(jié)束指令信號(步驟SQ7),并且送出處理組讀出操作的信號,同時(shí),在組寫入過程中操作返回到輸入組數(shù)據(jù)等待狀態(tài)的步驟SQ3,并等待連續(xù)分組數(shù)據(jù)的輸入。
同時(shí),當(dāng)分組寫入過程處于等待分組數(shù)據(jù)的狀態(tài)時(shí),根據(jù)分組寫入結(jié)束指令信號(在步驟SQ8中的“是”的情況下),已處于等待狀態(tài)的讀過程開始。當(dāng)開始分組讀取過程時(shí),從由初始化的讀指針?biāo)付ǖ拇鎯ζ?2的讀出位置讀出分組讀出數(shù)據(jù)單元(步驟SQ9),并且該讀出數(shù)據(jù)單元作為寫入存儲器42中的分組的第一數(shù)據(jù)單元輸出。同樣,當(dāng)執(zhí)行這個(gè)讀操作時(shí),將讀指針更新為具有連續(xù)數(shù)據(jù)單元的讀指針(步驟SQ10)。
每更新一次讀指針,就執(zhí)行分組數(shù)據(jù)的讀操作是否結(jié)束的判斷(步驟SQ11)。如果分組數(shù)據(jù)的讀操作沒有結(jié)束(在步驟SQ11中“否”的情況下),則從由更新的讀指針?biāo)付ǖ拇鎯ζ?2中的讀出位置中,讀出分組數(shù)據(jù)的后續(xù)讀數(shù)據(jù)單元。
如果分組數(shù)據(jù)讀出結(jié)束的判斷是肯定的(在步驟SQ11中“是”的情況下),操作返回到處于等待開始分組讀出狀態(tài)的步驟SQ8,并等待后續(xù)分組寫操作結(jié)束指令信號,直至接收到通知分組寫操作結(jié)束信號。因此,上述過程允許將與輸入時(shí)鐘同步輸入的數(shù)據(jù)與輸出時(shí)鐘同步地輸出(即,當(dāng)數(shù)據(jù)被輸入或者被輸出時(shí),數(shù)據(jù)的時(shí)鐘能夠從輸入時(shí)鐘轉(zhuǎn)換成輸出時(shí)鐘)。
然而如上所述,雖然常規(guī)同步電路允許與輸入時(shí)鐘同步輸入的分組數(shù)據(jù)與輸出時(shí)鐘同步地輸出,但是為實(shí)現(xiàn)同步,其中僅有一個(gè)方法是有效的,即根據(jù)輸入時(shí)鐘信號將整個(gè)分組寫入存儲器42,使寫入單元的數(shù)量構(gòu)成一個(gè)組,再根據(jù)輸出信號讀出該組,使讀出單元的數(shù)量構(gòu)成一個(gè)組。然而這個(gè)方法遇到這樣一個(gè)缺點(diǎn),即為輸出與輸入時(shí)鐘同步輸入并和輸出時(shí)鐘同步輸出的分組數(shù)據(jù),不可避免地需要一個(gè)分組的存儲容量,因此暫存器引起發(fā)送和接收分組的延時(shí)。除此之外,另一個(gè)缺點(diǎn)就是同步電路在半導(dǎo)體芯片上集成工藝中占據(jù)較大部分的芯片面積。
考慮到上述情況,本發(fā)明的一個(gè)目的是提供一種時(shí)鐘同步的方法和用于這種方法的裝置,使與輸入時(shí)鐘同步輸入的數(shù)據(jù)與輸出時(shí)鐘同步地輸出所需要的存儲器容量減小,從而實(shí)現(xiàn)同步裝置的簡單化、微型化,使其造價(jià)降低。
根據(jù)本發(fā)明第一個(gè)目的提供的、用于把數(shù)據(jù)從在第一時(shí)鐘下工作的電路通過其輸入輸出端可被獨(dú)立訪問的存儲裝置傳輸至按第二時(shí)鐘工作的第二電路的時(shí)鐘同步方法,包括步驟存儲由存儲裝置傳送的數(shù)據(jù);檢測存入該存儲裝置中的數(shù)據(jù)是否為有效數(shù)據(jù);如果判斷是肯定的,則根據(jù)時(shí)鐘更新該存儲裝置的訪問指針;如果判斷是否定的,則根據(jù)時(shí)鐘重新初始化該存儲裝置的訪問指針;以及通過用訪問指針訪問存儲裝置,將與第一時(shí)鐘同步輸入的數(shù)據(jù)與第二時(shí)鐘同步地輸出。
在上述內(nèi)容中,更優(yōu)選的方式是第一時(shí)鐘的頻率不同于第二時(shí)鐘的頻率。
同樣,更優(yōu)選的方式是存儲器裝置的存儲容量寬度N為在輸出時(shí)鐘快于輸入時(shí)鐘的情況下由下列公式(1)給出的存儲容量寬度與在輸入時(shí)鐘快于輸出時(shí)鐘的情況下。由下列公式(2)給出的存儲容量的寬度之和N<n+1…(1)n≤N …(2)這里n=|A-B|×L/max(A,B),其中A是第一時(shí)鐘頻率;B是第二時(shí)鐘頻率;L是最大組長度。如果A≥B,則max(A,B)表示max(A,B)=A;如果A<B,則max(A,B)=B;N為任意自然數(shù)。
同樣,優(yōu)選的方式是僅對第二電路的訪問指針執(zhí)行重新初始化。
同樣,優(yōu)選的方式是僅對第一電路的訪問指針執(zhí)行重新初始化。
更進(jìn)一步,優(yōu)選的方式是對第一電路和第二電路的訪問指針都執(zhí)行重新初始化。
根據(jù)本發(fā)明第二個(gè)目的提供的、用于把數(shù)據(jù)從在第一時(shí)鐘下工作的電路通過其輸入輸出端可被獨(dú)立訪問的存儲裝置傳輸至按第二時(shí)鐘工作的第二電路的時(shí)鐘同步裝置,包括存儲裝置,其輸入和輸出端可獨(dú)立訪問;檢測裝置,檢測存入存儲裝置的數(shù)據(jù)是否為有效數(shù)據(jù);訪問指針產(chǎn)生裝置,當(dāng)檢測裝置判斷為肯定時(shí),響應(yīng)時(shí)鐘而更新存儲裝置的訪問指針。當(dāng)檢測裝置判斷為否定時(shí),訪問指針產(chǎn)生裝置響應(yīng)時(shí)鐘而重新初始化存儲裝置的訪問指針;以及一種輸出裝置,用訪問指針產(chǎn)生電路輸出的訪問指針,通過訪問存儲裝置將與第一時(shí)鐘同步輸入的數(shù)據(jù)與第二時(shí)鐘同步地輸出。
在上述內(nèi)容中,優(yōu)選為第一時(shí)鐘的頻率與第二時(shí)鐘的頻率不同。
同樣,優(yōu)選為存儲裝置的存儲容量N的寬度為在輸出時(shí)鐘快于輸入時(shí)鐘的情況下由下列公式(3)給出的存儲容量寬度與在輸入時(shí)鐘快于輸出時(shí)鐘的情況下由下列公式(4)給出的存儲容量的寬度之和N<n+1…(3)n≤N …(4)這里n=|A-B|×L/max(A,B),其中A是第一時(shí)鐘頻率;B是第二時(shí)鐘頻率;L是組的最大長度;如果A≥B,則max(A,B)表示max(A,B)=A;如果A<B,則max(A,B)=B;N為任意自然數(shù)。
同樣,優(yōu)選用訪問指針產(chǎn)生裝置僅對第二電路的訪問指針執(zhí)行重新初始化。
同樣,優(yōu)選用訪問指針產(chǎn)生裝置僅對第一電路的訪問指針執(zhí)行重新初始化。
更進(jìn)一步,優(yōu)選用訪問指針產(chǎn)生裝置對第一電路和第二電路的訪問指針都執(zhí)行重新初始化。
以下結(jié)合附圖的說明將使本發(fā)明的其他目的、優(yōu)點(diǎn)及特征更加明顯。
圖1是說明根據(jù)本發(fā)明第一實(shí)施例的時(shí)鐘同步電路電氣結(jié)構(gòu)的框圖2是說明該時(shí)鐘同步電路操作的流程圖;圖3是說明寫入構(gòu)成時(shí)鐘同步電路的存儲器中的數(shù)據(jù)串格式的示意圖;圖4是說明時(shí)鐘同步電路在輸入時(shí)鐘頻率高于輸出時(shí)鐘頻率的情況下工作的操作時(shí)序圖;圖5是按時(shí)間順序的存儲器存儲內(nèi)容的展開圖,以說明時(shí)鐘同步電路在輸出時(shí)鐘頻率高于輸入時(shí)鐘頻率的情況下的操作;圖6是說明時(shí)鐘同步電路在輸出時(shí)鐘頻率高于輸入時(shí)鐘頻率的情況下工作的操作時(shí)序圖;圖7是按時(shí)間順序的存儲器存儲內(nèi)容的展開圖,以說明時(shí)鐘同步電路在輸入時(shí)鐘頻率高于輸出時(shí)鐘頻率的情況下的操作;圖8是大致說明根據(jù)本發(fā)明第二實(shí)施例的時(shí)鐘同步電路結(jié)構(gòu)的框圖;圖9是說明該時(shí)鐘同步電路的操作過程的說明圖;圖10是大致說明根據(jù)本發(fā)明第三實(shí)施例的時(shí)鐘同步電路結(jié)構(gòu)的框圖;圖11是說明該時(shí)鐘同步電路的操作過程的說明圖;圖12是說明局域網(wǎng)的框圖;圖13是說明常規(guī)時(shí)鐘同步電路的框圖;圖14表明常規(guī)時(shí)鐘同步電路操作順序的說明圖;參考附圖,通過各實(shí)施例將更詳細(xì)說明實(shí)現(xiàn)本發(fā)明的最佳方式。
圖1是說明根據(jù)本發(fā)明第一實(shí)施例的時(shí)鐘同步電路電氣結(jié)構(gòu)的框圖;圖2是說明該時(shí)鐘同步電路操作的流程圖;圖3是說明寫入構(gòu)成時(shí)鐘同步電路的存儲器中的數(shù)據(jù)串格式的示意圖;圖4是說明該時(shí)鐘同步電路在輸入時(shí)鐘頻率高于輸出時(shí)鐘頻率的情況下工作的操作時(shí)序圖;圖5是按時(shí)間順序的存儲器存儲內(nèi)容的展開圖,以說明時(shí)鐘同步電路在輸出時(shí)鐘頻率高于輸入時(shí)鐘頻率的情況下的操作;圖6是說明時(shí)鐘同步電路在輸出時(shí)鐘頻率高于輸入時(shí)鐘頻率的情況下工作的操作時(shí)序圖;圖7是按時(shí)間順序的存儲器存儲內(nèi)容的展開圖,以說明時(shí)鐘同步電路在輸入時(shí)鐘頻率高于輸出時(shí)鐘頻率的情況下的操作。
本實(shí)施例的時(shí)鐘同步電路10具有的功能是,能與輸出時(shí)鐘同步輸出被并入局域網(wǎng)分組裝拆裝置中的分組數(shù)據(jù)(參考圖12)。如圖1所示,其包括存儲器12、寫指針產(chǎn)生電路15、數(shù)據(jù)保持檢測電路16和讀指針產(chǎn)生電路17。
并且在本實(shí)施例中,根據(jù)IEEE 802.3u定義的、用作接口331和332(圖12)的MII接口將含有上述時(shí)鐘同步電路的局域網(wǎng)的分組裝拆裝置與分組接收和發(fā)送裝置連接。
存儲器12的構(gòu)成使其能按照圖3所示的數(shù)據(jù)串格式獨(dú)立地可讀可寫,具體說其包括一個(gè)觸發(fā)電路。
代表存儲器12存儲容量的數(shù)據(jù)串“N”是在輸入時(shí)鐘快于輸出時(shí)鐘的情況下由下列公式(5)給出的存儲容量與在輸出時(shí)鐘快于輸入時(shí)鐘的情況下由下列公式(6)給出的存儲容量之和。
N<n+1……(5)n≤N ……(6)這里輸入時(shí)鐘頻率是A(Hz),輸出時(shí)鐘頻率是B(Hz),最大的分組長度是L(時(shí)鐘/分組的數(shù)量)。在公式(5)和公式(6)中,n=|A-B|×L/max(A,B),并且當(dāng)A≥B時(shí)max(A,B)=A,當(dāng)A<B時(shí)max(A,B)=B,N為任意自然數(shù)。
當(dāng)輸入數(shù)據(jù)與輸入時(shí)鐘同步、每個(gè)分組與輸出時(shí)鐘同步輸出時(shí),公式(5)和(6)代表在分組輸入和輸出之間所造成的最大相位差。
如圖3所示,具有串?dāng)?shù)“N”的各數(shù)據(jù)串包括TXD字段(4位)、TXEN字段(1位)和TXER字段(1位)。在圖3中,包括1至N的數(shù)或符號相應(yīng)地標(biāo)在各字段的后面。
在本實(shí)施例中使用MII接口,所需串?dāng)?shù)值能夠由以下說明獲得。
MII接口上的分組包括前同步信號報(bào)頭、起始幀分界符(SFD)和數(shù)據(jù)幀。報(bào)頭包括7個(gè)八位字節(jié),SFD包括1個(gè)八位字節(jié),數(shù)據(jù)幀的最大長度為1518個(gè)八位字節(jié)。因此,在由IEEE802.3u定義的MII接口中,一個(gè)分組的最大長度是1526個(gè)八位字節(jié)。這樣,在MII接口中一個(gè)組含1526個(gè)八位字節(jié),即3052個(gè)時(shí)鐘。如果MII接口的時(shí)鐘頻率為25MHz,由于在時(shí)鐘同步電路的輸入和輸出部分都允許有±100ppm(1ppm是1/10,000)的變化,所以當(dāng)輸入時(shí)鐘14和輸出時(shí)鐘18之間的頻率差為最大時(shí),輸入時(shí)鐘14或輸出時(shí)鐘18的頻率A或B中較高的頻率為25.0025MHz。而當(dāng)輸入時(shí)鐘14和輸出時(shí)鐘18之間的頻率差為最大時(shí),輸入時(shí)鐘14的頻率A或輸出時(shí)鐘18的頻率B中較低的頻率為24.9975MHz。
把頻率A和B以及每個(gè)組的時(shí)鐘值3052代入公式(5),結(jié)果得到N<2×0.605+1,存儲器12所需要的字符串?dāng)?shù)是3。
下面說明構(gòu)成時(shí)鐘同步電路的寫指針產(chǎn)生電路15的操作。當(dāng)啟動(dòng)時(shí)鐘同步電路工作同時(shí)把一個(gè)寫數(shù)據(jù)單元寫入存儲器12時(shí),寫指針產(chǎn)生電路15適于在此刻初始化寫指針。為寫入響應(yīng)輸入時(shí)鐘14輸入到存儲器12中分組的后續(xù)存儲數(shù)據(jù)單元,每次寫數(shù)據(jù)單元寫入存儲器時(shí),寫指針產(chǎn)生電路15同樣適于更新寫指針。此外,寫指針產(chǎn)生電路15把指示數(shù)據(jù)在存儲器12中存放位置的寫指針19送給讀指針產(chǎn)生電路17,數(shù)據(jù)串被寫入存儲器12。
數(shù)據(jù)保持檢測電路16用于檢測存入存儲器12的數(shù)據(jù)串中是否有有效數(shù)據(jù),如果存在有效數(shù)據(jù),則數(shù)據(jù)保持檢測電路16給讀指針產(chǎn)生電路17輸出讀指針更新信號;如果不存在有效數(shù)據(jù),則數(shù)據(jù)保持檢測電路16輸出讀指針重新初始化的指令信號(以下也稱之為“讀指針重新初始化指令信號”),送至讀指針產(chǎn)生電路17。在圖3所示的數(shù)據(jù)串中有效數(shù)據(jù)表示TXEN段和TXER段。
當(dāng)時(shí)鐘同步電路開始工作時(shí),讀指針產(chǎn)生電路17適合于初始化讀指針,同時(shí)接收數(shù)據(jù)保持檢測電路16的指針更新信號。為讀出存入存儲器12內(nèi)分組的后續(xù)存儲數(shù)據(jù)單元,每從存儲器12讀取一次數(shù)據(jù)單元,電路17即響應(yīng)存儲器12的輸出時(shí)鐘18更新讀指針。當(dāng)電路17收到數(shù)據(jù)保持檢測電路16的讀指針重新設(shè)置指令信號,以及來自寫指針產(chǎn)生電路15的、就在讀取存儲器12的讀數(shù)據(jù)單元的輸出時(shí)鐘之前的輸入時(shí)鐘進(jìn)行寫操作所用的寫指針19時(shí),重新初始化讀指針,以便將讀指針轉(zhuǎn)向(或變?yōu)?標(biāo)準(zhǔn)的寫指針。
寫指針產(chǎn)生電路15和讀指針產(chǎn)生電路17各自獨(dú)立工作。所謂將寫指針產(chǎn)生電路15和讀指針產(chǎn)生電路17初始化,是指當(dāng)從寫指針產(chǎn)生電路15輸出的寫指針指向存儲器12中的任意一個(gè)數(shù)據(jù)存儲位置時(shí),對讀指針產(chǎn)生電路17輸出的指針進(jìn)行設(shè)置,以便使讀指針按存儲器12中數(shù)據(jù)存放位置的正常順序和逆向順序指向相同的距離,存儲器12中數(shù)據(jù)存放位置由寫指針指定。
在本實(shí)施例中,如果存儲器12用作振鈴緩沖器,并且輸入時(shí)鐘和輸出時(shí)鐘的頻率為正態(tài)分布,由于輸入時(shí)鐘14快于輸出時(shí)鐘18的概率是50%,所以,通過按照寫指針19的正常順序方向和逆向順序方向,以相同的距離和最大的間距指向數(shù)據(jù)存儲位置,來初始化讀指針17。更具體地說,當(dāng)寫指針19指向初始數(shù)據(jù)存儲位置1時(shí),讀指針的初始數(shù)據(jù)存儲位置“m”等于n/2+1,其按照寫指針19的常規(guī)順序方向和逆向順序方向被定位在相同的距離上。
所謂讀指針產(chǎn)生電路的重新初始化,是指當(dāng)接收到數(shù)據(jù)保持檢測電路16的讀指針重新初始化指令信號時(shí)、以及當(dāng)接收到來自寫指針產(chǎn)生電路15的、用于就在從存儲器12讀取讀數(shù)據(jù)單元的輸出時(shí)鐘之前的輸入時(shí)鐘進(jìn)行寫操作的寫指針19時(shí),把讀指針設(shè)置為所接收到的寫指針。
以下說明本實(shí)施例的操作。
當(dāng)時(shí)鐘同步電路10開始工作時(shí),初始化寫指針產(chǎn)生電路15、讀指針產(chǎn)生電路17以及存儲器12(圖2中的步驟SP1和SP2)。通過這個(gè)初始化,寫指針19指向初始數(shù)據(jù)存儲位置1,而讀指針指向初始數(shù)據(jù)存儲位置“m”(m=n/2+1)。
在由寫指針產(chǎn)生電路15輸出的寫指針?biāo)赶虻臄?shù)據(jù)存儲位置上寫入寫數(shù)據(jù)單元[TXD(4位),TXEN(1位),TXER(1位)](步驟SP3),寫入之后更新寫指針(步驟SP4)。
讀過程獨(dú)立地與寫過程并行執(zhí)行,讀過程從初始化的讀指針?biāo)赶虻臄?shù)據(jù)存儲位置開始(步驟SP5)。
數(shù)據(jù)保持檢測電路16判斷所讀出的數(shù)據(jù)串中是否有有效數(shù)據(jù)的(步驟SP6)。當(dāng)開始讀操作時(shí),清除存儲器的內(nèi)容,并且把輸出的讀出數(shù)據(jù)串作為數(shù)據(jù)串,例如將所有的數(shù)據(jù)置為零。
由于上述的存儲器還沒有有效數(shù)據(jù),數(shù)據(jù)保持檢測電路16判斷沒有有效數(shù)據(jù)(步驟SP6,否定判斷),并且數(shù)據(jù)保持檢測電路16輸出讀指針重新初始化指令信號,并重新初始化讀指針(重新設(shè)置)(步驟SP7)。返回步驟SP5,在重新初始化后讀操作從讀指針?biāo)赶虻拇鎯ζ?2中的數(shù)據(jù)存儲位置開始(該指針被重新初始化到根據(jù)就在后續(xù)時(shí)鐘之前的時(shí)鐘進(jìn)行寫入的存儲數(shù)據(jù)的位置上)。
以下參考圖4至圖7說明示于存儲器12的數(shù)據(jù)串串?dāng)?shù)為3的本實(shí)施例中的讀指針的重新初始化。
首先參考圖4至圖5,說明在輸出時(shí)鐘頻率快于輸入時(shí)鐘頻率情況下的重新初始化。
在圖4中,小寫字母“a”至“m”表示輸入時(shí)鐘(寫數(shù)據(jù)串的定時(shí))的上升,而數(shù)字1至15表示輸出時(shí)鐘(讀數(shù)據(jù)串的定時(shí))的上升。
圖5按時(shí)間順序展開說明存儲器12的讀操作和寫操作的關(guān)系。圖5中的最左側(cè)縱列表示有三個(gè)字符串容量的存儲器12的第一字符串(1)、第二字符串(2)和第三字符串(3),圖5僅表示圖4中所示的部分序時(shí)關(guān)系。從最左縱列的右側(cè)開始,按順序定位并順序稱之為第一列、第二列和第三列等等,各縱列交替表示讀定時(shí)和寫定時(shí)。圖4所示的各縱列中的小寫字母表示寫定時(shí),而阿拉伯?dāng)?shù)字表示圖4中的讀定時(shí)。另外,加下劃線的小寫字母表示寫定時(shí),同時(shí)說明在寫定時(shí)上有效數(shù)字被寫入,而未加下劃線的小寫字母表示寫定時(shí),并且在該寫定時(shí)上有效數(shù)字未被寫入。
在圖5中,第一縱列表示讀定時(shí)“3”,讀取存儲器12中的第三字符串。圖5中緊接前面的讀定時(shí)“3”的寫定時(shí)對應(yīng)于圖4中所示的寫定時(shí)“b”,并且在寫定時(shí)“b”上寫入存儲器的第一個(gè)字符串,從寫指針產(chǎn)生電路15讀出表示存儲器12第一個(gè)數(shù)據(jù)串(1)的寫指針19,然后將其送給讀指針產(chǎn)生電路17。
從圖4中的時(shí)序明顯可見,在這個(gè)定時(shí)上存儲器12沒有有效數(shù)據(jù),數(shù)據(jù)保持檢測電路16產(chǎn)生讀指針重新初始化指令信號、并將其送給讀指針產(chǎn)生電路17,在這里讀指針轉(zhuǎn)向(變成)寫指針19。本實(shí)施例中所示的寫指針的改變相當(dāng)于重新初始化。重新初始化的讀指針用圖框中的讀定時(shí)“3”下面的數(shù)字(1)表示,在這個(gè)位置上賦予存儲器12中的第三字符串。
第二縱列表示寫定時(shí)“c”,第三縱列表示讀定時(shí)“4”,讀定時(shí)“4”的讀指針是在第一縱列中說明的重新初始化后的讀指針1。在用讀指針1對存儲器12中的第一字符串(1)執(zhí)行讀操作之后,數(shù)據(jù)保持檢測電路16判斷有效數(shù)據(jù)的存在。如圖4中的時(shí)序圖所示,當(dāng)沒有有效數(shù)據(jù)時(shí),執(zhí)行和所述第一縱列中一樣的重新初始化。結(jié)果在第三縱列中可見,讀定時(shí)表示為“4”,而重新初始化的讀指針表示為讀定時(shí)“4”下面的(2)。
在第四和第五縱列中執(zhí)行第二和第三縱列同樣的操作,這些結(jié)果表示在相應(yīng)的縱列中。
除以下不同之處外,在第六和第七縱列中執(zhí)行和上述縱列同樣的操作。不同之處是當(dāng)在第七縱列中判斷有效數(shù)據(jù)存在時(shí),由于在寫定時(shí)“e”上數(shù)據(jù)串(有效數(shù)據(jù))“e”寫入存儲器中的第一字符串(1)的位置上,所以不重新初始化讀指針,但對其進(jìn)行加1更新。因此,讀指針的更新值(1)表示在第七列中讀定時(shí)“6”的下面。
由于此后直到第二十列,對于各個(gè)讀定時(shí)判斷有效數(shù)據(jù)存在的結(jié)果都是肯定的,所以僅僅是重復(fù)和所述第六、第七縱列同樣的操作,因此省略其說明。
如圖5所示,在第二十一縱列中所示的讀定時(shí)中,由于在存儲器12中不存在有效數(shù)據(jù),所以出現(xiàn)和上面所述一樣的情況,即產(chǎn)生重新初始化,使讀指針在緊接后面的讀指針之前的定時(shí)上指向?qū)懼羔?2),這個(gè)讀指針表示為第二十一縱列中讀定時(shí)“14”下面的(2)。
下面說明在輸入時(shí)鐘頻率高于輸出時(shí)鐘頻率的情況下的重新初始化。
圖6和圖7各是示于時(shí)序圖和存儲器12中的讀操作和寫操作之間的關(guān)系按照時(shí)間順序的展開圖,圖6和圖7對應(yīng)于圖4和圖5。
在響應(yīng)跟在一個(gè)或多個(gè)經(jīng)重新初始化的輸出時(shí)鐘之后的輸入時(shí)鐘所執(zhí)行的寫過程中,由于把分組的第一個(gè)數(shù)據(jù)串寫入存儲器12,存儲器12中存在有效數(shù)據(jù),數(shù)據(jù)保持檢測電路16做出存在有效數(shù)據(jù)的肯定判斷,并且輸出讀指針更新信號(在步驟SP6中“是”的情況下)。響應(yīng)數(shù)據(jù)保持檢測電路16輸出的讀指針更新信號,通過對讀指針加1對其進(jìn)行更新(步驟SP8)。此外,讀指針重新初始化信號的相反符號可用作讀指針更新信號。
連續(xù)執(zhí)行寫指針和讀指針這樣的更新(步驟SP4和SP8)。
通過連續(xù)更新寫指針,構(gòu)成分組的各數(shù)據(jù)串被連續(xù)寫入更新后的寫指針?biāo)赶虻臄?shù)據(jù)存儲位置。
同樣,通過連續(xù)更新寫指針,所有數(shù)據(jù)都被置為零的數(shù)據(jù)串連續(xù)從存儲器12輸出,最后讀指針指向讀指針的初始值1。直到“寫指針指向初始值1”的更新后讀出的各輸出數(shù)據(jù)是一個(gè)數(shù)據(jù)串,例如,作為輸出數(shù)據(jù)13輸出的所有數(shù)據(jù)置為零的數(shù)據(jù)串。
因此,響應(yīng)接在由讀指針指定的寫指針初始值1所在的數(shù)據(jù)位置的輸出時(shí)鐘之后的N次輸出時(shí)鐘,N個(gè)數(shù)據(jù)串連續(xù)從各讀指針指定的各數(shù)據(jù)存放位置讀出(即從存放分組的第一個(gè)數(shù)據(jù)串的數(shù)據(jù)存放位置1開始計(jì)算N個(gè)數(shù)據(jù)存放位置)。當(dāng)與輸入時(shí)鐘同步輸入的數(shù)據(jù)與輸出時(shí)鐘同步地輸出時(shí),從把構(gòu)成分組的P(P=kN,k是任意的正數(shù))個(gè)數(shù)據(jù)串寫入存儲器12,直到把這些數(shù)據(jù)都讀出,具有N個(gè)字符串存儲容量的存儲器被重復(fù)使用。
這使得在輸入時(shí)鐘頻率為A[Hz]時(shí)于存儲器12輸入端接收的分組數(shù)據(jù)串,在不使該數(shù)據(jù)串丟失或重復(fù)的情況下,按照頻率為B[Hz]的輸出時(shí)鐘被輸出到存儲器12的輸出端。
在不使分組數(shù)據(jù)丟失或重復(fù)的情況下,與頻率為A[Hz]的輸入時(shí)鐘同步輸入的分組數(shù)據(jù),和頻率為B[Hz]的輸出時(shí)鐘同步輸出(頻率為A[Hz]的輸入時(shí)鐘能被轉(zhuǎn)換成頻率為B[Hz]的輸出時(shí)鐘)。
因此根據(jù)本實(shí)施例,雖然將輸入時(shí)鐘14和輸出時(shí)鐘18設(shè)置為相同的頻率,即使由于各時(shí)鐘源頻率穩(wěn)定狀態(tài)的改變使輸入時(shí)鐘14和輸出時(shí)鐘18之間產(chǎn)生頻率差,與輸入時(shí)鐘14同步輸入的分組數(shù)據(jù)也能夠按照輸出時(shí)鐘18輸出。
作為用于同步所需要的存儲容量,假設(shè)一個(gè)分組的最大長度是L,常規(guī)時(shí)鐘同步電路需要有一個(gè)分組的最大組長度“L”的存儲容量,而本實(shí)施例所需要的存儲容量能減少(L-N)個(gè)串,存儲容量的降低能縮短傳輸所用延時(shí)。
另外,本實(shí)施例的結(jié)構(gòu)具有的優(yōu)點(diǎn)是把時(shí)鐘同步電路集成在一片半導(dǎo)體芯片上。
特殊的有利效果是存儲器12中同步所需的字符串?dāng)?shù)是3,在常規(guī)時(shí)鐘同步電路中該值為3052。因此,同步所需的存儲容量能被大大降低99.9%,存儲容量的大幅度降低,不僅大大縮短了分組傳輸?shù)难訒r(shí),而且也大大有利于將時(shí)鐘同步電路集成在半導(dǎo)體芯片上。第二實(shí)施例圖8是大致說明根據(jù)本發(fā)明第二實(shí)施例的時(shí)鐘同步電路結(jié)構(gòu)的框圖。
圖9是該時(shí)鐘同步電路操作過程的說明圖。
本實(shí)施例的結(jié)構(gòu)與第一實(shí)例的結(jié)構(gòu)有很大差別,即由寫過程做出有效數(shù)據(jù)是否存入存儲單元12的判斷。與此同時(shí),在緊鄰重新初始化的輸入時(shí)鐘之前而存在的輸出時(shí)鐘上,把從存儲器12讀出數(shù)據(jù)串的讀指針20從讀指針產(chǎn)生電路17A送給寫指針產(chǎn)生電路15A。
把分別與數(shù)據(jù)保持檢測電路16做出的否定判斷或肯定判斷相對應(yīng)的寫指針重新初始化指令信號或?qū)懼羔樃滦盘?,從?shù)據(jù)保持檢測電路16傳送給寫指針產(chǎn)生電路15A。因此,圖9中的說明圖包括步驟SP6A,判斷在寫過程中存入存儲器12中的數(shù)據(jù)串是否有有效數(shù)據(jù);步驟SP7A,從數(shù)據(jù)保持檢測電路16輸出寫指針重新初始化指令信號,并通過把在緊鄰一個(gè)把寫指針重新初始化指令信號輸出的輸入時(shí)鐘之前的輸出時(shí)鐘上產(chǎn)生的讀指針20從讀指針產(chǎn)生電路17A送給寫指針產(chǎn)生電路15A,來重新初始化寫指針。讀指針產(chǎn)生電路僅根據(jù)輸出時(shí)鐘產(chǎn)生讀指針。
此外,除上述之外本實(shí)施例的結(jié)構(gòu)同第一實(shí)施例相同,因此用同樣的參考符號來定義和圖1與圖2中相應(yīng)的部分。
下面對圖8和圖9中第二實(shí)施例的操作進(jìn)行說明。
在存儲器12中的第二實(shí)施例的操作與第一實(shí)施例的操作相同。在開始初始化操作時(shí),寫指針和讀指針都被初始化(步驟SP1和SP2),并且數(shù)據(jù)串被寫入存儲器12(步驟SP3)。
數(shù)據(jù)保持檢測電路16判斷由存儲器12寫入的數(shù)據(jù)串組是否含有效數(shù)據(jù)(步驟SP6A)。
當(dāng)在預(yù)定時(shí)間過去之后輸入一個(gè)分組、并且分組中的第一串?dāng)?shù)據(jù)寫入初始化的或重新初始化后的寫指針?biāo)赶虻拇鎯ζ?2中的數(shù)據(jù)存儲位置的同時(shí),數(shù)據(jù)保持檢測電路16獲得否定判斷,并且當(dāng)數(shù)據(jù)保持檢測電路16產(chǎn)生寫指針重新初始化指令信號、把在緊鄰用于產(chǎn)生寫指針重新初始化指令信號的輸入時(shí)鐘之前的輸出時(shí)鐘上進(jìn)行讀操作的讀指針20從讀指針產(chǎn)生電路17A送到寫指針產(chǎn)生電路15A時(shí),寫指針產(chǎn)生電路15A把寫指針轉(zhuǎn)換成讀指針20,以重新初始化寫指針。
當(dāng)組的第一個(gè)數(shù)據(jù)串被寫入由初始化的或重新初始化的寫指針?biāo)赶虻拇鎯ζ?2中的數(shù)據(jù)存儲位置時(shí),數(shù)據(jù)保持檢測電路16獲得肯定判斷,并且從數(shù)據(jù)保持檢測電路16輸出寫指針更新信號(在步驟SP6A中“是”的情況下)。響應(yīng)肯定判斷信號,寫指針產(chǎn)生電路15A通過加1來更新寫指針(步驟SP4),然后開始一個(gè)分組的數(shù)據(jù)串的寫操作,此后按照上述同樣的方法執(zhí)行分組的最后一個(gè)數(shù)據(jù)串寫操作。
在分組的最后一個(gè)數(shù)據(jù)串的寫操作當(dāng)后面的組到達(dá)之前結(jié)束之后,重復(fù)從步驟SP3、SP6A、SP7A至SP3的循環(huán)。在與寫過程獨(dú)立執(zhí)行的讀過程中,當(dāng)同步操作開始時(shí)讀指針被初始化之后(步驟SP2),讀取在每個(gè)輸出時(shí)鐘期間讀指針指向的存儲器12中的數(shù)據(jù)存放位置(步驟SP5),并更新讀指針(步驟SP8)。
因此,根據(jù)本實(shí)施例,雖然將輸入時(shí)鐘14和輸出時(shí)鐘18設(shè)置為相同的頻率,即使由于各時(shí)鐘源頻率穩(wěn)定狀態(tài)的改變使輸入時(shí)鐘14和輸出時(shí)鐘18之間產(chǎn)生頻率差,與輸入時(shí)鐘14同步輸入的分組數(shù)據(jù)也能夠按照輸出時(shí)鐘18輸出。假設(shè)一個(gè)分組的最大長度是L,作為用于同步所需要的存儲容量,常規(guī)時(shí)鐘同步電路需要有一個(gè)分組的最大分組長度“L”的存儲容量,而本實(shí)施例所需要的存儲器能減少(L-N)個(gè)串,存儲容量的減少能縮短傳輸所用延時(shí)。
另外,本實(shí)施例的結(jié)構(gòu)具有的優(yōu)點(diǎn)是在把時(shí)鐘同步電路集成在一片半導(dǎo)體芯片上。
特殊的有利效果是存儲器12中同步所需的字符串?dāng)?shù)是3,在常規(guī)時(shí)鐘同步電路中該值為3052。因此,同步所需的存儲容量能被大大降低99.9%,存儲容量的大幅度降低,不僅有利于縮短組傳輸?shù)难訒r(shí),而且也大大減小在半導(dǎo)體芯片上集成同步時(shí)鐘電路所占用的面積。第三實(shí)施例圖10是大致說明根據(jù)本發(fā)明第三實(shí)施例的時(shí)鐘同步電路的框圖,圖11說明該時(shí)鐘同步電路的操作。
本實(shí)施例的結(jié)構(gòu)與第一實(shí)施例的最大不同點(diǎn)是由寫過程和讀過程來判斷有效數(shù)據(jù)是否存入存儲器12,同時(shí),把在緊鄰重新初始化輸入時(shí)鐘之前的輸出時(shí)鐘上從存儲器12讀出數(shù)據(jù)串的讀指針20,從讀指針產(chǎn)生電路17送給寫指針產(chǎn)生電路15A,并且把在緊鄰重新初始化輸出時(shí)鐘之前的輸入時(shí)鐘上寫入存儲器12的寫指針20,從寫指針產(chǎn)生電路15A送給讀指針產(chǎn)生電路17。
把分別由數(shù)據(jù)保持檢測電路檢測出的與否定判斷相對應(yīng)的寫指針重新初始化指令信號和與肯定判斷相對應(yīng)的寫指針更新信號,送給寫指針產(chǎn)生電路15A和讀指針產(chǎn)生電路17。
因此,圖11中的說明圖包括步驟SP6A,判斷在寫過程中存入存儲器12中的數(shù)據(jù)串是否為有效數(shù)據(jù);步驟SP7A,當(dāng)在緊鄰輸出寫指針重新初始化指令信號的輸入時(shí)鐘之前的輸出時(shí)鐘上從讀指針產(chǎn)生電路17輸出用于讀取讀數(shù)據(jù)串的讀指針20時(shí),從數(shù)據(jù)保持檢測電路16輸出寫指針重新初始化信號并重新初始化讀指針。
此外,除上述之外本實(shí)施例的結(jié)構(gòu)同第一實(shí)施例一樣,因此用同樣的參考符號來定義和圖10與圖11中相應(yīng)的部分。
下面對圖10和圖11中第三實(shí)施例的操作進(jìn)行說明。
第三實(shí)施例的在存儲器12中的操作與第一實(shí)施例的操作相同,寫指針和讀指針在開始操作時(shí)都被初始化(圖11中步驟SP1和SP2),并且數(shù)據(jù)串被寫入存儲器12(步驟SP3)。
數(shù)據(jù)保持檢測電路16判斷寫入存儲器12的數(shù)據(jù)串是否含有有效數(shù)據(jù)(步驟SP6A)。
在開始操作并將分組中第一串?dāng)?shù)據(jù)寫入經(jīng)初始化的或重新初始化后的寫指針?biāo)赶虻拇鎯ζ?2中的數(shù)據(jù)存儲位置的同時(shí)或之后,在輸入一個(gè)分組時(shí),數(shù)據(jù)保持檢測電路16產(chǎn)生寫指針重新初始化指令信號,并且當(dāng)把在緊鄰用于輸出寫指針重新初始化指令信號的輸入時(shí)鐘之前的輸出時(shí)鐘上產(chǎn)生的讀指針從讀指針產(chǎn)生電路17送出時(shí),寫指針產(chǎn)生電路15A把寫指針轉(zhuǎn)換成上述傳送的讀指針,以重新初始化寫指針。
執(zhí)行讀指針類似的重新初始化。即,在開始操作并將分組中第一串?dāng)?shù)據(jù)寫入經(jīng)初始化的或重新初始化后的寫指針?biāo)赶虻拇鎯ζ?2中的數(shù)據(jù)存儲位置的同時(shí)或之后,當(dāng)輸入一分組時(shí),數(shù)據(jù)保持檢測電路16產(chǎn)生重新初始化指令信號,并且當(dāng)把在緊鄰用于輸出讀指針重新初始化指令信號的輸出時(shí)鐘之前的輸入時(shí)鐘上產(chǎn)生的寫指針19從寫指針產(chǎn)生電路15送出時(shí),讀指針產(chǎn)生電路17把讀指針轉(zhuǎn)換成上述傳送的寫指針,以重新初始化寫指針。
當(dāng)分組的第一數(shù)據(jù)串被寫入由初始化的或重新初始化的寫指針?biāo)赶虻拇鎯ζ?2中的數(shù)據(jù)存儲位置時(shí),數(shù)據(jù)保持檢測電路16輸出寫指針更新信號(在步驟SP6A中“是”的情況下)。根據(jù)寫指針更新信號,寫指針產(chǎn)生電路15A通過加1來更新寫指針(步驟SP4),并開始寫入一個(gè)分組的后續(xù)的數(shù)據(jù)串。一個(gè)分組的最后一個(gè)數(shù)據(jù)串按照上述同樣的方法寫入。在最后一個(gè)數(shù)據(jù)串的寫操作按時(shí)結(jié)束后,當(dāng)后續(xù)的分組到達(dá)時(shí),重復(fù)從步驟SP3、SP6A、SP7A至SP3的循環(huán)。
讀過程與這個(gè)寫過程獨(dú)立執(zhí)行,讀過程從經(jīng)初始化后的讀指針?biāo)赶虻臄?shù)據(jù)存放位置開始(步驟SP5),由數(shù)據(jù)保持檢測電路16判斷所寫數(shù)據(jù)串是否有有效數(shù)據(jù)(步驟SP6)。當(dāng)讀操作開始時(shí)存儲器12被清零,并且輸出全部數(shù)據(jù)設(shè)為零的數(shù)據(jù)串。
由于存儲器12還未儲有有效數(shù)據(jù),數(shù)據(jù)保持檢測電路16的判斷(在步驟6中的判斷)轉(zhuǎn)向無有效數(shù)據(jù)(即為否定判斷)(在步驟SP6中為“否”情況下),并且按照和第一實(shí)施例同樣的方法執(zhí)行讀指針的重新初始化(重新設(shè)置),在此步驟之后返回到步驟SP5執(zhí)行讀操作。
連續(xù)執(zhí)行讀指針的重新初始化,直到存儲器12中分組的第一個(gè)數(shù)據(jù)串被寫入。在把第一個(gè)數(shù)據(jù)串寫入存儲器12的輸入時(shí)鐘出現(xiàn)之后,由于存儲器12中存在有效數(shù)據(jù),所以判斷轉(zhuǎn)向有有效數(shù)據(jù),使數(shù)據(jù)保持檢測電路16輸出讀指針更新信號(在步驟SP6為“是”的情況下),通過對讀指針加1將讀指針更新(步驟SP8)。
讀指針和寫指針被連續(xù)更新(步驟SP4和SP8)。
通過對寫指針的連續(xù)更新,組成一個(gè)分組的各數(shù)據(jù)串被順序?qū)懭敫潞蟮臄?shù)據(jù)指針?biāo)赶虻臄?shù)據(jù)存放位置。同樣,通過對讀指針的連續(xù)更新,把全部都是無效數(shù)據(jù)的數(shù)據(jù)串作為輸出數(shù)據(jù)從存儲器12輸出,最后讀指針到達(dá)由寫指針寫入分組數(shù)據(jù)串的數(shù)據(jù)串存放位置。在讀指針到達(dá)數(shù)據(jù)存放位置之前,由存儲器12初始化而清除的數(shù)據(jù)串,例如把所有數(shù)據(jù)都置為零的數(shù)據(jù)串,作為輸出數(shù)據(jù)13輸出。然而當(dāng)讀指針到達(dá)數(shù)據(jù)存放位置時(shí),分組數(shù)據(jù)串作為輸出數(shù)據(jù)13被順序輸出。
因此從把構(gòu)成一個(gè)分組的P個(gè)數(shù)據(jù)串被同步寫入存儲器12,直到讀出所有這些數(shù)據(jù),重復(fù)利用存儲容量為N的存儲器。
在與輸入時(shí)鐘同步輸入的數(shù)據(jù)按輸出時(shí)鐘同步輸出之后,在寫操作和讀操作的過程中都連續(xù)進(jìn)行指針的初始化,直到后續(xù)的分組被寫入。
這使得在輸入時(shí)鐘頻率為A[Hz]時(shí)接收的數(shù)據(jù)串,按照頻率為B的輸出時(shí)鐘被輸出到存儲器12的輸出端,而不使該數(shù)據(jù)串丟失或重復(fù)。即在不使分組數(shù)據(jù)丟失或重復(fù)的情況下,與頻率為A[Hz]的輸入時(shí)鐘同步輸入的分組數(shù)據(jù),和頻率為B[Hz]的輸出時(shí)鐘同步地輸出(頻率為A[Hz]的輸入時(shí)鐘能被轉(zhuǎn)換成頻率為B[Hz]的輸出時(shí)鐘)。
因此,根據(jù)本實(shí)施例,雖然將輸入時(shí)鐘14和輸出時(shí)鐘18設(shè)置為具有相同的頻率,即使由于各時(shí)鐘源頻率穩(wěn)定狀態(tài)的改變使輸入時(shí)鐘14和輸出時(shí)鐘18之間產(chǎn)生頻率差,與輸入時(shí)鐘14同步輸入的分組數(shù)據(jù)也能夠按照輸出時(shí)鐘18輸出。
假設(shè)一個(gè)分組的最大長度是L,作為用于同步所需要的存儲容量,常規(guī)時(shí)鐘同步電路需要有一個(gè)分組的最大組長度“L”的存儲容量,而本實(shí)施例所需要的存儲器能減少(L-N)個(gè)串,存儲容量的減少能縮短傳輸所用延時(shí)。
另外,本實(shí)施例的結(jié)構(gòu)具有在一片半導(dǎo)體芯片上集成時(shí)鐘同步電路的優(yōu)點(diǎn)。
特殊的有利效果是存儲器12中同步所需的字符串?dāng)?shù)是3,在常規(guī)時(shí)鐘同步電路中該值為3052。因此,同步所需的存儲容量能被大大降低99.9%,存儲容量的大幅度降低,使得不僅有利于大大縮短組傳輸?shù)难訒r(shí),而且也大大減小在半導(dǎo)體芯片上集成同步時(shí)鐘電路所占用的面積。
顯然,本發(fā)明不僅限于上述實(shí)施例,在不違反本發(fā)明的范圍和精神的情況下,可以對本發(fā)明做出改進(jìn)和變換。例如,本發(fā)明可以在輸入時(shí)鐘14和輸出時(shí)鐘18的頻率不相同的情況下執(zhí)行、或者在輸入時(shí)鐘14和輸出時(shí)鐘18的頻率不同以及變化的情況下執(zhí)行。
另外,本發(fā)明不僅可在局域網(wǎng)技術(shù)領(lǐng)域中執(zhí)行,也可在輸入和輸出時(shí)鐘存在變化或差別的情況下的數(shù)字信號傳輸中執(zhí)行。
此外,在這些情況下,輸入端和輸出端可被獨(dú)立訪問的半導(dǎo)體存儲器可以用作存儲器。
在上述的實(shí)施例中,時(shí)鐘同步電路包括硬件,然而其一部分也可以包括軟件。
根據(jù)本發(fā)明,這樣來配置時(shí)鐘同步電路,即使輸入和輸出時(shí)鐘的頻率之間存在差別,也能夠使寫指針和讀指針中的一個(gè)或都被重新初始化,還能夠減少與輸入時(shí)鐘同步輸入的數(shù)據(jù)在與輸出時(shí)鐘同步輸出時(shí)所需的存儲容量,尤其是如果頻率差小時(shí),存儲容量減少的數(shù)量則大。這使得分組傳輸?shù)难訒r(shí)大大減少,還能夠大大減小存儲容量,使同步電路簡單化和小型化,并降低其造價(jià)。
因此,本發(fā)明顯然不僅限于上述實(shí)施例,但在不違反本發(fā)明的范圍和精神的情況下,可以對本發(fā)明進(jìn)行變化和改進(jìn)。
權(quán)利要求
1.時(shí)鐘同步方法,用于把數(shù)據(jù)從工作在第一時(shí)鐘的第一電路通過一個(gè)其輸入輸出端可以被獨(dú)立訪問的存儲裝置傳送到按照第二時(shí)鐘工作的第二電路,該方法包括存儲由所述第一存儲裝置傳送的所述數(shù)據(jù);檢測存入所述存儲裝置的所述數(shù)據(jù)是否為有效數(shù)據(jù);如果判斷是肯定的,則響應(yīng)所述時(shí)鐘更新所述存儲裝置的訪問指針;如果判斷是否定的,則響應(yīng)所述時(shí)鐘重新初始化所述存儲裝置的所述訪問指針;以及通過用所述訪問指針訪問所述存儲裝置,與所述第二時(shí)鐘同步輸出與第一時(shí)鐘同步輸入的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1的時(shí)鐘同步方法,其特征在于第一時(shí)鐘的頻率與第二時(shí)鐘的頻率不同。
3.根據(jù)權(quán)利要求1或2的時(shí)鐘同步方法,其特征在于所述存儲裝置的存儲容量N的寬度是在輸出時(shí)鐘快于輸入時(shí)鐘的情況下由以下公式(1)給出的存儲容量寬度與在輸入時(shí)鐘快于輸出時(shí)鐘的情況下由以下公式(2)給出的存儲容量寬度之和N<n+1…(1)n≤N …(2)這里n=|A-B|×L/max(A,B),其中A是所述第一時(shí)鐘頻率,B是所述第二時(shí)鐘頻率,L是最大組長度,如果A≥B,則max(A,B)表示max(A,B)=A,如果A<B,則max(A,B)=B,N為任意自然數(shù)。
4.根據(jù)權(quán)利要求1、2或3的時(shí)鐘同步方法,其特征在于僅對所述第二電路的所述訪問指針執(zhí)行所述重新初始化。
5.根據(jù)權(quán)利要求1、2或3的時(shí)鐘同步方法,其特征在于僅對所述第一電路的所述訪問指針執(zhí)行所述重新初始化。
6.根據(jù)權(quán)利要求1、2或3的時(shí)鐘同步方法,其特征在于對所述第一電路和所述第二電路的所述訪問指針都執(zhí)行所述重新初始化。
7.時(shí)鐘同步裝置,用于把數(shù)據(jù)從工作在第一時(shí)鐘的第一電路通過一個(gè)其輸入輸出端可以被獨(dú)立訪問的存儲裝置傳送到按照第二時(shí)鐘工作的電路,該裝置包括存儲裝置,其輸入端和輸出端可以被獨(dú)立訪問;檢測裝置,檢測存入所述存儲裝置的數(shù)據(jù)是否為有效數(shù)據(jù);訪問指針產(chǎn)生裝置,當(dāng)所述檢測裝置判斷為肯定時(shí),響應(yīng)所述時(shí)鐘更新所述存儲裝置的訪問指針,當(dāng)所述檢測裝置判斷為否定時(shí),訪問指針產(chǎn)生裝置響應(yīng)所述時(shí)鐘重新初始化所述存儲裝置的訪問指針;以及輸出裝置,通過用從所述訪問指針產(chǎn)生裝置輸出的訪問指針訪問所述存儲裝置,把與所述第一時(shí)鐘同步輸入的數(shù)據(jù)與所述第二時(shí)鐘同步地輸出。
8.根據(jù)權(quán)利要求7的時(shí)鐘同步裝置,其特征在于所述第一時(shí)鐘的頻率與所述第二時(shí)鐘的頻率不同。
9.根據(jù)權(quán)利要求7或8的時(shí)鐘同步裝置,其特征在于所述存儲裝置的存儲容量N的寬度是在輸出時(shí)鐘快于輸入時(shí)鐘的情況下由以下公式(3)給出的存儲容量寬度與輸入時(shí)鐘快于輸出時(shí)鐘的情況下由以下公式(4)給出存儲容量寬度之和N<n+1…(3)n≤N …(4)這里n=|A-B|×L/max(A,B),其中A是所述第一時(shí)鐘頻率,B是所述第二時(shí)鐘頻率,L是最大組長度,如果A≥B,則max(A,B)代表max(A,B)=A,如果A<B,則max(A,B)=B,N為任意自然數(shù)。
10.根據(jù)權(quán)利要求7、8或9的時(shí)鐘同步裝置,其特征在于僅對所述第二電路的所述訪問指針用所述訪問指針產(chǎn)生裝置執(zhí)行所述訪問指針的重新初始化。
11.根據(jù)權(quán)利要求7、8或9的時(shí)鐘同步裝置,其特征在于僅對所述第一電路的所述訪問指針用所述訪問指針產(chǎn)生裝置執(zhí)行所述訪問指針的重新初始化。
12.根據(jù)權(quán)利要求7、8或9的時(shí)鐘同步裝置,其特征在于對所述第一電路和所述第二電路的所述訪問指針,都用所述訪問指針產(chǎn)生裝置執(zhí)行所述訪問指針的重新初始化。
全文摘要
一種通過減少同步所需的存儲容量而被簡化的時(shí)鐘同步電路。該時(shí)鐘同步電路包括存儲器、寫指針產(chǎn)生電路、數(shù)據(jù)保持檢測電路和讀指針產(chǎn)生電路。數(shù)據(jù)保持檢測電路檢測到存儲器中不存在數(shù)據(jù)時(shí),讀指針產(chǎn)生電路將輸入或輸出時(shí)鐘中的任一個(gè)或全部重新初始化。在完成數(shù)據(jù)寫入存儲器的操作后,由寫指針產(chǎn)生電路和讀指針產(chǎn)生電路更新各指針、并通過往存儲器中寫入數(shù)據(jù)或從存儲器中讀出數(shù)據(jù)把與輸入時(shí)鐘同步輸入的數(shù)據(jù)和輸出時(shí)鐘同步輸出。
文檔編號H04L7/00GK1252658SQ9912200
公開日2000年5月10日 申請日期1999年10月22日 優(yōu)先權(quán)日1998年10月22日
發(fā)明者河內(nèi)義和 申請人:日本電氣株式會(huì)社