康超+謝作全+陳麗婷
摘要:在目前的遙測(cè)通信系統(tǒng)中,從PCM碼流中直接提取時(shí)碼鐘是最常見(jiàn)的碼同步方法。傳統(tǒng)碼同步器的工作時(shí)鐘都是碼速率的16倍,無(wú)法適應(yīng)碼速率可變的通信系統(tǒng)。該文提出了一種基于FPGA的固定工作時(shí)鐘碼速率可變碼同步器,結(jié)構(gòu)簡(jiǎn)單易于在FPGA上實(shí)現(xiàn),同步時(shí)間快,性能優(yōu)越。
關(guān)鍵詞:碼同步;PCM碼;鑒相器;DDS;FPGA
1背景
在當(dāng)前的數(shù)字通信系統(tǒng)中,通常采用鎖相法來(lái)實(shí)現(xiàn)碼同步器。其工作原理為利用16倍碼速率的時(shí)鐘對(duì)PCM碼和接收端自身產(chǎn)生的時(shí)碼鐘進(jìn)行相位比較,產(chǎn)生相位誤差信號(hào)(系統(tǒng)相位超前或滯后信息),徘徊濾波器對(duì)相位誤差信號(hào)濾波以消除干擾,在確認(rèn)系統(tǒng)處于相位超前或滯后狀態(tài)后對(duì)時(shí)碼鐘進(jìn)行調(diào)整,最終達(dá)到與PCM碼同頻同相的目的。本文基于鎖相法的設(shè)計(jì)思路,提出了一種固定工作時(shí)鐘碼速率范圍409.6Kb-ps~10Mbps的碼同步器,結(jié)構(gòu)簡(jiǎn)單、資源利用率小,易于在FP-GA上實(shí)現(xiàn)。
2工作原理
碼同步器主要由DDS、鑒相器、徘徊濾波器、DDS頻率字控制字四個(gè)模塊組成,都以160MHz時(shí)鐘工作。DDS根據(jù)上位機(jī)傳下來(lái)的時(shí)碼鐘初始配置信息產(chǎn)生一個(gè)與PCM碼同頻的時(shí)碼鐘,鑒相器對(duì)PCM碼和時(shí)碼鐘采樣并比對(duì)沿口得到相位誤差信息。誤差信息送至徘徊濾波器進(jìn)行判決,只有在連續(xù)3個(gè)碼元周期內(nèi)都存在相位超前/滯后情況下DDS頻率字控制器才會(huì)調(diào)整DDS步進(jìn)使時(shí)碼鐘沿口提前/延后。調(diào)整后的沿口再次與PCM碼進(jìn)行相位比對(duì),直至PCM碼與時(shí)碼鐘沿口對(duì)齊。碼同步器原理框圖如圖1所示:
3算法實(shí)現(xiàn)
1)鑒相器
鑒相器的功能是完成PCM碼和時(shí)碼鐘的沿口比對(duì),輸出相位超前/滯后的誤差信息,其邏輯時(shí)序示意圖如圖2所示。首先用CLK對(duì)PCM碼流進(jìn)行采樣,可以保證圖中所有信號(hào)都與CLK的沿口對(duì)齊。
按最高碼速率的16倍計(jì)算,工作時(shí)鐘CLK為160MHz。首先對(duì)兩個(gè)PCM_CLK沿口間的PCM碼進(jìn)行0/1計(jì)數(shù),若cnt0/cnt1=0說(shuō)明此時(shí)沿口是對(duì)齊的。若cnt0/cnt1=0,以圖2中為例cnt0=1說(shuō)明存在1個(gè)CLK的相位誤差,此時(shí)結(jié)合PCM碼極性變化信息便可得到超前/滯后信息。
2)徘徊濾波器
徘徊濾波器的功能是對(duì)鑒相器輸出的相位誤差信息進(jìn)行判決,濾除干擾信號(hào)。因采用固定工作時(shí)鐘,所以鑒相器對(duì)不同碼速率的鑒相精度也是不同的:10Mbps下是1/16,5Mbps下是1/32,2Mbps下是1/80……,傳統(tǒng)碼同步器的鑒相精度為1/16,所以本文針對(duì)不同碼速率設(shè)置相應(yīng)的門(mén)限判決是否存在相位誤差。
當(dāng)相位誤差超過(guò)判決門(mén)限時(shí),徘徊濾波器判定誤差有效,只有連續(xù)3個(gè)碼元都判定誤差有效的情況下才輸出超前/滯后信息給DDS頻率字控制器調(diào)整。
3)DDS頻率字控制器
DDS頻率字控制器的功能是根據(jù)超前/滯后信息調(diào)整DDS的頻率控制字,使DDS輸出的沿口提前或延后。上位機(jī)根據(jù)不同碼速率計(jì)算出初始頻率控制字,正常情況DDS以此控制字工作。當(dāng)時(shí)碼鐘超前時(shí),根據(jù)計(jì)數(shù)器中相位誤差個(gè)數(shù)將頻率控制字置0,達(dá)到相位誤差個(gè)數(shù)后控制字恢復(fù)為初始值;當(dāng)時(shí)碼鐘滯后時(shí),根據(jù)計(jì)數(shù)器中相位誤差個(gè)數(shù)將頻率控制字置為默認(rèn)控制字的2倍,達(dá)到相位誤差個(gè)數(shù)后控制字恢復(fù)為初始值。
4)DDS
DDS(Direct Digital synthesizers)是FPGA自帶的IP CORE被廣泛應(yīng)用于數(shù)字通信處理系統(tǒng),作為載波跟蹤環(huán)的NCO使用,可根據(jù)控制字輸出頻率實(shí)時(shí)可變的兩路正交正余弦信號(hào)。本文利用DDS輸出頻率可控的特性,將其內(nèi)部累加器的最高位輸出作為時(shí)碼鐘。DDS的原理就是在每個(gè)工作時(shí)鐘對(duì)頻率控制字進(jìn)行累加,將累加器的結(jié)果查表得到相應(yīng)的正余弦信號(hào)。所以頻率控制字就是累加器的步進(jìn),增加頻率控制字累加器最高位就會(huì)提前翻轉(zhuǎn),控制字置0累加器最高位就會(huì)延后翻轉(zhuǎn)。
本文的DDS位寬設(shè)計(jì)為16位,工作時(shí)鐘160MHz,控制字計(jì)算公式如下:
初始頻率控制字=160M*2/碼速率 (1)
例碼速率為10Mbps時(shí),初始控制字為4096;碼速率為2Mbps時(shí),初始控制字為819。
4性能分析
1)同步精度
本文中鑒相器的工作時(shí)鐘是160MHz,碼速率范圍409.6Kbps~10Mbps,所以理論上同步精度在409.6Kbps時(shí)為1/390碼元長(zhǎng)度,10Mbps時(shí)為1/16碼元長(zhǎng)度。徘徊濾波器對(duì)碼速率范圍設(shè)置了不同的門(mén)限,本文碼同步器的同步精度最高為1/40碼元長(zhǎng)度,最低為1/16碼元長(zhǎng)度。可以通過(guò)修改判決門(mén)限來(lái)調(diào)整碼同步器的同步精度。
2)同步時(shí)間
在確認(rèn)存在超前,滯后情況后,DDS頻率字控制器會(huì)根據(jù)鑒相器輸出的相位誤差長(zhǎng)度來(lái)調(diào)整DDS頻率字,所以在一個(gè)碼元周期內(nèi)即可完成同步工作。
3)不同碼速率適應(yīng)情況
本文碼同步器使用DDS輸出時(shí)碼鐘,DDS工作時(shí)鐘160MHz,位寬16位,所以時(shí)碼鐘分辨率為2.44KHz。
按上文公式(1)計(jì)算DDS初始頻率字會(huì)存在不是整數(shù)的情況,如2Mbps碼速率下結(jié)果為819.2,實(shí)際使用中四舍五入取819。此時(shí)DDS的輸出時(shí)碼鐘頻率為1.99512M,存在0.0244%的誤差。理論上DDS輸出最大頻率偏差為1.22(0.5*2.44)KHz,按最低碼速率409.6Kbps簡(jiǎn)單計(jì)算,本文碼同步器的理論最大誤差為0.3%,實(shí)際上409.6Kbps碼速率的頻率偏差為0.56K,誤差為0.13%。
因此在理想的PCM碼流情況下,如果按公式(1)計(jì)算的初始頻率字為整數(shù)則碼同步器一旦同步好便無(wú)需再調(diào)整時(shí)碼鐘沿口,如果初始頻率字為不是整數(shù)則碼同步每隔一段時(shí)間調(diào)整一下時(shí)碼鐘沿口。
5結(jié)束語(yǔ)
本文基于鎖相法的設(shè)計(jì)思路,利用鑒相器比較PCM碼與時(shí)碼鐘的相位誤差進(jìn)一步調(diào)整DDS頻率控制字最終達(dá)到PCM碼與時(shí)碼鐘同頻同相的目的僅需FPGA即可實(shí)現(xiàn),占用資源小,同步時(shí)間快。與傳統(tǒng)碼同步器相比具有很大的靈活性,可適應(yīng)409.6Kbps~10Mbps碼速率,同步精度可調(diào)整,可廣泛應(yīng)用在通信系統(tǒng)基帶信號(hào)處理中。