《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > PCM串行數(shù)據(jù)流同步時(shí)鐘提取設(shè)計(jì)
PCM串行數(shù)據(jù)流同步時(shí)鐘提取設(shè)計(jì)
王 煜,文開(kāi)章,汪為偉,魏 媛
西北核技術(shù)研究所
摘要: 為了產(chǎn)生語(yǔ)音調(diào)度系統(tǒng)中數(shù)據(jù)接收端異步接收PCM30/32路一次群串行數(shù)提流所需同步時(shí)鐘的目的,采用以分頻計(jì)數(shù)器為基礎(chǔ)模塊,輔以相位校正和誤校正處理模塊從已知速率PCM數(shù)據(jù)流中提取同步時(shí)鐘信號(hào)的方法,利用可編程邏輯器件和Verilog HDL硬件描述語(yǔ)言對(duì)該方法進(jìn)行實(shí)現(xiàn)和仿真驗(yàn)證。結(jié)果表明該方法能夠有效地利用已有串行數(shù)據(jù)流產(chǎn)生具備合適相位的同步采樣時(shí)鐘信號(hào)。
關(guān)鍵詞: 接口IC CPLD MCU 信號(hào) DSP ADC
Abstract:
Key words :

O 引言

    在各種基于PCM30/32路一次群系統(tǒng)、能夠接入公共電話通信網(wǎng)的專(zhuān)用匯接調(diào)度設(shè)備中,目前廣泛采用的設(shè)計(jì)方式為利用MCU控制多種專(zhuān)用集成電路(ASIC)協(xié)同工作,完成對(duì)語(yǔ)音調(diào)度數(shù)據(jù)的接收、疊加、分組交換等操作,此類(lèi)設(shè)備在可實(shí)現(xiàn)功能和用戶規(guī)模等方面都受到所采用ASIC本身功能特性的限制,因此,雖然針對(duì)某一特定應(yīng)用的匯接機(jī)、調(diào)度機(jī)品種很多,但仍很難滿足所有的應(yīng)用需求,對(duì)于一些特殊功能需求往往要進(jìn)行單獨(dú)設(shè)計(jì),在很大程度上增加了用戶的使用維護(hù)成本。
    近年來(lái)隨著通訊技術(shù)和集成電路技術(shù)的發(fā)展,可編程邏輯器件及SoC設(shè)計(jì)在各種應(yīng)用設(shè)計(jì)中大量被應(yīng)用,在通信系統(tǒng)中,可編程邏輯器件的應(yīng)用范圍同樣越來(lái)越廣。利用可編程邏輯器件相對(duì)于使用獨(dú)立器件進(jìn)行語(yǔ)音調(diào)度數(shù)據(jù)編解碼、交換疊加等處理操作,在提高系統(tǒng)性能與集成度以及降低成本方面均有極大優(yōu)勢(shì)。同時(shí),利用可編程邏輯器件能夠針對(duì)應(yīng)用需求進(jìn)行系統(tǒng)設(shè)計(jì),突破傳統(tǒng)設(shè)計(jì)方式受器件限制較大的弊端。
    對(duì)實(shí)現(xiàn)語(yǔ)音調(diào)度功能的可編程邏輯芯片來(lái)說(shuō),時(shí)鐘信號(hào)的同步可以有兩種模式:主模式和從模式。如果是在已有的交換平臺(tái)或通訊系統(tǒng)上增加設(shè)計(jì)其他語(yǔ)音調(diào)度功能,則已有外部時(shí)鐘系統(tǒng)難以被改變也不宜改變,這時(shí)語(yǔ)音調(diào)度電路應(yīng)采用從模式來(lái)同步。而對(duì)于全新設(shè)計(jì)的語(yǔ)音調(diào)度設(shè)備來(lái)說(shuō),就可以采用主模式的時(shí)鐘同步模式,由可編程器件產(chǎn)生時(shí)鐘及同步信號(hào)供芯片本身和外圍電路器件使用,使得外圍電路設(shè)計(jì)更為簡(jiǎn)潔。
    在時(shí)鐘同步采用從模式設(shè)計(jì)方式時(shí),芯片需要從接收到的串行數(shù)據(jù)流中提取時(shí)鐘信號(hào)以便正確可靠地進(jìn)行串行數(shù)據(jù)流接收,這是匯接調(diào)度設(shè)備接入已有通信網(wǎng)絡(luò)進(jìn)行語(yǔ)音調(diào)度數(shù)據(jù)處理的首要條件。
    針對(duì)這個(gè)問(wèn)題,文中介紹了一種從串行PCM數(shù)據(jù)流中提取同步時(shí)鐘的方法。

