專利名稱:自適應(yīng)時鐘恢復(fù)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信系統(tǒng)。
近年來,業(yè)已研制出許多電話、圖像和數(shù)據(jù)通信系統(tǒng),將數(shù)字數(shù)據(jù)流編碼成短的包或單元(cell)來取代采用同步傳輸。對于這種包式傳輸和交換技術(shù)派生出的世界性標(biāo)準(zhǔn)。稱為“異步傳遞方式(ATM)”。雖然網(wǎng)絡(luò)正在向ATM傳輸發(fā)展,但對于現(xiàn)今的同步交換和傳輸系統(tǒng)以及對于端點終端設(shè)備來說,都需要有接口。話音和圖像信道總是需要恒定比特率的、同步的接口。從ATM或別的包式傳輸轉(zhuǎn)換到恒定比特率同步系統(tǒng)的處理基本上需要兩個步驟。第一步是提取出攜載同步比特流的單元有效負載數(shù)據(jù),將它存入一個先進先出(FIFO)存儲器,該FIFO起緩沖存儲器的作用,對突發(fā)單元的到達予以平滑。第二步是根據(jù)平均的數(shù)據(jù)到達比特率來恢復(fù)或?qū)С鲆粋€時鐘,并利用導(dǎo)出的時鐘來對FIFO的數(shù)據(jù)輸出確定節(jié)拍,再按節(jié)拍進入一個傳輸接口電路進行傳輸。從到達的單元/包流的數(shù)據(jù)速率中導(dǎo)出一個精確時鐘速率的過程,稱之為自適應(yīng)時鐘恢復(fù)。
ATM單元流在其單元速率方面經(jīng)常具有短期變動突發(fā)性,對于某些ATM系統(tǒng)來說,變動期的時間量級為1毫秒。所導(dǎo)出的(自適應(yīng)的)時鐘速率必須穩(wěn)定,典型的穩(wěn)定值必須是百萬分之幾(ppm)秒;而就長時期來說,必須精確地跟蹤(數(shù)據(jù))源速率。對于不同的系統(tǒng)和不同的應(yīng)用場合,在要求上有較大的差異。在確定平均進鐘速率方面,基礎(chǔ)性的技術(shù)是在一段時期內(nèi)對到達的ATM單元數(shù)目進行積分。長的積分時間可用于產(chǎn)生低抖動、窄頻帶的時鐘輸出。然而,如果在這種場合下采用“通常的”鎖相環(huán)路(PLL),例如這里所描述的電路配置210(
圖10),則比較長的積分時間將導(dǎo)致許多穩(wěn)定性問題。積分時間與PLL控制環(huán)路中的反饋延時直接有關(guān)系,該反饋延時會使閉環(huán)控制系統(tǒng)有不穩(wěn)定的趨勢。此外,自適應(yīng)時鐘的轉(zhuǎn)換速率(slew rate)會導(dǎo)致更多的反饋延時,對它必須加以限制。阻尼因數(shù)將顯著地造成慢響應(yīng)和不穩(wěn)定運行。在“通常的”PLL環(huán)路中應(yīng)用相位超前或多極點電路來控制阻尼是不實際的,因為對于在短時間上導(dǎo)出所需的相位超前信息來說,單元流有著太多的抖動。另有一條途徑來說明這一點,即輸入信號相位/頻率信息的信噪比使得“通常的”PLL中不便于應(yīng)用雙極點濾波器。在這種場合下,一個(極其)窄帶的PLL中若不采用多極點濾波器,便不能夠?qū)⒆枘嵋驍?shù)有效地調(diào)整到能提供穩(wěn)定的工作。已經(jīng)發(fā)現(xiàn),具有足夠增益和窄帶特性的“通常的”PLL會振蕩。
除了要解決上面所述的阻尼響應(yīng)問題之外,自適應(yīng)時鐘恢復(fù)電路還應(yīng)當(dāng)(1)從突發(fā)的ATM輸入流中得出一個低抖動(窄帶)的時鐘;(2)具有良好的或近乎理想的阻尼穩(wěn)定性;(3)具有快速響應(yīng),它僅受防抖動所必需的積分的限制;(4)具有足夠增益(FIFO電平控制)來滿足時鐘跟蹤和漂移規(guī)范;(5)具有受控的時鐘轉(zhuǎn)換率;(6)保持一個精確的抖動補償延時(緩沖FIFO存儲器排隊電平);(7)可調(diào)整參數(shù)以適合于某種應(yīng)用范圍和需求范圍。
鑒于上面的情況,本技術(shù)領(lǐng)域內(nèi)需求一種改進的電路結(jié)構(gòu),用于從異步數(shù)據(jù)包流中恢復(fù)出同步時鐘,它不象“通常的”鎖相環(huán)路(PLL)結(jié)構(gòu)中那樣,并不依賴于用閉環(huán)調(diào)整來恢復(fù)出同步時鐘頻率。
按照本發(fā)明的一個典型實施例,這種需求得以滿足,并達到技術(shù)先進;這里,存儲在先進先出存儲器例如是FIFO(圖1)中的信息量值的偏離被連續(xù)地監(jiān)測,并且這里的同步時鐘頻率(在此稱作自適應(yīng)線路時鐘頻率)受到調(diào)整,在一個處理器例如微處理器29(圖1)的控制下可用多種模式作方便的調(diào)整。該調(diào)整是根據(jù)所監(jiān)測的偏離中檢測到的編離增加狀態(tài)作出的。重要點在于,所作的調(diào)整都是開環(huán)調(diào)整,不必以所監(jiān)測的偏離為基礎(chǔ)來連續(xù)地調(diào)整自適應(yīng)時鐘頻率。與“通常的”PLL結(jié)構(gòu)相比較,阻尼實質(zhì)上是增加了,這是因為,開環(huán)調(diào)整可得到具有完善的或近乎完善的非周期性阻尼也即無振蕩狀態(tài)的快速頻率校正;而在閉環(huán)結(jié)構(gòu)中,頻率校正之后會跟隨有阻尼振蕩。
本發(fā)明的方法被應(yīng)用在一種包括如下設(shè)備的一種電路安排一個一個異步的、數(shù)據(jù)包式信息接收器,一個諸如FIFO之類的存儲器來存儲接收到的數(shù)據(jù)包式信息,以及一個發(fā)送器,用以根據(jù)自適應(yīng)線路時鐘頻率在一個同步電路上發(fā)送出存儲的信息。該方法包括連續(xù)地監(jiān)測存儲器中存儲的信息量值相對于一個標(biāo)稱值的偏離。當(dāng)檢測到所監(jiān)測的偏離處于增加狀態(tài)時,電路結(jié)構(gòu)按多種模式來調(diào)整自適應(yīng)線路時鐘頻率。
示例性地說明,在第一模式(斜坡-模式1)中,自適應(yīng)線路時鐘頻率被過校正,直至所監(jiān)測到的偏離開始減小。在第二模式(斜坡-模式2或4)中,自適應(yīng)線路時鐘頻率保持恒定,直至所監(jiān)測到的偏離減小到一個預(yù)定的閾值。該示例性的方法還包括連續(xù)地確定一個視在源頻率。在第三模式(斜坡-模式3或5)中,使自適應(yīng)線路時鐘頻率改變,直至自適應(yīng)線路時鐘頻率等于視在源頻率。該視在源頻率是根據(jù)所監(jiān)測到的偏離和自適應(yīng)線路時鐘頻率確定的。在斜坡-模式1到斜坡-模式5中所作的調(diào)整,都是開環(huán)調(diào)整,也即并不是基于所監(jiān)測到的偏離來連續(xù)地調(diào)整自適應(yīng)線路時鐘頻率而實現(xiàn)調(diào)整的。將監(jiān)測到的偏離進行積分以平滑掉數(shù)據(jù)抖動。為使處理時間最小,在算法中不采用乘法。大部分的除法是以2的冪作除數(shù),它們被匯編為左移操作。
圖1示出本發(fā)明的一個示例性自適應(yīng)時鐘恢復(fù)電路圖;
圖2和圖3示出圖1電路配置的響應(yīng)曲線圖;
圖4至圖6示出圖1電路配置中所包括的微處理器執(zhí)行程序的軟件流程圖;
圖7至圖9示出圖1電路配置的附加響應(yīng)曲線圖;
圖10示出現(xiàn)有技術(shù)中“常規(guī)的”鎖相環(huán)電路圖。
圖1是一個示例的自適應(yīng)時鐘恢復(fù)電路10的電路圖,該電路在一個接口上使用,它從線路11上的155Mb/s(兆比特/秒)的異步傳遞模式(ATM)單元流接口到線路22上同步的DS1、1.544Mb/s的恒定比特率電路中。(其它實例的同步數(shù)據(jù)率包括DS3=44.736Mb/s、CEPT1=2.048Mb/s、CEPT3=34.368Mb/s。)如圖1所示,電路10包括有用于將信息從ATM單元流傳送到同步電路的硬件。在另一方向上-從同步電路去往ATM單元流一傳送信息所需的硬件在當(dāng)前的敘述中并不重要,所以圖1中未示出。由于線路11上輸入(incoming)單元流的突發(fā)和異步性質(zhì),故而在線路22上同步地傳送信息所需的時鐘想要應(yīng)用線路11單元流中的邊沿信息或過渡信息來導(dǎo)出是做不到的。線路11上的每個ATM單元是53字節(jié)的數(shù)據(jù)包,包括5字節(jié)的首標(biāo)、1字節(jié)的適配層和47字節(jié)的可用信息有效負載。每個ATM單元代表155Mb/s上的一個53字節(jié)字符組;各單元異步地到達,一般有比較長的開區(qū)間例如8至243毫秒間隔著。電路12執(zhí)行CCITT適配層1處理,包括去除5字節(jié)的單元首標(biāo)和1字節(jié)的適配層,并應(yīng)用線路14上的寫入選通徑由字節(jié)母線13來控制47字節(jié)有效負載去寫入一個先進先出(FIFO)存儲器15。FIFO15例如是集成器件技術(shù)公司(IDT)的存儲量達4096個8比特字節(jié)的72241,該存儲量完全足以存儲在線路22上積累著等候傳輸?shù)娜孔止?jié)數(shù)目。FIFO15與一個例如Fairchild公司的F579增/減計數(shù)器25協(xié)同工作,該增/減計數(shù)器25在任一時刻計數(shù)FIFO15中存儲的字節(jié)數(shù)目。從電路12上每次給FIFO15寫入一個字節(jié)時,線路14上的寫入選通使計數(shù)器25增加1。從FIFO15中每次讀出一個字節(jié)時,線路24上的讀出選通使計數(shù)器25減少1。
在上述作了說明的、從線路35上導(dǎo)出的自適應(yīng)線路時鐘,用來控制從FIFO15向DS1也即線路22上的同步電路傳輸字節(jié)。在本實施例中,線路35上的時鐘頻率可在1.544×106b/s-130ppm到1.544×106b/s+130ppm之間變化。對于同步電路DS1來說,這個變動范圍是容許的。線路35上的這一自適應(yīng)線路時鐘頻率用來操作一個例如仙童公司的F323并/串變換器18和一個線路發(fā)送器21。該線路時鐘頻率由一個例如Fairchild公司的F161A計數(shù)器23除以8,在線路24上得到的字節(jié)時鐘用作讀出選通,以便經(jīng)由字節(jié)母線16、并/串變換器18和線路19從FIFO 15實現(xiàn)有效負載信息的字節(jié)讀出,以便由線路發(fā)送器21在線路22上作為一個DS1電路進行傳輸。發(fā)送器21將一個B8ZS碼插入線路流中,以防止有7個以上接連的0比特在線路22上傳送出。如前面所說明,線路24上的讀出選通還用于使計數(shù)器25遞減計數(shù)。
微處理器29例如是Motorola公司的68070,對于在線路35上導(dǎo)出自適應(yīng)線路時鐘來說,它是電路結(jié)構(gòu)10中一個重要的部分。根據(jù)線路28上接收到的1KHz積分時間定時,微處理器29每毫秒一次地執(zhí)行一個程序(圖4至圖6的流程圖)。程序的執(zhí)行要用250毫秒左右的時間。程序輸入數(shù)據(jù)是經(jīng)由16比特數(shù)據(jù)母線27從計數(shù)器25上讀出的FIFO填充電平。該FIFO填充電平是在0與4095之間的一個12比特數(shù)目,它代表在FIFO15中存儲的字節(jié)數(shù)目。程序輸出數(shù)據(jù)是一個“積分器(integrator)變量,它經(jīng)由母線27傳送到一個數(shù)/模(D/A)轉(zhuǎn)換器30,例如模擬器件公司的8412,該D/A轉(zhuǎn)換器30通過線路31連接5V基準(zhǔn)電壓;線路32上的D/A轉(zhuǎn)換器輸出電壓在0V至5V間變化。D/A轉(zhuǎn)換器30通過線路32向一個壓挖晶體振蕩器(VCXO)33提供控制用輸入信號,該VCXO33例如是AT&T公司的S型VCXO。如果D/A轉(zhuǎn)換器30在線路32上產(chǎn)生出5V電壓作為對VCXO33的控制輸入,則VCXO33會在線路35上傳送出一個頻率為1.544Mb/s+200ppm的自適應(yīng)線路時鐘。當(dāng)D/A轉(zhuǎn)換器30在線路32上產(chǎn)生出2.5V電壓時,VCXO33傳送出1.544Mb/s的頻率。而若D/A轉(zhuǎn)換器在線路32上給出OV電壓時,VCXO33將傳送出1.544Mb/s-200ppm的頻率。在本實施例中,線路32上的控制用輸入信號并非在0V與5V之間變化;其電壓的變化是使線路35上的自適應(yīng)時鐘頻率被控制在1.544Mb/s-130ppm與1.544Mb/s+130ppm之間。線路32包括一個防混疊濾波器(圖1中未示出),用來除去線路32上小的階梯函數(shù)效應(yīng)。由于不需在線路35上以高速率轉(zhuǎn)換時鐘頻率,所以防混疊濾波器具有較大的RC時間常數(shù),例如R=2.2KΩ,C=33μF。
時基抖動通常是模擬通信線路失真的一種類型,它是由信號相對于基準(zhǔn)定時位置有變動造成的,將會導(dǎo)致數(shù)據(jù)傳輸誤差,尤其是在高速傳輸時。這種變動可以是幅度上的、時間上的、頻率上的或相位上的。在當(dāng)前的應(yīng)用中,抖動更具體地指的是期望的(定期的)單元流到達時間與實際的單元流到達到時間之間的差別。電路結(jié)構(gòu)10是按線路11上的入局單元流有最壞情況的抖動設(shè)計的,即從DS3速率時的0.3毫秒到DS1速率時的3毫秒。在DS3之類高速率上的限制因素,是FIFO的規(guī)模。抖動產(chǎn)生的原因有1)在不同的等時ATM源之間由速率差拍造成的群聚效應(yīng);和/或2)在一個ATM交換系統(tǒng)中由多徑造成的統(tǒng)計排隊延時,它們被其它業(yè)務(wù)暫時地中斷。一般,群聚效應(yīng)比統(tǒng)計排隊引起的延時量小;群聚延時是有規(guī)律地發(fā)生的。
圖2和圖3是用來幫助理解電路配置10的工作的響應(yīng)曲線圖。圖2和圖3中,在90秒時間段上畫出了三個程序變量“fill-level-err”(填充-電平-誤差)、“integrator”(積分器)和“integrator-float”(積分器-浮動)。變量“填充-電平-誤差”代表FIFO中存儲的信息量值對一個標(biāo)稱值的偏離。圖2是對初始源時鐘誤差的響應(yīng)(FIFO過填充狀態(tài)),初始狀態(tài)是自適應(yīng)時鐘頻率(“積分器”)比源時鐘慢60ppm。所以,F(xiàn)IFO15中存儲的字節(jié)數(shù)目在標(biāo)稱值之上增加到最大值30字節(jié)(FIFO過填充狀態(tài))。當(dāng)FIFO15中的字節(jié)數(shù)目開始增加時,電路10被置于斜坡-模式1,自適應(yīng)時鐘頻率(“積分器”)增加(過校正)到超過源時鐘50ppm的一個點上。當(dāng)FIFO填充電平誤差(“fill-level-err”)增加到30字節(jié)時,便減少一個規(guī)定的量值(“DEF-pole(極點)-2D”=5字節(jié)),電路10被置于ramp-mode(斜坡-模式)4,自適應(yīng)時鐘頻率(“積分器”)恒定地保持于源時鐘之上50ppm,以對FIFO15給出時間來清除些+30字節(jié)。當(dāng)FIFO填充電平誤差減少到一個預(yù)定的閾值(“DEF-ramp-db”=10字節(jié))時,電路配置10被置于斜坡-模式5,自適應(yīng)時鐘頻率(“積分器”)線性地下降(其速率比例于前面所需的過校正量值)到一個值,它等于視在源頻率(“integrator-float”(“積分器-浮動”)),然后電路配置10被置于ramp-mode(斜坡-模式)0??焖俚木€性下降產(chǎn)生出減小了長度的校正周期。自適應(yīng)時鐘頻率(“積分器”)的下降到0是在離坐標(biāo)源點正好不到8秒時發(fā)生的。(程序還包括防護性校驗,如果視在源頻率(“積分器-浮動”)并非可靠地估值,則程序?qū)⑼V棺赃m應(yīng)時鐘頻率(“積分器”)的下降。)需要指出,這里不存在進一步的振蕩-這可稱為完善的非周期性阻尼?!疤畛?電平-誤差”和“積分器-浮動”兩條曲線均隨時間逐漸下降(圖2中示出90秒的總時間)。在斜坡-模式0中,程序包括了很慢的校正,它能在1.0-1.5分鐘內(nèi)將FIFO填充電平誤差校正為幾個字節(jié),使得自適應(yīng)時鐘頻率(“積分器”)能準(zhǔn)確地等于源頻率。
圖3示出對初始源時鐘誤差的響應(yīng)(FIFO欠填充狀態(tài)),初始狀態(tài)是自適應(yīng)時鐘頻率(“積分器”)比源時鐘快60ppm。所以,F(xiàn)IFO15中存儲的字節(jié)數(shù)目減少到比標(biāo)稱值低達30字節(jié)處(FIFO欠填充狀態(tài))。當(dāng)FIFO15中的字節(jié)數(shù)目開始減少時,電路配置10被置于斜坡-模式1,自適應(yīng)時鐘頻率(“積分器”)下降到低于源時鐘50ppm的一個點上。當(dāng)FIFO填充電平誤差(“填充-電平-誤差”)下降到-30字節(jié)時,便增加一個規(guī)定的量值(“DEF-pole(極點)-2D”=5字節(jié)),電路配置10被置于斜坡-模式2,自適應(yīng)時鐘頻率保持恒定,保持在源時鐘之下50ppm,以對FIFO15給出時間來存儲附加的字節(jié)。當(dāng)FIFO填充電平誤差改變到標(biāo)稱值之下一個預(yù)定的閾值(“DEF-斜坡-db”=10字節(jié))時,電路配置10被置于斜坡-模式3,自適應(yīng)時鐘頻率(“積分器”)線性地增加(其速率比例于前面所需的過校正量值)到一個值,它等于視在源頻率(“積分器-浮動”),然后電路配置10置于斜坡-模式0??焖俚木€性增加產(chǎn)生出減小了長度的校正周期。自適應(yīng)時鐘頻率(“積分器”)的增加到0是在離坐標(biāo)原點正好不到8秒時發(fā)生的。(程序還包括防護性校驗,如果視在源頻率(“積分器-浮動”)并非可靠地估值,則程序停止自適應(yīng)時鐘頻率(“積分器”)的增加。)需要指出,這里不存在進一步的振蕩,即具有完善的非周期性阻尼?!疤畛?電平-誤差”和“積分器-浮動”兩條曲線隨時間逐漸上升(圖3中示出90秒的總時間)。在斜坡-模式0中,程序包括了很慢地校正,它能在1.0-1.5分鐘內(nèi)將FIFO填充電平誤差校正為幾個字節(jié),使得自適應(yīng)時鐘頻率(“積分器”)能準(zhǔn)確地等于源頻率。
FIFO15的標(biāo)稱填充電平為7個ATM單元,或即7×47=329字節(jié)。FIFO15中存儲的ATM單元最大數(shù)目是60單元或即60×47=2820字節(jié)。標(biāo)稱填充電平是在對付抖動上和對付起動所致偏差(初始時鐘捕捉)上所需的最小值,因而有著最小延時。對視在源頻率(“積分器-浮動”)的估值應(yīng)用了自適應(yīng)時鐘頻率(“積分器”)和FIFO填充電平誤差(“填充-電平-誤差”)兩者的加權(quán)組合。實現(xiàn)這估值主要是去控制自適應(yīng)時鐘頻率(“積分器”)的阻尼。需要指出,視在源頻率(“積分器-浮動”)比之自適應(yīng)時鐘頻率(“積分器”)變動得更慢。這部分地是基于如此的假定,即源時鐘頻率的變動恰是十分平緩的。自適應(yīng)時鐘頻率(“積分器”)用來校正FIFO偏差,此類偏差起因于1)與源頻率的失配;2)在ATM網(wǎng)絡(luò)中數(shù)據(jù)的得益或損失。FIFO填充電平誤差(“填充-電平-誤差”)與自適應(yīng)時鐘頻率(“積分器”)協(xié)同地起響應(yīng)。
自適應(yīng)時鐘恢復(fù)方法是在微處理器29(圖1)中執(zhí)行的一個數(shù)字信號處理程序,去控制可變的晶體振蕩器(VCXO)33。該程序以1KHz的取樣頻率執(zhí)行。自適應(yīng)時鐘提供“通常的”PLL功能,但具有不能由“通常的”PLL精確跟蹤的輸入信號條件。在自適應(yīng)時鐘恢復(fù)電路配置10中,F(xiàn)IFO15的填充電平對程序提供輸入。如果對突發(fā)的數(shù)據(jù)流能施加以充分的積分(截止頻率為1Hz左右的低通濾波器),則能從突發(fā)的數(shù)據(jù)流中確定出準(zhǔn)確的源時鐘速率。采用數(shù)字積分法,容易做出這低通濾波器。濾波器/積分時間由輸入抖動、鎖定時間、時鐘抖動和漂移要求等來確定。
實現(xiàn)自適應(yīng)時鐘恢復(fù)時的困難點在于,以良好的阻尼和穩(wěn)定性來作出窄帶濾波器。“通常的”PLL在時鐘校正與檢測得的響應(yīng)之間有很大的相位/時間滯后。FIFO在電路中的作用象一個彈簧,對校正用反饋管加以延時。FIFO中的抖動使電路不能識別出小的校正。長時間常數(shù)的積分濾波器緩解了這種環(huán)路延時問題。另外,不象“通常的”PLL,電路結(jié)構(gòu)10中的FIFO15能記憶過去的時鐘誤差和丟失的數(shù)據(jù)。這些過去的狀態(tài)必須由時鐘擺動的過校正來予以校正,以使FIFO正?;?。在這種類型的應(yīng)用中,“通常的”PLL超前/滯后阻尼濾波器是無效的。
本示例性實施例的算法,開發(fā)出來用于自適應(yīng)時鐘恢復(fù)和解決上面說明的環(huán)路阻尼與穩(wěn)定性問題。首先,確定出三個輸入信號,它們是視在源頻率、FIFO填充電平誤差和誤差方向(增加/減少)。然后,對當(dāng)前的時鐘頻率誤差和FIFO電平狀態(tài)計算校正量。這種校正是按照一個開環(huán)的、按比例地斜坡升和斜坡降的VCXO33控制信號來執(zhí)行。對校正的速率(斜坡斜率)、幅度和時間作出計算以便校正誤差,而不需要自FIFO電平誤差來的連續(xù)的反饋;這稱作開環(huán)調(diào)整。(斜坡-模式1、2、3、4、5對應(yīng)于開環(huán)調(diào)整。)在校正周期的終端,F(xiàn)IFO的電平和時鐘一般處在它們的靜態(tài)零點上,即使時鐘在校正周期中坡斜得過陡也是這樣。當(dāng)精確地確定出誤差時,總的阻尼響應(yīng)是非周期性的(無下沖或上沖)。
對FIFO電平誤差信號進行積分,以提供出對數(shù)據(jù)抖動附加的濾波。這一積分時間是個重要的參數(shù),決定了自適應(yīng)時鐘的部分阻尼響應(yīng)。由于自適應(yīng)時鐘斜坡升/降的控制判決是在FIFO電平誤差數(shù)據(jù)的模糊邏輯上作出的,所以在自適應(yīng)時鐘恢復(fù)電路配置10變到失鎖之前,應(yīng)用若干個探索性檢驗和校正來檢測和防止錯誤的時鐘斜坡變動。
在模擬運行中,對于1.5至45MHz的時鐘速率已經(jīng)達到了優(yōu)良的時鐘穩(wěn)定性、阻尼響應(yīng)和FIFO電平控制。在時鐘輸出中完全不存在抖動。
對于有著大的抖動的輸入數(shù)據(jù)流,要想從其中直接導(dǎo)出具有極小抖動的精確時鐘時,示例的自適應(yīng)時鐘恢復(fù)方法對那樣的系統(tǒng)是很有用的。對于輸入信號中伴隨著噪聲,在控制響應(yīng)上有大的滯后的其它一些系統(tǒng),該方法也很有用。對此方法可加以比例化和協(xié)調(diào)化,以在寬廣的范圍內(nèi)應(yīng)用。
圖4至圖6示出由微處理器29執(zhí)行的自適應(yīng)時鐘程序所用的軟件流程圖,程序的作用和算法將在這里說明。請注意,圖4至圖6中的程序框參考在后面列出的程序文本中的具體代碼行號。
自適應(yīng)時鐘程序在1毫秒時間間隔上執(zhí)行。這一速率選擇得能提供出勻滑的、4096步控制的VCXO,因而接近于模擬控制電路。程序可以用0.9至1.1毫秒范圍內(nèi)的平均執(zhí)行間隔來運行,在這樣的速率上對抖動變化并不敏感。重要的是應(yīng)該知道,圖4至圖6的流程圖及這里相應(yīng)的敘述是說明在一段時間上程序的運行;它們示明了單個程序以上的程序執(zhí)行。
可變的“clk-tic”(圖4,框101)是個32比特計數(shù)器,在每個執(zhí)行時間間隔計數(shù)值加1,在整個程序中它用作一個定時器。由定時時標(biāo)的一個二-十進制變換來觸發(fā)事件和過程算法,而定時時標(biāo)是按一種協(xié)調(diào)參數(shù)作出規(guī)范的。例如,一個1秒事件的定時以二-十進制時標(biāo)參數(shù)1024-1來實施,它給出1024個1ms“clk-tic”的時間。
程序只有一個輸入量(框102),它是外部緩沖存儲器FIFO15中的字節(jié)數(shù)目。從外部硬件增/減計數(shù)器25來的含有FIFO填充電平的一個讀出值裝入可變的“FIFO”。FIFO15必須容量足夠大,能緩沖吸收最壞情況的單元延時,并加上時鐘捕獲時間期間供排隊用的寬裕量。
由程序流程中的第一算法在變量“積分器-浮動”中產(chǎn)生一個值,依據(jù)積分器計數(shù),該變量“積分器-浮動”總包括含有一個估值的原始頻率,或者視在源頻率。這一算法也可以在程序的終端放置和執(zhí)行。
理想上,原始頻率應(yīng)當(dāng)?shù)扔贔IFO數(shù)據(jù)到達比特率,它即是視在源頻率。在程序的靜態(tài)或鎖定狀態(tài)(斜坡-模式0)中,“積分器-浮動”的值等于變量“積分器”?!胺e分器”變量提供出主(極點1)積分累加器功能,并直接控制VCXO33的頻率。“積分器-浮動”的值被顯現(xiàn)為“積分器”和“填充-電平-誤差”中兩值的加權(quán)和比例組合。參見程序文本中確切的邏輯。變量“積分器-浮動”是另一個積分器加器,它的積分時間常數(shù)大約是極點1變量“積分器”的兩倍。在一個開環(huán)校正周期的終端,它達到其最終值,從而應(yīng)等于“積分器”中的值。變量“積分器-浮動”不對“積分器”的較快的變化起響應(yīng)。變量“積分器”較快地響應(yīng)于源頻率變化的超前校正,并且就這一個或者就數(shù)據(jù)損失使FIFO電平正?;S伞胺e分器”控制的VCXO33時鐘也被過校正一小段時間,以在頻率變化之后使FIFO15正?;?。變量“積分器-浮動”不被過校正,但就在校正周期結(jié)束時,它達到其新的基線電平。主FIFO和時鐘校正環(huán)路用“積分器-浮動”來確定在FIFO電平校正作出之后它返回到(或者向下坡斜到)何處。當(dāng)時鐘發(fā)生變化而僅使FIFO電平正常化之后,這個算法又使“積分器-浮動”返回到原來的原始源頻率上。從圖8中可以看到這一點。(其它傳輸電路中的誤差狀態(tài)會使得有數(shù)據(jù)加上或丟失,而源時鐘頻率方面沒有變化。)
對產(chǎn)生出變量“積分器-浮動”的諸參數(shù),是由畫出“積分器”、“積分器-浮動”和“填充-電平-誤差”的響應(yīng)曲線,并將它們調(diào)整到得出填充-電平-誤差和積分器(VCXO33頻率)變量的最大阻尼(下沖/上沖最小或沒有)來確定的。“積分器-浮動”達到其新的原始值,與“填充-電平-誤差”的達到零相一致。示出這種交點的曲線示于圖2和圖3。
框103的算法連續(xù)地對視在源頻率估值,以便在作出任一個開環(huán)時鐘或FIFO電平調(diào)整之后,能使電路返回到正確的頻率上。該算法用作整個電路方面阻尼因數(shù)的主要控制。
流程圖中的下一個算法(框104)實現(xiàn)一種預(yù)積分或抖動平滑操作。它濾除掉出現(xiàn)在變量“FIFO”之內(nèi)大部分的數(shù)據(jù)到達(FIFO填充電平)抖動。該算法的輸出是一個稱為“FIFO-浮動”的新變量。在每一個由參數(shù)“DEF-浮動-慣性(inertia)-時標(biāo)(mask)”規(guī)定的周期內(nèi),“FIFO-浮動”跟蹤“FIFO”1字節(jié)的數(shù)目。對于DS1速率的時鐘實現(xiàn),該參數(shù)適定于八進制37,每32毫秒它給出一個事件。“FIFO-浮動”中每32毫秒內(nèi)1個數(shù)據(jù)字節(jié)的最大移動等同于DS1時鐘的變化為162ppm/s。在這一處理中,超過162ppm的所有抖動變動都被平滑掉或棄置不顧。此種操作對實際的FIFO電平?jīng)]有影響,而只影響由程序的其余部分處理的視在電平。該參數(shù)必須設(shè)定到這樣的值,它能使視在的FIFO速率變化大于VCXO33的最大轉(zhuǎn)換率,例如是該轉(zhuǎn)換率的兩倍。
框104的方法可預(yù)濾掉數(shù)據(jù)到達的抖動,并跟蹤FIFO數(shù)據(jù)電平變動于額定的速率變化之下,單位為ppm/s。這方法免除了用前端FIFO來勻滑數(shù)據(jù)到達的抖動的需求。
下一個重要的程序語句(框105)使變量“填充-電平-誤差”初始化,這是從“FIFO-浮動”中減去參數(shù)“DEF-正常(normal)-填充-電平”。變量“填充-電平-誤差”是一個帶符號的值,表明FIFO電平對預(yù)定標(biāo)稱值的偏離。在程序的其余部分中它用作開環(huán)誤差信號。正的值指明FIFO電平在增加,VCXO33必須變化到一個較高的頻率上來使之正?;?br>
下面的算法(框106和框107)通過計算出的時鐘校正來產(chǎn)生主要控制狀態(tài)以供該開環(huán)應(yīng)用。
由框106的算法判定,將視行的“填充-電平-誤差”與“舊(old)-填充-誤差”中先前的誤差狀態(tài)相比較時,填充電平誤差是否在減小。依靠僅對FIFO填充電平中的變化起響應(yīng)以在這一檢測中將滯遲作用組合進來,而這類變化是指超過參數(shù)“DEF-極點-2D”中額定字節(jié)的數(shù)目。這種滯遲作用減小了由余留在變量“填充-電平-誤差”中的數(shù)據(jù)到達的抖動造成的錯誤檢測之?dāng)?shù)目。然后,由填充電平誤差是否在減小的檢驗(框106)判定自適應(yīng)時鐘變化的方向。對于FIFO欠填充狀態(tài),自適應(yīng)時鐘將處在比源時鐘低的頻率上(積分器值在中心頻率點之下);對于過填充(正)狀態(tài),自適應(yīng)時鐘將處在比源時鐘高的頻率上(積分器值在中心頻率點之上)。如果在前面的執(zhí)行期間填充電平誤差在減小,則除了將“舊-填充-誤差”更新為“填充-電平-誤差”中的當(dāng)前誤差之外,不發(fā)生其它作用。然而,如果“斜坡-模式”中先前的狀態(tài)等于1(增加模式),則這一事件變?yōu)樵黾?減少的變化。
“增加-減少”事件有重要意義,因為它判定,自適應(yīng)時鐘VCXO33已超過“視在”源時鐘頻率。這一事件用來啟動斜坡-模式2或4,它將會停止進一步(增加)的時鐘校正,并保持住“積分器”中的視行頻率。對于欠填充的FIFO15,變量“斜坡-模式”設(shè)定于狀態(tài)2;對于過填充的FIFO15,變量“斜坡-模式”設(shè)定于狀態(tài)4。變量“斜坡(ramp)-斜率(slope)”被初始化以控制這樣的速率,即在此速率下時鐘返回(斜坡降)到原始頻率。(要回想到,時鐘已過校正得FIFO15正常化。)對存儲于變量“斜坡-斜率”和“填充-誤差-dx”中的斜坡斜率速率進行計算,成為由參數(shù)“DEF-div(除法)-X”確定的“填充-電平-誤差”的一個分數(shù)率。斜坡降的斜率是與這一事件超始處FIFO電平誤差成比例的。
框106的方法指出,VCXO時鐘校正在何時等于視在源頻率(數(shù)據(jù)所達速率)???06的方法還計算出這樣的速率,在此速率上時鐘返回或即斜坡降(斜坡-斜率)到原始頻率,并當(dāng)達到原始頻率的時候,F(xiàn)IFO填充誤差也將達到零。
當(dāng)填充誤差減小的檢驗完成之后,程序進入填充誤差增加的檢驗(框107)。增加的方向決定于舊-填充-誤差與視行填充誤差的比較。這個工作與減小的檢驗是一樣的,只是舊的與新的倒換。對于增加的檢驗,舊的與新的填充-電平-誤差之間的差別必須超過參數(shù)DEF-極點-2I。在對一個增加的事件作出響應(yīng)之前,先要進行進一步的檢驗。如果斜坡-模式表明時鐘斜坡-下降(狀態(tài)3或5),或是填充誤差處在空(null)誤差(停滯帶段(deadband))區(qū)域,則對增加的事件置之不顧。讓這些檢驗通過,將斜坡-模式置于1,并將斜坡-斜率置于值“填充-誤差-dx”。
參數(shù)“DEF-極點-2D”除了為增加-減少的檢驗提供滯遲作用外,還控制自適應(yīng)時鐘過沖的量值。過沖(過校正)的受控量用來在源時鐘速率滿足之后使FIFO15填充電平正常化。數(shù)值的確定依靠畫出響應(yīng)曲線,并調(diào)整到約75%的時鐘過沖(源時鐘頻率與自適應(yīng)時鐘頻率之間初始差別的75%過校正)。由過沖量確定使FIFO15正?;臅r間。
框106和框107的方法能可靠地判定,在存在高的數(shù)據(jù)到達抖動的情況下,F(xiàn)IFO15電平誤差是增加的或是減小的。框106的方法還控制使FIFO填充電平正?;璧臅r鐘過校正量值。
一旦處于增加的填充誤差模式(斜坡-模式1),將每一時間段內(nèi)斜坡-斜率中的校正量疊加到“積分器”的當(dāng)前值上。需要指出,由于所需的時鐘校正會是趨向較高的頻率或是較低的頻率(圖6的框114),所以斜坡-斜率可能包含正的值或是負的值。這個代數(shù)和使積分器值斜升,將VCXO33頻率驅(qū)動到這樣的值,它滿足并隨后超過源頻率。當(dāng)超過視在源頻率時,F(xiàn)IFO填充電平誤差開始減小。它不象大多數(shù)連續(xù)反饋的閉環(huán)系統(tǒng)中那樣,當(dāng)誤差減小時斜坡-斜率的速率并不逐漸減小。這種方法使誤差收斂時間最小。過沖受斜坡-模式2至5的運行的控制。
框114(圖6)的方法實現(xiàn)主要(極點1)積分作用。
框108(圖5)是轉(zhuǎn)移(斜坡-模式)語句,行號代碼#208。時鐘斜坡模式提供出保持、過校正和斜坡降等幾種功能。模式2(轉(zhuǎn)移語句中的事例2)保持于負的填充電平誤差,它引出模式3以使斜坡降。模式4保持于正的填充電平誤差,相應(yīng)的斜坡降是模式5。斜坡-模式2和4由減小的填充誤差檢驗算法調(diào)用(框106)。在減小的事件的開始(增加的誤差轉(zhuǎn)到減小的誤差),自適應(yīng)時鐘VCXO33滿足源時鐘速率,然后超過源時鐘速率一個受控的量值。初始時,F(xiàn)IFO15填充電平將脫離開其標(biāo)稱值,這是因為,當(dāng)時鐘速率正收斂時,在增加的誤差模式時段內(nèi)FIFO15填充電平獲得或丟失數(shù)據(jù)。斜坡模式2和4(圖5中的框109和框111)可使時鐘過沖狀態(tài)保持恒定,直至FIFO15填充電平向標(biāo)稱值收斂,滿足參數(shù)“DEF-斜坡-db”中規(guī)定的閾值。這一參數(shù)設(shè)定于一個FIFO電平校正點,它給出時間供自適應(yīng)時鐘積分器值得以斜坡下降,并恰好當(dāng)“填充-電平-誤差”達到零時下降到原始(源)頻率。各參數(shù)均設(shè)定正確后,所得結(jié)果是個非周期性響應(yīng)(時鐘過沖或下沖很小或者不存在),而“通常的”PLL其情況一般不是這樣的。對于在源時鐘與自適應(yīng)時鐘VCXO33之間有大范圍初始頻率差的情況,一般也能達到上面的結(jié)果。
如圖5中所示,斜坡下降的“斜坡-模式”是斜坡-模式3(框110)和斜坡-模式5(框112)。當(dāng)斜坡-模式3和5完成了斜坡-下降而到達“積分器-浮動”中的原始積分器值時,它們將斜坡-模式設(shè)定于0,并脫離開轉(zhuǎn)移語句。斜坡-模式0是開環(huán)控制算法(斜坡-模式1-5)的靜止?fàn)顟B(tài)。如果有完善的非周期性阻尼,自適應(yīng)頻率將與源頻率協(xié)配,且FIFO將在標(biāo)稱電平上。如果余留的空(null)誤差大于參數(shù)“DEF-停滯(dead)-帶段(band)”,則由增加的誤差檢測算法啟動一個新序列(框107)。當(dāng)時鐘不相同且FIFO填充電平脫離開標(biāo)稱值時,在電路啟動期間內(nèi)需要有一個以上的周期。這一點,可從圖9中40秒上的二次校正周期看出。
框109和框111的方法是在FIFO電平調(diào)整好之前保持住過校正的自適應(yīng)時鐘狀態(tài)???10和框112的方法是使自適應(yīng)時鐘頻率坡斜地下降,當(dāng)FIFO填充誤差趨近零時達到源頻率。
斜坡-模式0是靜止?fàn)顟B(tài),當(dāng)“填充-電平-誤差”處于一個小的停滯帶段范圍內(nèi)時,進入該斜坡-模式0。參數(shù)“DEF-停滯-帶段”規(guī)定了斜坡-模式1-5的停滯帶段。在DS1速率的場合下設(shè)定于8,它允許+/-8字節(jié)的空誤差范圍。斜坡-模式0(框113)對積分器值加上一個直接(閉環(huán))反饋校正值,它在由參數(shù)“DEF-事例0-速率”規(guī)定的速率上加1或減1。校正速率非常低,該環(huán)路的自然頻率約為1/60Hz。環(huán)路在自然環(huán)路頻率上振蕩,在短時期內(nèi)“填充-電平-誤差”的偏離通常不超過+/-2字節(jié),而在60秒內(nèi)平均為0字節(jié)。應(yīng)當(dāng)指出,自適應(yīng)時鐘頻率的跟蹤/漂移誤差是與空誤差上的FIFO填充電平誤差有關(guān)聯(lián)的。
框103(圖4)的方法中在空誤差點上加入一個量十分小的閉環(huán)反饋,以在其環(huán)路頻率的一個周期內(nèi)使FIFO填充-電平空誤差減小到零。
自適應(yīng)時鐘程序的最后作用是將變量“積分器”的內(nèi)容寫入D/A轉(zhuǎn)換器30,它控制VCXO33的頻率(圖6中框115)。這一作用將16比特的變量“積分器”標(biāo)度給參數(shù)“DEF-VCXO-范圍-因數(shù)”中規(guī)定的控制范圍,然后將所標(biāo)度的值偏稱到VCXO33的中心頻率點,它在參數(shù)“DS1-VCXO-DAC-中心”內(nèi)規(guī)定出。這個被標(biāo)度的和定中心的值寫入到D/A轉(zhuǎn)換器30的地址中,并且自適應(yīng)程序返回到呼叫程序或中斷電平。
對于有著大的抖動的輸入數(shù)據(jù)流,要想從其中直接導(dǎo)出具有極小抖動的精確時鐘時,該自適應(yīng)時鐘技術(shù)和算法對那樣的系統(tǒng)是很有用的。對于輸入信號中伴隨著噪聲,在控制響應(yīng)上有大的滯后的系統(tǒng),該方法也很有用。對此方法可加以比例化和協(xié)調(diào)化,以在寬廣的范圍內(nèi)應(yīng)用。
本實施例中所敘述的程序?qū)τ谛∫?guī)模式處理器中的執(zhí)行速度來說是最佳的。一個約1MIP容量的16比特處理器可以并行地處理4個自適應(yīng)時鐘電路。它不使用乘法操作,許多算法產(chǎn)生出近似值來代替精確的計算。不過,可以加上一些計算來使協(xié)調(diào)的建立減至最小,并在寬廣的運用狀態(tài)下改善阻尼效應(yīng)來達到非周期性響應(yīng)。該程序表如下
123456789101112131415161718192021222324252627282930 /* t1_adc.c source file */3132 1{33 134 1 /* local DEFinitions arranged as variables for tuning*/35 136 1 /* Tuning Notes : DS137 1 Pole2I = 6 for low jitter,8 for moderate cell jitter38 1 Pole2D = 4 for low jitter,6 for moderate jitter
65 1 static short DEF_integ_adj_ratio = 4096;
66 1 static short DEF_fill_adj_ratio = 8;
67 1 static short DEF_adj_lim = 3;
68 1 static short DEF_case0_rate = 07;
69 1 static short DEF_case0_db = 1; /* null dead-band */70 171 1 /* local static variables */72 1 static long old_fill_err;
73 1 static long damp_err;
74 1 static long fill_level_err;
75 1 static long fill_err_unf;
76 1 static long integrator = DS1_integrator_center;
77 1 static long integrator_float = DS1_integrator_center;
78 1 static long scaled_integrator;
79 1 static long clk_tic;
80 1 static long ramp_mode;
81 1 static long ramp_slope;
82 1 static long fill_err_dx;
83 1 static long integ_float_adj;
84 1 static long fill_adj;
85 1 static long FIFO;
86 1 static long FIFO_float;
87 1 static u_short dac_loc;
88 1 static long dead_band;
89 190 191 1 clk_tic = clk_tic + 1;
92 1 94 195 1 /******** Adaptive clk initialization ************/96 1 if (adclk_ckt_init == TRUE)97 2 {98 2 adclk_ckt_init = FALSE;
99 2100 2 integrator = DEF_integrator_center;
101 2 integrator_float = integrator;
102 2 damp_err = 0;
103 2 ramp_mode = 0;
104 2 clk_tic = 0;
105 2 old_fill_err = 0;
106 2 fill_level_err = 0;
107 2 FIFO_float = FIFO;
108 1 }109 1 116 2 fill_adj = fill_level_err / DEF_fill_adj_ratio;
117 2118 2 if (integ_float_adj > DEF_adj_lim)119 2 integ_float_adj = DEF_adj_lim;
120 2121 2 if (integ_float_adj < -DEF_adj_lim)122 2 integ_float_adj = -DEF_adj_lim;
123 2124 2 if (fill_adj > DEF_adj_lim)125 2 fill_adj = DEF_adj_lim;
126 2127 2 if (fill_adj < -DEF_adj_lim)128 2 fill_adj = -DEF_adj_lim;
129 2 131 1 }132 1133 1 if ((clk_tic & DEF_float_inerita_mask) == 0)134 2 {135 2 if (FIFO > FIFO_float)136 2 FIFO_float = FIFO_float + 1;
137 2138 2 if (FIFO < FIFO_float)139 2 FIFO_float = FIFO_float - 1;
140 1 }141 1142 1143 1 fill_level_err = FIFO_float - DEF_normal_fill_level;
144 1 fill_err_unf = FIFO - DEF_normal_fill_level;
145 1 147 1148 1 fill_err_dx = fill_level_err / DEF_div_x;
149 1 dead_band = fill_level_err / DEF_dead_band;
150 1151 1152 1 /* decreasing error */ 154 2 {155 2156 2 old_fill_err = fill_level_err;
157 2158 2 /* Increasing turns to decreasing */159 2 if (ramp_mode == 1)160 3 {161 3 ramp_mode = 2;
163 2 }164 2165 1 }166 1167 1 169 2 {170 2171 2 old_fill_err = fill_level_err;
172 2173 2 /* Increasing turns to decreasing */174 2 if (ramp_mode == 1)175 3 {176 3 ramp_mode = 4;
178 2 }179 2180 1 }181 1182 1 /* increasing error */ 184 2 {
185 2186 2 old_fill_err = fill_level_err;
187 2 189 3 {190 3 damp_err = fill_err_dx;
191 3 ramp_mode = 1;
192 2 }193 1 }194 1195 1 197 2 {198 2199 2 old_fill_err = fill_level_err;
200 2 202 3 {203 3 damp_err = fill_err_dx;
204 3 ramp_mode = 1;
205 2 }206 1 }207 1208 1 switch (ramp_mode)209 2 {210 2 case 0:
211 2 case 1:
212 2213 2 if ((clk_tic & DEF_case0_rate) == 0)214 3 {215 3216 3 if (fill_err_unf > DEF_case0_db)217 3 integrator = integrator + 1;
218 3219 3 if (fill_err_unf < -DEF_case0_db)220 3 integrator = integrator - 1;
221 2 }222 2223 2 break;
224 2225 2 case 2:
226 2 damp_err = 0;
227 2228 2 if (fill_level_err > -DEF_ramp_db)229 3 {230 3 ramp_mode = 3;
231 2 }232 2 break;
233 2234 2 case 3:
235 2 damp_err = -ramp_slope;
236 2 238 3 {239 3 ramp_mode = 0;
240 3 damp_err = 0;
241 3 old_fill_err = fill_level_err;
242 2 }243 2 break;
244 2245 2 case 4:
246 2 damp_err = 0;
247 2248 2 if (fill_level_err < DEF_ramp_db)249 3 {250 3 ramp_mode = 5;
251 2 }252 2 break;
253 2254 2 case 5:
255 2 damp_err = -ramp_slope;
256 2 258 3 {259 3 ramp_mode = 0;
260 3 damp_err = 0;
261 3 old_fill_err = fill_level_err;
262 2 }263 2 break;
264 1 }265 1266 1 integrator = integrator + damp_err;
267 1268 1 if (integrator < 0)269 1 integrator = 0;
270 1
圖7示出對瞬態(tài)誤差的響應(yīng)曲線FIFO15丟失數(shù)據(jù)1個單元有效負載或47字節(jié)),表明自適應(yīng)時鐘頻率(“積分器”)相對于源時鐘的時間曲線如FIFO填充電平誤差(“填充-電平-誤差”)的時間曲線。曲線表明電路配置10(圖1)對一個瞬態(tài)誤差的響應(yīng),該瞬態(tài)誤差是FIFO丟失一個單元有效負載(47字節(jié)或47個8比特組)。填充電平誤差曲線表明暫時單元丟失及自適應(yīng)時鐘對此的響應(yīng)-比源時鐘低下60ppm。需要指出,這里有半個周期的過沖時間或阻尼穩(wěn)定時間。電路配置10已作出最佳設(shè)計,使它對于跟蹤源時鐘變化比之對于瞬態(tài)數(shù)據(jù)誤差提供出更好的阻尼特性。
圖8示出初始FIFO誤差(1單元有效負載或47字節(jié))對初始源時鐘無誤差的響應(yīng)曲線,表明自適應(yīng)時鐘頻率(“積分器”)相對于源時鐘的時間曲線、FIFO填充電平誤差(“填充-電平-誤差”)的時間曲線和視在源頻率(“積分器-浮動”)的時間曲線。圖8的情況與圖7的類同,與圖7的差別僅在于單元丟失在這里發(fā)生于起始的填充電平誤差。此外,這里也畫出了變量“積分器-浮動”的曲線。起始期或即時鐘捕捉期得以大為減短,其方法是在自適應(yīng)時鐘算法啟動之前,在起始時將FIFO電平初始化于“DEF-正常-填充-電平”值。這個工作也由微處理器29按下面的程序來完成。當(dāng)電路不起作用時,讀出選通24阻塞,線路發(fā)送器21傳送出全1的置閑碼(DS1的AIS信號)。當(dāng)單元流的到達被檢測到并穩(wěn)定后,F(xiàn)IFO復(fù)位26,在一個緊密環(huán)路中立即監(jiān)測填充-電平值(查詢)。當(dāng)填充電平等于“DEF-正常-填充-電平”減去超前偏置時,讀出選通24啟動,AIS信號被阻塞。超前偏置使微處理器29對讀出選通24的啟動提供出時間??梢哉{(diào)整到使該啟動與填充電平達到“DEF-正常-填充-電平”相一致。
圖9示了初始FIFO誤差(1單元有效負載或47字節(jié))對初始源時鐘誤差的響應(yīng)曲線,表明自適應(yīng)時鐘頻率(“積分器”)相對于源時鐘的時間曲線、FIFO填充電平誤差(“填充-電平-誤差”)的時間曲線和視在源頻率(“積分器-浮動”)的時間曲線。曲線表明了電路結(jié)構(gòu)10對初始FIFO151單元有效負載(47字節(jié))誤差的響應(yīng)以及對初始源時鐘-70ppm誤差的響應(yīng)。圖9中還示出在40秒上的一個二次校正周期。初始校正周期使時鐘坡斜地下降到比實際源頻率低幾個ppm。這使得“填充-電平-誤差”慢慢地向上滑移,并在40秒上有一個校正周期。斜坡-模式0也可以在空誤差區(qū)內(nèi)進行慢漂移校正,這可以從大約35秒處自適應(yīng)時鐘積分器收斂于近乎0來看出。在這種情況下,斜坡-模式0的校正顯得太小和太遲。
在“通常的”PLL中,目的時鐘速率由平均的單元流到達速率單獨確定。相位/頻率信息來自FIFO填充電平,如圖1中所示,這是1988年10月10日理查德(Richard c.Lau)對T1S1.1提出的Bellcore論文“供ATM電路模擬用的一種時鐘恢復(fù)方案”中提出的。由于這一技術(shù)不需要源電路中來的網(wǎng)絡(luò)基準(zhǔn)時鐘和編碼的時鐘信息,所以一般公認是很有希望的。然而,正常也公認,當(dāng)嘗試進行實際設(shè)計時,就時鐘收斂時間、抖動和漂移而言其性能并不良好或是不能接受的。
除了上面所說的性能問題之外,電路分析和實驗表明,在這種應(yīng)用場合下,當(dāng)相位/環(huán)路增益足以控制時鐘漂移時,“通常的”PLL在阻尼和穩(wěn)定性的控制上存在著固有的問題。
10示出“常規(guī)的”PLL電路的一個具體例子圖電路210。電路210用作一個接口,從線路211上155Mb/s的導(dǎo)步傳遞模式(ATM)單元流接口到線路222上同步的DS1的1.544Mb/s恒定比特率電路。由于線路211上入局單元流的突發(fā)和導(dǎo)步性質(zhì),線路222上同步地傳送信息所需的時鐘并不能利用線路211中的邊沿信息或過渡信息來導(dǎo)出,而要依靠線路211上長時期的平均單元流速率來得到。線路211上的每個ATM單元為53字節(jié)的數(shù)據(jù)包,包括5字節(jié)的首標(biāo)、1字節(jié)的適配層和47字節(jié)的可用信息有效負載。電路212實行CCITT適配層1處理,包括去除單元首標(biāo)和適配層,并應(yīng)用線路214上的寫入選通經(jīng)由字節(jié)母線213來控制47字節(jié)有效負載的寫入一個同步的先進先出(FIFO)存儲器215。FIFO215可存儲到4096個8比特字節(jié),它足以充分地存儲在線路222上積累著等候傳輸?shù)娜孔止?jié)數(shù)目。FIFO215還在線路227上傳送模擬的FIFO填充電平信號,它在空的FIFO時為0V,滿的FIFO時變化到5V。
線路235上的自適應(yīng)線路時鐘用來控制從FIFO215向DS1也即線路222上同步的電路傳輸字節(jié)。這個線路235上的自適應(yīng)線路時鐘頻率用來運行并/串變換器218和線路發(fā)送器221。該線路時鐘頻率由一個計數(shù)器223除以8,在線路224上得到的字節(jié)時鐘用作讀出選通,以便經(jīng)由字節(jié)母線216、并/串變換器218和線路219從FIFO15中實現(xiàn)有效負載信息的字節(jié)讀出,用于由線路221在線路222上作為一個DS1電路進行傳輸。線路發(fā)送器221將一個B8ZS碼插入線路流中,以防止有7個以上接連的0比特在線路222上傳送出。
線路227上的模擬電壓通過一個由電阻232和電容234組成的PLL環(huán)路濾波器傳輸。濾波得到的電壓對一個壓控晶體振蕩器(VCXO233)提供控制用輸入信號,線路235上的VCXO233自適應(yīng)線路時鐘頻率是在閉環(huán)狀態(tài)下調(diào)整的。
CCITT研究組XVIII已規(guī)定了標(biāo)準(zhǔn)化的SRTS(先有技術(shù)的同步殘余時間標(biāo)記)結(jié)構(gòu),以在ATM網(wǎng)絡(luò)中重建時鐘速率。在這種結(jié)構(gòu)中,將時鐘速率信息以時間標(biāo)記(time-stamp)形式編碼在源電路中。該時間標(biāo)記基本上是源電路時鐘與網(wǎng)絡(luò)基準(zhǔn)時鐘之間的差值。這個編碼的時間標(biāo)記以ATM單元首標(biāo)的倒置比特形式傳送到目的時鐘電路。在目的時鐘電路上,時間標(biāo)記和網(wǎng)絡(luò)基準(zhǔn)時鐘根本上用來重建原來的源頻率。這方面的圖解示于1992年3月9日CCITT的注釋圖5中。
本方法提供出性能優(yōu)良的目的時鐘電路,它滿足全部傳輸要求。然而,只當(dāng)有網(wǎng)絡(luò)基準(zhǔn)可供應(yīng)用時,才可能應(yīng)用。其它的缺點是需要從源時鐘中得到編碼的信息,以及在目的時鐘電路上缺乏對調(diào)節(jié)或維持FIFO填充電平的控制。(FIFO填充電平影響電路中總的傳輸延時。)
權(quán)利要求
1.一種在一個電路配置中使用的方法,該電路配置包括接收裝置,用以接收異步的、數(shù)據(jù)包化的信息;存儲裝置,用以存儲上述接收的信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在一個同步的電路上發(fā)送上述存儲的信息;該方法,其特征在于包括以下步驟連續(xù)監(jiān)測存儲在所述存儲裝置中的信息的量值與一個標(biāo)稱值的偏差;檢測所述監(jiān)測到的偏差增加的狀態(tài);根據(jù)所述檢測到的增加狀態(tài),以多種方式調(diào)整所述自適應(yīng)線路時鐘頻率。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述調(diào)整包括按所述多種方式的第一種方式,使所述自適應(yīng)線路時鐘頻率過校正,直至所述監(jiān)測到的偏差開始減小。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述過校正包括使所述自適應(yīng)線路時鐘頻率線性變化,但并不在所述監(jiān)測到的偏差基礎(chǔ)上連續(xù)地調(diào)整所述自適應(yīng)線路時鐘頻率。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述調(diào)整還包括按所述多種方式的第二種方式,并在所述過校正之后,使所述自適應(yīng)線路時鐘頻率保持恒定,直至所述監(jiān)測到的偏差減小到一個預(yù)定的閾值。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述保持恒定包括使所述自適應(yīng)線路時鐘頻率保持恒定,而并不在所述監(jiān)測到的偏差基礎(chǔ)上連續(xù)地調(diào)整所述自適應(yīng)線路時鐘頻率。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括以下步驟連續(xù)地確定視在源頻率,其中所述的調(diào)整還包括按所述多種模式的第三種方式,改變所述自適應(yīng)線路時鐘頻率,直至所述自適應(yīng)線路時鐘頻率等于所述視在源頻率。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,使所述自適應(yīng)線路時鐘頻率線性變化,但并不在所述監(jiān)測到的偏差基礎(chǔ)上連續(xù)地調(diào)整所述自適應(yīng)線路時鐘頻率。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括以下步驟對所述監(jiān)測到的偏差進行積分,以濾除掉數(shù)據(jù)抖動。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述監(jiān)測、檢測和調(diào)整中并不包括乘法運算。
10.一種在一個電路配置中使用的方法,該電路配置包括接收裝置,用以接收異步的、數(shù)據(jù)包化的信息;存儲裝置,用以存儲所述接收的信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在一個同步的電路上發(fā)送所述存儲的信息;該方法其特征在于包括以下步驟連續(xù)監(jiān)測存儲在所述存儲裝置中的信息的量值與一個標(biāo)稱值的偏差;對所述監(jiān)測到的偏差增加狀態(tài)進行檢測;根據(jù)所述檢測到的增加狀態(tài),調(diào)整所述自適應(yīng)線路時鐘頻率,但并不依據(jù)所述監(jiān)測到的偏差連續(xù)地調(diào)整所述自適應(yīng)線路時鐘頻率。
11.一種在一個電路配置中使用的方法,該電路配置包括接收裝置,用以接收異步的、數(shù)據(jù)包化的信息;存儲裝置,用以存儲所述接收的信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在一個同步的電路上發(fā)送所述存儲的信息;該方法其特征在于包括以下步驟連續(xù)監(jiān)測存儲在所述存儲裝置中的信息的量值與一個標(biāo)稱值的偏差;連續(xù)地確定視在源頻率;對所述監(jiān)測到的偏差增加狀態(tài)進行檢測;響應(yīng)所述檢測到的增加狀態(tài),部分地根據(jù)所述連續(xù)地確定的視在源頻率來調(diào)整所述自適應(yīng)線路時鐘頻率。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述連續(xù)地確定視在源頻率包括在所述監(jiān)測到的偏差和所述自適應(yīng)線路時鐘頻率的基礎(chǔ)上,連續(xù)地確定所述視在源頻率。
13.一種在一個電路配置中使用的方法,該電路配置包括接收裝置,用以接收異步的、數(shù)據(jù)包化的信息;存儲裝置,用以存儲所述接收的信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在一個同步的電路上發(fā)送所述存儲的信息;該方法其特征在于,包括以下步驟連續(xù)監(jiān)測存儲在所述存儲裝置中的信息的量值與一個標(biāo)稱值的偏差;根據(jù)所述監(jiān)測到的偏差和所述自適應(yīng)線路時鐘頻率,連續(xù)地確定視在源頻率以用于調(diào)整所述自適應(yīng)線路時鐘頻率。
14.一種在一個電路配置中使用的方法,該電路配置包括接收裝置,用以接收異步的、數(shù)據(jù)包化的信息;存儲裝置,用以存儲所述接收的信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在一個同步的電路上發(fā)送所述存儲的信息;該方法其特征在于,包括以下步驟連續(xù)監(jiān)測存儲在所述存儲裝置中的信息的量值與一個標(biāo)稱值的偏差;對所述監(jiān)測得的偏差增加狀態(tài)進行檢測;響應(yīng)所述檢測到的增加狀態(tài),對所述自適應(yīng)線路時鐘頻率實行開環(huán)調(diào)整。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述實行的調(diào)整包括對所述自適應(yīng)線路時鐘頻率進行過校正,直至所述監(jiān)測到的偏差開始減小。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述實行的調(diào)整還包括使所述自適應(yīng)線路時鐘頻率保持恒定,直至所述監(jiān)測到的偏差減小到一個預(yù)定的閾值。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,還包括連續(xù)地確定視在源頻率,并且,其中所述實行的調(diào)整還包括改變所述自適應(yīng)線路時鐘頻率,直至所述自適應(yīng)線路時鐘頻率等于所述視在源頻率。
18.根據(jù)權(quán)利要求17所述的方法,其特征在于,還包括在所述改變時鐘頻率之后,對所述自適應(yīng)線路時鐘頻率實行閉環(huán)校正。
19.一種自適應(yīng)時鐘恢復(fù)裝置,其特征在于包括接收裝置,用以接收異步的、數(shù)據(jù)包化的信息;存儲裝置,用以存儲所述接收的信息;發(fā)送裝置,響應(yīng)一個適應(yīng)線路時鐘頻率,在一個同步的電路上發(fā)送所述存儲的信息;微處理器裝置,用于(a)對所述存儲裝置中存儲的信息的量值與一個標(biāo)稱值的偏差連續(xù)地進行監(jiān)測;(b)對所述監(jiān)測到的偏差增加狀態(tài)進行檢測;(c)響應(yīng)所述檢測到的增加狀態(tài),以多種模式調(diào)整所述自適應(yīng)線路時鐘頻率。
20.一種自適應(yīng)時鐘恢復(fù)裝置,其特征在于包括接收裝置,用以接收異步的、數(shù)據(jù)包化的信息;存儲裝置,用以存儲所述接收的信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在一個同步的電路上發(fā)送所述存儲的信息;微處理器裝置,用于(a)對所述存儲裝置中存儲的信息的量值與一個標(biāo)稱值的偏差連續(xù)地進行監(jiān)測;(b)對所述監(jiān)測到的偏差增加狀態(tài)進行檢測;(c)響應(yīng)所述檢測到的增加狀態(tài),調(diào)整所述自適應(yīng)線路時鐘頻率,但并不在所述監(jiān)測到的偏離量基礎(chǔ)上連續(xù)地調(diào)整所述自適應(yīng)線路時鐘頻率。
21.一種自適應(yīng)時鐘恢復(fù)裝置,其特征在于包括接收裝置,用以接收異步的、數(shù)據(jù)包化的信息;存儲裝置,用以存儲所述接收的信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在一個同步的電路上發(fā)送所述存儲的信息;微處理器裝置,用于(a)對所述存儲裝置中存儲的信息的量值與一個標(biāo)稱值的偏差連續(xù)地進行監(jiān)測;(b)對所述監(jiān)測到的偏差增加狀態(tài)進行檢測;(c)響應(yīng)所述檢測到的增加狀態(tài),部分地根據(jù)所述連續(xù)地確定的視在源頻率來調(diào)整所述自適應(yīng)線路時鐘頻率。
22.一種自適應(yīng)時鐘恢復(fù)裝置,其特征在于包括接收裝置,用以接收異步的、數(shù)據(jù)包化的信息;存儲裝置,用以存儲所述接收的信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在一個同步的電路上發(fā)送所述存儲的信息;微處理器裝置,用于(a)對所述存儲裝置中存儲的信息的量值與一個標(biāo)稱值的偏差連續(xù)地進行監(jiān)測;(b)根據(jù)所述監(jiān)測到的偏差和所述自適應(yīng)線路時鐘頻率,連續(xù)地確定視在源頻率以用于調(diào)整所述自適應(yīng)線路時鐘頻率。
23.一種自適應(yīng)時鐘恢復(fù)裝置,其特征在于包括接收裝置,用以接收異步的、數(shù)據(jù)包化的信息;存儲裝置,用以存儲所述接收的信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在一個同步的電路上發(fā)送所述存儲的信息;微處理器裝置,用于(a)對所述存儲裝置中存儲的信息的量值與一個標(biāo)稱值的偏差連續(xù)地進行監(jiān)測;(b)對所述監(jiān)測到的偏差增加狀態(tài)進行檢測;(c)響應(yīng)所述檢測到的增加狀態(tài),對所述自適應(yīng)線路時鐘頻率實行開環(huán)調(diào)整。
24.一種設(shè)在ATM(異步傳遞模式)單元流與同步電路線路流之間的接口,其特征在于包括接收裝置,用以接收所述ATM單元流;提取裝置,用以從所述接收的ATM單元流中提取首標(biāo)信息以得到有效負載信息;存儲裝置,用以存儲所述有效負載信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在所述同步電路線路流中串行地發(fā)送所述存儲的有效負載信息;微處理器裝置,用于(a)對所述存儲裝置中存儲的信息的量值與一個標(biāo)稱值的偏差連續(xù)地進行監(jiān)測;(b)對所述監(jiān)測到的偏差增加狀態(tài)進行檢測;(c)根據(jù)所述檢測到的增加狀態(tài),以多種模式調(diào)整所述自適應(yīng)線路時鐘頻率。
25.一種設(shè)在ATM單元流與同步電路線路流之間的接口,其特征在于包括接收裝置,用以接收所述ATM單元流;提取裝置,用以從所述接收的ATM單元流中提取首標(biāo)信息以得到有效負載信息;存儲裝置,用以存儲所述有效負載信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在所述同步電路線路流中串行地發(fā)送所述存儲的有效負載信息;微處理器裝置,用于(a)對所述存儲裝置中存儲的信息的量值與一個標(biāo)稱值的偏差連續(xù)地進行監(jiān)測;(b)對所述監(jiān)測到的偏差增加狀態(tài)進行檢測;(c)響應(yīng)所述檢測到的增加狀態(tài),調(diào)整所述自適應(yīng)線路時鐘頻率,但并不根據(jù)所述監(jiān)測到的偏差連續(xù)地調(diào)整所述自適應(yīng)線路時鐘頻率。
26.一種設(shè)在ATM單元流與同步電路線路流之間的接口,其特征在于包括接收裝置,用以接收所述ATM單元流;提取裝置,用以從所述接收的ATM單元流中提取首標(biāo)信息以得到有效負載信息;存儲裝置,用以存儲所述有效負載信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在所述同步電路線路流中串行地發(fā)送所述存儲的有效負載信息;微處理器裝置,用于(a)對所述存儲裝置中存儲的信息的量值與一個標(biāo)稱值的偏差連續(xù)地進行監(jiān)測;(b)連續(xù)地確定視在源頻率;(c)對所述監(jiān)測到的偏差增加狀態(tài)進行檢測;(d)響應(yīng)所述檢測到的增加狀態(tài),部分地根據(jù)所述連續(xù)地確定的視在源頻率來調(diào)整所述自適應(yīng)線路時鐘頻率。
27.一種設(shè)在ATM單元流與同步電路線流之間的接口,其特征在于包括接收裝置,用以接收所述ATM單元流;提取裝置,用以從所述接收的ATM單元流中提取首標(biāo)信息以得到有效負載信息;存儲裝置,用以存儲所述有效負載信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在所述同步電路線路流中串行地發(fā)送所述存儲的有效負載信息;微處理器裝置,用于(a)對所述存儲裝置中存儲的信息的量值與一個標(biāo)稱值的偏差連續(xù)地進行監(jiān)測;(b)根據(jù)所述監(jiān)測到的偏離機所述自適應(yīng)線路時鐘頻率,連續(xù)地確定視在源頻率以用于調(diào)整所述自適應(yīng)線路時鐘頻率。
28.一種設(shè)在ATM單元流與同步電路線路流之間的接口,其特征在于接收裝置,用以接收所述ATM單元流;提取裝置,用以從所述接收的ATM單元流中提取首標(biāo)信息以得到有效負載信息;存儲裝置,用以存儲所述有效負載信息;發(fā)送裝置,響應(yīng)一個自適應(yīng)線路時鐘頻率,在所述同步電路線路流中串行地發(fā)送所述存儲的有效負載信息;微處理器裝置,用于(a)對所述存儲裝置中存儲的信息的量值與一個標(biāo)稱值的偏差連續(xù)地進行監(jiān)測;(b)對所述自適應(yīng)線路時鐘頻率實行開環(huán)調(diào)整。
全文摘要
自適應(yīng)時鐘恢復(fù)電路從諸如異步傳遞方式(ATM)單元流之類一個異步的數(shù)據(jù)包流中導(dǎo)出同步時鐘。連續(xù)監(jiān)測存儲在FIFO存儲器中的信息量值的偏差,在微處理器的控制下以多種方式調(diào)整稱為自適應(yīng)線路時鐘頻率的同步時鐘頻率。調(diào)整是根據(jù)監(jiān)測到的偏差增加狀態(tài)作出的。調(diào)整是開環(huán)式的,且不需根據(jù)監(jiān)測到的偏差來連續(xù)調(diào)整自適應(yīng)線路時鐘頻率。與常規(guī)的鎖相環(huán)路相比,阻尼效應(yīng)好,可達到正確的頻率后無頻率擺動現(xiàn)象。
文檔編號H04Q3/00GK1101472SQ9410463
公開日1995年4月12日 申請日期1994年4月25日 優(yōu)先權(quán)日1993年4月28日
發(fā)明者羅伯特·L·利恩 申請人:美國電話電報公司