1 PCM一次群數(shù)據(jù)流同步時(shí)鐘提取方法
1.1 同步時(shí)鐘提取基本設(shè)計(jì)
    我國(guó)和歐洲在電話語(yǔ)音通信使用PCM30/32路一次群傳輸系統(tǒng)中,通常串行數(shù)據(jù)速率為8 000幀×32時(shí)隙×8 =2.048 Mb/s,實(shí)際應(yīng)用的各類(lèi)語(yǔ)音調(diào)度系統(tǒng)中數(shù)據(jù)傳輸大都以該速率進(jìn)行。在PCM串行數(shù)據(jù)流中,各碼元之間的相對(duì)位置是固定不變的,為了在數(shù)據(jù)流中區(qū)分出一個(gè)個(gè)的數(shù)據(jù)碼元,接收端必須具備對(duì)應(yīng)數(shù)據(jù)流的同步時(shí)鐘信號(hào),從而進(jìn)一步正確接收PCM串行數(shù)據(jù)。
    接收端數(shù)據(jù)流同步時(shí)鐘信號(hào)提取功能模塊基本工作原理是以一個(gè)3位計(jì)數(shù)器count1對(duì)16.384 MHz(PCM串行數(shù)據(jù)流速率8倍)全局時(shí)鐘信號(hào)進(jìn)行8分頻,計(jì)數(shù)器最高位作為同步采樣時(shí)鐘信號(hào)輸出,由全局時(shí)鐘上升沿驅(qū)動(dòng)。在計(jì)數(shù)值跳變至0和4時(shí),分別輸出同步時(shí)鐘的下降沿和上升沿。
    作為常用時(shí)鐘源的石英晶體振蕩器具有比較好的長(zhǎng)期頻率穩(wěn)定性,但作為全局時(shí)鐘輸入在產(chǎn)生同步時(shí)鐘過(guò)程中,由于晶振實(shí)際頻率與標(biāo)稱(chēng)頻率相對(duì)偏差所產(chǎn)生的誤差隨時(shí)間推移而累積,造成本地同步時(shí)鐘相位漂移(相對(duì)于串行數(shù)據(jù)流中包含的時(shí)鐘信息),所以需要不斷調(diào)整輸出同步時(shí)鐘相位才能夠保證接收過(guò)程不出現(xiàn)失步,這一點(diǎn)通過(guò)在分頻計(jì)數(shù)過(guò)程中調(diào)整計(jì)數(shù)器count1的計(jì)數(shù)值來(lái)實(shí)現(xiàn)。
    進(jìn)行相位調(diào)整時(shí),在全局時(shí)鐘驅(qū)動(dòng)下檢測(cè)到一個(gè)PCM信號(hào)上升沿到來(lái)后,即在一個(gè)碼元的開(kāi)始時(shí)刻,改變分頻計(jì)數(shù)器count1中計(jì)數(shù)值為0,繼續(xù)計(jì)數(shù)到4時(shí)同步時(shí)鐘上升沿出現(xiàn),其位置在PCM數(shù)據(jù)流一個(gè)碼元范圍的正中間,從而保證時(shí)鐘信號(hào)相對(duì)于輸入數(shù)據(jù)流具有合適的建立時(shí)間和保持時(shí)間。
    實(shí)測(cè)某型16.384 MHz晶振偏差約每周期4 ns,為保證采樣時(shí)的信號(hào)具有較好的建立時(shí)間與保持時(shí)間,確定每20~30個(gè)周期做一次輸出同步時(shí)鐘相位調(diào)整。設(shè)計(jì)中使用5位計(jì)數(shù)器count2定時(shí),該計(jì)數(shù)器計(jì)數(shù)值超過(guò)20進(jìn)行相位調(diào)整。

1.2 時(shí)鐘信號(hào)提取過(guò)程異常情況解決
    上述從已知數(shù)據(jù)速率的PCM數(shù)據(jù)流中提取采樣時(shí)鐘并進(jìn)行相位校正的基本方法在使用中存在以下兩個(gè)問(wèn)題:
    (1)計(jì)時(shí)計(jì)數(shù)器值超過(guò)20后,系統(tǒng)在全局時(shí)鐘驅(qū)動(dòng)下進(jìn)行PCM信號(hào)上升沿檢測(cè)過(guò)程中,計(jì)時(shí)計(jì)數(shù)器count2依然工作,當(dāng)該5位計(jì)數(shù)器值達(dá)到31而依然沒(méi)有檢測(cè)到PCM信號(hào)上升沿到來(lái)時(shí),下一個(gè)時(shí)鐘到來(lái)時(shí)計(jì)數(shù)器值將復(fù)位為0導(dǎo)致錯(cuò)過(guò)本次校正。
    (2)在同步時(shí)鐘相位出現(xiàn)很大偏差時(shí),若PCM輸入信號(hào)在某全局時(shí)鐘上升沿過(guò)后很短時(shí)間到來(lái),同時(shí)分頻計(jì)數(shù)器輸出同步時(shí)鐘上升沿隨后出現(xiàn),接收系統(tǒng)將對(duì)該碼元進(jìn)行一次采樣,此時(shí),若緊隨其后的全局時(shí)鐘上升沿檢測(cè)到該P(yáng)CM信號(hào)上升沿且計(jì)數(shù)器count2值為21,就會(huì)誤校正輸出同步時(shí)鐘相位,出現(xiàn)如圖1所示情況,同步時(shí)鐘上升沿在本碼元內(nèi)出現(xiàn)兩次,一個(gè)PCM輸入高電平碼元被采樣兩次,產(chǎn)生接收錯(cuò)誤。

a.JPG


    上述兩種情況中,出現(xiàn)第一種會(huì)造成采樣錯(cuò)誤影響信號(hào)的后續(xù)處理,第二種情況則會(huì)造成采樣時(shí)鐘相位校正錯(cuò)誤,導(dǎo)致信號(hào)采樣失敗。
    針對(duì)這兩種情況,需要對(duì)基本方法進(jìn)行進(jìn)一步完善,設(shè)計(jì)中分別給出如下方法來(lái)解決:
    (1)針對(duì)計(jì)時(shí)計(jì)數(shù)器溢出情況,在提取模塊中設(shè)置一個(gè)溢出位overflow,在count2溢出時(shí)置位為1,此時(shí),全局時(shí)鐘檢測(cè)到下一個(gè)PCM輸入信號(hào)上升沿時(shí)忽略計(jì)數(shù)器計(jì)數(shù)值立即進(jìn)行相位校正,以推遲校正代替漏校正,達(dá)到改進(jìn)系統(tǒng)工作性能的目的。添加該處理過(guò)程后,系統(tǒng)對(duì)相應(yīng)情況校正結(jié)果如圖2所示。圖中count2計(jì)數(shù)器溢出后overflow置高電平,在遇到下一個(gè)PCM輸入信號(hào)上升沿時(shí)立即校正輸出時(shí)鐘相位,未考慮count2中計(jì)數(shù)值為8小于20的因素。

b.JPG


    (2)針對(duì)采樣輸出時(shí)鐘的誤校正情況,在功能模塊中設(shè)置一個(gè)標(biāo)志位changed,當(dāng)某PCM高電平碼元內(nèi)已經(jīng)發(fā)生采樣時(shí)鐘的上升沿跳變changed位置1,這時(shí),在該碼元未結(jié)束前不再進(jìn)行校正,changed標(biāo)志位置位后在計(jì)時(shí)計(jì)數(shù)器計(jì)數(shù)值大于20時(shí)清除。如圖3所示。

c.JPG


    經(jīng)過(guò)上述的異常情況的處理程序,同步時(shí)鐘提取功能模塊將能夠正確地從輸入的PCM數(shù)據(jù)流中得到準(zhǔn)確的具有合適相位的采樣時(shí)鐘輸出供接收數(shù)據(jù)使用。

2 同步時(shí)鐘提取過(guò)程編程實(shí)現(xiàn)及仿真結(jié)果
    同步時(shí)鐘提取模塊的聲明代碼如下:
     
    d.JPG

e.JPG
    輸入端口為pcm_in,clk和reset,分別為PCM輸入信號(hào),全局時(shí)鐘輸入和復(fù)位信號(hào),輸出端口僅一個(gè),clk_out采樣時(shí)鐘。
    模塊中兩個(gè)計(jì)數(shù)器count1和count2,分別為前述分頻計(jì)數(shù)器和計(jì)時(shí)計(jì)數(shù)器。
    三個(gè)標(biāo)志位:run,changed和overflow,后兩個(gè)在第二部分中詳細(xì)介紹過(guò)功能,run標(biāo)志位為模塊工作狀態(tài)標(biāo)志位,run位置1模塊運(yùn)行;changed標(biāo)記本碼元采樣狀態(tài),已經(jīng)采樣過(guò)則該位置1;overflow標(biāo)記計(jì)時(shí)計(jì)數(shù)器溢出狀態(tài),已溢出則該位置1。
    模塊使用同步時(shí)序設(shè)計(jì)方式實(shí)現(xiàn),所有工作在輸入全局時(shí)鐘信號(hào)clk上升沿的驅(qū)動(dòng)下進(jìn)行,包括復(fù)位功能同樣為同步工作。在clk驅(qū)動(dòng)下,復(fù)位信號(hào)低電位時(shí)系統(tǒng)復(fù)位,各寄存器進(jìn)行初始化工作置初值,復(fù)位信號(hào)結(jié)束后,run標(biāo)志位置1模塊開(kāi)始工作。系統(tǒng)模塊框圖如圖4所示。

f.JPG


    以Altera的EPM7128SLC84型CPLD作為目標(biāo)器件,在集成開(kāi)發(fā)環(huán)境QuartusⅡ中對(duì)上述VerilogHDL語(yǔ)言描述的時(shí)鐘信息提取模塊編譯綜合布局布線后進(jìn)行時(shí)序仿真,得到仿真波形如圖5所示。

g.JPG


    為了方便對(duì)異常處理功能進(jìn)行驗(yàn)證,仿真時(shí)使用輸入時(shí)鐘約為PCM碼流速率的7.5倍,由圖5中可以看出,設(shè)計(jì)對(duì)于輸出采樣時(shí)鐘校正有很明顯效果。
    圖6中則是使用完全8倍時(shí)鐘輸入的仿真結(jié)果,結(jié)果完全符合設(shè)計(jì)目標(biāo)。

h.JPG

 

3 結(jié)論
    本文中給出的串行數(shù)據(jù)流采樣時(shí)鐘提取方法及其實(shí)現(xiàn),不僅局限于文中所特定語(yǔ)音通信PCM30/32路系統(tǒng),對(duì)類(lèi)似的已知速率串行數(shù)據(jù)流異步接收系統(tǒng)均適用。該方法能夠有效地提取出數(shù)據(jù)流中包含的發(fā)送端時(shí)鐘信息,并消除接收端本地時(shí)鐘與之相位偏差、時(shí)鐘頻率偏差等因素導(dǎo)致的工作穩(wěn)定性不高以至接收數(shù)據(jù)錯(cuò)誤等不良結(jié)果,具有較好的適應(yīng)性。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。